# Paramétrage du fichier de configuration (.ini)

> Ce document détaille l'ensemble des paramètres de fonctionnement de Podcast Utilities via le fichier `.ini`. Ce fichier est obligatoire.

## 🎯 Objectif

Le fichier de configuration `.ini` agit comme le "cerveau" métier de l'application. Il contient tous les réglages de formatage, les chemins locaux vers vos ressources (logos, polices), ainsi que vos préférences d'automatisation.

## ⚙️ Sections et Paramètres

### 1. \[podcast\_details\]

<table id="bkmrk-cl%C3%A9-requis-descripti" style="width: 100%;"><thead><tr><th style="width: 25%; text-align: left;">Clé</th><th style="width: 15%; text-align: center;">Requis</th><th style="width: 60%; text-align: left;">Description</th></tr></thead><tbody><tr><td style="width: 25%;">`podcast_id`</td><td style="width: 15%; text-align: center;">Oui</td><td style="width: 60%;">Identifiant unique de votre podcast (hosté sur Spotify).</td></tr><tr><td style="width: 25%;">`podcast_url`</td><td style="width: 15%; text-align: center;">Oui</td><td style="width: 60%;">L'URL du flux RSS de votre podcast.</td></tr><tr><td style="width: 25%;">`use_short_url`</td><td style="width: 15%; text-align: center;">Oui</td><td style="width: 60%;">Booléen (True/False) indiquant si les liens générés doivent être raccourcis (via [Bitly](https://docs.podcastutilities.com/books/manuel-de-deploiement/page/obtenir-les-identifiants-bitly)).</td></tr></tbody></table>

### 2. \[discord\_details\]

