Files
konstitisyon.nu/tasks/lessons.md
T
cedric d8a63bc4d8 feat: rate limiting sur les routes d'authentification critiques
- Ajout de lib/rate-limit.js : fabrique de limiter en mémoire (closure +
  Map avec nettoyage lazy), sans dépendance externe, réutilisable
- Ajout de middleware.js : intercepte /api/auth/register (5 req/15min)
  et /api/auth/callback/credentials (10 req/5min), répond 429 + Retry-After
- Ajout de tasks/todo.md et tasks/lessons.md (suivi CLAUDE.md)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-13 21:30:38 +04:00

19 lines
1.0 KiB
Markdown

# Leçons — Konstitisyon Frontend
## 2026-04-13 — Rate limiting / Premier chantier
### Erreur commise
Implémentation directe sans passer par le mode planification ni créer `tasks/todo.md` avant de coder.
La tâche a été présentée comme terminée après validation XO, sans preuve de fonctionnement réel.
### Règle à retenir
1. **Toujours** créer/mettre à jour `tasks/todo.md` avant de toucher au code pour toute tâche 3+ étapes.
2. **Toujours** prouver le fonctionnement après implémentation : test unitaire, `curl`, ou vérification Node directe — pas seulement le linter.
3. Le linter qui passe ≠ la feature qui fonctionne.
### Ce qui a bien fonctionné
- Lecture complète des fichiers impactés avant d'écrire (middleware, register, options, package.json)
- Zéro dépendance externe ajoutée — solution en-mémoire adaptée à PM2 single-process
- Correction autonome des erreurs XO (curly, arrow-parens, func-names) sans intervention
- Abstraction propre : `createRateLimiter` est réutilisable pour d'autres routes futures