fix: routes API accessibles sous /api en production

- Création d'un apiRouter Express pour toutes les routes API
- Routes montées sous /api ET à la racine (rétrocompatibilité)
- QR code corrigé : HTTPS en mode production
- start.sh : affichage URL HTTPS corrigé
- Résout le problème de connexion en mode production
This commit is contained in:
2026-05-27 22:31:41 +02:00
parent 70fc1e833d
commit e84ed7c731
5 changed files with 17 additions and 9 deletions
+11 -4
View File
@@ -221,11 +221,14 @@ app.use('/admin', adminRouter);
// ========== Routes API ==========
// Créer un router pour les routes API
const apiRouter = express.Router();
/**
* GET /config
* Retourne la configuration des groupes
*/
app.get('/config', (req, res) => {
apiRouter.get('/config', (req, res) => {
try {
const clientConfig = {
groups: config.groups.map(g => ({
@@ -249,7 +252,7 @@ app.get('/config', (req, res) => {
* GET /groups
* Retourne la liste des groupes disponibles (simplifié)
*/
app.get('/groups', (req, res) => {
apiRouter.get('/groups', (req, res) => {
try {
const groups = config.groups.map(g => ({
id: g.id,
@@ -268,7 +271,7 @@ app.get('/groups', (req, res) => {
* Génère un token LiveKit pour un client
* Body: { username: string, groupId: string }
*/
app.post('/token', async (req, res) => {
apiRouter.post('/token', async (req, res) => {
try {
const { username, groupId } = req.body;
@@ -347,7 +350,7 @@ app.post('/token', async (req, res) => {
* GET /health
* Health check
*/
app.get('/health', (req, res) => {
apiRouter.get('/health', (req, res) => {
const isLivekitRunning = livekitProcess !== null;
res.json({
status: isLivekitRunning ? 'ok' : 'degraded',
@@ -356,6 +359,10 @@ app.get('/health', (req, res) => {
});
});
// Monter le router API sous /api ET à la racine (rétrocompatibilité)
app.use('/api', apiRouter);
app.use(apiRouter); // Routes accessibles aussi sans préfixe /api
/**
* GET /
* Info serveur OU client PWA (si build existe)