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)
This commit is contained in:
@@ -37,6 +37,30 @@ groups:
|
||||
audioInput: 1
|
||||
audioOutput: 1
|
||||
|
||||
- id: technique
|
||||
name: "Équipe Technique"
|
||||
description: "Techniciens, électriciens, machinistes"
|
||||
audioBitrate: 96
|
||||
channels:
|
||||
- id: tech-main
|
||||
name: "Technique général"
|
||||
audioInput: 2
|
||||
audioOutput: 2
|
||||
|
||||
- id: sonorisation
|
||||
name: "Équipe Sonorisation"
|
||||
description: "Ingénieurs son, retours"
|
||||
audioBitrate: 128 # Qualité supérieure pour les ingénieurs son
|
||||
channels:
|
||||
- id: son-main
|
||||
name: "Son principal"
|
||||
audioInput: 3
|
||||
audioOutput: 3
|
||||
- id: son-retours
|
||||
name: "Retours scène"
|
||||
audioInput: 4
|
||||
audioOutput: 4
|
||||
|
||||
# Configuration serveur
|
||||
server:
|
||||
host: "0.0.0.0"
|
||||
|
||||
@@ -205,6 +205,25 @@ app.get('/config', (req, res) => {
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* GET /groups
|
||||
* Retourne la liste des groupes disponibles (simplifié)
|
||||
*/
|
||||
app.get('/groups', (req, res) => {
|
||||
try {
|
||||
const groups = config.groups.map(g => ({
|
||||
id: g.id,
|
||||
name: g.name,
|
||||
description: g.description
|
||||
}));
|
||||
|
||||
res.json({ groups });
|
||||
} catch (error) {
|
||||
log('error', 'Erreur GET /groups:', error);
|
||||
res.status(500).json({ error: 'Groups unavailable' });
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* POST /token
|
||||
* Génère un token LiveKit pour un client
|
||||
@@ -287,6 +306,7 @@ app.get('/', (req, res) => {
|
||||
phase: 'Phase 1 - MVP',
|
||||
endpoints: [
|
||||
'GET /config - Configuration groupes',
|
||||
'GET /groups - Liste des groupes',
|
||||
'POST /token - Générer token client',
|
||||
'GET /health - Health check'
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user