4.9 KiB
4.9 KiB
ROADMAP.md — Expria Frontend
Source de vérité de l'ordre d'implémentation des sprints. Ne pas modifier sans validation de Hermann.
Sprint 0 — Fondations ✅
- Scaffold Vite + TypeScript + Tailwind + shadcn/ui
- Structure de dossiers complète
- docs/ copiés depuis backend + adaptations
- ONBOARDING.md rédigé
Sprint 0.5 — Design System ✅
- Direction artistique Boréal validée
- Tokens CSS dans index.css
- DESIGN_SYSTEM.md rédigé
Sprint 1 — Auth + API layer ✅
- auth-client.ts
- api-client.ts
- query-client.ts
- entities/user/*
- features/auth (Login, Register, ProtectedRoute)
Sprint 2 — Dashboard conditionnel ✅
- usePlan hook
- shared/components/PaywallModal
- features/dashboard (Free / Standard / Premium)
Sprint 3 — Simulations EE ✅
- entities/production/* + entities/report/*
- features/simulations (EE T1/T2/T3)
- Affichage rapport avec floutage conditionnel
Sprint 3.5 — Clean
- Factorisation des fichiers modifiés Sprint 3
- Tests manuels Groupe B + C rejoués
- Commit refactor(simulation-ee)
Sprint 3.6a — Qualité correction — Backend ✅
- Remplacement prompt maître (docs/Prompt_maître.md) + intégration taxonomie erreurs (docs/TAXONOMIE_ERREURS.md)
- Remplacement prompt production modèle (docs/Prompt_production_modèle.md) — cible fixe NCLC 9
- Génération parallèle correction + exercices + modèle (await correction, fire-and-forget sur les deux autres)
- Nouveaux champs DB : revelation, diagnostic, conseil_nclc, erreurs_codes, exercices_status, modele_status, nclc_cible
- Mise à jour GET /simulations/:id
- Migration SQL :
supabase/migrations/004_sprint_3_6a_qualite_correction.sql(à exécuter manuellement) - Tests : 173 tests verts (+18 vs baseline)
Sprint 3.6b — Qualité correction — Frontend ✅
- Sélecteur NCLC cible dans SimulationForm (9 ou 10, défaut 9) — NclcCibleSelector
- RapportPage réécrite : ScoreHero (jauge + seuil NCLC cible + écart), RevelationCards, DiagnosticCallout, CritereCard enrichie (exemple/suggestion/astuce + codes taxonomie), ConseilNclcCallout
- ExerciceInteractive : badge difficulté, zone texte, bouton Indice (une fois), bouton Voir la correction (activé après saisie), explication
- ProductionModeleSection : texte final + notes pédagogiques + transformations original/amélioré + message
- JobStatusFallback : gère exercices_status / modele_status (pending / error) — refresh manuel, polling tracé en FTD-24
- Gating plan conforme PLANS_TARIFAIRES.md : revelation/diagnostic/conseil_nclc tous plans ; criteres/exercices/modele Standard+
- Tests : 84 verts (+8 vs baseline — floutage + helpers lib + ExerciceInteractive)
Sprint 3.7 — Historique ✅
- Backend :
GET /simulations— liste paginée des productions de l'utilisateur connecté (page/limit, tricreated_at DESC, projection légère). 186 tests backend verts. - Frontend : page
/historique(route sous AppLayout), liste d'items (date relative, tâche, score /20, NCLC, badge Examen / En cours), pagination Précédent/Suivant, clic →/rapport/:id. - Gating plan : Free → aperçu flouté + CTA « Passer en Standard » (
hasAccess(plan, 'dashboard')) ; Standard + Premium → liste complète. - État vide : CTA « Démarrer une simulation ».
- Hook
useSimulationsList(page, limit)— TanStack Query,staleTime: 30s,keepPreviousDatapour transitions fluides. - Helper
formatRelativeDate(Intl.RelativeTimeFormat, zéro dépendance). - 102 tests frontend verts (+18 vs baseline 84).
Sprint 3.6c — Analyse patterns (Premium)
- Backend : GET /users/patterns — agrégation SQL erreurs_codes sur 5 dernières productions
- Backend : exercices long terme générés par DeepSeek sur patterns confirmés (≥ 3/5)
- Backend : indice de préparation 0→100
- Frontend : Dashboard Premium — section "Mon profil de préparation"
- Frontend : erreurs récurrentes + exercices long terme + indice
Sprint 4 — Simulations EO (audio)
- MediaRecorder + upload audio EO T1/T3
Sprint 4.5 — Clean
- Factorisation des fichiers modifiés Sprint 4
- Tests manuels Groupe B + D rejoués
- Commit refactor(simulation-eo)
Sprint 5 — Billing
- features/billing (Stripe Checkout + prorata)
Sprint 5.5 — Clean
- Factorisation des fichiers modifiés Sprint 5
- Tests manuels Groupe E rejoués
- Commit refactor(billing)
Sprint 6 — T2 Live
- features/t2-live (ws-client + audio worklet + state machine)
Sprint 6.5 — Clean
- Factorisation des fichiers modifiés Sprint 6
- Tests manuels Groupe D rejoués
- Commit refactor(t2-live)
Sprint 7 — Mode Examen
- Timer inarrêtable + readOnly à T=0
Sprint 7.5 — Clean
- Factorisation des fichiers modifiés Sprint 7
- Tests manuels Groupe D rejoués
- Commit refactor(exam-mode)
Sprint 8 — Pré-lancement
- MAINTENANCE_MODE implémenté ✅ (2026-04-19)
- Sentry configuré
- /ultrareview avant bascule
- Smoke test Groupe Z complet
- Procédure DEPLOYMENT.md exécutée