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
efd697a9d3
feat: implémentation complète du bridge audio serveur (Phase 1.3)
...
Composants créés :
- CoreAudioBackend.js : Backend audio macOS natif (naudiodon/PortAudio)
- Énumération et sélection devices audio
- Capture audio 48kHz mono/stereo
- Lecture audio avec buffer circulaire
- Gestion underrun/overrun
- OpusCodec.js : Encodeur/décodeur Opus
- Support 32-320 kbps configurable
- Présets voix (économique, standard, HD) et musique
- Frame 20ms (960 samples à 48kHz)
- Statistiques encode/decode
- JitterBuffer.js : Buffer FIFO adaptatif
- Cible 40ms (2 frames)
- Détection underrun/overrun
- Mode adaptatif pour conditions réseau variables
- Statistiques latence et santé buffer
- LiveKitClient.js : Client LiveKit pour bridge
- Connexion room en tant que participant "AudioBridge"
- Publication/souscription tracks audio
- Reconnexion automatique
- Gestion événements participants
- AudioBridge.js : Classe principale orchestration
- Détection automatique backend (CoreAudio macOS)
- Routing bidirectionnel CoreAudio ↔ Opus ↔ LiveKit
- Configuration via présets ou custom
- Logs détaillés et statistiques temps réel
Dépendances ajoutées :
- opusscript : Codec Opus JavaScript
- naudiodon : Bindings natifs PortAudio/CoreAudio
- livekit-client : SDK LiveKit côté serveur
TODO.md mis à jour avec tâches Phase 1.3 complétées.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2026-05-22 22:18:18 +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
5e74f0dcdf
feat: implement LiveKit server API with REST endpoints
...
Implémentation du serveur Node.js avec intégration LiveKit et API REST complète :
- Serveur Express avec API REST (endpoints /config, /token, /health)
- Génération tokens JWT LiveKit pour authentification clients
- Configuration YAML pour groupes et canaux audio
- Support mode cloud LiveKit (pas de binaire requis pour Phase 1)
- Logging structuré avec niveaux configurables
- Gestion propre du lifecycle (SIGTERM, SIGINT)
Endpoints fonctionnels :
- GET /config : retourne configuration groupes/canaux
- POST /token : génère token LiveKit pour un utilisateur/groupe
- GET /health : health check du serveur
- GET / : informations serveur
Phase 1.2 complétée : Infrastructure serveur opérationnelle
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2026-05-21 14:36:32 +02:00
benoit
fca3c82ad7
docs: mark Phase 1.1 infrastructure tasks as completed
2026-05-21 14:18:11 +02:00
benoit
a65296221a
docs: add project documentation and development plan
...
- Add CLAUDE.md with architecture, decisions, and workflow
- Add TODO.md with detailed Phase 1-3 roadmap
- Add audio quality configuration (32-320 kbps Opus)
- Add strict commit workflow and validation rules
2026-05-21 14:10:50 +02:00