feat(production): exposer SujetData dans Production + FTD-21 persistance session

This commit is contained in:
Hermann_Kitio 2026-04-20 23:05:01 +03:00
parent b16dbfa1c8
commit e130d3792e
3 changed files with 42 additions and 0 deletions

View file

@ -268,6 +268,26 @@ Vient du pattern `c.json(result, result.status)` où `result` contient déjà `s
---
### FTD-21 — Persistance session simulation
**Priorité :** 🔴 Critique
**Statut :** Ouvert — session backend + frontend requise
**Estimation de session :** ~2 jours (1 jour backend + 1 jour frontend)
**Description :** Si l'utilisateur rafraîchit la page ou fait « retour » pendant une simulation, la production et le sujet sont perdus. L'utilisateur doit pouvoir reprendre exactement où il en était.
**À faire (backend) :**
- Ajouter colonne `sujet_id` (FK → `sujets.id`) dans `productions` pour persister le sujet associé à chaque simulation
- Autosave du contenu de la textarea toutes les 30 s via `PATCH /simulations/:id/contenu`
- `GET /simulations/:id` retourne aussi le sujet associé (joint sur `sujet_id`)
**À faire (frontend) :**
- `useSimulation` détecte si une simulation est en cours au chargement (via `localStorage` ou URL param)
- Reprend la `production` + `sujet` depuis `GET /simulations/:id`
- La textarea reprend le contenu sauvegardé
**Condition de résolution :** session dédiée après G1-G5.
---
## 4. Tests à renforcer
### FTD-09 — Tests de la state machine T2 Live non implémentés
@ -334,3 +354,4 @@ Vient du pattern `c.json(result, result.status)` où `result` contient déjà `s
| 1.5 | 2026-04-19 | Ajout FTD-17 (clé ['plan'] dupliquée entre features — Sprint 3 étape 14) |
| 1.6 | 2026-04-20 | Ajout FTD-18 (SimulationForm shadcn Button — Sprint 0.5 bis D2) ; ajout FTD-19 (token --shadow-focus manquant — Sprint 0.5 bis D2) |
| 1.7 | 2026-04-20 | Ajout FTD-20 🔴 (GET /simulations/:id manquant backend — bloque RapportPage Sprint 3 étape 15) |
| 1.8 | 2026-04-20 | Ajout FTD-21 🔴 (persistance session simulation — prod + sujet perdus au refresh, session dédiée après G1-G5) |