Files
open-school/Programme/PROGRESSION_CONTENUS_PEDAGOGIQUES.md
2026-05-07 22:26:56 +02:00

409 lines
16 KiB
Markdown

# 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/<nom_du_svg>/` 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.