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
+43
View File
@@ -208,6 +208,11 @@ PTT Live/
./install.sh # Détecte OS, configure tout automatiquement
# Démarrage rapide
# Option 1 : Application Desktop (Interface graphique)
./start-desktop.sh # Lance l'app Electron avec dashboard
# Option 2 : Mode CLI (deux terminaux)
./start.sh --dev # Mode développement
./start.sh # Mode production
@@ -223,6 +228,44 @@ npm install
npm run dev
```
## Application Desktop (v0.3.0)
### Interface Electron
- **Main Process** : spawn serveur Node.js, IPC handlers
- **Renderer Process** : dashboard HTML/CSS/JS
- **Communication** : IPC sécurisé (contextBridge) + HTTP vers API admin
### Fonctionnalités
-**Dashboard** : stats temps réel, utilisateurs, QR Code
-**Configuration** : devices audio, sample rate, bitrate, jitter
-**Groupes** : CRUD complet via API admin
-**Monitoring** : logs filtrables (error/warn/info/debug)
-**Notifications** : toast visuelles avec auto-dismiss
- 🚧 **VU-mètres** : WebSocket audio levels (prévu)
### Structure
```
electron/
├── main.js # Main Process (spawn serveur)
├── preload.js # IPC bridge sécurisé
├── package.json # Config Electron + electron-builder
└── ui/
├── index.html # Interface dashboard
├── styles.css # Dark theme
└── app.js # Logic + API calls
```
### Build & Distribution
```bash
cd electron
npm run build:mac # → dist/PTT Live Server.dmg
npm run build:linux # → dist/PTT Live Server.AppImage
```
Voir [DESKTOP-APP.md](DESKTOP-APP.md) pour la doc complète.
---
## Fonctionnalités de portabilité (v0.2.1)
### Installation zéro-config