From ef86da85d7bea84a08c066bd0ccd7986af359971 Mon Sep 17 00:00:00 2001 From: Hermann_Kitio Date: Mon, 20 Apr 2026 03:46:36 +0300 Subject: [PATCH] =?UTF-8?q?docs(tech-debt):=20FTD-20=20=F0=9F=94=B4=20?= =?UTF-8?q?=E2=80=94=20GET=20/simulations/:id=20manquant=20backend?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/TECH_DEBT.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/docs/TECH_DEBT.md b/docs/TECH_DEBT.md index a8ab8b0..0f8393c 100644 --- a/docs/TECH_DEBT.md +++ b/docs/TECH_DEBT.md @@ -72,6 +72,24 @@ Vient du pattern `c.json(result, result.status)` où `result` contient déjà `s --- +### FTD-20 — `GET /simulations/:id` manquant dans le backend +**Priorité :** 🔴 Critique (bloque RapportPage — Sprint 3 étape 15) +**Statut :** Ouvert — session backend requise +**Estimation de session :** 2h (backend) +**Description :** Le backend n'expose pas de route de lecture pour récupérer une simulation et son rapport après correction. `POST /corrections/ee` retourne le rapport dans sa réponse mais celui-ci n'est pas persisté côté frontend entre les navigations. `RapportPage` appelle `GET /simulations/:id` via `getReport()` + `useRapport()` — la route retourne 404 côté backend. + +**Contexte frontend :** `src/entities/report/api.ts` — `getReport(id)`, `src/features/simulations/hooks/useRapport.ts`, `src/features/simulations/pages/RapportPage.tsx` sont implémentés et typechecked. Ils fonctionneront dès que le backend expose la route. + +**À faire (session backend) :** +- Ajouter `GET /simulations/:id` dans `expria-backend/src/routes/simulations.ts` +- Retourner : `id`, `tache`, `mode`, `score`, `nclc`, `feedback_court`, `criteres`, `erreurs`, `modele`, `idees`, `exercices` +- Appliquer `authMiddleware` + vérifier que la simulation appartient à l'utilisateur connecté +- Retourner `SIMULATION_NOT_FOUND` (404) si la simulation n'existe pas ou appartient à un autre utilisateur + +**Condition de résolution :** après implémentation backend + test manuel RapportPage complet (Free, Standard, Premium). + +--- + ## 2. Dettes frontend propres ### FTD-04 — Documents miroir sans automatisation de synchronisation @@ -315,3 +333,4 @@ Vient du pattern `c.json(result, result.status)` où `result` contient déjà `s | 1.4 | 2026-04-18 | FTD-16 résolu (VITE_MAINTENANCE_MODE implémenté — Sprint 1 étape 6) | | 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) |