feat: application desktop Electron avec interface graphique complète

- Main Process spawn serveur automatiquement avec IPC sécurisé
- Dashboard temps réel : stats, utilisateurs, QR Code
- Configuration audio : devices, sample rate, bitrate, jitter buffer
- Gestion groupes : CRUD complet via API admin
- Monitoring : logs temps réel filtrables par niveau
- Notifications : toast visuelles avec auto-dismiss
- Packaging : electron-builder pour macOS (.dmg) et Linux (.deb/.AppImage)
- Documentation : README technique, QUICKSTART, CHANGELOG, guide utilisateur

Structure :
- electron/main.js (333 lignes) : Main Process + spawn serveur
- electron/preload.js (31 lignes) : IPC bridge sécurisé
- electron/ui/index.html (187 lignes) : interface dashboard
- electron/ui/styles.css (556 lignes) : dark theme
- electron/ui/app.js (626 lignes) : logic frontend

Total : 1733 lignes de code

Lancement : ./start-desktop.sh

API utilisées : /admin/stats, /admin/users, /admin/groups, /admin/config, /admin/devices/list

TODO : WebSocket VU-mètres, icônes, tray menu, graphiques monitoring
This commit is contained in:
2026-06-19 11:04:29 +02:00
parent 312d47d677
commit 530c3a10b2
16 changed files with 3072 additions and 1 deletions
+139
View File
@@ -0,0 +1,139 @@
# PTT Live Desktop - Quick Start Guide
## 🚀 Lancement en 30 secondes
```bash
# Depuis la racine du projet
./start-desktop.sh
```
C'est tout ! L'application démarre automatiquement le serveur.
---
## 📋 Checklist Première Utilisation
### 1. Vérifier le serveur
✅ Statut : **🟢 Actif** (coin haut-droit)
✅ Dashboard : stats doivent s'afficher sous 5s
### 2. Configurer l'audio
**Configuration → Périphériques Audio**
1. Sélectionner **Input Device** (carte son ou micro)
2. Sélectionner **Output Device** (haut-parleurs)
3. Cliquer **Appliquer**
💡 Les devices sont auto-détectés depuis votre système
### 3. Créer des groupes (optionnel)
**Groupes → Nouveau groupe**
1. Entrer un nom (ex: "Production")
2. Bitrate par défaut : 96 kbps (voix standard)
3. Sauvegarder
Les groupes sont enregistrés dans `server/config/config.yaml`
### 4. Connecter des clients
**Dashboard → QR Code**
1. Scanner le QR Code avec smartphone
2. OU copier l'URL et ouvrir dans navigateur
URL type : `https://192.168.1.10:5173`
---
## 🎯 Fonctionnalités Principales
### Dashboard
- **Stats** : uptime, utilisateurs, connexions
- **QR Code** : connexion rapide clients
- **Utilisateurs** : liste en temps réel
### Configuration
- **Audio** : devices, sample rate, bitrate, jitter buffer
- **Groupes** : créer/modifier/supprimer
### Monitoring
- **Logs** : serveur en temps réel, filtrables
---
## 🐛 Problèmes Courants
### Serveur ne démarre pas
**Symptôme** : statut reste "⚪ Arrêté"
**Solutions** :
1. Vérifier port 3000 libre :
```bash
lsof -i :3000
```
2. Vérifier LiveKit installé :
```bash
livekit-server --version
# OU
ls ../server/bin/livekit-server
```
3. Voir logs dans **Monitoring → Logs**
### QR Code ne s'affiche pas
**Symptôme** : zone blanche
**Solutions** :
1. Attendre 5-10s (génération après démarrage serveur)
2. Vérifier serveur actif (🟢)
3. Recharger : **Dashboard** → cliquer nav
### Pas d'audio
**Symptôme** : clients connectés mais pas de son
**Solutions** :
1. **Configuration** → vérifier devices sélectionnés
2. Vérifier permissions micro (système)
3. Tester avec devices différents
---
## ⌨️ Raccourcis
- `Cmd/Ctrl + R` : recharger interface
- `Cmd/Ctrl + Q` : quitter app
- `Cmd/Ctrl + Shift + I` : DevTools (debug)
---
## 📖 Documentation
- [DESKTOP-APP.md](DESKTOP-APP.md) : doc complète
- [README.md](../README.md) : vue d'ensemble projet
- [CLAUDE.md](../CLAUDE.md) : doc développement
---
## 🆘 Support
**Logs** : `Monitoring → Logs`
**DevTools** : `npm run dev` (dans terminal)
**Issues** : GitHub (si open source)
---
Bon intercom ! 🎙️