capitalisation: intégration 28 entrées knowledge + 2 CLAUDE.md RL799_V2 (triage branche mcp_v1)

28 nouvelles sections intégrées dans 12 fichiers knowledge (backend risques/patterns,
frontend risques/patterns, workflow risques). Couvre rate limiting, RGPD, CSP Next.js,
refresh token TOCTOU, catch-all Prisma, distinction 401/403, tests E2E Playwright, etc.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
MaksTinyWorkshop
2026-04-08 20:11:02 +02:00
parent 72758c1adc
commit 7767f1f947
12 changed files with 662 additions and 0 deletions

View File

@@ -120,3 +120,47 @@ return buildLocalizedPath(locale, "home");
- **Règle** : `os.tmpdir()` est interdit pour les fichiers qui seront renommés vers un volume Docker bind-mounté.
- Contexte technique : Node.js / Docker / fichiers media — app-template-resto 31-03-2026
---
<a id="risque-csp-strict-routes-html-api"></a>
## CSP strict casse les routes HTML dans une API Next.js
### Risques
- Appliquer un CSP strict (`default-src 'self'`) via `headers()` dans `next.config.ts` sur toutes les routes `/api/*` casse les routes qui servent du HTML avec des dépendances externes (Swagger UI, pages de documentation, etc.)
### Symptômes
- La page HTML se charge mais reste blanche — les scripts et styles externes sont bloqués silencieusement par le navigateur
### Bonnes pratiques / mitigations
- Quand on ajoute des headers de sécurité via un pattern global, vérifier s'il existe des routes qui servent du HTML (pas uniquement du JSON)
- Si oui, ajouter une règle dédiée plus spécifique **en premier** dans le tableau `headers()` (Next.js matche dans l'ordre de déclaration) avec un CSP adapté
- Factoriser les headers communs dans une constante partagée
- Contexte technique : Next.js / CSP — RL799_V2 08-04-2026
---
<a id="risque-middleware-faux-argument-edge"></a>
## Middleware Next.js — faux argument "Edge Runtime incompatible" pour éviter les imports
### Risques
- Dupliquer la logique métier dans `middleware.ts` au lieu d'importer depuis `src/lib/` sous prétexte que "Edge Runtime ne supporte pas les imports cross-boundary"
- C'est faux pour les modules purs (pas de `fs`, `child_process`, `crypto` Node-only, etc.)
### Symptômes
- Logique dupliquée entre middleware et utilitaires, dérive garantie à la prochaine modification
- Commentaire dans le code justifiant la duplication par une incompatibilité Edge non vérifiée
### Bonnes pratiques / mitigations
- Le middleware Next.js peut importer n'importe quel module local tant que celui-ci n'utilise que des API compatibles Edge (Web APIs, `process.env`, opérations JS pures)
- Factoriser la logique partagée dans un module commun et l'importer depuis le middleware
- **Signal review** : logique dupliquée dans `middleware.ts` avec un commentaire "Edge incompatible"
- Contexte technique : Next.js / middleware — RL799_V2 08-04-2026