43f1f6e9f2
sign.js : - aria-label sur les 4 Fab (Se déconnecter, dashboard, Se connecter, S'enregistrer) - Correction des guillemets typographiques U+2018/U+2019 en ASCII (empêchaient le parsing JSX) - Suppression de useMemo inutilisé - IIFE async ;() → startSubscription() nommée + .catch() explicite (semi-style + no-void) auth-form/index.js : - aria-label des IconButton visibility traduits en français avec état dynamique : 'Afficher/Masquer le mot de passe' et 'Afficher/Masquer la vérification' version-timeline.js : - aria-label='Comparer les versions' sur IconButton Comparer - aria-label dynamique + aria-expanded sur le bouton expand/collapse - Correction object-curly-newline et jsx-closing-bracket-location (pré-existants) version-search.js : - inputProps aria-label='Rechercher dans les versions' (placeholder seul insuffisant) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1.3 KiB
1.3 KiB
Tâches — Konstitisyon Frontend
Améliorations critiques (P1)
- Rate limiting —
lib/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 ✓
- Routes protégées :
- CORS whitelist — restreindre
CORS_ORIGIN=truedans l'env Directus - Sanitisation Markdown — DOMPurify sur la sortie
markeddans export-pdf et print-button
Améliorations hautes (P2)
- Headers CSP —
next.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
jwtdans NextAuth options - Pipeline CI — Forgejo Actions / Woodpecker CI (lint + test + build) ⏸ en attente
- 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