# File de travail — 21/08

Établie le 20/08 au soir, à la fin de la recette de Lilian (P0→P8 joués).
Ordre de bataille : **on ne descend pas d'un cran tant que le précédent n'est
pas soldé ou explicitement reporté.**

## Vague 1 — SÉCURITÉ, bloquante avant production

Trois portes de la même famille, ouvertes le 19/08 et jamais lancées. Elles
partagent une cause : **des routes d'apprentissage qui ne vérifient aucun
périmètre**. Tant qu'elles sont ouvertes, la mise en production est un risque.

| Issue | Ce qui fuit |
|---|---|
| [BACK#529](https://github.com/AAZTEKDEV/EFEKTIVACADEMIE-BACK/issues/529) | `buildQuizAnswerComments` sert le corrigé de TOUTES les questions dès la première réponse |
| [BACK#530](https://github.com/AAZTEKDEV/EFEKTIVACADEMIE-BACK/issues/530) | `GET /learner/quiz` et `/learner/section` : tout compte authentifié lit la structure et les énoncés de TOUTES les formations |
| [BACK#532](https://github.com/AAZTEKDEV/EFEKTIVACADEMIE-BACK/issues/532) | `learner/questions/hints/{question}` sert le corrigé complet sans avoir répondu ni être inscrit |

**Un seul fil pour les trois** : même famille, même garde à poser, une seule
contre-épreuve à écrire. Les traiter séparément multiplierait le travail.
Rattacher au principe **P3** (accès réservés) de la cartographie #514.

## Vague 2 — Correctifs de recette livrés mais NON REJOUÉS

Ils sont en ligne ; il manque la preuve testeur. **Rien à développer** — c'est
une file pour Lilian, pas pour un fil.

- **P6.5** — le cours créé naît en brouillon ([BACK#553](https://github.com/AAZTEKDEV/EFEKTIVACADEMIE-BACK/issues/553), fermée) ;
- **P4.7 + P4.8** — filtre des demandes ([FRONT#312](https://github.com/AAZTEKDEV/EFEKTIVACADEMIE-FRONT/issues/312), ouverte tant que non rejouée) ;
- **P5.3** — entonnoirs du tableau de bord ;
- **P9** — dernier parcours, jamais joué.

## Vague 3 — Défauts de recette à développer

- [FRONT#320](https://github.com/AAZTEKDEV/EFEKTIVACADEMIE-FRONT/issues/320) — le refus de création ne dit pas quel champ manque (mineur) ;
- [BACK#75](https://github.com/AAZTEKDEV/EFEKTIVACADEMIE-BACK/issues/75) — la vidéo d'un tuto ne joue qu'une seconde, sur un demi-écran (majeur) ;
- [FRONT#299](https://github.com/AAZTEKDEV/EFEKTIVACADEMIE-FRONT/issues/299) — règles d'invitation : **arbitrées le 19/08**, prêtes à développer ;
- [BACK#549](https://github.com/AAZTEKDEV/EFEKTIVACADEMIE-BACK/issues/549) — un taux unique servi à deux entonnoirs d'unités différentes ;
- [FRONT#314](https://github.com/AAZTEKDEV/EFEKTIVACADEMIE-FRONT/issues/314) / [#315](https://github.com/AAZTEKDEV/EFEKTIVACADEMIE-FRONT/issues/315) — test instable. **Plus urgent qu'il n'y paraît** : depuis que les tests bloquent le merge, un rouge intermittent bloque toute la chaîne.

## Vague 4 — Bascule en production : préparation

L'outillage de la migration de taxonomie **existe déjà** — ne pas le réécrire :
`docs/roadmap/21_MIGRATION_TAXONOMIE_320.md` décrit ses trois pièces (table de
correspondance committée, commande `taxonomie:320` en simulation par défaut,
tests de garde). Ce qui manque n'est pas l'outil, c'est **la décision de contenu**.

1. **Le référentiel de SUJETS** — décision du 19/08 ([`24_TAXONOMIE_CIBLE.md`](24_TAXONOMIE_CIBLE.md)) :
   la **nature** (Cours, Tuto, Parcours, Module, Programme) est portée par
   l'objet lui-même ; les **catégories deviennent des sujets** — expertises,
   métiers, matières, processus — et l'on filtre par nature à l'intérieur.
   ⚠️ Le document `20_MAPPING_CATEGORIES_BASCULE.md` est **caduc** : il proposait
   une correspondance 1:1 qui mélangeait les deux axes. **À reprendre en atelier
   avec Enguerran** : c'est le seul point qui bloque, et il demande une décision
   humaine sur le contenu, pas du développement.
2. **[BACK#136](https://github.com/AAZTEKDEV/EFEKTIVACADEMIE-BACK/issues/136) — base de production en MyISAM** : les clés étrangères sont
   ignorées en silence. Conversion en InnoDB à répéter sur une copie AVANT la
   bascule. **Bloquant.**
3. **[BACK#137](https://github.com/AAZTEKDEV/EFEKTIVACADEMIE-BACK/issues/137) — migrations recalées à la main le 06/08** : des migrations sont
   enregistrées comme jouées sans l'avoir été. À rattraper avant toute
   migration automatique, sinon le schéma diverge en silence. **Bloquant.**
4. **Reprise des accès serveur OVH** — premier risque du planning V1, hors
   périmètre technique mais bloquant de fait.

## Arbitrages RENDUS le 20/08 — plus rien à instruire

- **Le formateur ne peut pas créer de cours** ([BACK#78](https://github.com/AAZTEKDEV/EFEKTIVACADEMIE-BACK/issues/78), close). L'écran est
  conforme ; reste à vérifier que le SERVEUR refuse (chantier #514, réservation P3),
  et à corriger l'étape P7.10 du cahier qui attend l'inverse.

## À corriger dans le cahier de recette (v1.5)

Trois étapes décrivent un attendu FAUX et ressortiront KO à chaque passage :
- **P5.2** — « Mes équipes » n'est attendue que pour les rôles encadrant
  PLUSIEURS niveaux ; son absence chez un manager d'équipe est normale ;
- **P6.17** — « cinq onglets » : il y a cinq panneaux mais quatre onglets, la
  barre étant masquée à dessein pour une rubrique à contenu unique ;
- **P7.10** — les boutons Créer/Modifier sont absents **par décision produit**.
