diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 52e622e..40b9634 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -37,6 +37,32 @@ Chaque entrée suit ce format : - Code source de `src/entities/user/access.ts` et `lib.ts` avec tests +## 2026-04-20 — Audit frontend ↔ backend — alignement types Report + +### Modifié +- `src/entities/report/types.ts` — `Critere.note` → `Critere.score`, `Report.exercices: Exercice[]` → `Report.exercices: string[]`, JSDoc ajusté +- `src/features/simulations/pages/RapportPage.tsx` — import `Exercice` retiré, `critere.note` → `critere.score`, `ExerciceCard` refactoré pour consommer une `string` rendue en Markdown, clé d'itération par index + +### Supprimé +- Interface `Exercice { titre, contenu }` de `entities/report/types.ts` — remplacée par `string[]` pour coller au contrat backend + +### Contexte (backend associé, expria-backend) +Quatre commits côté backend finalisent l'alignement du contrat `Report` : +- `feat(corrections)`: renommages `production_modele`→`modele`, `suggestions_idees`→`idees`, ajout `feedback_court` + prompts DeepSeek mis à jour + validations runtime +- `feat(corrections)`: réponse enrichie avec `simulation_id` côté `correctionController` +- `feat(simulations)`: nouvelle route `GET /simulations/:id` (auth owner, gestion `SIMULATION_NOT_FOUND`/`AUTH_REQUIRED`/`REPORT_NOT_READY`) + 4 tests +- `feat(simulations)`: sujet aléatoire (table `sujets`) retourné avec chaque production créée (EO_T2_LIVE exclu, non bloquant si aucun sujet actif) + +### Tests +- Typecheck : 0 erreur +- Vitest : 59/59 passés + +### À faire (hors scope — session frontend dédiée ultérieurement) +- Ajouter `sujet: SujetData | null` dans `entities/production/types.ts` +- Consommer le sujet retourné dans `SimulationPage` (affichage consigne + docs) +- Consommer `feedback_court` dans `RapportPage` (rendu toujours visible — cf. PLANS_TARIFAIRES §2 — déjà supporté par le type `Report`, reste à brancher dans l'UI si ce n'est pas déjà le cas) + + ## 2026-04-20 — Sprint 0.5 bis — AppLayout + primitives UI + refonte visuelle ### Ajouté