# RÉGIE — Studio de messages téléphoniques

Petite app PHP pour produire des messages de standard / répondeur :
**TTS ElevenLabs** + **musique de fond** (fichier importé ou lien YouTube),
avec **mixage automatique** (ducking) et export au format téléphonique.

## Accès

- URL : `…/tts-phone/`
- **Mot de passe par défaut : `regie2026`** → à changer dans l'onglet **Configuration**.
- Toute l'app (interface + API) est protégée par ce mot de passe unique.

## Mise en route

1. Ouvrir l'app, se connecter.
2. **Configuration** (⚙) → coller la **clé API ElevenLabs**, enregistrer.
3. Voie **01 Voix** → *Charger les voix*, en sélectionner une, *Tester*.
4. Voie **02 Message** → saisir le texte (français).
5. Voie **03 Musique** → *Aucune*, *Importer un fichier* (MP3/WAV…), ou *Lien YouTube*.
6. Voie **04 Mixage** → volume musique, intro, fin, ducking.
7. **Produire le message** → écoute + téléchargement du WAV.

## Format de sortie

WAV **PCM 16-bit · 8000 Hz · mono** (compatible G.711 / Asterisk, 3CX, la plupart des PBX/SVI).

## Dépendances système

- PHP 8.2 (ext `curl`, `mbstring`, `json`)
- `ffmpeg` + `ffprobe` (mixage)
- `yt-dlp` dans `/usr/local/bin` (import YouTube)

Mettre à jour yt-dlp si YouTube change :
```
yt-dlp -U   # ou re-télécharger le binaire depuis github.com/yt-dlp/yt-dlp
```

## Arborescence

```
tts-phone/
├── index.php      interface (console / régie)
├── login.php      page de connexion
├── auth.php       verrou mot de passe (session)
├── api.php        endpoints AJAX
├── inc.php        ElevenLabs + mixage ffmpeg + config
├── assets/        app.css, app.js
├── data/          config (config.php), fichiers temp — accès web bloqué
└── output/        WAV générés (téléchargeables)
```

## Sécurité

- Clé API et hash du mot de passe stockés dans `data/config.php` (exécuté, jamais servi en clair) + `.htaccess` Deny.
- Sessions cookie HttpOnly / SameSite=Lax.
- Les fichiers générés dans `output/` portent un nom aléatoire mais restent accessibles par URL (lecture par le navigateur).
