cedric
|
7e6dc2a536
|
lint: fix lint errors
Déploiement Frontend BETA / Lint et tests (push) Successful in 1m58s
Déploiement Frontend BETA / Déploiement beta (push) Failing after 6m57s
|
2026-05-15 21:26:03 +04:00 |
|
cedric
|
1109ceb2bb
|
fix: web socket in dev
|
2026-04-14 17:38:23 +04:00 |
|
cedric
|
e75d2e1c53
|
feat: dockerisation frontend Next.js (output: standalone)
- next.config.mjs : output: 'standalone' — bundle minimal sans node_modules
- Dockerfile : multi-stage (deps → builder → runner) sur node:22-alpine
- ARG build-time pour les vars NEXT_PUBLIC_* et SENTRY_AUTH_TOKEN (optionnel)
- Utilisateur non-root nextjs:nodejs (uid/gid 1001)
- Image finale < 200 Mo (pas de node_modules, juste .next/standalone)
- docker-compose.yml : service frontend avec env_file et restart: unless-stopped
- .dockerignore : exclut node_modules, .next, .env, yarn.lock, docs
Alternative au déploiement PM2 existant (DEPLOYMENT.md inchangé).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-14 06:55:41 +04:00 |
|
cedric
|
8016c26e32
|
feat: intégration Sentry + migration middleware.js → proxy.js (Next.js 16)
Sentry (tracking erreurs frontend + API routes) :
- sentry.client.config.js : erreurs navigateur + Session Replay sur erreurs
- sentry.server.config.js : erreurs API routes (register, jwt callback)
- sentry.edge.config.js : runtime edge (middleware proxy)
- instrumentation.js : point d'entrée Next.js 15+ (register + captureRequestError)
- next.config.mjs : wrappé avec withSentryConfig (source maps désactivés sans SENTRY_AUTH_TOKEN)
- .env.sample : ajout de NEXT_PUBLIC_SENTRY_DSN (placeholder)
Migration middleware → proxy (bug pré-existant surfacé par le build Sentry) :
- proxy.js : fusion du rate limiting + auth NextAuth en un seul proxy Next.js 16
- middleware.js : supprimé (Next.js 16 n'accepte plus les deux fichiers simultanément)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-14 06:48:55 +04:00 |
|
cedric
|
170c3c5e90
|
security: Content Security Policy et headers HTTP sécurité
- Renomme next.config.js → next.config.mjs (ESM, satisfait unicorn/prefer-module)
- Ajout de headers() avec CSP stricte :
script/style-src 'unsafe-inline' (requis Next.js + Emotion/MUI)
connect-src dynamique depuis les env vars Directus (API + WebSocket)
object-src 'none', frame-ancestors 'none', base-uri 'self'
img-src 'self' data: blob: (html2canvas / export PDF)
- Ajout X-Frame-Options, X-Content-Type-Options, Referrer-Policy,
Permissions-Policy sur toutes les routes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-13 21:55:40 +04:00 |
|