Files
konstitisyon.nu/tasks/todo.md
T
cedric 7b831d5bc4 test: tests unitaires Vitest — format, version-utils, rate-limit
- Installe vitest@4 + @vitest/coverage-v8 (40 tests, 0 échec)
- lib/__tests__/format.test.js        : 14 tests (formatKonstitisyon, formatDate, hasRestrictedChar)
- lib/__tests__/version-utils.test.js : 17 tests (filterVersions par texte/auteur/date, getFilterStats)
- lib/__tests__/rate-limit.test.js    : 9 tests avec fake timers (limite, reset, retryAfter, keys indépendantes)
- vitest.config.mjs : environnement node, imports explicites (pas de globals)
- package.json : scripts test / test:watch / test:coverage + override XO pour les fichiers de test

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 06:30:10 +04:00

1.2 KiB

Tâches — Konstitisyon Frontend

Améliorations critiques (P1)

  • Rate limitinglib/rate-limit.js + middleware.js
    • Routes protégées : /api/auth/register (5/15min) et /api/auth/callback/credentials (10/5min)
    • Logique vérifiée : comptage, blocage 429 + Retry-After, expiration fenêtre ✓
  • CORS whitelist — restreindre CORS_ORIGIN=true dans l'env Directus
  • Sanitisation Markdown — DOMPurify sur la sortie marked dans export-pdf et print-button

Améliorations hautes (P2)

  • Headers CSPnext.config.mjs (renommé depuis .js) avec CSP + 4 headers sécurité
  • Tests unitaires — Vitest sur lib/format.js, lib/version-utils.js, lib/rate-limit.js
  • Tests extensions Directus — mocks VersionsService
  • Refresh token explicite — callback jwt dans NextAuth options
  • Pipeline CI — GitHub Actions (lint + test + build)
  • Sentry — tracking erreurs frontend + API routes

Améliorations moyennes (P3)

  • ISR page d'accueil (revalidate)
  • Dockerisation frontend (output: standalone)
  • Audit accessibilité WCAG 2.1
  • Responsive mobile dashboard
  • Lazy loading jsPDF + md-editor
  • Migration NextAuth v5 stable