<table id="bkmrk-cl%C3%A9-requis-descripti-1" style="width: 100%;"><thead><tr><th style="width: 25%; text-align: left;">Clé</th><th style="width: 15%; text-align: center;">Requis</th><th style="width: 60%; text-align: left;">Description</th></tr></thead><tbody><tr><td style="width: 25%;">`post_message`</td><td style="width: 15%; text-align: center;">Oui</td><td style="width: 60%;">Booléen activant (True) ou désactivant (False) la publication automatique sur [Discord](https://docs.podcastutilities.com/books/manuel-de-deploiement/page/configurer-un-webhook-discord).</td></tr></tbody></table>

### 3. \[facebook\_details\]

<table id="bkmrk-cl%C3%A9-requis-descripti-2" style="width: 100%;"><thead><tr><th style="width: 25%; text-align: left;">Clé</th><th style="width: 15%; text-align: center;">Requis</th><th style="width: 60%; text-align: left;">Description</th></tr></thead><tbody><tr><td style="width: 25%;">`default_tags`</td><td style="width: 15%; text-align: center;">Non</td><td style="width: 60%;">Liste de hashtags séparés par des virgules, inclus systématiquement dans vos publications [Facebook](https://docs.podcastutilities.com/books/manuel-de-deploiement/page/obtenir-les-identifiants-facebook).</td></tr><tr><td style="width: 25%;">`post_message`</td><td style="width: 15%; text-align: center;">Oui</td><td style="width: 60%;">Booléen activant ou désactivant la publication automatique sur [Facebook](https://docs.podcastutilities.com/books/manuel-de-deploiement/page/obtenir-les-identifiants-facebook).</td></tr></tbody></table>

### 4. \[X\_details\]

<table id="bkmrk-cl%C3%A9-requis-descripti-3" style="width: 100%;"><thead><tr><th style="width: 25%; text-align: left;">Clé</th><th style="width: 15%; text-align: center;">Requis</th><th style="width: 60%; text-align: left;">Description</th></tr></thead><tbody><tr><td style="width: 25%;">`default_tags`</td><td style="width: 15%; text-align: center;">Non</td><td style="width: 60%;">Liste de hashtags séparés par des virgules, inclus systématiquement dans vos publications X.</td></tr><tr><td style="width: 25%;">`max_length`</td><td style="width: 15%; text-align: center;">Oui</td><td style="width: 60%;">Nombre entier définissant la limite de caractères du message pour respecter les contraintes de la plateforme (ex: 280).</td></tr><tr><td style="width: 25%;">`post_message`</td><td style="width: 15%; text-align: center;">Oui</td><td style="width: 60%;">Booléen activant ou désactivant la publication automatique sur [X](https://docs.podcastutilities.com/books/manuel-de-deploiement/page/obtenir-les-identifiants-api-x-twitter).</td></tr></tbody></table>

### 5. \[youtube\_details\]

<table id="bkmrk-cl%C3%A9-requis-descripti-4" style="width: 100%;"><thead><tr><th style="width: 25%; text-align: left;">Clé</th><th style="width: 15%; text-align: center;">Requis</th><th style="width: 60%; text-align: left;">Description</th></tr></thead><tbody><tr><td style="width: 25%;">`auto_upload`</td><td style="width: 15%; text-align: center;">Oui</td><td style="width: 60%;">Booléen activant ou désactivant le téléversement de la vidéo générée sur [YouTube](https://docs.podcastutilities.com/books/manuel-de-deploiement/page/obtenir-les-identifiants-youtube).</td></tr><tr><td style="width: 25%;">`private`</td><td style="width: 15%; text-align: center;">Oui</td><td style="width: 60%;">Booléen définissant si la vidéo téléversée doit rester en statut "Privé" (True) ou être publique (False).</td></tr><tr><td style="width: 25%;">`notify_subscribers`</td><td style="width: 15%; text-align: center;">Oui</td><td style="width: 60%;">Booléen indiquant s'il faut notifier vos abonnés YouTube de cette nouvelle sortie.</td></tr><tr><td style="width: 25%;">`category`</td><td style="width: 15%; text-align: center;">Oui</td><td style="width: 60%;">Code numérique définissant la catégorie YouTube de votre vidéo. La liste des valeurs possibles est disponible [ici](https://developers.google.com/youtube/v3/docs/videoCategories/list?hl=fr).</td></tr><tr><td style="width: 25%;">`playlist_id`</td><td style="width: 15%; text-align: center;">Non</td><td style="width: 60%;">Identifiant unique de la playlist YouTube dans laquelle l'épisode sera classé.</td></tr><tr><td style="width: 25%;">`default_tags`</td><td style="width: 15%; text-align: center;">Non</td><td style="width: 60%;">Liste de mots-clés séparés par des virgules, propres au référencement YouTube.</td></tr></tbody></table>

### 6. \[audio\_split\_details\]

<table id="bkmrk-cl%C3%A9-requis-descripti-5" style="width: 100%;"><thead><tr><th style="width: 25%; text-align: left;">Clé</th><th style="width: 15%; text-align: center;">Requis</th><th style="width: 60%; text-align: left;">Description</th></tr></thead><tbody><tr><td style="width: 25%;">`start_at`</td><td style="width: 15%; text-align: center;">Non</td><td style="width: 60%;">Horodatage de début si vous souhaitez générer un extrait. Laissez vide pour utiliser l'épisode complet.</td></tr><tr><td style="width: 25%;">`duration`</td><td style="width: 15%; text-align: center;">Non</td><td style="width: 60%;">Durée exacte de l'extrait audio à conserver. Laissez vide pour garder l'épisode entier.</td></tr></tbody></table>

### 7. \[graphic\_details\]

<table id="bkmrk-cl%C3%A9-requis-descripti-6" style="width: 100%;"><thead><tr><th style="width: 25%; text-align: left;">Clé</th><th style="width: 15%; text-align: center;">Requis</th><th style="width: 60%; text-align: left;">Description</th></tr></thead><tbody><tr><td style="width: 25%;">`color`</td><td style="width: 15%; text-align: center;">Oui</td><td style="width: 60%;">Code couleur au format hexadécimal (sans le symbole #) utilisé pour l'habillage de la vidéo.</td></tr><tr><td style="width: 25%;">`logo_file_name`</td><td style="width: 15%; text-align: center;">Oui</td><td style="width: 60%;">Chemin relatif vers l'image de votre logo à incruster.</td></tr></tbody></table>

### 8. \[text\_details\]

<table id="bkmrk-cl%C3%A9-requis-descripti-7" style="width: 100%;"><thead><tr><th style="width: 25%; text-align: left;">Clé</th><th style="width: 15%; text-align: center;">Requis</th><th style="width: 60%; text-align: left;">Description</th></tr></thead><tbody><tr><td style="width: 25%;">`text_message`</td><td style="width: 15%; text-align: center;">Non</td><td style="width: 60%;">Texte fixe permanent à afficher sur le rendu vidéo (ex: l'adresse de votre site web).</td></tr><tr><td style="width: 25%;">`text_length_limit`</td><td style="width: 15%; text-align: center;">Oui</td><td style="width: 60%;">Nombre entier fixant la limite de caractères pour l'affichage dynamique du titre de l'épisode.</td></tr><tr><td style="width: 25%;">`font_file_name`</td><td style="width: 15%; text-align: center;">Oui</td><td style="width: 60%;">Chemin relatif vers le fichier de police de caractères (.ttf) à utiliser pour le texte.</td></tr></tbody></table>

### 9. \[mariaDb\_details\] (Optionnel - pour utilisateurs avancés)

> Par défaut, Podcast Utilities gère automatiquement son historique via une base de données locale (SQLite). Vous n'avez donc pas besoin d'inclure cette section.
> 
> Si vous êtes un utilisateur avancé et souhaitez utiliser un serveur externe, intégrez les clés ci-dessous.

<table id="bkmrk-cl%C3%A9-requis-descripti-8" style="width: 100%;"><thead><tr><th style="width: 25%; text-align: left;">Clé</th><th style="width: 15%; text-align: center;">Requis</th><th style="width: 60%; text-align: left;">Description</th></tr></thead><tbody><tr><td style="width: 25%;">`DBName`</td><td style="width: 15%; text-align: center;">Non</td><td style="width: 60%;">Le nom de la base de données dédiée (Elle doit exister).</td></tr><tr><td style="width: 25%;">`host`</td><td style="width: 15%; text-align: center;">Non</td><td style="width: 60%;">L'adresse IP ou le nom d'hôte de votre serveur MariaDB.</td></tr><tr><td style="width: 25%;">`port`</td><td style="width: 15%; text-align: center;">Non</td><td style="width: 60%;">Le port de communication du serveur (généralement `3306`).</td></tr></tbody></table>

### 10. \[other\]

<table id="bkmrk-cl%C3%A9-requis-descripti-9" style="width: 100%;"><thead><tr><th style="width: 25%; text-align: left;">Clé</th><th style="width: 15%; text-align: center;">Requis</th><th style="width: 60%; text-align: left;">Description</th></tr></thead><tbody><tr><td style="width: 25%;">`ask_tags`</td><td style="width: 15%; text-align: center;">Oui</td><td style="width: 60%;">Booléen (True/False) indiquant si le script doit faire une pause pour vous demander de taper des tags spécifiques lors de la conversion d'un épisode en vidéo Youtube.</td></tr><tr><td style="width: 25%;">`export_stats`</td><td style="width: 15%; text-align: center;">Oui</td><td style="width: 60%;">Booléen définissant si le système doit exporter/sauvegarder les statistiques de votre podcast.</td></tr><tr><td style="width: 25%;">`social_network_template_path`</td><td style="width: 15%; text-align: center;">Oui</td><td style="width: 60%;">Chemin relatif vers le fichier modèle (.template) utilisé pour la mise en forme de vos publications textes.</td></tr></tbody></table>

## ⚠️ Points d'attention

- **Persistance des données (Crucial) :** Si vous utilisez le fonctionnement par défaut (sans MariaDB), un fichier SQLite sera généré de manière autonome pour stocker vos statistiques. **Si vous déployez cette application via Docker**, vous devez impérativement configurer un "Volume" pointant vers le dossier contenant cette base de données locale. Dans le cas contraire, votre historique de statistiques sera définitivement supprimé à chaque mise à jour du conteneur.
- **Séparation des rôles :** Ne placez jamais de données sensibles (jetons d'accès, mots de passe) dans ce fichier `.ini`. Contrairement à ce fichier qui peut être partagé, c'est [votre fichier `.env`](https://docs.podcastutilities.com/books/manuel-de-deploiement/page/configuration-de-lenvironnement-env) qui doit rester strictement confidentiel.