637cc3e3a7
Implémentation complète de l'interface d'administration web : Backend (server/api/admin.js) : - Endpoints CRUD pour gestion des groupes (GET/POST/PUT/DELETE /admin/groups) - Gestion utilisateurs connectés en temps réel (GET/DELETE /admin/users) - Monitoring statistiques système (GET /admin/stats) - Affichage logs serveur avec filtrage (GET /admin/logs) - Configuration audio globale (PUT /admin/config/audio) - Système de tracking des connexions/déconnexions - Export fonctions registerUser, unregisterUser, addLog Frontend (client/src/Admin.jsx + Admin.css) : - Interface admin complète avec 4 onglets (Groupes, Utilisateurs, Stats, Logs) - Gestion groupes : création, modification, suppression avec formulaires - Gestion canaux audio par groupe (inputs/outputs) - Liste utilisateurs connectés avec déconnexion forcée - Dashboard statistiques temps réel (connexions, uptime, mémoire) - Viewer logs avec code couleur par niveau (debug/info/warn/error) - Rafraîchissement auto toutes les 3s - Design responsive et mode sombre Intégration système : - Routes admin montées sous /admin dans index.js - Enregistrement automatique des utilisateurs lors de la génération de token - Logs serveur centralisés dans le système admin - Routing simple frontend pour /admin (main.jsx) 🎛️ Interface accessible via https://localhost:5173/admin 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
15 lines
404 B
React
15 lines
404 B
React
import React from 'react';
|
|
import ReactDOM from 'react-dom/client';
|
|
import App from './App.jsx';
|
|
import Admin from './Admin.jsx';
|
|
import './index.css';
|
|
|
|
// Simple routing basé sur le path
|
|
const isAdminPage = window.location.pathname.startsWith('/admin');
|
|
|
|
ReactDOM.createRoot(document.getElementById('root')).render(
|
|
<React.StrictMode>
|
|
{isAdminPage ? <Admin /> : <App />}
|
|
</React.StrictMode>
|
|
);
|