Bonjour Forge Audio¶
Objectif : premier contact avec le module opt-in forge-mvc-audio, une chaîne
audio sans état.
Ce que vous allez apprendre : vérifier que le module répond et inspecter sa
configuration (load_audio_config) — stockage, limites, binaires ffprobe/ffmpeg
— avec le token masqué. Aucune base de données.
Premier palier du niveau débutant de la progression audio (vue d'ensemble des starters).
Module opt-in
Ce starter suppose forge-mvc-audio installé (palier « Installation »).
ffmpeg/ffprobe sont des binaires système, requis seulement au niveau
avancé. Le cœur de Forge reste autonome.
Ce que ce starter montre¶
- une route texte de premier contact (
GET /audio-welcome) ; - la lecture de la configuration audio (
load_audio_config) ; - sa sérialisation JSON, token masqué (
GET /audio-welcome/inspect).
Classes Forge utilisées¶
| Classe / fonction | Rôle dans ce starter | Référence |
|---|---|---|
forge_mvc_audio.load_audio_config |
Lire la configuration audio (stockage, limites, binaires). | Audio |
Response.text / Response.json |
Renvoyer du texte puis du JSON. | Response |
Tester¶
Ouvrez https://localhost:8000/audio-welcome (« Bonjour Forge Audio »), puis
/audio-welcome/inspect pour la configuration en JSON.
Le contrôleur¶
# mvc/controllers/audio_welcome_controller.py
from forge_mvc_audio import load_audio_config
def _config_to_safe_dict(cfg) -> dict:
return {
"storage_root": cfg.storage_root,
"max_upload_mb": cfg.max_upload_mb,
"max_duration_seconds": cfg.max_duration_seconds,
"ffprobe_bin": cfg.ffprobe_bin,
"ffmpeg_bin": cfg.ffmpeg_bin,
"api_token": "***" if cfg.api_token else None,
}
class AudioWelcomeController(BaseController):
@staticmethod
def index(request: Request) -> Response:
return Response.text("Bonjour Forge Audio")
@staticmethod
def inspect(request: Request) -> Response:
return Response.json(_config_to_safe_dict(load_audio_config()))
Comprendre ce code¶
- La configuration est explicite (variables d'environnement Forge) : stockage, taille et durée maximales, binaires utilisés.
- On masque toujours le token (
"***") : une config exposée ne révèle jamais ses secrets.
À retenir¶
forge-mvc-audioest opt-in et sans état : pas de table, opérations synchrones.- La configuration audio est inspectable et masque ses secrets.
ffprobe/ffmpegn'interviennent qu'au niveau avancé.
Après ce starter¶
Premier contact établi. La suite : téléverser un fichier audio.