Manuel de déploiement
- Configuration de l'environnement (.env)
- Paramétrage du fichier de configuration (.ini)
- Obtenir les identifiants Bitly
- Configurer un Webhook Discord
- Obtenir les identifiants Facebook
- Configurer la base de données MariaDB
- Obtenir les identifiants Spotify Creators
- Obtenir les identifiants API X (Twitter)
- Obtenir les identifiants YouTube
Configuration de l'environnement (.env)
Ce document détaille les variables d'environnement nécessaires au bon déploiement du conteneur Docker Podcast Utilities, incluant les identifiants de l'hôte et les secrets des API.
🎯 Objectif
Le fichier .env est le premier maillon de la configuration. Il est lu au démarrage par l'application afin de pouvoir récupérer de manière sécurisée les paramètres fondamentaux et les accès externes (comme les paramètres Spotify, les identifiants des réseaux sociaux, ...).
⚙️ Variables d'environnement
1. Configuration Bitly
🔗 👉 Consulter le guide : Obtenir les identifiants Bitly
| Variable | Type de valeur |
|---|---|
BITLY_TOKEN |
Clé alphanumérique |
2. Configuration Discord
🔗 👉 Consulter le guide : Configurer un Webhook Discord
| Variable | Type de valeur |
|---|---|
DISCORD_WEBHOOK_URL |
URL du webhook Discord (Lié au robot utilisé) |
3. Configuration Facebook
🔗 👉 Consulter le guide : Obtenir les identifiants Facebook
| Variable | Type de valeur |
|---|---|
FACEBOOK_TOKEN |
Clé alphanumérique |
4. Configuration MariaDb
🔗 👉 Consulter le guide : Configurer la base de données MariaDB
| Variable | Type de valeur |
|---|---|
MARIADB_USER |
Chaîne de caractères |
MARIADB_PASSWORD |
Chaîne de caractères |
5. Configuration Spotify
🔗 👉 Consulter le guide : Obtenir les identifiants Spotify Creators
| Variable | Type de valeur |
|---|---|
SPOTIFY_REDIRECT_URI |
URL: La valeur est https://creators.spotify.com |
SPOTIFY_SP_DC |
Clé alphanumérique |
SPOTIFY_SP_KEY |
Clé alphanumérique |
SPOTIFY_CLIENT_ID |
Clé alphanumérique |
Astuce: Le plus simple pour obtenir ces valeurs est d'utiliser l'extension fournie sur le dépôt GitLab
6. Configuration X
🔗 👉 Consulter le guide : Obtenir les identifiants API X (Twitter)
| Variable | Type de valeur |
|---|---|
X_CONSUMER_KEY |
Clé alphanumérique |
X_CONSUMER_SECRET |
Clé alphanumérique |
X_ACCESS_TOKEN |
Clé alphanumérique |
X_ACCESS_TOKEN_SECRET |
Clé alphanumérique |
7. Configuration Youtube
🔗 👉 Consulter le guide : Obtenir les identifiants YouTube
| Variable | Type de valeur |
|---|---|
YOUTUBE_CLIENT_ID |
Clé alphanumérique |
YOUTUBE_CLIENT_SECRET |
Clé alphanumérique |
YOUTUBE_REFRESH_TOKEN |
Clé alphanumérique |
Cette dernière configuration n'a pas (pour l'instant) d'utilité et peut donc être ignorée.
⚠️ Points d'attention
- Ne partagez jamais votre fichier
.env!
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]
| Clé | Requis | Description |
|---|---|---|
podcast_id |
Oui | Identifiant unique de votre podcast (hosté sur Spotify). |
podcast_url |
Oui | L'URL du flux RSS de votre podcast. |
use_short_url |
Oui | Booléen (True/False) indiquant si les liens générés doivent être raccourcis (via Bitly). |
2. [discord_details]
| Clé | Requis | Description |
|---|---|---|
post_message |
Oui | Booléen activant (True) ou désactivant (False) la publication automatique sur Discord. |
3. [facebook_details]
| Clé | Requis | Description |
|---|---|---|
default_tags |
Non | Liste de hashtags séparés par des virgules, inclus systématiquement dans vos publications Facebook. |
post_message |
Oui | Booléen activant ou désactivant la publication automatique sur Facebook. |
4. [X_details]
| Clé | Requis | Description |
|---|---|---|
default_tags |
Non | Liste de hashtags séparés par des virgules, inclus systématiquement dans vos publications X. |
max_length |
Oui | Nombre entier définissant la limite de caractères du message pour respecter les contraintes de la plateforme (ex: 280). |
post_message |
Oui | Booléen activant ou désactivant la publication automatique sur X. |
5. [youtube_details]
| Clé | Requis | Description |
|---|---|---|
auto_upload |
Oui | Booléen activant ou désactivant le téléversement de la vidéo générée sur YouTube. |
private |
Oui | Booléen définissant si la vidéo téléversée doit rester en statut "Privé" (True) ou être publique (False). |
notify_subscribers |
Oui | Booléen indiquant s'il faut notifier vos abonnés YouTube de cette nouvelle sortie. |
category |
Oui | Code numérique définissant la catégorie YouTube de votre vidéo. La liste des valeurs possibles est disponible ici. |
playlist_id |
Non | Identifiant unique de la playlist YouTube dans laquelle l'épisode sera classé. |
default_tags |
Non | Liste de mots-clés séparés par des virgules, propres au référencement YouTube. |
6. [audio_split_details]
| Clé | Requis | Description |
|---|---|---|
start_at |
Non | Horodatage de début si vous souhaitez générer un extrait. Laissez vide pour utiliser l'épisode complet. |
duration |
Non | Durée exacte de l'extrait audio à conserver. Laissez vide pour garder l'épisode entier. |
7. [graphic_details]
| Clé | Requis | Description |
|---|---|---|
color |
Oui | Code couleur au format hexadécimal (sans le symbole #) utilisé pour l'habillage de la vidéo. |
logo_file_name |
Oui | Chemin relatif vers l'image de votre logo à incruster. |
8. [text_details]
| Clé | Requis | Description |
|---|---|---|
text_message |
Non | Texte fixe permanent à afficher sur le rendu vidéo (ex: l'adresse de votre site web). |
text_length_limit |
Oui | Nombre entier fixant la limite de caractères pour l'affichage dynamique du titre de l'épisode. |
font_file_name |
Oui | Chemin relatif vers le fichier de police de caractères (.ttf) à utiliser pour le texte. |
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.
| Clé | Requis | Description |
|---|---|---|
DBName |
Non | Le nom de la base de données dédiée (Elle doit exister). |
host |
Non | L'adresse IP ou le nom d'hôte de votre serveur MariaDB. |
port |
Non | Le port de communication du serveur (généralement 3306). |
10. [other]
| Clé | Requis | Description |
|---|---|---|
ask_tags |
Oui | 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. |
export_stats |
Oui | Booléen définissant si le système doit exporter/sauvegarder les statistiques de votre podcast. |
social_network_template_path |
Oui | Chemin relatif vers le fichier modèle (.template) utilisé pour la mise en forme de vos publications textes. |
⚠️ 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.envqui doit rester strictement confidentiel.
Obtenir les identifiants Bitly
Ce guide explique pas à pas comment générer et récupérer un jeton d'accès personnel (Access Token) depuis la plateforme Bitly afin de l'intégrer à Podcast Utilities.
🎯 Objectif
Dans l'écosystème de Podcast Utilities, Bitly est utilisé pour raccourcir automatiquement les liens de vos épisodes (vers Spotify, YouTube, etc.) lors du formatage de vos publications pour les réseaux sociaux.
Pour autoriser l'application à créer ces liens courts directement sur votre compte, vous devez lui fournir une clé d'authentification unique appelée BITLY_TOKEN.
📝 Étapes à suivre
- Rendez-vous sur le site officiel de Bitly et connectez-vous à votre compte (ou créez un compte gratuit si vous n'en possédez pas encore).
- Une fois sur votre tableau de bord, regardez dans la barre latérale gauche et cliquez sur l'icône d'engrenage Settings (Paramètres).
- Dans le menu des paramètres (souvent situé à gauche), descendez jusqu'à la section Developer settings (Paramètres développeur) et cliquez sur API.
- Dans l'encart Access token, il vous sera demandé de saisir à nouveau votre mot de passe Bitly par mesure de sécurité. Entrez-le et validez.
- Cliquez sur le bouton Generate token (Générer un jeton).
- Une longue clé alphanumérique s'affiche à l'écran. C'est votre jeton d'accès. Cliquez sur le bouton pour la copier dans votre presse-papiers.
⚙️ Intégration dans le fichier .env
Retournez dans votre fichier .env à la racine de votre dossier podcast-utilities, et collez cette clé face à la variable correspondante :
BITLY_TOKEN=collez_votre_cle_alphanumerique_ici
⚠️ Points d'attention
- Confidentialité : Ce jeton d'accès agit exactement comme un mot de passe pour votre compte Bitly. Ne le partagez jamais et ne le commitez en aucun cas sur un dépôt public (comme GitHub ou GitLab).
- Expiration : Les jetons d'accès Bitly standard n'expirent généralement pas, sauf si vous décidez de les révoquer manuellement depuis les paramètres de votre compte.
Configurer un Webhook Discord
Ce guide explique pas à pas comment créer et récupérer une URL de Webhook Discord afin de permettre à Podcast Utilities de communiquer avec votre serveur.
🎯 Objectif
Dans l'écosystème de Podcast Utilities, l'intégration Discord permet au système d'envoyer automatiquement des messages (comme des alertes ou des notifications de publication) directement dans l'un de vos salons textuels.
Pour autoriser l'application à publier ces messages sans nécessiter un compte utilisateur complet, vous devez générer une URL unique appelée DISCORD_WEBHOOK_URL.
📝 Étapes à suivre
- Ouvrez l'application Discord (sur ordinateur ou via votre navigateur) et rendez-vous sur votre serveur.
- Identifiez le salon textuel dans lequel vous souhaitez recevoir les notifications (par exemple, un salon
#annoncesou#logs-podcast). - Survolez le nom de ce salon avec votre souris et cliquez sur l'icône d'engrenage ⚙️ Modifier le salon.
- Dans le menu latéral de gauche, cliquez sur l'onglet Intégrations.
- Cliquez sur Créer un webhook (ou sur Voir les webhooks puis Nouveau webhook si vous en avez déjà d'autres).
- Personnalisez votre webhook : donnez-lui un nom clair (ex: "Podcast Utilities") et ajoutez éventuellement le logo de votre projet.
- Cliquez sur le bouton Copier l'URL du webhook.
- N'oubliez pas de cliquer sur Enregistrer les modifications en bas de l'écran.
⚙️ Intégration dans le fichier .env
Retournez dans votre fichier .env à la racine de votre dossier de déploiement, et collez l'URL face à la variable correspondante :
DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/votre_identifiant/votre_cle_secrete
⚠️ Points d'attention
- Sécurité : Toute personne en possession de cette URL peut envoyer des messages dans votre salon Discord. Gardez-la strictement confidentielle et ne publiez jamais votre fichier
.env. - Maintien du lien : Si vous supprimez le webhook dans les paramètres de Discord ou si vous supprimez le salon textuel associé, l'URL deviendra obsolète et Podcast Utilities ne pourra plus envoyer de notifications.
Obtenir les identifiants Facebook
Ce guide explique pas à pas comment générer et récupérer un jeton d'accès (Access Token) depuis le portail développeur de Meta afin de permettre à Podcast Utilities de publier sur votre page Facebook.
🎯 Objectif
Dans l'écosystème de Podcast Utilities, l'intégration Facebook permet au système d'interagir automatiquement avec la Page Facebook de votre podcast (par exemple, pour y annoncer la sortie d'un nouvel épisode).
Pour autoriser l'application à publier du contenu en votre nom sans interface graphique, vous devez générer une clé d'authentification spécifique appelée FACEBOOK_TOKEN.
📝 Étapes à suivre
- Rendez-vous sur le portail Meta for Developers et connectez-vous avec votre compte Facebook habituel.
- Cliquez sur Mes applications (My Apps) en haut à droite, puis sur le bouton vert Créer une application.
- Suivez l'assistant de création : choisissez un type d'application (généralement Entreprise ou Autre), donnez-lui le nom de votre projet (ex: "Podcast Utilities") et validez.
- Une fois sur le tableau de bord de votre nouvelle application, cliquez sur le menu Outils (Tools) dans la barre supérieure, puis sélectionnez Explorateur d'API Graph (Graph API Explorer).
- Dans le panneau de droite de l'explorateur :
- Sous Application, vérifiez que votre nouvelle application est bien sélectionnée.
- Sous Jeton de l'utilisateur ou de la Page, cliquez sur le menu déroulant et choisissez Obtenir un jeton d'accès de Page (Get Page Access Token).
- Sélectionnez la Page Facebook liée à votre podcast. Une fenêtre pop-up vous demandera d'accorder les permissions (assurez-vous d'autoriser la gestion et la création de publications).
- Cliquez sur le bouton Générer le jeton d'accès.
- Une longue clé alphanumérique s'affiche dans le champ supérieur. Cliquez dessus pour la copier.
⚙️ Intégration dans le fichier .env
Retournez dans votre fichier .env à la racine de votre dossier de déploiement, et collez cette clé face à la variable correspondante :
FACEBOOK_TOKEN=collez_votre_cle_alphanumerique_ici
⚠️ Points d'attention
- Expiration (Très important) : Les jetons générés par défaut par l'Explorateur d'API Graph ont une durée de vie courte (généralement 1 à 2 heures). Pour que votre automatisation fonctionne sur le long terme, vous devrez convertir ce jeton en "jeton longue durée" (Long-Lived Token) via l'outil Débogueur de jeton d'accès de Meta.
- Sécurité : Ce jeton donne le droit de publier sur votre Page Facebook. Conservez-le précieusement dans votre fichier
.envet ne le rendez jamais public.
Configurer la base de données MariaDB
Ce guide explique pas à pas comment préparer une base de données MariaDB dédiée pour Podcast Utilities. Cette configuration est optionnelle : par défaut, le système génère et utilise une base SQLite locale qui ne nécessite aucun paramétrage.
🎯 Objectif
Dans l'écosystème de Podcast Utilities, la base de données sert à stocker l'historique de vos épisodes et l'évolution de vos statistiques (écoutes Spotify et vues YouTube).
Si vous possédez déjà un serveur MariaDB (sur un NAS ou via Docker) et préférez y centraliser vos données, vous pouvez le connecter à l'application. L'avantage de cette intégration est son automatisation : vous avez uniquement besoin de fournir une base de données vide. Le script se chargera lui-même de créer toutes les tables nécessaires (episodes, ecoutes, vues) lors de son premier lancement.
📝 Étapes à suivre
Puisque la structure est gérée automatiquement par le code, la préparation côté serveur est extrêmement rapide :
- Connectez-vous à votre serveur MariaDB en utilisant votre outil de gestion habituel (phpMyAdmin, Adminer, ou en ligne de commande).
- Créez une nouvelle base de données vide (par exemple, nommez-la
podcast_utilities). - Créez un nouvel utilisateur dédié à cette base.
- Attribuez à cet utilisateur un mot de passe sécurisé et accordez-lui tous les privilèges (ALL PRIVILEGES) uniquement sur la base de données que vous venez de créer.
- C'est tout ! Ne créez aucune table manuellement.
Note : L'adresse de votre serveur (Hôte), le port de connexion et le nom de la base de données devront être renseignés dans votre fichier de configuration général (
.ini). Le fichier.envne gère que le stockage sécurisé des identifiants.
⚙️ Intégration dans le fichier .env
Retournez dans votre fichier .env à la racine de votre dossier de déploiement, et renseignez le nom d'utilisateur et le mot de passe que vous venez de créer :
MARIADB_USER=votre_nom_d_utilisateur
MARIADB_PASSWORD=votre_mot_de_passe_securise
⚠️ Points d'attention
- Solution de repli (Fallback automatique) : Si la connexion à MariaDB échoue (serveur hors ligne, mauvais mot de passe) ou si vous ne configurez pas cette section, Podcast Utilities basculera automatiquement et de manière totalement transparente sur une base SQLite locale.
- Automatisation : Le script est conçu pour générer et mettre à jour sa propre structure de données. Ne tentez pas d'importer un schéma SQL manuellement.
- Sécurité : Pour des raisons de sécurité évidentes, ne donnez jamais l'accès
rootde votre serveur MariaDB à l'application. Créez toujours un utilisateur restreint à cette seule base de données.
Obtenir les identifiants Spotify Creators
Ce guide explique pas à pas comment récupérer vos identifiants d'authentification depuis Spotify Creators à l'aide de l'extension de navigateur dédiée, afin de permettre à Podcast Utilities d'interagir avec vos statistiques et vos épisodes.
🎯 Objectif
Dans l'écosystème de Podcast Utilities, l'intégration Spotify est cruciale pour récupérer les données de vos épisodes et interagir avec votre tableau de bord créateur.
Étant donné que Spotify Creators n'offre pas d'API publique standard pour ces actions spécifiques, l'application utilise vos cookies de session pour s'authentifier. Vous devez fournir trois clés spécifiques : SPOTIFY_SP_DC, SPOTIFY_SP_KEY et SPOTIFY_CLIENT_ID, ainsi que l'URL de redirection SPOTIFY_REDIRECT_URI.
📝 Étapes à suivre
La récupération manuelle de ces cookies dans les outils de développement du navigateur étant complexe et fastidieuse, une extension Google Chrome a été spécialement créée pour extraire automatiquement ces paramètres.
- Téléchargez et installez l'extension de navigateur disponible dans le dossier
extensiondu dépôt GitLab de Podcast Utilities. (Si besoin, suivez les instructions du dépôt pour charger une extension non empaquetée). - Ouvrez votre navigateur Google Chrome et rendez-vous sur le site Spotify Creators.
- Connectez-vous à votre compte podcast habituel.
- Une fois sur votre tableau de bord Spotify, cliquez sur l'icône de l'extension Podcast Utilities dans la barre de votre navigateur.
- Le script de l'extension va automatiquement capturer et afficher vos valeurs exactes pour
sp_dc,sp_keyet leclient_id. - Copiez ces valeurs pour les intégrer dans votre configuration.
⚙️ Intégration dans le fichier .env
Retournez dans votre fichier .env à la racine de votre dossier de déploiement, et renseignez les variables avec les valeurs extraites par l'extension :
SPOTIFY_REDIRECT_URI=https://creators.spotify.com
SPOTIFY_SP_DC=collez_la_valeur_sp_dc_ici
SPOTIFY_SP_KEY=collez_la_valeur_sp_key_ici
SPOTIFY_CLIENT_ID=collez_la_valeur_client_id_ici
⚠️ Points d'attention
Obtenir les identifiants API X (Twitter)
Ce guide explique pas à pas comment générer et récupérer les clés d'API (Consumer Keys et Access Tokens) depuis le portail développeur de X (anciennement Twitter) afin de permettre à Podcast Utilities de publier des messages.
🎯 Objectif
Dans l'écosystème de Podcast Utilities, l'intégration X permet d'automatiser la publication de tweets sur votre compte (par exemple, pour annoncer la mise en ligne d'un nouvel épisode).
Pour autoriser l'application à interagir et publier en votre nom, vous devez générer et fournir quatre clés d'authentification distinctes : X_CONSUMER_KEY, X_CONSUMER_SECRET, X_ACCESS_TOKEN et X_ACCESS_TOKEN_SECRET.
📝 Étapes à suivre
- Rendez-vous sur le portail développeur de X et connectez-vous avec le compte sur lequel vous souhaitez publier vos annonces.
- Accédez au tableau de bord (Developer Portal). Note : S'il s'agit de votre première visite, il vous sera demandé de vous inscrire au niveau d'accès développeur gratuit (Free tier).
- Dans le menu de gauche, sous Projects & Apps, cliquez sur votre application par défaut (ou créez-en une nouvelle en cliquant sur "Add App").
- Avant de générer les clés, vous devez configurer les droits. Allez dans les paramètres de l'application et repérez la section User authentication set up (Configuration de l'authentification). Cliquez sur Edit.
- C'est l'étape la plus importante : sous "App permissions", sélectionnez impérativement Read and Write (Lecture et Écriture) pour que le script puisse publier. Sauvegardez.
- Naviguez ensuite vers l'onglet Keys and Tokens (Clés et jetons) en haut de la page.
- Dans la section Consumer Keys, cliquez sur Generate (Générer) pour obtenir votre API Key (
X_CONSUMER_KEY) et votre API Key Secret (X_CONSUMER_SECRET). Copiez-les. - Dans la section Authentication Tokens, cliquez sur Generate pour obtenir votre Access Token (
X_ACCESS_TOKEN) et votre Access Token Secret (X_ACCESS_TOKEN_SECRET). Copiez-les également.
⚙️ Intégration dans le fichier .env
Retournez dans votre fichier .env à la racine de votre dossier de déploiement, et collez ces quatre valeurs face aux variables correspondantes :
X_CONSUMER_KEY=collez_votre_api_key_ici
X_CONSUMER_SECRET=collez_votre_api_key_secret_ici
X_ACCESS_TOKEN=collez_votre_access_token_ici
X_ACCESS_TOKEN_SECRET=collez_votre_access_token_secret_ici
⚠️ Points d'attention
- Affichage unique : Le portail développeur de X n'affiche vos clés secrètes qu'une seule et unique fois lors de leur création. Si vous ne les copiez pas immédiatement, vous devrez les regénérer (ce qui invalidera les précédentes).
- Limites du compte : Le niveau gratuit (Free tier) de l'API X permet de publier jusqu'à 1 500 tweets par mois, ce qui est largement suffisant pour l'automatisation de vos épisodes.
- Sécurité : Ces clés agissent comme un accès total à votre compte. Ne les partagez sous aucun prétexte.
Obtenir les identifiants YouTube
Ce guide explique pas à pas comment configurer un projet Google Cloud et générer les identifiants OAuth 2.0 (Client ID, Secret et Refresh Token) nécessaires pour permettre à Podcast Utilities de publier des vidéos sur YouTube.
🎯 Objectif
Dans l'écosystème de Podcast Utilities, l'intégration YouTube a pour but de publier automatiquement vos épisodes (convertis au format vidéo) sur votre chaîne.
Cette procédure est la plus complexe car elle nécessite de créer une application sur la console Google Cloud, d'approuver des autorisations (via OAuth 2.0) et de générer manuellement un jeton de rafraîchissement (YOUTUBE_REFRESH_TOKEN). Ce jeton est indispensable pour que votre script puisse publier en arrière-plan sans demander votre accord à chaque exécution.
📝 Étapes à suivre
Phase 1 : Création du projet et activation de l'API
- Rendez-vous sur la Console Google Cloud et connectez-vous avec le compte Google lié à votre chaîne YouTube.
- Cliquez sur le menu déroulant des projets en haut à gauche de la barre de recherche et sélectionnez Nouveau projet. Nommez-le "Podcast Utilities" et cliquez sur Créer.
- Dans la barre de recherche en haut au centre, tapez YouTube Data API v3 et sélectionnez-la dans les résultats. Cliquez sur le bouton bleu Activer.
Phase 2 : Configuration de l'écran de consentement
Phase 3 : Création des identifiants
Phase 4 : Obtention du Refresh Token
- Ouvrez un nouvel onglet et allez sur le Google OAuth 2.0 Playground.
- Cliquez sur l'icône Engrenage ⚙️ en haut à droite. Cochez la case Use your own OAuth credentials.
- Collez votre ID client et votre Code secret du client dans les champs correspondants. Fermez le petit menu d'engrenage.
- Dans la colonne de gauche (Step 1), cherchez YouTube Data API v3, déroulez le menu, cochez
https://www.googleapis.com/auth/youtube.uploadet cliquez sur le bouton bleu Authorize APIs. - Connectez-vous avec votre compte Google et acceptez les avertissements de sécurité.
- Vous serez redirigé vers le Playground. Dans la colonne de gauche (Step 2), cliquez sur le bouton bleu Exchange authorization code for tokens.
- Dans la zone de texte qui s'affiche, repérez la ligne
"refresh_token"et copiez la longue chaîne de caractères associée. C'est votreYOUTUBE_REFRESH_TOKEN.
⚙️ Intégration dans le fichier .env
Retournez dans votre fichier .env à la racine de votre dossier de déploiement, et renseignez vos trois clés fraîchement générées :
YOUTUBE_CLIENT_ID=collez_le_client_id_ici
YOUTUBE_CLIENT_SECRET=collez_le_client_secret_ici
YOUTUBE_REFRESH_TOKEN=collez_le_refresh_token_ici
⚠️ Points d'attention
- Expiration en mode Test : Tant que votre application Google Cloud est en mode "Test" (Phase 2), votre Refresh Token expirera après 7 jours. Pour qu'il soit permanent, retournez sur l'écran de consentement OAuth dans Google Cloud et cliquez sur le bouton Publier l'application (vous n'aurez pas besoin de faire valider l'application par Google tant que vous êtes le seul utilisateur).
- Quotas de publication : L'API YouTube impose des limites. Mettre en ligne une vidéo consomme environ 1 600 unités sur un quota quotidien de 10 000 unités (soit environ 6 vidéos maximum par jour).
- Rappel : Comme indiqué dans le fichier de configuration principal, cette intégration n'a peut-être pas d'utilité immédiate pour Podcast Utilities, mais ces identifiants seront prêts pour une utilisation future.