feat: page Routing complète + gestion server_audio_users dans Config
- Page Routing : matrices Entrées→Groupes et Groupes→Sorties avec checkboxes, éditeur de noms de canaux (ajout/suppression dynamique), sauvegarde YAML directe - Page Config : section Utilisateurs Audio Serveur (CRUD complet, modal avec sélecteur de groupe, canaux entrée/sortie) - IPC main.js : handlers server-audio-users:list/create/update/delete, routing:get, routing:save - preload.js : namespaces electronAPI.serverAudioUsers et electronAPI.routing - showModal : support du type 'select' avec options - loadViewData : routing et config lisibles sans serveur (YAML direct)
This commit is contained in:
@@ -40,6 +40,9 @@
|
||||
<button class="nav-item" data-view="groups">
|
||||
👥 Groupes
|
||||
</button>
|
||||
<button class="nav-item" data-view="routing">
|
||||
🔀 Routing
|
||||
</button>
|
||||
<button class="nav-item" data-view="monitoring">
|
||||
📈 Monitoring
|
||||
</button>
|
||||
@@ -123,6 +126,15 @@
|
||||
<button class="btn btn-primary" id="btn-save-device">Appliquer</button>
|
||||
</div>
|
||||
|
||||
<div class="section">
|
||||
<h3>🔗 Utilisateurs Audio Serveur</h3>
|
||||
<p class="config-note" style="margin-bottom: 1rem">Participants LiveKit côté serveur avec canaux physiques d'entrée et de sortie dédiés (mix-minus natif). Voir aussi la page <strong>Routing</strong> pour le câblage entre canaux et groupes.</p>
|
||||
<button class="btn btn-primary btn-small" id="btn-add-server-audio-user">➕ Ajouter</button>
|
||||
<div id="server-audio-users-list" class="groups-list" style="margin-top: 1rem">
|
||||
<p class="empty-state">Chargement...</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="section">
|
||||
<h3>💾 Sauvegarde de configuration</h3>
|
||||
<div class="config-actions">
|
||||
@@ -163,6 +175,62 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Routing View -->
|
||||
<div id="view-routing" class="view">
|
||||
<h2>Routing Audio</h2>
|
||||
|
||||
<!-- Noms des canaux -->
|
||||
<div class="section">
|
||||
<h3>🏷️ Noms des Canaux</h3>
|
||||
<p class="config-note" style="margin-bottom: 1rem">Définissez les canaux physiques disponibles. Les matrices de routing se mettent à jour après la sauvegarde.</p>
|
||||
<div class="channel-names-grid">
|
||||
<div class="channel-names-col">
|
||||
<div class="channel-names-col-header">
|
||||
<h4>Canaux Entrée</h4>
|
||||
<button class="btn btn-small btn-secondary" id="btn-add-input-channel">➕ Ajouter</button>
|
||||
</div>
|
||||
<div id="channel-names-inputs" class="channel-names-list">
|
||||
<p class="empty-state">Chargement...</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="channel-names-col">
|
||||
<div class="channel-names-col-header">
|
||||
<h4>Canaux Sortie</h4>
|
||||
<button class="btn btn-small btn-secondary" id="btn-add-output-channel">➕ Ajouter</button>
|
||||
</div>
|
||||
<div id="channel-names-outputs" class="channel-names-list">
|
||||
<p class="empty-state">Chargement...</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Matrice Entrées → Groupes -->
|
||||
<div class="section">
|
||||
<h3>🎙️ Entrées → Groupes</h3>
|
||||
<p class="config-note" style="margin-bottom: 1rem">Quels canaux physiques d'entrée alimentent quels groupes LiveKit.</p>
|
||||
<div class="routing-matrix-wrapper" id="routing-input-matrix">
|
||||
<p class="empty-state">Chargement...</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Matrice Groupes → Sorties -->
|
||||
<div class="section">
|
||||
<h3>🔊 Groupes → Sorties</h3>
|
||||
<p class="config-note" style="margin-bottom: 1rem">Vers quels canaux physiques de sortie chaque groupe est routé.</p>
|
||||
<div class="routing-matrix-wrapper" id="routing-output-matrix">
|
||||
<p class="empty-state">Chargement...</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Actions -->
|
||||
<div class="routing-actions">
|
||||
<button class="btn btn-primary" id="btn-save-routing">Sauvegarder</button>
|
||||
<button class="btn btn-secondary" id="btn-reload-routing">Recharger</button>
|
||||
<span class="config-note routing-restart-note hidden" id="routing-server-note">⚠️ Redémarrez le serveur pour appliquer les changements.</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Monitoring View -->
|
||||
<div id="view-monitoring" class="view">
|
||||
<h2>Monitoring Audio</h2>
|
||||
|
||||
Reference in New Issue
Block a user