2.4 KiB
2.4 KiB
Corrections de déploiement - 24 septembre 2025
Problèmes résolus
1. Configuration Next.js conditionnelle
- Problème:
output: 'export'etbasePathappliqués en dev bloquaient HMR - Solution: Configuration conditionnelle dans
next.config.jsconst isProd = process.env.NODE_ENV === 'production'; const nextConfig = { ...(isProd ? { output: 'export', basePath: '/lecoffre', assetPrefix: '/lecoffre', trailingSlash: true, images: { unoptimized: true } } : {}) };
2. Nginx - Redirection et proxy
- Problème:
/lecoffre/retournait 404 car l'image CI ne respectait pasbasePath - Solution: Rewrite Nginx dans
location ^~ /lecoffre/rewrite ^/lecoffre/(.*)$ /$1 break; proxy_pass http://localhost:3004;
3. Assets Next.js manquants
- Problème:
/_next/static/retournait 404 (assets non servis) - Solution: Route Nginx dédiée
location ^~ /_next/ { proxy_pass http://localhost:3004/_next/; add_header Cache-Control "public, max-age=31536000, immutable"; }
4. HMR en développement
- Problème: Besoin d'HMR sans impacter la prod
- Solution: Route dédiée
/lecoffre-hmr/avec WebSocket supportlocation ^~ /lecoffre-hmr/ { proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; rewrite ^/lecoffre-hmr/(.*)$ /$1 break; proxy_pass http://localhost:3000; }
Architecture finale
Production
https://dev4.4nkweb.com/→ ihm_client (iframe)https://dev4.4nkweb.com/lecoffre/→ lecoffre-front (app principale)https://dev4.4nkweb.com/_next/→ assets Next.js
Développement (HMR)
https://dev4.4nkweb.com/lecoffre-hmr/→ Next.js dev server (port 3000)
Flux IdNot
- CORS dev3 configuré pour
https://dev4.4nkweb.com - State management via
/api/v1/idnot/statesur dev3 - Callback vers
/authorized-client(prod ou HMR)
Variables d'environnement
NEXT_PUBLIC_*cohérentes entre build CI et runtimeNODE_ENV=productionpour activer basePath/export- CORS dynamique pour dev4.4nkweb.com
Tests validés
- ✅ Redirection 301:
/lecoffre→/lecoffre/ - ✅ Page d'accueil:
/lecoffre/→ 200 - ✅ Assets:
/_next/static/→ 200 - ✅ HMR:
/lecoffre-hmr/→ 200 - ✅ CORS dev3: OPTIONS 204 + POST state 200
- ✅ ihm_client:
/→ 200