Application web de transcription audio propulsée par Whisper, 100 % dockerisée et auto-hébergée.
- React
- TypeScript
- Express
- Flask
- Whisper
- Docker
- Nginx
Contexte
Transcrire des fichiers audio sans les envoyer à un service tiers : une interface simple pour déposer un fichier, choisir la langue et le modèle, et récupérer le texte.
Rôle
Architecture et développement de bout en bout, jusqu'au déploiement sur mon serveur derrière Nginx Proxy Manager.
Défis
Découper l'application en trois services (frontend nginx, passerelle Express, API Flask + Whisper + ffmpeg) et n'exposer que le frontend : le backend et le moteur de transcription ne sont jamais accessibles depuis l'extérieur. Le modèle est intégré à l'image au build pour supprimer le démarrage à froid.
Résultat
Une app déployée en une commande (docker compose up), avec choix du modèle (small, medium, large), détection auto de la langue, progression et historique local des dernières transcriptions.
Points clés
- 3 services isolés, un seul exposé
- Modèle Whisper intégré à l'image, pas de cold start
- Formats WAV, MP3, M4A, OGG, FLAC