This commit is contained in:
2026-05-12 23:44:30 +02:00
parent 367d72e200
commit e1f6bf7264
6 changed files with 163 additions and 8 deletions

View File

@@ -0,0 +1,89 @@
# Notes de fin de session - 2026-05-12
## Objectif traite
Validation de l'architecture des contenus pedagogiques et remise en ordre des lecons CM1 `Nombres entiers` et `Fractions`, avec focus fort sur la qualite des SVG fractions et l'ergonomie de l'onglet `Programme global`.
## Architecture pedagogique retenue
Chaque lecon doit etre auditable, consultable et chargeable par le modele avec la meme structure :
- `README.md` : notes editoriales et statut de la lecon ;
- `lecon.md` : lecon complete, contexte general du modele ;
- `fiches/<fiche>/fiche.md` + `fiche.svg` ;
- `cards/<fiche>/card_XX.md` + `card_XX.svg` ;
- `exercices/<fiche>/exercices.md` + `exercices.svg` ;
- `tests/*` : diagnostics et tests de validation ;
- `exercices/parcours_adaptes/*` : remediations apres tests ;
- `sources/*` : contenus de reference migres ou documents originaux utiles.
Les dossiers `kit_adaptatif`, `svg/`, `card_contexts/` et `exercices_svg/` sont legacy.
## Migrations effectuees
- `01B_fractions` est range dans l'arborescence canonique cote `backend` et cote `Programme`.
- `01A_nombres_entiers` est range dans l'arborescence canonique cote `backend` et cote `Programme`.
- Les tests et parcours de l'ancien kit adaptatif `Nombres entiers` ont ete deplaces dans `tests/`, `exercices/parcours_adaptes/` et `sources/`.
- Le loader backend sait lire les nouveaux types `lesson`, `fiche`, `card`, `exercice`, `test`, `support`.
## Sources et audit
Regle confirmee : tout contenu pedagogique doit pouvoir indiquer sa source.
Chaque Markdown de production doit garder une section `Sources` ou equivalent :
- document PDF officiel ou extraction locale ;
- cycle, niveau, matiere et theme ;
- page, chapitre ou section si connu ;
- date de generation ou validation si connue.
Reference principale actuelle : `Programme/pdf_collecteur/state/synthese_cycle3_cm1_mathematiques.md`.
## SVG fractions
Probleme important corrige : les fractions semblaient valides automatiquement alors que les denominateurs chevauchaient visuellement la barre.
Cause : dans SVG, la coordonnee `y` d'un `<text>` est une baseline, pas le bord visible du chiffre. Un test base seulement sur `bar_y - text_y` peut donc donner un faux vert.
Regle retenue :
- tester la clairance visible estimee des glyphes ;
- utiliser `fraction-g`, `data-math="fraction"` et `data-box` ;
- recalcule des `data-box` apres changement d'espacement ;
- refuser les fractions obliques visibles dans les SVG eleve ;
- lancer le validateur strict avant revue humaine.
Outils importants :
- `backend/tools/validate_svg_quality.py`
- `backend/tools/regenerate_fraction_exercise_svgs.py`
- `backend/tools/compact_fraction_svg_spacing.py`
Validation obtenue :
- `backend/.../01B_fractions` : 42 SVG, 0 erreur, 0 warning ;
- `Programme/.../01B_fractions` : 42 SVG, 0 erreur, 0 warning.
## UI Programme global
Changement ergonomique :
- le panneau de droite partage mieux l'espace entre SVG et contexte Markdown ;
- le SVG utilise `object-fit: contain` pour rester visible entier ;
- l'ancien panneau `Validation centralisee` est supprime ;
- le bouton `Ouvrir dans Validation contenus` flotte discretement en bas a droite ;
- le bouton plein ecran reste disponible sur le SVG.
Fichiers concernes :
- `frontend/src/App.jsx`
- `frontend/src/styles.css`
Build frontend valide avec `npm.cmd run build`.
## Points a reprendre ensuite
- Continuer la deduction des arborescences depuis les PDF officiels pour cycle 3 et cycle 4.
- Generaliser l'arborescence canonique aux prochaines lecons.
- Ajouter a terme une validation raster/screenshot pour detecter les chevauchements visuels que le XML ne capte pas parfaitement.
- Inspecter visuellement le premier SVG de chaque nouvelle famille malgre le validateur, surtout pour les fractions.