# Progression - generation des contenus pedagogiques Ce fichier sert de memoire de travail persistante. Il doit etre mis a jour a chaque avancee importante. ## Phase courante - Phase : `9A - Reprise qualite SVG fractions / 01B_fractions` - Statut : `bloque - fiabilite visuelle insuffisante` - Derniere mise a jour : `2026-05-07` ## Alerte qualite - SVG fractions Le lot `01B_fractions` ne doit plus etre considere comme valide visuellement. Constat utilisateur du `2026-05-07` : - plusieurs fiches de lecon fractions presentent des chevauchements entre numerator, barre horizontale et denominateur ; - les corrections ponctuelles ne suffisent pas a garantir la qualite ; - certaines fiches ont aussi revele des problemes d'encodage des accents ; - la fiabilite globale des fiches SVG, notamment sur les fractions, doit etre revue avant assimilation definitive. Decision : - suspendre la validation finale des SVG fractions ; - ne plus corriger uniquement au cas par cas via commentaires ; - reprendre la generation ou la mise en forme avec un composant de fraction stable et des regles de layout testables ; - ajouter une verification qualite obligatoire : absence de mojibake, absence de chevauchement, marges autour des fractions, lisibilite sur chaque card. Priorite suivante : - Phase `9A` : audit et regeneration propre des 8 SVG de lecon `01B_fractions`. ## Phase 0 - Index et classification Objectif : classer intelligemment les 240 PDF indexes dans `extractions_pdf_indexed_all/` pour preparer la generation progressive des contenus pedagogiques. Statut : termine. Livrables produits : - `pdf_collecteur/state/classification.csv` - `pdf_collecteur/state/sources_prioritaires.csv` - `pdf_collecteur/state/synthese_cycle3_cm1_mathematiques.md` Etat final : - Index global Poppler : termine, `240` PDF, `0` erreur. - Classification heuristique : terminee, `240` PDF classes. - Sources prioritaires : terminees, `180` lignes de pilotage. - Synthese CM1 math : terminee. Derniers controles Phase 0 : - Repartition par type detectee : - `programme_officiel` : 35 - `attendus_reperes` : 7 - `guide_enseignant` : 29 - `activite_sequence` : 88 - `exercice` : 42 - `evaluation` : 29 - `ressource_non_classee` : 10 - Correction effectuee : priorite au chemin reel `Cycle 3` / `Cycle 4` pour eviter qu'un PDF cycle 4 contenant une mention cycle 3 soit mal classe. - Correction effectuee : priorite au nom/chemin du PDF pour detecter le niveau (`CM1`, `CM2`, `6e`, etc.) avant les mentions secondaires dans le texte. ## Phase 1A - Referentiel CM1 mathematiques Objectif : creer les dossiers et README manquants pour tous les domaines et sous-themes CM1 mathematiques, sans encore generer massivement les micro-fiches. Livrables attendus : - completer `contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/` avec `01B` a `01G` ; - creer `02_grandeurs_mesures` ; - creer `03_espace_geometrie` ; - creer `04_organisation_donnees_probabilites` ; - creer `05_proportionnalite` ; - creer `06_pensee_informatique` ; - ajouter un `README.md` exploitable dans chaque nouveau dossier ; - noter pour chaque sous-theme les futures sorties attendues : micro-fiches, SVG lecon, contextes dynamiques par card, exercices textuels, SVG exercices, kit adaptatif. Etat d'avancement : - Dossiers manquants : crees. - README de cadrage : rediges. - Sous-themes des domaines `02` a `06` : materialises avec README. - Generation massive des micro-fiches : non lancee. Statut final : valide par l'utilisateur le `2026-05-03`. ## Phase 1B - Validation du decoupage CM1 mathematiques Objectif : relire le referentiel CM1 mathematiques, corriger le decoupage si besoin, puis autoriser la generation des micro-competences. Statut : termine. Validation : - Validation utilisateur recue le `2026-05-03`. - Arborescence CM1 mathematiques conservee telle quelle. - Nombre de README detectes dans `contenus_pedagogiques/cycle_3/mathematiques/cm1/` : `50`. - Generation massive autorisee pour la Phase 2. Trace : - `contenus_pedagogiques/cycle_3/mathematiques/cm1/VALIDATION_PHASE_1B.md` ## Phase 2A - Micro-competences CM1 mathematiques / 01B_fractions Objectif : produire les micro-fiches Markdown du premier sous-theme non traite dans `01_nombres_calcul_resolution`, en commencant par `01B_fractions`. Livrables attendus : - `01_lire_ecrire_fraction_simple.md` - `02_representer_fraction_partage.md` - `03_fraction_sur_demi_droite_graduee.md` - `04_fraction_superieure_a_un.md` - `05_comparer_fractions_simples.md` - `06_encadrer_fraction_entre_entiers.md` - `07_additionner_soustraire_fractions_simples.md` - `08_fraction_d_une_quantite.md` Etat d'avancement : - Fiches Markdown : generees, `8` fichiers. - SVG de lecon : non lance. - Contextes dynamiques par card : non lance. - Exercices textuels : non lance. - SVG exercices : non lance. - Kit adaptatif : non lance. Statut final : valide par l'utilisateur le `2026-05-03`. ## Phase 2B - Validation micro-competences 01B_fractions Objectif : relire les 8 micro-fiches fractions avant de lancer les SVG de lecon et les contextes dynamiques. Statut : termine. Validation : - Validation utilisateur recue le `2026-05-03`. - Les 8 micro-fiches Markdown de `01B_fractions` sont conservees. - Le sous-theme peut passer en production visuelle et contextuelle. Trace : - `contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01B_fractions/VALIDATION_PHASE_2B.md` ## Phase 3A - SVG lecon CM1 mathematiques / 01B_fractions Objectif : generer les 8 fiches SVG de lecon pour les micro-competences fractions, en gardant une competence par visuel. Livrables attendus : - `svg/01_lire_ecrire_fraction_simple.svg` - `svg/02_representer_fraction_partage.svg` - `svg/03_fraction_sur_demi_droite_graduee.svg` - `svg/04_fraction_superieure_a_un.svg` - `svg/05_comparer_fractions_simples.svg` - `svg/06_encadrer_fraction_entre_entiers.svg` - `svg/07_additionner_soustraire_fractions_simples.svg` - `svg/08_fraction_d_une_quantite.svg` Etat d'avancement : - SVG de lecon : generes, `8` fichiers, XML valide. - Contextes dynamiques par card : non lance dans cette phase. - Exercices textuels : non lance. - SVG exercices : non lance. - Kit adaptatif : non lance. Statut final : valide par l'utilisateur le `2026-05-05`. Trace : - `contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01B_fractions/VALIDATION_PHASE_3B.md` ## Phase 4A - Contextes dynamiques par card CM1 mathematiques / 01B_fractions Objectif : produire les textes pedagogiques associes aux cards detectees dans les 8 SVG fractions, pour contraindre Professeur TOP a parler de la card courante. Livrables attendus : - `card_contexts/README.md` - un dossier `card_contexts//` pour chaque fiche SVG ; - des fichiers `Fiche{numero_fiche}Card{numero_card}.md` alignes sur l'ordre des cards visibles. Etat d'avancement : - Contextes dynamiques par card : generes, `24` fichiers. - SVG de lecon : deja generes et valides. - Exercices textuels : non lance dans cette phase. - SVG exercices : non lance. - Kit adaptatif : non lance. Statut final : valide par l'utilisateur le `2026-05-05`. Trace : - `contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01B_fractions/VALIDATION_PHASE_4B.md` ## Phase 5A - Exercices textuels CM1 mathematiques / 01B_fractions Objectif : produire les exercices textuels progressifs pour les 8 micro-competences fractions, sans generer encore les SVG d'exercices. Livrables attendus : - `exercices/README.md` - `exercices/01_lire_ecrire_fraction_simple/exercices.md` - `exercices/02_representer_fraction_partage/exercices.md` - `exercices/03_fraction_sur_demi_droite_graduee/exercices.md` - `exercices/04_fraction_superieure_a_un/exercices.md` - `exercices/05_comparer_fractions_simples/exercices.md` - `exercices/06_encadrer_fraction_entre_entiers/exercices.md` - `exercices/07_additionner_soustraire_fractions_simples/exercices.md` - `exercices/08_fraction_d_une_quantite/exercices.md` Etat d'avancement : - Exercices textuels : generes, `8` fichiers, `32` exercices. - Reponses attendues : ajoutees. - Observations pedagogiques : ajoutees. - SVG exercices : non lance dans cette phase. - Kit adaptatif : non lance. Statut final : valide par l'utilisateur le `2026-05-05`. Trace : - `contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01B_fractions/VALIDATION_PHASE_5B.md` ## Phase 6A - SVG exercices CM1 mathematiques / 01B_fractions Objectif : produire une planche SVG d'exercices pour chacune des 8 micro-competences fractions. Livrables attendus : - `exercices_svg/README.md` - `exercices_svg/01_lire_ecrire_fraction_simple.svg` - `exercices_svg/02_representer_fraction_partage.svg` - `exercices_svg/03_fraction_sur_demi_droite_graduee.svg` - `exercices_svg/04_fraction_superieure_a_un.svg` - `exercices_svg/05_comparer_fractions_simples.svg` - `exercices_svg/06_encadrer_fraction_entre_entiers.svg` - `exercices_svg/07_additionner_soustraire_fractions_simples.svg` - `exercices_svg/08_fraction_d_une_quantite.svg` Etat d'avancement : - SVG exercices : generes, `8` fichiers. - Corriges : conserves dans les fichiers Markdown d'exercices. - Kit adaptatif : non lance. ## Prochaine etape - Phase suivante : `7B/8B - Validation SVG exercices et kit adaptatif 01B_fractions` - Statut : `a valider dans l'interface` - Objectif : relire les SVG d'exercices, le diagnostic, les profils, les parcours et les SVG du kit depuis le dashboard admin. ## Phase 6B - Validation SVG exercices CM1 mathematiques / 01B_fractions Objectif : relire les 8 SVG d'exercices avant de lancer le kit adaptatif. Statut : validation utilisateur reportee dans l'interface admin. Note : - L'utilisateur a demande le `2026-05-06` de poursuivre la production sans bloquer sur cette validation manuelle. - Les SVG d'exercices restent donc `a relire` dans l'interface. - La Phase 7A a ete produite en avance pour preparer la validation du lendemain matin. ## Phase 7A - Kit adaptatif CM1 mathematiques / 01B_fractions Objectif : produire un kit adaptatif pour le sous-theme fractions afin d'orienter Professeur TOP apres quelques reponses courtes de diagnostic. Livrables attendus : - `kit_adaptatif/README.md` - `kit_adaptatif/00_principe_adaptatif.md` - `kit_adaptatif/routage.md` - `kit_adaptatif/test_diagnostic/README.md` - `kit_adaptatif/test_diagnostic/01_lecture_vocabulaire.md` - `kit_adaptatif/test_diagnostic/02_partage_unite.md` - `kit_adaptatif/test_diagnostic/03_demi_droite.md` - `kit_adaptatif/test_diagnostic/04_comparer_expliquer.md` - `kit_adaptatif/parcours_profils/README.md` - `kit_adaptatif/parcours_profils/01_visuel_partage.md` - `kit_adaptatif/parcours_profils/02_verbal_vocabulaire.md` - `kit_adaptatif/parcours_profils/03_manipulation_concret.md` - `kit_adaptatif/parcours_profils/04_reperes_demi_droite.md` - `kit_adaptatif/parcours_profils/05_progressif_charge_reduite.md` - `kit_adaptatif/svg/README.md` - `kit_adaptatif/svg/test_diagnostic_fraction.svg` - `kit_adaptatif/svg/parcours_fraction_support.svg` Etat d'avancement : - Kit adaptatif : genere. - Tests diagnostics : `4` fichiers. - Parcours par profils : `5` fichiers. - SVG de support : `2` fichiers, XML valide. - Synchronisation backend : effectuee dans `backend/contenus_pedagogiques/.../01B_fractions/kit_adaptatif`. - Integration applicative fine : non lancee. Statut : genere - a valider dans l'interface. ## Phase 8A - Exposition admin du kit adaptatif / 01B_fractions Objectif : rendre le kit adaptatif visible et validable depuis l'interface admin, sans attendre une integration fine dans le deroulement eleve. Livrables produits : - `backend/app/program_content.py` : ajout des compteurs `adaptive_tests`, `adaptive_profiles`, `adaptive_svg`. - `backend/app/program_content.py` : ajout des noeuds `kit`, `diagnostic`, `parcours` et `support` dans l'arbre admin. - `frontend/src/App.jsx` : la file `Validation contenus` inclut maintenant les elements du kit adaptatif. - `frontend/src/App.jsx` : les panneaux de statut affichent les tests, parcours et SVG du kit. - `frontend/src/App.jsx` : les noeuds Markdown de diagnostic et de parcours affichent un apercu texte validable. Etat d'avancement : - Exposition dans l'arbre admin : effectuee. - Exposition dans la file de validation : effectuee. - Revue plein ecran des SVG du kit : disponible via les noeuds `support`. - Revue des textes Markdown du kit : disponible dans le panneau de validation. - Integration du choix adaptatif dans une session eleve : non lancee. Statut : integre - a valider dans l'interface. ## Phase 8B - Contexte adaptatif dans Professeur TOP / 01B_fractions Objectif : rendre le kit adaptatif exploitable par le moteur de dialogue sans encore construire une UI eleve dediee au diagnostic. Livrables produits : - `backend/app/program_content.py` : ajout de `adaptive_kit` dans les objets lecon. - `backend/app/program_content.py` : ajout de `format_adaptive_kit_context`. - `backend/app/schemas.py` : ajout de `adaptive_kit` a `ProgramLesson`. - `backend/app/schemas.py` : ajout de `lesson_id` dans `ChatRequest`. - `backend/app/main.py` : ajout du contexte adaptatif au demarrage de seance quand la lecon a un kit. - `backend/app/main.py` : ajout du contexte adaptatif aux appels `/chat` quand `lesson_id` est fourni. - `frontend/src/App.jsx` : envoi de `lesson_id` dans le contexte de lecon. - `frontend/src/App.jsx` : affichage du kit adaptatif dans la fiche eleve admin. Etat d'avancement : - Kit accessible via les reponses programme : effectue. - Contexte adaptatif transmis a Professeur TOP : effectue. - Interface eleve dediee au diagnostic : non lancee. - Selection automatique persistante d'un parcours adaptatif par eleve : non lancee. Statut : integre - a valider dans l'interface. ## Phase 8C - Suivi adaptatif par eleve / 01B_fractions Objectif : permettre au professeur de conserver un parcours adaptatif recommande pour un eleve et une lecon. Livrables produits : - `backend/app/models.py` : nouvelle table `student_adaptive_profiles`. - `backend/app/schemas.py` : schemas `StudentAdaptiveProfileRequest` et `StudentAdaptiveProfileRead`. - `backend/app/main.py` : endpoint `GET /admin/students/{student_id}/adaptive-profile`. - `backend/app/main.py` : endpoint `PUT /admin/students/{student_id}/adaptive-profile`. - `frontend/src/App.jsx` : chargement du profil adaptatif de l'eleve pour la lecon active. - `frontend/src/App.jsx` : formulaire admin pour choisir le test diagnostic de reference, le parcours recommande et une note de suivi. - `frontend/src/styles.css` : styles du panneau de suivi adaptatif. Etat d'avancement : - Stockage du profil adaptatif par eleve/lecon : effectue. - Affichage dans la fiche eleve admin : effectue. - Sauvegarde du parcours recommande : effectuee. - Utilisation automatique de ce profil dans le deroulement eleve : non lancee. Statut : integre - a valider dans l'interface. ## Phase 8D - Utilisation du profil adaptatif / 01B_fractions Objectif : faire en sorte qu'un profil adaptatif enregistre par le professeur influence effectivement les reponses de Professeur TOP. Livrables produits : - `backend/app/main.py` : ajout de `format_student_adaptive_profile_context`. - `backend/app/main.py` : injection du profil adaptatif au demarrage de seance. - `backend/app/main.py` : injection du profil adaptatif dans les appels `/chat`. Etat d'avancement : - Si un profil est enregistre pour l'eleve et la lecon active, il est transmis comme aide prioritaire au LLM. - Le kit adaptatif generique reste transmis meme sans profil enregistre. - Le frontend eleve ne montre pas encore explicitement le diagnostic adaptatif. Statut : integre - a valider dans l'interface. ## Phases prevues 1. Phase 0 : index et classification des sources. 2. Phase 1 : referentiel programme par cycle, matiere et niveau. 3. Phase 2 : micro-competences par sous-theme. 4. Phase 3 : fiches SVG de lecon. 5. Phase 4 : contextes dynamiques par card. 6. Phase 5 : exercices textuels. 7. Phase 6 : SVG des exercices. 8. Phase 7 : kits adaptatifs. 9. Phase 8 : integration Professeur TOP. 10. Phase 9 : validation qualite. ## Regle de travail Chaque phase doit etre validee avant de produire massivement la suivante. Les lots doivent rester relisibles : cycle, matiere, niveau, domaine, puis sous-theme.