
Podcaster
Studio de podcasts d’actualité auto-hébergé, à la demande ou planifié
Service auto-hébergéjuin 2026PythonFastAPIpodcastfyGeminiEdge TTSPWA
Application web auto-hébergée qui produit un épisode audio d’actualité sur n’importe quel sujet : recherche des dernières nouvelles, script rédigé par un LLM, voix de synthèse (gratuite via Edge TTS). Multi-utilisateur, multilingue, écoutable hors ligne.
But du projet
Écouter chaque jour un point d’actualité audio sur ses propres sujets (tech, jeux vidéo, finance, géopolitique…) sans plateforme tierce : l’application tourne sur son serveur, avec ses clés d’API, et les abonnements comme l’historique d’écoute restent locaux. Une seule clé LLM suffit pour démarrer.
Fonctionnalités
- Épisodes frais : recherche web ancrée (Gemini), avec repli sur des flux RSS puis sur un LLM seul ; une mémoire par sujet évite de répéter ce qui a déjà été traité.
- À la demande ou planifié : génération immédiate, quotidienne ou hebdomadaire.
- Application installable (PWA) avec enregistrement hors ligne des épisodes.
- Rôles : admin (tout, premier compte créé), publisher (crée et planifie), reader (écoute et s’abonne).
- Abonnements par e-mail avec lien d’écoute privé à chaque nouvel épisode.
- Cinq langues (français, anglais, espagnol, allemand, italien) et régénération d’un épisode dans une autre langue.
- Liens de partage privés
/s/<clé>, sans connexion. - Voix gratuites via Edge TTS ; Gemini, OpenAI ou ElevenLabs en option.
Fonctionnement
recherche → script (LLM) → audio (TTS) → bibliothèque + mémoire → notification des abonnés- Ordre de repli pour le script : Gemini → OpenAI → Anthropic → Ollama (ou tout point d’accès compatible OpenAI). Pour les voix : Gemini → OpenAI → Edge.
- La génération s’appuie sur le moteur podcastfy ;
ffmpegassemble l’audio. - Tout l’état est en JSON et MP3 sous
data/; les épisodes de plus de 7 jours d’un sujet sont purgés à chaque génération. - Les sujets intégrés sont des modules Python dans
themes/, découverts automatiquement ; d’autres se créent depuis l’interface web.
Captures d’écran
Installation
Avec Docker ou Podman :
cp .env.example .env # au moins GEMINI_API_KEY
docker compose up -d # ou : podman-compose up -d
# http://127.0.0.1:8077 — le premier compte créé devient administrateurLe fichier compose lance aussi un service scheduler qui déclenche les planifications toutes les heures.
En local (Python 3.13, ffmpeg dans le PATH) :
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
python server.pyEn ligne de commande :
python generate.py --list
python generate.py markets-finance --lang en --minutes 12
python scheduler.py install-cron




