diff --git a/PROGRAM_CONTENT_ARCHITECTURE.md b/PROGRAM_CONTENT_ARCHITECTURE.md index fde5a22..2576598 100644 --- a/PROGRAM_CONTENT_ARCHITECTURE.md +++ b/PROGRAM_CONTENT_ARCHITECTURE.md @@ -148,3 +148,15 @@ Les SVG d'exercices et de tests doivent etre visibles et validables comme les SV Chaque nouvelle lecon doit etre produite dans cette arborescence des le depart. Une generation qui place des contenus dans `kit_adaptatif`, `svg/`, `card_contexts/` ou `exercices_svg/` est consideree comme legacy et doit etre migree avant validation. + +## Regles SVG fractions + +Les fractions doivent utiliser une structure testable : + +- groupe avec `data-math="fraction"` ; +- boite de controle `data-box="x y width height"` pour chaque fraction ; +- numerateur, barre et denominateur separes sans chevauchement ; +- l'ecart vertical entre le chiffre et la barre ne doit pas depasser environ la moitie de la taille du chiffre. + +Le controle strict est porte par `backend/tools/validate_svg_quality.py --warnings-as-errors`. +Un SVG de fraction qui laisse trop d'air entre numerateur/denominateur et barre doit donc echouer avant validation editoriale. diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/README.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/README.md deleted file mode 100644 index 1a730a3..0000000 --- a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/README.md +++ /dev/null @@ -1,37 +0,0 @@ -# Kit adaptatif - 01 lire et écrire les nombres entiers - -Micro-fiche source : `../01_lecture_ecriture_nombres_entiers.md` - -## Rôle de ce dossier - -Ce dossier sert de prototype pour transformer une micro-fiche de leçon en mini-parcours adaptatif : - -1. un test préalable court ; -2. une lecture des erreurs et des biais fréquents ; -3. une orientation vers des exercices plus adaptés au profil de l'enfant. - -## Structure - -- `00_principe_adaptatif.md` : logique générale du dispositif. -- `lecon/lecon.md` : version de travail de la leçon. -- `test_diagnostic/` : plusieurs fiches de test très courtes. -- `exercices/` : exercices classés par profil pédagogique observable. -- `svg/` : POC visuel pour les tests et les exercices. -- `NOTES_SESSION_2026-04-24.md` : mémo produit pour la prochaine session. - -## Important - -Les profils proposés ici ne sont pas des étiquettes définitives ni des diagnostics. Ce sont des façons d'ajuster l'entrée dans la tâche : - -- plus visuel et spatial ; -- plus verbal et oral ; -- plus imagé et concret ; -- plus règle et structure ; -- plus progressif avec charge réduite. - -## Usage recommandé - -1. Faire passer les tests très rapidement. -2. Noter les réussites, hésitations et types d'erreurs. -3. Choisir un dossier d'exercices dominant. -4. Si besoin, mélanger deux profils proches. diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/exercices/README.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/exercices/README.md deleted file mode 100644 index 43974cf..0000000 --- a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/exercices/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# Exercices par profil pédagogique observable - -Chaque sous-dossier propose une entrée privilégiée dans la même compétence. - -Le contenu ne change pas de niveau : seule la façon d'accéder à la compétence change. - -## Dossiers - -- `01_visuel_structuration` -- `02_verbal_oralisation` -- `03_image_concret` -- `04_regles_et_patterns` -- `05_progressif_charge_reduite` - -## Règle simple - -Commencer par un seul dossier principal. Si l'enfant progresse, revenir ensuite à des exercices plus neutres ou mélangés. diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/svg/README.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/svg/README.md deleted file mode 100644 index 04882f7..0000000 --- a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/svg/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# SVG du kit adaptatif - -Ce dossier contient les visuels du POC pour la première micro-fiche : - -- `tests/questions/` : version élève sans correction ; -- `tests/reponses/` : version corrigée et interprétable ; -- `exercices/profils/` : fiches d'exercices par profil pédagogique observable. - -Chaque SVG reste sans personnage intégré. Le professeur virtuel pourra être ajouté dans l'application. diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/test_diagnostic/README.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/test_diagnostic/README.md deleted file mode 100644 index b77ec06..0000000 --- a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/test_diagnostic/README.md +++ /dev/null @@ -1,23 +0,0 @@ -# Tests diagnostiques - -Ces tests sont volontairement courts. Ils ne servent pas à noter l'enfant mais à repérer : - -- ce qu'il sait déjà faire ; -- où il hésite ; -- quel type d'aide semble le plus efficace. - -## Ordre conseillé - -1. `01_test_lecture_rapide.md` -2. `02_test_ecriture_sous_dictee.md` -3. `03_test_biais_et_strategies.md` - -## Observation utile pendant le test - -Noter aussi : - -- si l'enfant pointe les groupes avec le doigt ; -- s'il lit d'un seul élan ou par morceaux ; -- s'il verbalise une méthode ; -- s'il perd le fil quand il y a trop de texte ; -- s'il réussit mieux avec couleurs, boîtes ou exemples concrets. diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/01_lecture_ecriture_nombres_entiers/card_01.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/01_lecture_ecriture_nombres_entiers/card_01.md new file mode 100644 index 0000000..6621bf5 --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/01_lecture_ecriture_nombres_entiers/card_01.md @@ -0,0 +1,14 @@ +# La méthode + +Contexte de card pour la fiche `01_lecture_ecriture_nombres_entiers`. + +## Intention + +Faire verbaliser le point cle de la zone affichee avant de passer a la suite. + + +## Sources + +- Source principale locale : `Programme/pdf_collecteur/state/synthese_cycle3_cm1_mathematiques.md`. +- Documents officiels de reference : PDF du programme de mathematiques cycle 3 conserves dans `Programme/Cycle 3/Math/`. +- Niveau : cycle 3, CM1, mathematiques, nombres/calcul/resolution, nombres entiers. diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/01_lecture_ecriture_nombres_entiers/card_01.svg b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/01_lecture_ecriture_nombres_entiers/card_01.svg new file mode 100644 index 0000000..4fa7922 --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/01_lecture_ecriture_nombres_entiers/card_01.svg @@ -0,0 +1,77 @@ + + + + + + + Lire les nombres entiers + Maths CM1 - Nombres entiers jusqu'à 999 999 + + + + + La méthode + Je coupe le nombre + en groupes de 3 chiffres. + + + + 345 + 208 + milliers + unités simples + + + + + + Exemple + 345 208 + se lit : + trois-cent-quarante-cinq-mille + deux-cent-huit + + + + + À retenir + Je lis d'abord + les milliers. + Puis je lis + les unités simples. + + + + + Exemples résolus + + + 7 425 + sept-mille-quatre-cent-vingt-cinq + + 38 090 + trente-huit-mille-quatre-vingt-dix + + 506 012 + cinq-cent-six-mille-douze + + + diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/01_lecture_ecriture_nombres_entiers/card_02.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/01_lecture_ecriture_nombres_entiers/card_02.md new file mode 100644 index 0000000..d474352 --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/01_lecture_ecriture_nombres_entiers/card_02.md @@ -0,0 +1,14 @@ +# Exemple + +Contexte de card pour la fiche `01_lecture_ecriture_nombres_entiers`. + +## Intention + +Faire verbaliser le point cle de la zone affichee avant de passer a la suite. + + +## Sources + +- Source principale locale : `Programme/pdf_collecteur/state/synthese_cycle3_cm1_mathematiques.md`. +- Documents officiels de reference : PDF du programme de mathematiques cycle 3 conserves dans `Programme/Cycle 3/Math/`. +- Niveau : cycle 3, CM1, mathematiques, nombres/calcul/resolution, nombres entiers. diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/01_lecture_ecriture_nombres_entiers/card_02.svg b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/01_lecture_ecriture_nombres_entiers/card_02.svg new file mode 100644 index 0000000..e46480c --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/01_lecture_ecriture_nombres_entiers/card_02.svg @@ -0,0 +1,77 @@ + + + + + + + Lire les nombres entiers + Maths CM1 - Nombres entiers jusqu'à 999 999 + + + + + La méthode + Je coupe le nombre + en groupes de 3 chiffres. + + + + 345 + 208 + milliers + unités simples + + + + + + Exemple + 345 208 + se lit : + trois-cent-quarante-cinq-mille + deux-cent-huit + + + + + À retenir + Je lis d'abord + les milliers. + Puis je lis + les unités simples. + + + + + Exemples résolus + + + 7 425 + sept-mille-quatre-cent-vingt-cinq + + 38 090 + trente-huit-mille-quatre-vingt-dix + + 506 012 + cinq-cent-six-mille-douze + + + diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/01_lecture_ecriture_nombres_entiers/card_03.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/01_lecture_ecriture_nombres_entiers/card_03.md new file mode 100644 index 0000000..4cdea25 --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/01_lecture_ecriture_nombres_entiers/card_03.md @@ -0,0 +1,14 @@ +# À retenir + +Contexte de card pour la fiche `01_lecture_ecriture_nombres_entiers`. + +## Intention + +Faire verbaliser le point cle de la zone affichee avant de passer a la suite. + + +## Sources + +- Source principale locale : `Programme/pdf_collecteur/state/synthese_cycle3_cm1_mathematiques.md`. +- Documents officiels de reference : PDF du programme de mathematiques cycle 3 conserves dans `Programme/Cycle 3/Math/`. +- Niveau : cycle 3, CM1, mathematiques, nombres/calcul/resolution, nombres entiers. diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/01_lecture_ecriture_nombres_entiers/card_03.svg b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/01_lecture_ecriture_nombres_entiers/card_03.svg new file mode 100644 index 0000000..aeeaca3 --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/01_lecture_ecriture_nombres_entiers/card_03.svg @@ -0,0 +1,77 @@ + + + + + + + Lire les nombres entiers + Maths CM1 - Nombres entiers jusqu'à 999 999 + + + + + La méthode + Je coupe le nombre + en groupes de 3 chiffres. + + + + 345 + 208 + milliers + unités simples + + + + + + Exemple + 345 208 + se lit : + trois-cent-quarante-cinq-mille + deux-cent-huit + + + + + À retenir + Je lis d'abord + les milliers. + Puis je lis + les unités simples. + + + + + Exemples résolus + + + 7 425 + sept-mille-quatre-cent-vingt-cinq + + 38 090 + trente-huit-mille-quatre-vingt-dix + + 506 012 + cinq-cent-six-mille-douze + + + diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/01_lecture_ecriture_nombres_entiers/card_04.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/01_lecture_ecriture_nombres_entiers/card_04.md new file mode 100644 index 0000000..e92ba72 --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/01_lecture_ecriture_nombres_entiers/card_04.md @@ -0,0 +1,14 @@ +# Exemples résolus + +Contexte de card pour la fiche `01_lecture_ecriture_nombres_entiers`. + +## Intention + +Faire verbaliser le point cle de la zone affichee avant de passer a la suite. + + +## Sources + +- Source principale locale : `Programme/pdf_collecteur/state/synthese_cycle3_cm1_mathematiques.md`. +- Documents officiels de reference : PDF du programme de mathematiques cycle 3 conserves dans `Programme/Cycle 3/Math/`. +- Niveau : cycle 3, CM1, mathematiques, nombres/calcul/resolution, nombres entiers. diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/01_lecture_ecriture_nombres_entiers/card_04.svg b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/01_lecture_ecriture_nombres_entiers/card_04.svg new file mode 100644 index 0000000..8af58e7 --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/01_lecture_ecriture_nombres_entiers/card_04.svg @@ -0,0 +1,77 @@ + + + + + + + Lire les nombres entiers + Maths CM1 - Nombres entiers jusqu'à 999 999 + + + + + La méthode + Je coupe le nombre + en groupes de 3 chiffres. + + + + 345 + 208 + milliers + unités simples + + + + + + Exemple + 345 208 + se lit : + trois-cent-quarante-cinq-mille + deux-cent-huit + + + + + À retenir + Je lis d'abord + les milliers. + Puis je lis + les unités simples. + + + + + Exemples résolus + + + 7 425 + sept-mille-quatre-cent-vingt-cinq + + 38 090 + trente-huit-mille-quatre-vingt-dix + + 506 012 + cinq-cent-six-mille-douze + + + diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/02_valeur_position_chiffres/card_01.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/02_valeur_position_chiffres/card_01.md new file mode 100644 index 0000000..9450924 --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/02_valeur_position_chiffres/card_01.md @@ -0,0 +1,14 @@ +# Idée importante + +Contexte de card pour la fiche `02_valeur_position_chiffres`. + +## Intention + +Faire verbaliser le point cle de la zone affichee avant de passer a la suite. + + +## Sources + +- Source principale locale : `Programme/pdf_collecteur/state/synthese_cycle3_cm1_mathematiques.md`. +- Documents officiels de reference : PDF du programme de mathematiques cycle 3 conserves dans `Programme/Cycle 3/Math/`. +- Niveau : cycle 3, CM1, mathematiques, nombres/calcul/resolution, nombres entiers. diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/02_valeur_position_chiffres/card_01.svg b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/02_valeur_position_chiffres/card_01.svg new file mode 100644 index 0000000..8394cd4 --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/02_valeur_position_chiffres/card_01.svg @@ -0,0 +1,72 @@ + + + + + + + Valeur et position + Maths CM1 - Un chiffre change de valeur selon sa place + + + + + Idée importante + Dans un nombre, une colonne + donne la valeur du chiffre. + Plus on va vers la gauche, + plus la valeur est grande. + + + + + Exemple : 42 642 + 42 642 + + + 4 vaut 40 000 + + 4 vaut 40 + + + + + + Table de position + + + + + + + + c. mille + d. mille + u. mille + centaines + dizaines + unités + 100 000 + 10 000 + 1 000 + 100 + 10 + 1 + + + diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/02_valeur_position_chiffres/card_02.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/02_valeur_position_chiffres/card_02.md new file mode 100644 index 0000000..ea4a7cb --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/02_valeur_position_chiffres/card_02.md @@ -0,0 +1,14 @@ +# Exemple : 42 642 + +Contexte de card pour la fiche `02_valeur_position_chiffres`. + +## Intention + +Faire verbaliser le point cle de la zone affichee avant de passer a la suite. + + +## Sources + +- Source principale locale : `Programme/pdf_collecteur/state/synthese_cycle3_cm1_mathematiques.md`. +- Documents officiels de reference : PDF du programme de mathematiques cycle 3 conserves dans `Programme/Cycle 3/Math/`. +- Niveau : cycle 3, CM1, mathematiques, nombres/calcul/resolution, nombres entiers. diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/02_valeur_position_chiffres/card_02.svg b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/02_valeur_position_chiffres/card_02.svg new file mode 100644 index 0000000..73466c4 --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/02_valeur_position_chiffres/card_02.svg @@ -0,0 +1,72 @@ + + + + + + + Valeur et position + Maths CM1 - Un chiffre change de valeur selon sa place + + + + + Idée importante + Dans un nombre, une colonne + donne la valeur du chiffre. + Plus on va vers la gauche, + plus la valeur est grande. + + + + + Exemple : 42 642 + 42 642 + + + 4 vaut 40 000 + + 4 vaut 40 + + + + + + Table de position + + + + + + + + c. mille + d. mille + u. mille + centaines + dizaines + unités + 100 000 + 10 000 + 1 000 + 100 + 10 + 1 + + + diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/02_valeur_position_chiffres/card_03.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/02_valeur_position_chiffres/card_03.md new file mode 100644 index 0000000..958642c --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/02_valeur_position_chiffres/card_03.md @@ -0,0 +1,14 @@ +# Table de position + +Contexte de card pour la fiche `02_valeur_position_chiffres`. + +## Intention + +Faire verbaliser le point cle de la zone affichee avant de passer a la suite. + + +## Sources + +- Source principale locale : `Programme/pdf_collecteur/state/synthese_cycle3_cm1_mathematiques.md`. +- Documents officiels de reference : PDF du programme de mathematiques cycle 3 conserves dans `Programme/Cycle 3/Math/`. +- Niveau : cycle 3, CM1, mathematiques, nombres/calcul/resolution, nombres entiers. diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/02_valeur_position_chiffres/card_03.svg b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/02_valeur_position_chiffres/card_03.svg new file mode 100644 index 0000000..73bcb28 --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/02_valeur_position_chiffres/card_03.svg @@ -0,0 +1,72 @@ + + + + + + + Valeur et position + Maths CM1 - Un chiffre change de valeur selon sa place + + + + + Idée importante + Dans un nombre, une colonne + donne la valeur du chiffre. + Plus on va vers la gauche, + plus la valeur est grande. + + + + + Exemple : 42 642 + 42 642 + + + 4 vaut 40 000 + + 4 vaut 40 + + + + + + Table de position + + + + + + + + c. mille + d. mille + u. mille + centaines + dizaines + unités + 100 000 + 10 000 + 1 000 + 100 + 10 + 1 + + + diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/03_comparer_nombres_entiers/card_01.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/03_comparer_nombres_entiers/card_01.md new file mode 100644 index 0000000..bd8e3ee --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/03_comparer_nombres_entiers/card_01.md @@ -0,0 +1,14 @@ +# Méthode + +Contexte de card pour la fiche `03_comparer_nombres_entiers`. + +## Intention + +Faire verbaliser le point cle de la zone affichee avant de passer a la suite. + + +## Sources + +- Source principale locale : `Programme/pdf_collecteur/state/synthese_cycle3_cm1_mathematiques.md`. +- Documents officiels de reference : PDF du programme de mathematiques cycle 3 conserves dans `Programme/Cycle 3/Math/`. +- Niveau : cycle 3, CM1, mathematiques, nombres/calcul/resolution, nombres entiers. diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/03_comparer_nombres_entiers/card_01.svg b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/03_comparer_nombres_entiers/card_01.svg new file mode 100644 index 0000000..d1edb89 --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/03_comparer_nombres_entiers/card_01.svg @@ -0,0 +1,69 @@ + + + + + + + Comparer des nombres + Maths CM1 - Utiliser =, < et > + + + + + Méthode + 1. Je compte les chiffres. + 2. Je compare depuis + la gauche. + Le plus grand gagne. + + + + + Exemple + 45 208 + > + 45 180 + 208 est plus grand que 180. + + + + + Signes + + + + + < + = + > + + Je choisis le signe + qui convient. + + + + + Exemples résolus + 8 540 < 12 300 + 12 300 a plus de chiffres. + 45 208 > 45 180 + On compare depuis la gauche. + 306 019 = 306 019 + Les nombres sont identiques. + + diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/03_comparer_nombres_entiers/card_02.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/03_comparer_nombres_entiers/card_02.md new file mode 100644 index 0000000..a8b874c --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/03_comparer_nombres_entiers/card_02.md @@ -0,0 +1,14 @@ +# Exemple + +Contexte de card pour la fiche `03_comparer_nombres_entiers`. + +## Intention + +Faire verbaliser le point cle de la zone affichee avant de passer a la suite. + + +## Sources + +- Source principale locale : `Programme/pdf_collecteur/state/synthese_cycle3_cm1_mathematiques.md`. +- Documents officiels de reference : PDF du programme de mathematiques cycle 3 conserves dans `Programme/Cycle 3/Math/`. +- Niveau : cycle 3, CM1, mathematiques, nombres/calcul/resolution, nombres entiers. diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/03_comparer_nombres_entiers/card_02.svg b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/03_comparer_nombres_entiers/card_02.svg new file mode 100644 index 0000000..14cde1f --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/03_comparer_nombres_entiers/card_02.svg @@ -0,0 +1,69 @@ + + + + + + + Comparer des nombres + Maths CM1 - Utiliser =, < et > + + + + + Méthode + 1. Je compte les chiffres. + 2. Je compare depuis + la gauche. + Le plus grand gagne. + + + + + Exemple + 45 208 + > + 45 180 + 208 est plus grand que 180. + + + + + Signes + + + + + < + = + > + + Je choisis le signe + qui convient. + + + + + Exemples résolus + 8 540 < 12 300 + 12 300 a plus de chiffres. + 45 208 > 45 180 + On compare depuis la gauche. + 306 019 = 306 019 + Les nombres sont identiques. + + diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/03_comparer_nombres_entiers/card_03.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/03_comparer_nombres_entiers/card_03.md new file mode 100644 index 0000000..b6c304a --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/03_comparer_nombres_entiers/card_03.md @@ -0,0 +1,14 @@ +# Signes + +Contexte de card pour la fiche `03_comparer_nombres_entiers`. + +## Intention + +Faire verbaliser le point cle de la zone affichee avant de passer a la suite. + + +## Sources + +- Source principale locale : `Programme/pdf_collecteur/state/synthese_cycle3_cm1_mathematiques.md`. +- Documents officiels de reference : PDF du programme de mathematiques cycle 3 conserves dans `Programme/Cycle 3/Math/`. +- Niveau : cycle 3, CM1, mathematiques, nombres/calcul/resolution, nombres entiers. diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/03_comparer_nombres_entiers/card_03.svg b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/03_comparer_nombres_entiers/card_03.svg new file mode 100644 index 0000000..02a3e34 --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/03_comparer_nombres_entiers/card_03.svg @@ -0,0 +1,69 @@ + + + + + + + Comparer des nombres + Maths CM1 - Utiliser =, < et > + + + + + Méthode + 1. Je compte les chiffres. + 2. Je compare depuis + la gauche. + Le plus grand gagne. + + + + + Exemple + 45 208 + > + 45 180 + 208 est plus grand que 180. + + + + + Signes + + + + + < + = + > + + Je choisis le signe + qui convient. + + + + + Exemples résolus + 8 540 < 12 300 + 12 300 a plus de chiffres. + 45 208 > 45 180 + On compare depuis la gauche. + 306 019 = 306 019 + Les nombres sont identiques. + + diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/03_comparer_nombres_entiers/card_04.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/03_comparer_nombres_entiers/card_04.md new file mode 100644 index 0000000..a3a6f61 --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/03_comparer_nombres_entiers/card_04.md @@ -0,0 +1,14 @@ +# Exemples résolus + +Contexte de card pour la fiche `03_comparer_nombres_entiers`. + +## Intention + +Faire verbaliser le point cle de la zone affichee avant de passer a la suite. + + +## Sources + +- Source principale locale : `Programme/pdf_collecteur/state/synthese_cycle3_cm1_mathematiques.md`. +- Documents officiels de reference : PDF du programme de mathematiques cycle 3 conserves dans `Programme/Cycle 3/Math/`. +- Niveau : cycle 3, CM1, mathematiques, nombres/calcul/resolution, nombres entiers. diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/03_comparer_nombres_entiers/card_04.svg b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/03_comparer_nombres_entiers/card_04.svg new file mode 100644 index 0000000..28293c6 --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/03_comparer_nombres_entiers/card_04.svg @@ -0,0 +1,69 @@ + + + + + + + Comparer des nombres + Maths CM1 - Utiliser =, < et > + + + + + Méthode + 1. Je compte les chiffres. + 2. Je compare depuis + la gauche. + Le plus grand gagne. + + + + + Exemple + 45 208 + > + 45 180 + 208 est plus grand que 180. + + + + + Signes + + + + + < + = + > + + Je choisis le signe + qui convient. + + + + + Exemples résolus + 8 540 < 12 300 + 12 300 a plus de chiffres. + 45 208 > 45 180 + On compare depuis la gauche. + 306 019 = 306 019 + Les nombres sont identiques. + + diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/04_encadrer_intercaler_nombres_entiers/card_01.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/04_encadrer_intercaler_nombres_entiers/card_01.md new file mode 100644 index 0000000..51d5b48 --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/04_encadrer_intercaler_nombres_entiers/card_01.md @@ -0,0 +1,14 @@ +# Encadrer + +Contexte de card pour la fiche `04_encadrer_intercaler_nombres_entiers`. + +## Intention + +Faire verbaliser le point cle de la zone affichee avant de passer a la suite. + + +## Sources + +- Source principale locale : `Programme/pdf_collecteur/state/synthese_cycle3_cm1_mathematiques.md`. +- Documents officiels de reference : PDF du programme de mathematiques cycle 3 conserves dans `Programme/Cycle 3/Math/`. +- Niveau : cycle 3, CM1, mathematiques, nombres/calcul/resolution, nombres entiers. diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/04_encadrer_intercaler_nombres_entiers/card_01.svg b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/04_encadrer_intercaler_nombres_entiers/card_01.svg new file mode 100644 index 0000000..8121124 --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/04_encadrer_intercaler_nombres_entiers/card_01.svg @@ -0,0 +1,81 @@ + + + + + + + Encadrer et intercaler + Maths CM1 - Trouver entre quels nombres on se place + + + + + Encadrer + C'est placer un nombre + entre deux bornes. + 3 000 < 3 245 < 4 000 + + + + + Intercaler + C'est trouver un nombre + entre deux autres. + 5 200 < 5 250 < 5 300 + + + + + Je peux encadrer + + + au millier + + à la centaine + + à la dizaine + + + + + + Exemple sur une ligne + + + + + + + + + + + + + + + 6 000 + 6 500 + 6 700 + 7 000 + + + diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/04_encadrer_intercaler_nombres_entiers/card_02.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/04_encadrer_intercaler_nombres_entiers/card_02.md new file mode 100644 index 0000000..d97b65c --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/04_encadrer_intercaler_nombres_entiers/card_02.md @@ -0,0 +1,14 @@ +# Intercaler + +Contexte de card pour la fiche `04_encadrer_intercaler_nombres_entiers`. + +## Intention + +Faire verbaliser le point cle de la zone affichee avant de passer a la suite. + + +## Sources + +- Source principale locale : `Programme/pdf_collecteur/state/synthese_cycle3_cm1_mathematiques.md`. +- Documents officiels de reference : PDF du programme de mathematiques cycle 3 conserves dans `Programme/Cycle 3/Math/`. +- Niveau : cycle 3, CM1, mathematiques, nombres/calcul/resolution, nombres entiers. diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/04_encadrer_intercaler_nombres_entiers/card_02.svg b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/04_encadrer_intercaler_nombres_entiers/card_02.svg new file mode 100644 index 0000000..fa26b65 --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/04_encadrer_intercaler_nombres_entiers/card_02.svg @@ -0,0 +1,81 @@ + + + + + + + Encadrer et intercaler + Maths CM1 - Trouver entre quels nombres on se place + + + + + Encadrer + C'est placer un nombre + entre deux bornes. + 3 000 < 3 245 < 4 000 + + + + + Intercaler + C'est trouver un nombre + entre deux autres. + 5 200 < 5 250 < 5 300 + + + + + Je peux encadrer + + + au millier + + à la centaine + + à la dizaine + + + + + + Exemple sur une ligne + + + + + + + + + + + + + + + 6 000 + 6 500 + 6 700 + 7 000 + + + diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/04_encadrer_intercaler_nombres_entiers/card_03.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/04_encadrer_intercaler_nombres_entiers/card_03.md new file mode 100644 index 0000000..75d0141 --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/04_encadrer_intercaler_nombres_entiers/card_03.md @@ -0,0 +1,14 @@ +# Je peux encadrer + +Contexte de card pour la fiche `04_encadrer_intercaler_nombres_entiers`. + +## Intention + +Faire verbaliser le point cle de la zone affichee avant de passer a la suite. + + +## Sources + +- Source principale locale : `Programme/pdf_collecteur/state/synthese_cycle3_cm1_mathematiques.md`. +- Documents officiels de reference : PDF du programme de mathematiques cycle 3 conserves dans `Programme/Cycle 3/Math/`. +- Niveau : cycle 3, CM1, mathematiques, nombres/calcul/resolution, nombres entiers. diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/04_encadrer_intercaler_nombres_entiers/card_03.svg b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/04_encadrer_intercaler_nombres_entiers/card_03.svg new file mode 100644 index 0000000..b0a2883 --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/04_encadrer_intercaler_nombres_entiers/card_03.svg @@ -0,0 +1,81 @@ + + + + + + + Encadrer et intercaler + Maths CM1 - Trouver entre quels nombres on se place + + + + + Encadrer + C'est placer un nombre + entre deux bornes. + 3 000 < 3 245 < 4 000 + + + + + Intercaler + C'est trouver un nombre + entre deux autres. + 5 200 < 5 250 < 5 300 + + + + + Je peux encadrer + + + au millier + + à la centaine + + à la dizaine + + + + + + Exemple sur une ligne + + + + + + + + + + + + + + + 6 000 + 6 500 + 6 700 + 7 000 + + + diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/04_encadrer_intercaler_nombres_entiers/card_04.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/04_encadrer_intercaler_nombres_entiers/card_04.md new file mode 100644 index 0000000..ae46e41 --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/04_encadrer_intercaler_nombres_entiers/card_04.md @@ -0,0 +1,14 @@ +# Exemple sur une ligne + +Contexte de card pour la fiche `04_encadrer_intercaler_nombres_entiers`. + +## Intention + +Faire verbaliser le point cle de la zone affichee avant de passer a la suite. + + +## Sources + +- Source principale locale : `Programme/pdf_collecteur/state/synthese_cycle3_cm1_mathematiques.md`. +- Documents officiels de reference : PDF du programme de mathematiques cycle 3 conserves dans `Programme/Cycle 3/Math/`. +- Niveau : cycle 3, CM1, mathematiques, nombres/calcul/resolution, nombres entiers. diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/04_encadrer_intercaler_nombres_entiers/card_04.svg b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/04_encadrer_intercaler_nombres_entiers/card_04.svg new file mode 100644 index 0000000..b85d52f --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/04_encadrer_intercaler_nombres_entiers/card_04.svg @@ -0,0 +1,81 @@ + + + + + + + Encadrer et intercaler + Maths CM1 - Trouver entre quels nombres on se place + + + + + Encadrer + C'est placer un nombre + entre deux bornes. + 3 000 < 3 245 < 4 000 + + + + + Intercaler + C'est trouver un nombre + entre deux autres. + 5 200 < 5 250 < 5 300 + + + + + Je peux encadrer + + + au millier + + à la centaine + + à la dizaine + + + + + + Exemple sur une ligne + + + + + + + + + + + + + + + 6 000 + 6 500 + 6 700 + 7 000 + + + diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/05_ordonner_nombres_entiers/card_01.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/05_ordonner_nombres_entiers/card_01.md new file mode 100644 index 0000000..93c0bbe --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/05_ordonner_nombres_entiers/card_01.md @@ -0,0 +1,14 @@ +# Vocabulaire + +Contexte de card pour la fiche `05_ordonner_nombres_entiers`. + +## Intention + +Faire verbaliser le point cle de la zone affichee avant de passer a la suite. + + +## Sources + +- Source principale locale : `Programme/pdf_collecteur/state/synthese_cycle3_cm1_mathematiques.md`. +- Documents officiels de reference : PDF du programme de mathematiques cycle 3 conserves dans `Programme/Cycle 3/Math/`. +- Niveau : cycle 3, CM1, mathematiques, nombres/calcul/resolution, nombres entiers. diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/05_ordonner_nombres_entiers/card_01.svg b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/05_ordonner_nombres_entiers/card_01.svg new file mode 100644 index 0000000..072c1ea --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/05_ordonner_nombres_entiers/card_01.svg @@ -0,0 +1,71 @@ + + + + + + + Ordonner des nombres + Maths CM1 - Ranger du plus petit au plus grand + + + + + Vocabulaire + + + Ordre croissant + du petit au grand + + Ordre décroissant + du grand au petit + + + + + + Nombres à ranger + + + + + + 8 420 + 8 024 + 12 000 + 7 999 + + + + + + Ordre croissant + + + + + + + 7 999 + 8 024 + 8 420 + 12 000 + + + diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/05_ordonner_nombres_entiers/card_02.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/05_ordonner_nombres_entiers/card_02.md new file mode 100644 index 0000000..c2e5a2a --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/05_ordonner_nombres_entiers/card_02.md @@ -0,0 +1,14 @@ +# Nombres à ranger + +Contexte de card pour la fiche `05_ordonner_nombres_entiers`. + +## Intention + +Faire verbaliser le point cle de la zone affichee avant de passer a la suite. + + +## Sources + +- Source principale locale : `Programme/pdf_collecteur/state/synthese_cycle3_cm1_mathematiques.md`. +- Documents officiels de reference : PDF du programme de mathematiques cycle 3 conserves dans `Programme/Cycle 3/Math/`. +- Niveau : cycle 3, CM1, mathematiques, nombres/calcul/resolution, nombres entiers. diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/05_ordonner_nombres_entiers/card_02.svg b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/05_ordonner_nombres_entiers/card_02.svg new file mode 100644 index 0000000..60b6b3f --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/05_ordonner_nombres_entiers/card_02.svg @@ -0,0 +1,71 @@ + + + + + + + Ordonner des nombres + Maths CM1 - Ranger du plus petit au plus grand + + + + + Vocabulaire + + + Ordre croissant + du petit au grand + + Ordre décroissant + du grand au petit + + + + + + Nombres à ranger + + + + + + 8 420 + 8 024 + 12 000 + 7 999 + + + + + + Ordre croissant + + + + + + + 7 999 + 8 024 + 8 420 + 12 000 + + + diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/05_ordonner_nombres_entiers/card_03.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/05_ordonner_nombres_entiers/card_03.md new file mode 100644 index 0000000..e4bda60 --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/05_ordonner_nombres_entiers/card_03.md @@ -0,0 +1,14 @@ +# Ordre croissant + +Contexte de card pour la fiche `05_ordonner_nombres_entiers`. + +## Intention + +Faire verbaliser le point cle de la zone affichee avant de passer a la suite. + + +## Sources + +- Source principale locale : `Programme/pdf_collecteur/state/synthese_cycle3_cm1_mathematiques.md`. +- Documents officiels de reference : PDF du programme de mathematiques cycle 3 conserves dans `Programme/Cycle 3/Math/`. +- Niveau : cycle 3, CM1, mathematiques, nombres/calcul/resolution, nombres entiers. diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/05_ordonner_nombres_entiers/card_03.svg b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/05_ordonner_nombres_entiers/card_03.svg new file mode 100644 index 0000000..d7bc8ff --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/05_ordonner_nombres_entiers/card_03.svg @@ -0,0 +1,71 @@ + + + + + + + Ordonner des nombres + Maths CM1 - Ranger du plus petit au plus grand + + + + + Vocabulaire + + + Ordre croissant + du petit au grand + + Ordre décroissant + du grand au petit + + + + + + Nombres à ranger + + + + + + 8 420 + 8 024 + 12 000 + 7 999 + + + + + + Ordre croissant + + + + + + + 7 999 + 8 024 + 8 420 + 12 000 + + + diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/06_placer_demi_droite_graduee/card_01.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/06_placer_demi_droite_graduee/card_01.md new file mode 100644 index 0000000..ad8a57a --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/06_placer_demi_droite_graduee/card_01.md @@ -0,0 +1,14 @@ +# Méthode + +Contexte de card pour la fiche `06_placer_demi_droite_graduee`. + +## Intention + +Faire verbaliser le point cle de la zone affichee avant de passer a la suite. + + +## Sources + +- Source principale locale : `Programme/pdf_collecteur/state/synthese_cycle3_cm1_mathematiques.md`. +- Documents officiels de reference : PDF du programme de mathematiques cycle 3 conserves dans `Programme/Cycle 3/Math/`. +- Niveau : cycle 3, CM1, mathematiques, nombres/calcul/resolution, nombres entiers. diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/06_placer_demi_droite_graduee/card_01.svg b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/06_placer_demi_droite_graduee/card_01.svg new file mode 100644 index 0000000..a0bc950 --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/06_placer_demi_droite_graduee/card_01.svg @@ -0,0 +1,66 @@ + + + + + + + Demi-droite graduée + Maths CM1 - Placer un nombre entier + + + + + Méthode + 1. Je lis les nombres. + 2. Je trouve le pas. + 3. Je compte les + graduations. + + + + + Exemple : le pas est 100 + + + + + + + + + + 1 000 + 1 100 + 1 200 + 1 300 + 1 400 + 1 500 + + + + + + À retenir + Les nombres augmentent quand on va vers la droite. + Les étiquettes restent sous la ligne, bien espacées. + + Ici, chaque graduation + vaut 100. + + diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/06_placer_demi_droite_graduee/card_02.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/06_placer_demi_droite_graduee/card_02.md new file mode 100644 index 0000000..b0cd079 --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/06_placer_demi_droite_graduee/card_02.md @@ -0,0 +1,14 @@ +# Exemple : le pas est 100 + +Contexte de card pour la fiche `06_placer_demi_droite_graduee`. + +## Intention + +Faire verbaliser le point cle de la zone affichee avant de passer a la suite. + + +## Sources + +- Source principale locale : `Programme/pdf_collecteur/state/synthese_cycle3_cm1_mathematiques.md`. +- Documents officiels de reference : PDF du programme de mathematiques cycle 3 conserves dans `Programme/Cycle 3/Math/`. +- Niveau : cycle 3, CM1, mathematiques, nombres/calcul/resolution, nombres entiers. diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/06_placer_demi_droite_graduee/card_02.svg b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/06_placer_demi_droite_graduee/card_02.svg new file mode 100644 index 0000000..d1250e1 --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/06_placer_demi_droite_graduee/card_02.svg @@ -0,0 +1,66 @@ + + + + + + + Demi-droite graduée + Maths CM1 - Placer un nombre entier + + + + + Méthode + 1. Je lis les nombres. + 2. Je trouve le pas. + 3. Je compte les + graduations. + + + + + Exemple : le pas est 100 + + + + + + + + + + 1 000 + 1 100 + 1 200 + 1 300 + 1 400 + 1 500 + + + + + + À retenir + Les nombres augmentent quand on va vers la droite. + Les étiquettes restent sous la ligne, bien espacées. + + Ici, chaque graduation + vaut 100. + + diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/06_placer_demi_droite_graduee/card_03.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/06_placer_demi_droite_graduee/card_03.md new file mode 100644 index 0000000..1099b7b --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/06_placer_demi_droite_graduee/card_03.md @@ -0,0 +1,14 @@ +# À retenir + +Contexte de card pour la fiche `06_placer_demi_droite_graduee`. + +## Intention + +Faire verbaliser le point cle de la zone affichee avant de passer a la suite. + + +## Sources + +- Source principale locale : `Programme/pdf_collecteur/state/synthese_cycle3_cm1_mathematiques.md`. +- Documents officiels de reference : PDF du programme de mathematiques cycle 3 conserves dans `Programme/Cycle 3/Math/`. +- Niveau : cycle 3, CM1, mathematiques, nombres/calcul/resolution, nombres entiers. diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/06_placer_demi_droite_graduee/card_03.svg b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/06_placer_demi_droite_graduee/card_03.svg new file mode 100644 index 0000000..6023287 --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/06_placer_demi_droite_graduee/card_03.svg @@ -0,0 +1,66 @@ + + + + + + + Demi-droite graduée + Maths CM1 - Placer un nombre entier + + + + + Méthode + 1. Je lis les nombres. + 2. Je trouve le pas. + 3. Je compte les + graduations. + + + + + Exemple : le pas est 100 + + + + + + + + + + 1 000 + 1 100 + 1 200 + 1 300 + 1 400 + 1 500 + + + + + + À retenir + Les nombres augmentent quand on va vers la droite. + Les étiquettes restent sous la ligne, bien espacées. + + Ici, chaque graduation + vaut 100. + + diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/07_multiples_divisibilite_2_5_10/card_01.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/07_multiples_divisibilite_2_5_10/card_01.md new file mode 100644 index 0000000..4051504 --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/07_multiples_divisibilite_2_5_10/card_01.md @@ -0,0 +1,14 @@ +# À retenir + +Contexte de card pour la fiche `07_multiples_divisibilite_2_5_10`. + +## Intention + +Faire verbaliser le point cle de la zone affichee avant de passer a la suite. + + +## Sources + +- Source principale locale : `Programme/pdf_collecteur/state/synthese_cycle3_cm1_mathematiques.md`. +- Documents officiels de reference : PDF du programme de mathematiques cycle 3 conserves dans `Programme/Cycle 3/Math/`. +- Niveau : cycle 3, CM1, mathematiques, nombres/calcul/resolution, nombres entiers. diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/07_multiples_divisibilite_2_5_10/card_01.svg b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/07_multiples_divisibilite_2_5_10/card_01.svg new file mode 100644 index 0000000..d8c0b4e --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/07_multiples_divisibilite_2_5_10/card_01.svg @@ -0,0 +1,68 @@ + + + + + + + Multiples de 2, 5 et 10 + Maths CM1 - Observer le dernier chiffre + + + + + À retenir + Pour 2, 5 et 10, + je regarde surtout + le dernier chiffre. + C'est un raccourci fiable. + + + + + Les trois règles + + + 2 + 0, 2, 4, 6, 8 + + 5 + 0 ou 5 + + 10 + 0 + + + + + + Exemples résolus + + + 340 + multiple de 2, de 5 et de 10 + + 125 + multiple de 5 seulement + + 678 + multiple de 2 seulement + + + diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/07_multiples_divisibilite_2_5_10/card_02.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/07_multiples_divisibilite_2_5_10/card_02.md new file mode 100644 index 0000000..9606d7b --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/07_multiples_divisibilite_2_5_10/card_02.md @@ -0,0 +1,14 @@ +# Les trois règles + +Contexte de card pour la fiche `07_multiples_divisibilite_2_5_10`. + +## Intention + +Faire verbaliser le point cle de la zone affichee avant de passer a la suite. + + +## Sources + +- Source principale locale : `Programme/pdf_collecteur/state/synthese_cycle3_cm1_mathematiques.md`. +- Documents officiels de reference : PDF du programme de mathematiques cycle 3 conserves dans `Programme/Cycle 3/Math/`. +- Niveau : cycle 3, CM1, mathematiques, nombres/calcul/resolution, nombres entiers. diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/07_multiples_divisibilite_2_5_10/card_02.svg b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/07_multiples_divisibilite_2_5_10/card_02.svg new file mode 100644 index 0000000..b8e62b6 --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/07_multiples_divisibilite_2_5_10/card_02.svg @@ -0,0 +1,68 @@ + + + + + + + Multiples de 2, 5 et 10 + Maths CM1 - Observer le dernier chiffre + + + + + À retenir + Pour 2, 5 et 10, + je regarde surtout + le dernier chiffre. + C'est un raccourci fiable. + + + + + Les trois règles + + + 2 + 0, 2, 4, 6, 8 + + 5 + 0 ou 5 + + 10 + 0 + + + + + + Exemples résolus + + + 340 + multiple de 2, de 5 et de 10 + + 125 + multiple de 5 seulement + + 678 + multiple de 2 seulement + + + diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/07_multiples_divisibilite_2_5_10/card_03.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/07_multiples_divisibilite_2_5_10/card_03.md new file mode 100644 index 0000000..baa7b9c --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/07_multiples_divisibilite_2_5_10/card_03.md @@ -0,0 +1,14 @@ +# Exemples résolus + +Contexte de card pour la fiche `07_multiples_divisibilite_2_5_10`. + +## Intention + +Faire verbaliser le point cle de la zone affichee avant de passer a la suite. + + +## Sources + +- Source principale locale : `Programme/pdf_collecteur/state/synthese_cycle3_cm1_mathematiques.md`. +- Documents officiels de reference : PDF du programme de mathematiques cycle 3 conserves dans `Programme/Cycle 3/Math/`. +- Niveau : cycle 3, CM1, mathematiques, nombres/calcul/resolution, nombres entiers. diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/07_multiples_divisibilite_2_5_10/card_03.svg b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/07_multiples_divisibilite_2_5_10/card_03.svg new file mode 100644 index 0000000..0c0e068 --- /dev/null +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/cards/07_multiples_divisibilite_2_5_10/card_03.svg @@ -0,0 +1,68 @@ + + + + + + + Multiples de 2, 5 et 10 + Maths CM1 - Observer le dernier chiffre + + + + + À retenir + Pour 2, 5 et 10, + je regarde surtout + le dernier chiffre. + C'est un raccourci fiable. + + + + + Les trois règles + + + 2 + 0, 2, 4, 6, 8 + + 5 + 0 ou 5 + + 10 + 0 + + + + + + Exemples résolus + + + 340 + multiple de 2, de 5 et de 10 + + 125 + multiple de 5 seulement + + 678 + multiple de 2 seulement + + + diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/exercices/01_visuel_structuration/exercices.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/exercices/parcours_adaptes/01_visuel_structuration/exercices.md similarity index 74% rename from Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/exercices/01_visuel_structuration/exercices.md rename to Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/exercices/parcours_adaptes/01_visuel_structuration/exercices.md index 80afecb..c2c452b 100644 --- a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/exercices/01_visuel_structuration/exercices.md +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/exercices/parcours_adaptes/01_visuel_structuration/exercices.md @@ -52,3 +52,10 @@ Choix : - l'enfant réussit mieux quand on sépare visuellement ; - l'enfant oublie les classes sans repere graphique. + +## Sources + +- Source principale locale : `Programme/pdf_collecteur/state/synthese_cycle3_cm1_mathematiques.md`. +- Documents officiels de reference : PDF du programme de mathematiques cycle 3 conserves dans `Programme/Cycle 3/Math/`. +- Niveau : cycle 3, CM1, mathematiques, nombres/calcul/resolution, nombres entiers. + diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/svg/exercices/profils/01_visuel_structuration.svg b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/exercices/parcours_adaptes/01_visuel_structuration/exercices.svg similarity index 100% rename from Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/svg/exercices/profils/01_visuel_structuration.svg rename to Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/exercices/parcours_adaptes/01_visuel_structuration/exercices.svg diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/exercices/02_verbal_oralisation/exercices.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/exercices/parcours_adaptes/02_verbal_oralisation/exercices.md similarity index 73% rename from Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/exercices/02_verbal_oralisation/exercices.md rename to Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/exercices/parcours_adaptes/02_verbal_oralisation/exercices.md index d6287fd..b465821 100644 --- a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/exercices/02_verbal_oralisation/exercices.md +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/exercices/parcours_adaptes/02_verbal_oralisation/exercices.md @@ -48,3 +48,10 @@ Dire la bonne réponse et expliquer pourquoi. - l'enfant pense mieux en parlant ; - l'enfant se corrige quand il s'entend. + +## Sources + +- Source principale locale : `Programme/pdf_collecteur/state/synthese_cycle3_cm1_mathematiques.md`. +- Documents officiels de reference : PDF du programme de mathematiques cycle 3 conserves dans `Programme/Cycle 3/Math/`. +- Niveau : cycle 3, CM1, mathematiques, nombres/calcul/resolution, nombres entiers. + diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/svg/exercices/profils/02_verbal_oralisation.svg b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/exercices/parcours_adaptes/02_verbal_oralisation/exercices.svg similarity index 100% rename from Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/svg/exercices/profils/02_verbal_oralisation.svg rename to Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/exercices/parcours_adaptes/02_verbal_oralisation/exercices.svg diff --git a/backend/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/exercices/03_image_concret/exercices.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/exercices/parcours_adaptes/03_image_concret/exercices.md similarity index 75% rename from backend/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/exercices/03_image_concret/exercices.md rename to Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/exercices/parcours_adaptes/03_image_concret/exercices.md index 3a926b1..18f4fd9 100644 --- a/backend/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/exercices/03_image_concret/exercices.md +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/exercices/parcours_adaptes/03_image_concret/exercices.md @@ -46,3 +46,10 @@ Choisis la bonne pancarte pour : - l'enfant entre mieux dans la tâche avec une petite scène ; - l'abstraction pure le bloque trop vite. + +## Sources + +- Source principale locale : `Programme/pdf_collecteur/state/synthese_cycle3_cm1_mathematiques.md`. +- Documents officiels de reference : PDF du programme de mathematiques cycle 3 conserves dans `Programme/Cycle 3/Math/`. +- Niveau : cycle 3, CM1, mathematiques, nombres/calcul/resolution, nombres entiers. + diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/svg/exercices/profils/03_image_concret.svg b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/exercices/parcours_adaptes/03_image_concret/exercices.svg similarity index 100% rename from Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/svg/exercices/profils/03_image_concret.svg rename to Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/exercices/parcours_adaptes/03_image_concret/exercices.svg diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/exercices/04_regles_et_patterns/exercices.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/exercices/parcours_adaptes/04_regles_et_patterns/exercices.md similarity index 74% rename from Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/exercices/04_regles_et_patterns/exercices.md rename to Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/exercices/parcours_adaptes/04_regles_et_patterns/exercices.md index cd42d78..1c96409 100644 --- a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/exercices/04_regles_et_patterns/exercices.md +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/exercices/parcours_adaptes/04_regles_et_patterns/exercices.md @@ -42,3 +42,10 @@ Reprends la procédure en `4` étapes pour corriger. - l'enfant cherche une méthode fixe ; - il réussit mieux quand on explicite les invariants. + +## Sources + +- Source principale locale : `Programme/pdf_collecteur/state/synthese_cycle3_cm1_mathematiques.md`. +- Documents officiels de reference : PDF du programme de mathematiques cycle 3 conserves dans `Programme/Cycle 3/Math/`. +- Niveau : cycle 3, CM1, mathematiques, nombres/calcul/resolution, nombres entiers. + diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/svg/exercices/profils/04_regles_et_patterns.svg b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/exercices/parcours_adaptes/04_regles_et_patterns/exercices.svg similarity index 90% rename from Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/svg/exercices/profils/04_regles_et_patterns.svg rename to Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/exercices/parcours_adaptes/04_regles_et_patterns/exercices.svg index c63e319..88032fb 100644 --- a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/svg/exercices/profils/04_regles_et_patterns.svg +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/exercices/parcours_adaptes/04_regles_et_patterns/exercices.svg @@ -1,4 +1,4 @@ - + - Exercices - profil règles et patterns + Exercices - profil regles et patterns Appliquer une procedure stable et observer des regularites - Règle rappel + Regle rappel Je coupe en classes de trois chiffres en partant de la droite. @@ -50,7 +50,7 @@ Reprends la lecture en 4 etapes : 1. je coupe 2. je lis les milliers - 3. je lis les unités + 3. je lis les unites 4. je verifie diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/exercices/05_progressif_charge_reduite/exercices.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/exercices/parcours_adaptes/05_progressif_charge_reduite/exercices.md similarity index 71% rename from Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/exercices/05_progressif_charge_reduite/exercices.md rename to Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/exercices/parcours_adaptes/05_progressif_charge_reduite/exercices.md index 2022ec9..ab2c625 100644 --- a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/exercices/05_progressif_charge_reduite/exercices.md +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/exercices/parcours_adaptes/05_progressif_charge_reduite/exercices.md @@ -41,3 +41,10 @@ Coche si la lecture est correcte : - l'enfant sait faire sur petit format ; - il se trompe dès que la feuille devient trop chargée ; - il a besoin d'une progression très lisible. + +## Sources + +- Source principale locale : `Programme/pdf_collecteur/state/synthese_cycle3_cm1_mathematiques.md`. +- Documents officiels de reference : PDF du programme de mathematiques cycle 3 conserves dans `Programme/Cycle 3/Math/`. +- Niveau : cycle 3, CM1, mathematiques, nombres/calcul/resolution, nombres entiers. + diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/svg/exercices/profils/05_progressif_charge_reduite.svg b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/exercices/parcours_adaptes/05_progressif_charge_reduite/exercices.svg similarity index 100% rename from Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/svg/exercices/profils/05_progressif_charge_reduite.svg rename to Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/exercices/parcours_adaptes/05_progressif_charge_reduite/exercices.svg diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/fiches/01_lecture_ecriture_nombres_entiers/fiche.md similarity index 77% rename from Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers.md rename to Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/fiches/01_lecture_ecriture_nombres_entiers/fiche.md index 934d891..9d61b0d 100644 --- a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers.md +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/fiches/01_lecture_ecriture_nombres_entiers/fiche.md @@ -38,3 +38,10 @@ Masquer une partie de la lecture : - `248 031` se lit `deux-cent-quarante-huit-mille-...` - ou proposer trois lectures et demander la bonne. + +## Sources + +- Source principale locale : `Programme/pdf_collecteur/state/synthese_cycle3_cm1_mathematiques.md`. +- Documents officiels de reference : PDF du programme de mathematiques cycle 3 conserves dans `Programme/Cycle 3/Math/`. +- Niveau : cycle 3, CM1, mathematiques, nombres/calcul/resolution, nombres entiers. + diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/svg/01_lecture_ecriture_nombres_entiers.svg b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/fiches/01_lecture_ecriture_nombres_entiers/fiche.svg similarity index 100% rename from Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/svg/01_lecture_ecriture_nombres_entiers.svg rename to Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/fiches/01_lecture_ecriture_nombres_entiers/fiche.svg diff --git a/backend/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/02_valeur_position_chiffres.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/fiches/02_valeur_position_chiffres/fiche.md similarity index 76% rename from backend/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/02_valeur_position_chiffres.md rename to Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/fiches/02_valeur_position_chiffres/fiche.md index 636f91a..a5a3520 100644 --- a/backend/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/02_valeur_position_chiffres.md +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/fiches/02_valeur_position_chiffres/fiche.md @@ -39,3 +39,10 @@ Demander : - Dans `73 482`, quelle est la valeur du chiffre `7` ? - Dans `73 482`, quelle est la valeur du chiffre `4` ? + +## Sources + +- Source principale locale : `Programme/pdf_collecteur/state/synthese_cycle3_cm1_mathematiques.md`. +- Documents officiels de reference : PDF du programme de mathematiques cycle 3 conserves dans `Programme/Cycle 3/Math/`. +- Niveau : cycle 3, CM1, mathematiques, nombres/calcul/resolution, nombres entiers. + diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/svg/02_valeur_position_chiffres.svg b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/fiches/02_valeur_position_chiffres/fiche.svg similarity index 100% rename from Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/svg/02_valeur_position_chiffres.svg rename to Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/fiches/02_valeur_position_chiffres/fiche.svg diff --git a/backend/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/03_comparer_nombres_entiers.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/fiches/03_comparer_nombres_entiers/fiche.md similarity index 73% rename from backend/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/03_comparer_nombres_entiers.md rename to Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/fiches/03_comparer_nombres_entiers/fiche.md index 2afdfb7..47d3ec5 100644 --- a/backend/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/03_comparer_nombres_entiers.md +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/fiches/03_comparer_nombres_entiers/fiche.md @@ -31,3 +31,10 @@ Deux cartes de nombres face a face, avec un grand signe au centre. Remplacer le signe par une case vide : `45 208 __ 45 180` + +## Sources + +- Source principale locale : `Programme/pdf_collecteur/state/synthese_cycle3_cm1_mathematiques.md`. +- Documents officiels de reference : PDF du programme de mathematiques cycle 3 conserves dans `Programme/Cycle 3/Math/`. +- Niveau : cycle 3, CM1, mathematiques, nombres/calcul/resolution, nombres entiers. + diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/svg/03_comparer_nombres_entiers.svg b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/fiches/03_comparer_nombres_entiers/fiche.svg similarity index 100% rename from Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/svg/03_comparer_nombres_entiers.svg rename to Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/fiches/03_comparer_nombres_entiers/fiche.svg diff --git a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/04_encadrer_intercaler_nombres_entiers.md b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/fiches/04_encadrer_intercaler_nombres_entiers/fiche.md similarity index 74% rename from Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/04_encadrer_intercaler_nombres_entiers.md rename to Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/fiches/04_encadrer_intercaler_nombres_entiers/fiche.md index f58e231..ab4ab13 100644 --- a/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/04_encadrer_intercaler_nombres_entiers.md +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/fiches/04_encadrer_intercaler_nombres_entiers/fiche.md @@ -37,3 +37,10 @@ Une ligne avec deux bornes visibles et le nombre place entre les deux. ## Variante exercice plus tard Garder les bornes, cacher le nombre intercale, ou inversement. + +## Sources + +- Source principale locale : `Programme/pdf_collecteur/state/synthese_cycle3_cm1_mathematiques.md`. +- Documents officiels de reference : PDF du programme de mathematiques cycle 3 conserves dans `Programme/Cycle 3/Math/`. +- Niveau : cycle 3, CM1, mathematiques, nombres/calcul/resolution, nombres entiers. + diff --git a/backend/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/svg/04_encadrer_intercaler_nombres_entiers.svg b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/fiches/04_encadrer_intercaler_nombres_entiers/fiche.svg similarity index 96% rename from backend/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/svg/04_encadrer_intercaler_nombres_entiers.svg rename to Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/fiches/04_encadrer_intercaler_nombres_entiers/fiche.svg index 3cb4485..dd71b70 100644 --- a/backend/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/svg/04_encadrer_intercaler_nombres_entiers.svg +++ b/Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/fiches/04_encadrer_intercaler_nombres_entiers/fiche.svg @@ -1,4 +1,4 @@ - + .*?)(?P)', + re.DOTALL, +) +TEXT_RE = re.compile(r"(]*\by=\")[-0-9.]+(\"[^>]*>)") +LINE_Y_RE = re.compile(r"]*\by1=\"(?P[-0-9.]+)\"[^>]*\by2=\"(?P[-0-9.]+)\"") + + +def parse_class_font_sizes(svg: str) -> dict[str, float]: + sizes: dict[str, float] = {} + for class_name, style in STYLE_RE.findall(svg): + match = FONT_RE.search(style) + if match: + sizes[class_name] = float(match.group(1)) + return sizes + + +def group_font_size(body: str, class_sizes: dict[str, float]) -> float: + class_match = re.search(r']*class="([^"]+)"', body) + if class_match: + for class_name in class_match.group(1).split(): + if class_name in class_sizes: + return class_sizes[class_name] + direct = re.search(r']*font-size="([0-9.]+)"', body) + if direct: + return float(direct.group(1)) + return 36.0 + + +def compact_group(match: re.Match[str], class_sizes: dict[str, float]) -> str: + body = match.group("body") + line_match = LINE_Y_RE.search(body) + if not line_match: + return match.group(0) + + bar_y = (float(line_match.group("y1")) + float(line_match.group("y2"))) / 2 + size = group_font_size(body, class_sizes) + numerator_y = bar_y - min(max(8.0, size * 0.38), size * 0.50) + denominator_y = bar_y + min(max(10.0, size * 0.48), size * 0.55) + + replacements = [f"{numerator_y:g}", f"{denominator_y:g}"] + + def replace_text_y(text_match: re.Match[str]) -> str: + if not replacements: + return text_match.group(0) + return f"{text_match.group(1)}{replacements.pop(0)}{text_match.group(2)}" + + body = TEXT_RE.sub(replace_text_y, body, count=2) + return f"{match.group('prefix')}{body}{match.group('suffix')}" + + +def compact_svg(path: Path) -> None: + svg = path.read_text(encoding="utf-8") + class_sizes = parse_class_font_sizes(svg) + compacted = FRACTION_GROUP_RE.sub(lambda match: compact_group(match, class_sizes), svg) + if compacted != svg: + path.write_text(compacted, encoding="utf-8") + + +def main() -> None: + for target in TARGETS: + for path in sorted(target.rglob("*.svg")): + compact_svg(path) + print(f"compacted {path}") + + +if __name__ == "__main__": + main() diff --git a/backend/tools/migrate_nombres_entiers_content.py b/backend/tools/migrate_nombres_entiers_content.py new file mode 100644 index 0000000..0ca14f7 --- /dev/null +++ b/backend/tools/migrate_nombres_entiers_content.py @@ -0,0 +1,243 @@ +import html +import os +import re +import shutil +import stat +from pathlib import Path + + +ROOT = Path(__file__).resolve().parents[2] +LESSON_RELATIVE = Path( + "contenus_pedagogiques/cycle_3/mathematiques/cm1/" + "01_nombres_calcul_resolution/01A_nombres_entiers" +) +MIRROR_RELATIVE = Path( + "Programme/contenus_pedagogiques/cycle_3/mathematiques/cm1/" + "01_nombres_calcul_resolution/01A_nombres_entiers" +) +LESSON_DIRS = [ROOT / "backend" / LESSON_RELATIVE, ROOT / MIRROR_RELATIVE] + +SOURCE_BLOCK = ( + "\n\n## Sources\n\n" + "- Source principale locale : `Programme/pdf_collecteur/state/synthese_cycle3_cm1_mathematiques.md`.\n" + "- Documents officiels de reference : PDF du programme de mathematiques cycle 3 conserves dans `Programme/Cycle 3/Math/`.\n" + "- Niveau : cycle 3, CM1, mathematiques, nombres/calcul/resolution, nombres entiers.\n" +) + + +def title_from_slug(slug: str) -> str: + parts = slug.split("_") + if parts and parts[0][:2].isdigit(): + parts = parts[1:] + return " ".join(part.capitalize() for part in parts if part) + + +def svg_attr(attrs: str, name: str, default: float | None = None) -> float | None: + match = re.search(rf'\b{name}="(?P[-\d.]+)"', attrs) + if match: + return float(match.group("value")) + return default + + +def extract_svg_sections(svg_path: Path) -> list[dict]: + text = svg_path.read_text(encoding="utf-8", errors="ignore") + sections: list[dict] = [] + pattern = re.compile( + r'[-\d.]+)\s+(?P[-\d.]+)\)">\s*' + r'[^>]*)/?>' + r'(?P.*?)', + re.DOTALL, + ) + for match in pattern.finditer(text): + attrs = match.group("attrs") + rect_x = svg_attr(attrs, "x", 0) + rect_y = svg_attr(attrs, "y", 0) + width = svg_attr(attrs, "width") + height = svg_attr(attrs, "height") + if rect_x != 0 or rect_y != 0 or width is None or height is None: + continue + if width < 250 or height < 100: + continue + title_match = re.search(r']*>(?P.*?)</text>', match.group("body"), re.DOTALL) + raw_title = re.sub(r"<[^>]+>", "", title_match.group("title") if title_match else "") + sections.append( + { + "index": len(sections), + "title": html.unescape(raw_title).strip() or f"Card {len(sections) + 1}", + "view_box": [ + max(float(match.group("x")) - 28, 0), + max(float(match.group("y")) - 28, 0), + width + 56, + height + 56, + ], + } + ) + return sections + + +def render_svg_section(svg_path: Path, section: dict) -> str: + x, y, width, height = section["view_box"] + text = svg_path.read_text(encoding="utf-8", errors="ignore") + text = re.sub(r'\swidth="[^"]+"', f' width="{int(width)}"', text, count=1) + text = re.sub(r'\sheight="[^"]+"', f' height="{int(height)}"', text, count=1) + text = re.sub(r'\sviewBox="[^"]+"', f' viewBox="{x:g} {y:g} {width:g} {height:g}"', text, count=1) + return text + + +def move_file(source: Path, target: Path) -> None: + if not source.exists(): + return + target.parent.mkdir(parents=True, exist_ok=True) + if target.exists(): + target.unlink() + shutil.move(str(source), str(target)) + + +def ensure_source_block(path: Path) -> None: + if not path.exists(): + return + text = path.read_text(encoding="utf-8", errors="ignore").rstrip() + if "## Sources" not in text and "# Sources" not in text: + path.write_text(text + SOURCE_BLOCK + "\n", encoding="utf-8") + + +def write_if_missing(path: Path, text: str) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + if not path.exists(): + path.write_text(text, encoding="utf-8") + + +def migrate_fiches_and_cards(lesson_dir: Path) -> list[str]: + old_svg_dir = lesson_dir / "svg" + old_card_dir = lesson_dir / "card_contexts" + fiche_slugs = sorted({path.stem for path in list(lesson_dir.glob("[0-9][0-9]_*.md")) + list(old_svg_dir.glob("*.svg"))}) + + for index, slug in enumerate(fiche_slugs, start=1): + fiche_dir = lesson_dir / "fiches" / slug + move_file(lesson_dir / f"{slug}.md", fiche_dir / "fiche.md") + move_file(old_svg_dir / f"{slug}.svg", fiche_dir / "fiche.svg") + ensure_source_block(fiche_dir / "fiche.md") + + fiche_svg = fiche_dir / "fiche.svg" + if not fiche_svg.exists(): + continue + + card_dir = lesson_dir / "cards" / slug + legacy_context_dir = old_card_dir / slug + sections = extract_svg_sections(fiche_svg) + if not sections: + sections = [{"index": 0, "title": title_from_slug(slug), "view_box": [0, 0, 1600, 900]}] + + for section in sections: + card_number = section["index"] + 1 + target_md = card_dir / f"card_{card_number:02d}.md" + for legacy_name in [ + legacy_context_dir / f"Fiche{index}Card{card_number}.md", + legacy_context_dir / f"card_{card_number:02d}.md", + ]: + if legacy_name.exists(): + move_file(legacy_name, target_md) + break + write_if_missing( + target_md, + ( + f"# {section['title']}\n\n" + f"Contexte de card pour la fiche `{slug}`.\n\n" + "## Intention\n\n" + "Faire verbaliser le point cle de la zone affichee avant de passer a la suite.\n" + + SOURCE_BLOCK + ), + ) + ensure_source_block(target_md) + target_svg = card_dir / f"card_{card_number:02d}.svg" + target_svg.write_text(render_svg_section(fiche_svg, section), encoding="utf-8") + + return fiche_slugs + + +def migrate_adaptive_content(lesson_dir: Path) -> None: + kit_dir = lesson_dir / "01_lecture_ecriture_nombres_entiers_kit_adaptatif" + if not kit_dir.exists(): + return + + tests_dir = lesson_dir / "tests" + for md_path in sorted((kit_dir / "test_diagnostic").glob("*.md")): + if md_path.name == "README.md": + continue + move_file(md_path, tests_dir / md_path.name) + ensure_source_block(tests_dir / md_path.name) + for support_dir in [kit_dir / "svg" / "tests" / "questions", kit_dir / "svg" / "tests" / "reponses"]: + for svg_path in sorted(support_dir.glob("*.svg")): + move_file(svg_path, tests_dir / svg_path.name) + for md_name in ["00_principe_adaptatif.md", "NOTES_SESSION_2026-04-24.md"]: + move_file(kit_dir / md_name, tests_dir / md_name) + ensure_source_block(tests_dir / md_name) + + parcours_dir = lesson_dir / "exercices" / "parcours_adaptes" + for exercise_md in sorted((kit_dir / "exercices").glob("*/exercices.md")): + target_dir = parcours_dir / exercise_md.parent.name + move_file(exercise_md, target_dir / "exercices.md") + ensure_source_block(target_dir / "exercices.md") + svg_path = kit_dir / "svg" / "exercices" / "profils" / f"{exercise_md.parent.name}.svg" + move_file(svg_path, target_dir / "exercices.svg") + + +def build_lesson_markdown(lesson_dir: Path) -> None: + parts = [] + source_lesson = lesson_dir / "sources" / "lecon_originale.md" + kit_lesson = lesson_dir / "01_lecture_ecriture_nombres_entiers_kit_adaptatif" / "lecon" / "lecon.md" + if kit_lesson.exists(): + source_lesson.parent.mkdir(parents=True, exist_ok=True) + shutil.move(str(kit_lesson), str(source_lesson)) + ensure_source_block(source_lesson) + parts.append(source_lesson.read_text(encoding="utf-8", errors="ignore").strip()) + + readme = lesson_dir / "README.md" + if readme.exists(): + parts.append(readme.read_text(encoding="utf-8", errors="ignore").strip()) + for fiche_md in sorted((lesson_dir / "fiches").glob("*/fiche.md")): + parts.append(fiche_md.read_text(encoding="utf-8", errors="ignore").strip()) + + body = "\n\n---\n\n".join(part for part in parts if part) + text = ( + "# Lecon globale - CM1 - Nombres entiers\n\n" + "Cette lecon globale sert de contexte general a Professeur TOP pour la lecon nombres entiers.\n" + + SOURCE_BLOCK + + "\n## Contenu consolide\n\n" + + body + + "\n" + ) + (lesson_dir / "lecon.md").write_text(text, encoding="utf-8") + + +def cleanup_legacy_dirs(lesson_dir: Path) -> None: + def handle_remove_error(function, path, exc_info) -> None: + os.chmod(path, stat.S_IWRITE) + function(path) + + for legacy_dir in [ + lesson_dir / "svg", + lesson_dir / "card_contexts", + lesson_dir / "01_lecture_ecriture_nombres_entiers_kit_adaptatif", + ]: + if legacy_dir.exists(): + shutil.rmtree(legacy_dir, onerror=handle_remove_error) + + +def migrate_lesson(lesson_dir: Path) -> None: + if not lesson_dir.exists(): + return + fiche_slugs = migrate_fiches_and_cards(lesson_dir) + migrate_adaptive_content(lesson_dir) + build_lesson_markdown(lesson_dir) + cleanup_legacy_dirs(lesson_dir) + print(f"migrated: {lesson_dir} ({len(fiche_slugs)} fiches)") + + +def main() -> None: + for lesson_dir in LESSON_DIRS: + migrate_lesson(lesson_dir) + + +if __name__ == "__main__": + main() diff --git a/backend/tools/regenerate_fraction_exercise_svgs.py b/backend/tools/regenerate_fraction_exercise_svgs.py index 99311e7..6a1247a 100644 --- a/backend/tools/regenerate_fraction_exercise_svgs.py +++ b/backend/tools/regenerate_fraction_exercise_svgs.py @@ -45,9 +45,9 @@ def fraction(x: int, y: int, n: str | int, d: str | int, size: int = 52) -> str: return ( f'<g transform="translate({x} {y})" class="math-expression fraction-g" ' f'data-math="fraction" data-box="-10 -48 {width + 20} 110">' - f'<text x="{cx:g}" y="-24" text-anchor="middle" class="frac">{escape(n_text)}</text>' + f'<text x="{cx:g}" y="-10" text-anchor="middle" class="frac">{escape(n_text)}</text>' f'<line x1="0" y1="8" x2="{width}" y2="8" stroke="#074f4b" stroke-width="4" stroke-linecap="round" />' - f'<text x="{cx:g}" y="58" text-anchor="middle" class="frac">{escape(d_text)}</text>' + f'<text x="{cx:g}" y="28" text-anchor="middle" class="frac">{escape(d_text)}</text>' "</g>" ) diff --git a/backend/tools/validate_svg_quality.py b/backend/tools/validate_svg_quality.py index cc2bf6a..c5837ad 100644 --- a/backend/tools/validate_svg_quality.py +++ b/backend/tools/validate_svg_quality.py @@ -271,7 +271,8 @@ def validate_panel_containment( oy += ty if local_name(node.tag) == "g": - panel = next((panel_box_from_rect(child, ox, oy) for child in node if panel_box_from_rect(child, ox, oy)), None) + panel_children = [panel_box_from_rect(child, ox, oy) for child in node if panel_box_from_rect(child, ox, oy)] + panel = panel_children[0] if len(panel_children) == 1 else None if panel: safe = Box("panel", panel.label, panel.x1, panel.y1, panel.x2, panel.y2) for box in collect_layout_boxes(node, styles, ox - tx, oy - ty): @@ -330,6 +331,8 @@ def validate_fraction_group(path: Path, group: ET.Element, styles: dict[str, dic # du dénominateur : c'est ce qui équilibre l'espace visible autour de la barre. min_top_gap = max(8.0, num_size * 0.24) min_bottom_gap = max(8.0, den_size * 0.30) + max_top_gap = max(14.0, num_size * 0.50) + max_bottom_gap = max(14.0, den_size * 0.55) if bar_y - num_y < min_top_gap: issues.append( @@ -348,6 +351,23 @@ def validate_fraction_group(path: Path, group: ET.Element, styles: dict[str, dic ) ) + if bar_y - num_y > max_top_gap: + issues.append( + Issue( + "warning", + path, + f"Espace trop grand entre numerateur et barre ({bar_y - num_y:.1f}px, attendu <= {max_top_gap:.1f}px).", + ) + ) + if den_y - bar_y > max_bottom_gap: + issues.append( + Issue( + "warning", + path, + f"Espace trop grand entre barre et denominateur ({den_y - bar_y:.1f}px, attendu <= {max_bottom_gap:.1f}px).", + ) + ) + expected_width = max( estimated_text_width(node_text(numerator), num_size), estimated_text_width(node_text(denominator), den_size),