# Fichier d'exemple pour les variables d'environnement # Copiez ce fichier en .env et remplissez les valeurs # Configuration du serveur NGINX NGINX_HOSTNAME=localhost # Clés API pour les différents services GEMINI_API_KEY=votre_cle_gemini_ici YOUTUBE_API_KEY=votre_cle_youtube_ici YOUTUBE_API_KEYS=votre_cle_youtube_ici,deuxieme_cle_youtube_ici VIMEO_ACCESS_TOKEN=votre_token_vimeo_ici TWITCH_CLIENT_ID=votre_client_id_twitch_ici TWITCH_CLIENT_SECRET=votre_client_secret_twitch_ici # Configuration du cache (en millisecondes) YT_CACHE_TTL_MS=3600000 # 1 heure par défaut # --- YouTube hybride (Steps 17-18) --- YT_SEARCH_MODE=innertube-first YT_SCRAPE_TTL_MS=1800000 YT_DLP_TIMEOUT_MS=20000 YT_INNERTUBE_GL=FR YT_INNERTUBE_HL=fr YT_TRANSCRIPT_SOURCE=innertube-first YT_RELATED_TTL_MS=3600000 # --- YouTube hybride : InnerTube (sans clé) > scrape yt-dlp > API officielle --- # Mode : innertube-first (défaut, 0 quota, pagination illimitée) | innertube-only # | scrape-first | api-first | scrape-only | api-only YT_SEARCH_MODE=innertube-first YT_INNERTUBE_GL=FR YT_INNERTUBE_HL=fr # Sous-titres YouTube : innertube-first (défaut) | ytdlp-only | innertube-only YT_TRANSCRIPT_SOURCE=innertube-first # Cache scrape/pagination (30 min) + timeout yt-dlp YT_SCRAPE_TTL_MS=1800000 YT_DLP_TIMEOUT_MS=20000 # Anti-ban (optionnel) : binaire explicite, cookies exportés, PO-Token, proxy sortant # YT_DLP_PATH=/usr/local/bin/yt-dlp # YT_COOKIES_FILE=/cookies/youtube.txt # YT_PO_TOKEN= # YT_EGRESS_PROXY=http://proxy:8080 # Téléchargements : providers autorisés (liste CSV) + concurrence max par user DOWNLOAD_PROVIDERS=youtube,dailymotion,twitch,peertube,odysee,rumble DOWNLOAD_MAX_CONCURRENT=2 # Configuration du menu (optionnel) # BASE_MENU_CONFIG_ASSETS=assets/configuration.yml