benoit
3181c62e57
feat: support multi-groupes avec sélection dynamique (Phase 2.1)
...
- Ajout de 3 groupes dans config.yaml : Production, Technique, Sonorisation
- Nouvel endpoint API GET /groups pour lister les groupes disponibles
- Composant GroupSelector.jsx pour changer de groupe pendant la session
- Hook useLiveKit étendu avec fonction switchGroup() pour reconnexion
- Intégration dans App.jsx avec gestion du changement de groupe
- Chaque groupe = 1 room LiveKit distincte
- Qualité audio configurable par groupe (96-128 kbps)
2026-05-23 09:32:51 +02:00
benoit
c863f045ae
feat: VU-mètre audio entrant fonctionnel + simplification UI
...
Modifications :
- Ajout analyseur audio pour pistes distantes (remoteAnalyserRef)
- setupRemoteAudioAnalyser() appelé sur TrackSubscribed
- analyseAudioLevel() alterne automatiquement entre micro local et audio entrant
- useEffect redémarre analyse quand isTalking change
- Cleanup complet des 2 contextes audio (local + remote)
UI VU-mètre :
- Suppression jauge redondante (gardé uniquement barres)
- Barres uniformes (même hauteur) au lieu d'effet égaliseur
- Couleurs distinctes : vert (audio entrant) vs bleu/rouge (micro)
- Jaune > 75%, rouge clignotant > 90%
Tests validés :
✅ VU-mètre micro local : fonctionne
✅ VU-mètre audio entrant : fonctionne (fix principal)
✅ Alternance automatique talking/listening
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2026-05-22 23:16:48 +02:00
benoit
ed22e6d878
fix: support complet iOS/mobile pour PTT (audio + HTTPS/WSS)
...
Modifications majeures :
- HTTPS obligatoire pour getUserMedia sur iOS (certificats mkcert)
- Proxy WSS Vite pour LiveKit (contourner mixed content HTTPS→WS)
- Audio unlock explicite iOS dans useLiveKit (AudioContext)
- Demande permission microphone avant connexion LiveKit
- Touch optimizations CSS (touch-action, tap-highlight)
- Meta iOS PWA (apple-mobile-web-app-capable)
- Logs debug pour troubleshooting mobile
- Attente publication track audio avant utilisation PTT
Tests validés :
✅ iPhone Safari : émission + réception audio OK
✅ Desktop Chrome : fonctionne toujours
✅ 3+ devices simultanés
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2026-05-22 23:05:44 +02:00
benoit
0640a9f0b6
feat: implement complete React PWA client with LiveKit integration
...
Client React complet avec intégration LiveKit et interface PTT professionnelle :
Infrastructure :
- Configuration Vite avec plugin PWA (Service Worker auto-généré)
- Proxy API vers serveur backend
- Build optimisé et PWA manifest
Composants UI :
- App.jsx : écran connexion + interface principale PTT
- PTTButton : bouton push-to-talk avec gestion touch/mouse events
- UserList : liste participants temps réel avec indicateurs
- AudioIndicator : VU-mètre avec visualisation niveau audio
Fonctionnalités WebRTC :
- Hook useLiveKit : connexion room, publish/subscribe, events
- Gestion micro avec mute/unmute (mode PTT)
- Auto-play audio participants distants
- Analyseur audio pour VU-mètre
- Feedback haptique (vibrations)
Design :
- Mode sombre par défaut
- Responsive mobile-first
- Animations fluides et accessibles
- Support paysage mobile
Phase 1.4 complétée : Client PWA opérationnel
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2026-05-21 14:48:18 +02:00
benoit
08426970b2
feat: setup project infrastructure
...
- Create folder structure (server, client, install)
- Add server package.json with LiveKit SDK, Express, Opus
- Add client package.json with React, Vite, livekit-client
- Add macOS installation script with LiveKit binary download
- Add basic YAML config (1 group, 2 channels, audio quality settings)
- Add .gitignore for dependencies and binaries
2026-05-21 14:13:19 +02:00