Programme added

This commit is contained in:
2026-05-01 20:44:46 +02:00
parent bfd367f3d8
commit 40bdf95e99
71 changed files with 3561 additions and 3 deletions

View File

@@ -16,7 +16,7 @@ from .auth import (
verify_password,
)
from .curriculum import QUESTIONS
from .program_content import decode_asset_token, get_lesson, list_lessons_for_grade, normalize_grade
from .program_content import decode_asset_token, get_content_status, get_lesson, list_lessons_for_grade, normalize_grade
from .services import (
build_llm_reply,
ensure_student_mastery,
@@ -193,6 +193,13 @@ def list_program_lessons(
return schemas.ProgramLessonListResponse(lessons=list_lessons_for_grade(grade))
@app.get("/program/status")
def get_program_status(
current_user: models.User = Depends(require_roles("teacher", "maintenance")),
):
return get_content_status()
@app.get("/program/assets/{asset_token}")
def get_program_asset(
asset_token: str,

View File

@@ -8,12 +8,14 @@ from urllib.parse import quote
def default_content_root() -> Path:
current = Path(__file__).resolve()
candidates = [
parent / "Programme" / "contenus_pedagogiques"
for parent in current.parents
current.parents[1] / "contenus_pedagogiques",
current.parents[1] / "Programme" / "contenus_pedagogiques",
]
candidates.extend(parent / "Programme" / "contenus_pedagogiques" for parent in current.parents)
candidates.extend(
[
Path("/programme/contenus_pedagogiques"),
Path("/app/contenus_pedagogiques"),
Path("/app/Programme/contenus_pedagogiques"),
]
)
@@ -134,5 +136,18 @@ def list_lessons_for_grade(grade: str) -> list[dict]:
return [lesson for lesson in list_lessons() if lesson["grade"] == normalized]
def get_content_status() -> dict:
lessons = list_lessons()
by_grade: dict[str, int] = {}
for lesson in lessons:
by_grade[lesson["grade"]] = by_grade.get(lesson["grade"], 0) + 1
return {
"content_root": str(CONTENT_ROOT),
"content_root_exists": CONTENT_ROOT.exists(),
"lesson_count": len(lessons),
"lessons_by_grade": by_grade,
}
def get_lesson(lesson_id: str) -> dict | None:
return next((lesson for lesson in list_lessons() if lesson["id"] == lesson_id), None)

View File

@@ -0,0 +1,40 @@
# 01 - Lire et ecrire les nombres entiers
## Objectif eleve
Lire, ecrire et dire correctement des nombres entiers jusqu'a `999 999`.
## Message central
Pour lire un grand nombre, on le coupe en groupes de trois chiffres en partant de la droite.
Exemple : `345 208` se lit `trois-cent-quarante-cinq-mille-deux-cent-huit`.
## Contenu de cours
- Un nombre entier s'ecrit avec des chiffres.
- Les espaces aident a regrouper les chiffres par classes : unites simples, milliers.
- On lit d'abord la classe des milliers, puis la classe des unites simples.
## Exemples resolus
| Nombre | Lecture |
| --- | --- |
| `7 425` | sept-mille-quatre-cent-vingt-cinq |
| `38 090` | trente-huit-mille-quatre-vingt-dix |
| `506 012` | cinq-cent-six-mille-douze |
## Piste visuelle
Une fiche tres simple avec :
- un nombre grand au centre ;
- deux blocs colores : `milliers` et `unites simples` ;
- une fleche `je coupe`, puis une fleche `je lis`.
## Variante exercice plus tard
Masquer une partie de la lecture :
- `248 031` se lit `deux-cent-quarante-huit-mille-...`
- ou proposer trois lectures et demander la bonne.

View File

@@ -0,0 +1,74 @@
# Principe adaptatif - lecture et écriture des nombres entiers
## Compétence cible
Lire, écrire et dire correctement des nombres entiers jusqu'à `999 999`.
## Faiblesses à détecter
- l'enfant ne regroupe pas les chiffres par classes ;
- l'enfant lit chiffre par chiffre au lieu de lire par groupes ;
- l'enfant oublie ou traite mal les zéros internes ;
- l'enfant inverse l'ordre `milliers` / `unités simples` ;
- l'enfant réussit à lire mais pas à écrire ;
- l'enfant réussit avec support visuel mais pas sans support ;
- l'enfant se perd quand la consigne est trop chargée.
## Biais ou erreurs fréquents observés
- `collage des classes` : `38 090` lu comme une longue chaîne continue ;
- `lecture chiffre à chiffre` : `506 012` lu `cinq-zéro-six...` ;
- `effacement du zéro` : `quatre-vingt-dix` oublié dans une classe avec zéro ;
- `confusion oral -> écrit` : l'enfant entend mal ou segmente mal la dictée ;
- `surcharge attentionnelle` : l'enfant sait faire mais se trompe quand il y a trop d'informations sur une même ligne.
## Profils pédagogiques proposés
### 1. Visuel et structuration spatiale
L'enfant réussit mieux quand il voit les classes, les couleurs, les boîtes ou les découpages.
### 2. Verbal et oralisation
L'enfant a besoin de dire, répéter, entendre et reformuler les nombres.
### 3. Imagé et concret
L'enfant accroche mieux avec des histoires courtes, étiquettes, billets, cartons, compteurs ou situations du réel.
### 4. Règle et structure
L'enfant avance mieux avec une procédure stable, des étapes explicites et des régularités à verbaliser.
### 5. Progressif et charge réduite
L'enfant a surtout besoin d'un nombre limité d'éléments à traiter à la fois, avec une montée très graduelle.
## Règle simple d'orientation
- Erreurs surtout sur le découpage des classes : priorité `01_visuel_structuration`.
- Erreurs surtout en dictée ou en lecture orale : priorité `02_verbal_oralisation`.
- Désengagement ou meilleure réussite en contexte concret : priorité `03_image_concret`.
- Enfant qui demande `la méthode` ou aime les règles : priorité `04_regles_et_patterns`.
- Enfant qui réussit en petit format mais chute sur feuille dense : priorité `05_progressif_charge_reduite`.
## Décision possible après test
- un seul dossier principal ;
- ou un dossier principal + un dossier secondaire ;
- puis retour à la leçon pour consolider.
## Règles visuelles renforcées pour les SVG
- Ne jamais valider un bloc texte dense si la dernière lettre semble seulement `tenir`.
- Garder une marge de sécurité visible à droite et en bas de chaque carte.
- Pour les cartes étroites, préférer une coupure en deux lignes avant tout rendu `limite`.
- Les lignes les plus longues doivent être placées dans les cartes les plus larges, jamais dans les colonnes terminales sans adaptation.
- Si une carte contient des phrases + nombres + flèches, considérer ce bloc comme `à risque` et le raccourcir d'emblée.
- La validation doit se faire avec une `marge de survie` : même si la police rend un peu plus large selon l'environnement, rien ne doit toucher le bord.
- Les cartes de droite sont à contrôler en priorité, car ce sont elles qui exposent le plus les débordements invisibles au code.
## Règle éditoriale ajoutée
- Dans des contenus scolaires, les accents sont obligatoires dans les titres, consignes, leçons, tests, exercices, notes et SVG.
- Une absence d'accent sur un mot courant en français doit être traitée comme un défaut qualité à corriger.

View File

@@ -0,0 +1,115 @@
# Notes de session - 2026-04-24 - POC adaptatif micro-fiche 01
## Ce qui a été posé
Un premier POC complet a été créé pour la micro-fiche `01_lecture_ecriture_nombres_entiers`.
Le principe retenu est :
1. une leçon courte de référence ;
2. un test préalable très bref ;
3. une lecture des erreurs et biais fréquents ;
4. une orientation vers des exercices selon un profil pédagogique observable.
## Dossier de travail
`contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01A_nombres_entiers/01_lecture_ecriture_nombres_entiers_kit_adaptatif/`
## Structure retenue
- `lecon/`
- `test_diagnostic/`
- `exercices/`
- `svg/`
Dans `svg/` :
- `tests/questions/`
- `tests/reponses/`
- `exercices/profils/`
## SVG créés
### Tests
- `svg/tests/questions/test_01_lecture_rapide_question.svg`
- `svg/tests/reponses/test_01_lecture_rapide_reponses.svg`
- `svg/tests/questions/test_02_ecriture_dictee_question.svg`
- `svg/tests/reponses/test_02_ecriture_dictee_reponses.svg`
- `svg/tests/questions/test_03_biais_strategies_question.svg`
- `svg/tests/reponses/test_03_biais_strategies_reponses.svg`
### Exercices par profil observable
- `svg/exercices/profils/01_visuel_structuration.svg`
- `svg/exercices/profils/02_verbal_oralisation.svg`
- `svg/exercices/profils/03_image_concret.svg`
- `svg/exercices/profils/04_regles_et_patterns.svg`
- `svg/exercices/profils/05_progressif_charge_reduite.svg`
## Concepts à reprendre la prochaine session
### 1. Routage pédagogique
L'idée n'est pas de cataloguer l'enfant, mais de choisir la meilleure porte d'entrée vers la compétence.
### 2. Profils pédagogiques observables
Pour ce POC, cinq profils ont été posés :
- visuel et structuration spatiale ;
- verbal et oralisation ;
- imagé et concret ;
- règles et patterns ;
- progressif et charge réduite.
### 3. Types d'indices à observer pendant le test
- lecture par classes ou chiffre par chiffre ;
- oubli des zéros ;
- besoin de répétition orale ;
- meilleure réussite avec boîtes ou découpage ;
- chute de performance quand la feuille devient dense ;
- besoin d'une procédure stable.
### 4. Sortie attendue pour le professeur virtuel
Le professeur virtuel devra :
- lire les résultats item par item ;
- prendre en compte les hésitations et le type d'erreur ;
- choisir un dossier principal d'exercices ;
- proposer si besoin un dossier secondaire ;
- revenir ensuite à la leçon pour consolidation.
### 5. Règle produit importante
Ne pas parler de diagnostic psychologique ou cognitif fort. Rester sur :
- profils observables ;
- aides pédagogiques efficaces ;
- entrée préférée dans la tâche.
### 6. Règles anti-débordement renforcées
- Ne jamais considérer qu'un texte est valide parce qu'il `passe juste`.
- Toute carte doit garder une marge latérale et basse perceptible.
- Les colonnes de droite sont à traiter comme zones à risque par défaut.
- Les libellés longs avec flèche `->` doivent être raccourcis ou coupés sur deux lignes avant rendu.
- Pour les fiches à quatre colonnes, la dernière colonne doit recevoir moins de texte que les autres.
- Quand un bloc contient plusieurs lignes longues, il faut soit agrandir la carte, soit réduire la densité, soit découper.
- La vérification finale doit chercher non seulement le chevauchement, mais aussi l'impression de tassement.
- Règle pratique : si un mot semble proche du bord au premier regard, il faut corriger, même sans dépassement complet.
### 7. Règle éditoriale école
- Les accents sont obligatoires dans tous les contenus destinés aux élèves.
- Un mot comme `réduite`, `écrire`, `à`, `élève`, `dictée` ou `réponse` ne doit jamais être laissé sans accent.
- Cette vérification doit faire partie de la relecture finale, au même titre que la lisibilité et les marges.
## Prochaine étape logique
Deux suites possibles :
1. créer aussi les SVG corrigés des exercices ;
2. transformer ce POC en gabarit duplicable pour toutes les micro-fiches CM1 puis 5e.

View File

@@ -0,0 +1,37 @@
# 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.

View File

@@ -0,0 +1,54 @@
# Exercices - profil visuel et structuration spatiale
## Intention
Aider l'enfant à voir les classes et à séparer mentalement les groupes.
## Exercice 1 - Colorier les classes
Recopie puis colorie :
- `124 507`
- `38 012`
- `506 090`
Couleur 1 pour les milliers. Couleur 2 pour les unités simples.
## Exercice 2 - Encadrer les groupes
Entoure les classes :
- `412 008`
- `75 430`
- `301 017`
Puis lis le nombre.
## Exercice 3 - Cartes à assembler
Assemble une carte `milliers` et une carte `unités simples` :
- `245` + `018`
- `006` + `320`
- `83` + `009`
Lis ensuite le nombre complet.
## Exercice 4 - Retrouver la bonne boite
Associe chaque nombre à la bonne décomposition :
- `324 015`
- `80 090`
- `506 012`
Choix :
- `324 | 015`
- `80 | 090`
- `506 | 012`
## Ce profil aide surtout si
- l'enfant réussit mieux quand on sépare visuellement ;
- l'enfant oublie les classes sans repere graphique.

View File

@@ -0,0 +1,50 @@
# Exercices - profil verbal et oralisation
## Intention
S'appuyer sur la voix, le rythme et la reformulation orale.
## Exercice 1 - Je dis, puis j'écris
Lis à voix haute puis écris en lettres :
- `7 405`
- `42 018`
- `506 012`
## Exercice 2 - Echo de lecture
Un adulte lit :
- `trente-deux-mille-dix`
- `deux-cent-huit-mille-dix-sept`
- `quatre-cent-onze-mille-quatre`
L'enfant répète, puis écrit en chiffres.
## Exercice 3 - Je découpe en parlant
Lis chaque nombre en disant :
- `je vois les milliers`
- `je vois les unités simples`
Nombres :
- `214 006`
- `90 040`
- `380 120`
## Exercice 4 - Vrai ou faux à l'oral
On lit `45 008` :
- `quarante-cinq-mille-huit`
- `quarante-cinq-huit`
Dire la bonne réponse et expliquer pourquoi.
## Ce profil aide surtout si
- l'enfant pense mieux en parlant ;
- l'enfant se corrige quand il s'entend.

View File

@@ -0,0 +1,48 @@
# Exercices - profil imagé et concret
## Intention
Faire entrer la lecture des nombres par des objets, étiquettes et situations simples.
## Exercice 1 - Étiquettes de cartons
Sur trois cartons on lit :
- `12 450` élèves dans un stade ;
- `38 090` billets vendus ;
- `506 012` points dans un jeu.
Lis chaque étiquette.
## Exercice 2 - Le compteur géant
Un compteur affiche :
- `124 018`
- `300 007`
- `89 010`
Explique ce que le compteur montre.
## Exercice 3 - Marché aux nombres
Au marché, une affiche indique :
- `245 000` graines ;
- `245 008` graines ;
- `245 080` graines.
Lis les trois affiches et explique ce qui change.
## Exercice 4 - Bonne pancarte
Choisis la bonne pancarte pour :
- `deux-cent-huit-mille-douze`
- `soixante-dix-mille-quatre`
- `quatre-cent-onze-mille-quatre-vingt-dix`
## Ce profil aide surtout si
- l'enfant entre mieux dans la tâche avec une petite scène ;
- l'abstraction pure le bloque trop vite.

View File

@@ -0,0 +1,44 @@
# Exercices - profil règles et patterns
## Intention
Donner une méthode stable et faire observer les régularités.
## Règle rappel
Je coupe en classes de trois chiffres en partant de la droite.
## Exercice 1 - Appliquer la règle
Découpe puis lis :
- `38 012`
- `470 005`
- `602 090`
## Exercice 2 - Trouver la règle cachée
Pourquoi :
- `012` se lit `douze` ;
- `090` se lit `quatre-vingt-dix` ;
- `500` se lit `cinq-cents` si la classe est seule.
## Exercice 3 - Compléter le tableau
| Écriture chiffrée | Classes | Lecture |
| --- | --- | --- |
| `245 018` | `245 | 018` | ... |
| `80 004` | ... | ... |
| `506 090` | ... | ... |
## Exercice 4 - Corriger avec la procédure
Un enfant lit `301 017` comme `trois-cent-un-dix-sept`.
Reprends la procédure en `4` étapes pour corriger.
## Ce profil aide surtout si
- l'enfant cherche une méthode fixe ;
- il réussit mieux quand on explicite les invariants.

View File

@@ -0,0 +1,43 @@
# Exercices - profil progressif et charge réduite
## Intention
Réduire la densité pour permettre une réussite stable avant de complexifier.
## Étape 1 - Un seul groupe à regarder
Lis :
- `125`
- `804`
- `999`
## Étape 2 - Deux groupes très courts
Lis :
- `4 012`
- `8 105`
- `12 006`
## Étape 3 - Deux groupes avec zéro
Lis puis écris en lettres :
- `30 040`
- `45 008`
- `206 012`
## Étape 4 - Petite vérification
Coche si la lecture est correcte :
- `80 004` -> `quatre-vingt-mille-quatre`
- `300 017` -> `trois-cent-mille-dix-sept`
- `506 090` -> `cinq-cent-six-mille-quatre-vingt-dix`
## Ce profil aide surtout si
- 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.

View File

@@ -0,0 +1,17 @@
# 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.

View File

@@ -0,0 +1,49 @@
# Leçon - lire et écrire les nombres entiers
Source de départ : `../../01_lecture_ecriture_nombres_entiers.md`
## Objectif élève
Lire, écrire et dire correctement des nombres entiers jusqu'à `999 999`.
## Idée essentielle
Pour lire un grand nombre, je le coupe en groupes de trois chiffres en partant de la droite.
Exemple : `345 208`
- `345` -> classe des milliers ;
- `208` -> classe des unités simples ;
- lecture : `trois-cent-quarante-cinq-mille-deux-cent-huit`.
## À retenir
- Un nombre entier s'écrit avec des chiffres.
- Les espaces aident à séparer les classes.
- On lit d'abord la classe des milliers.
- Puis on lit la classe des unités simples.
## Procédure simple
1. Je regarde le nombre.
2. Je coupe en groupes de trois chiffres.
3. Je lis la classe des milliers.
4. Je lis la classe des unités simples.
5. Je vérifie si un zéro change la façon de lire.
## Exemples résolus
| Nombre | Lecture |
| --- | --- |
| `7 425` | sept-mille-quatre-cent-vingt-cinq |
| `38 090` | trente-huit-mille-quatre-vingt-dix |
| `506 012` | cinq-cent-six-mille-douze |
## Point de vigilance
Un zéro ne se lit pas toujours tout seul, mais il change parfois la lecture du groupe.
Exemple :
- `090` se lit `quatre-vingt-dix` si le groupe est `090` dans `38 090`.
- `012` se lit `douze` dans `506 012`.

View File

@@ -0,0 +1,9 @@
# 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.

View File

@@ -0,0 +1,59 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900">
<defs>
<style>
.bg { fill: #f6f5ef; }
.panel { fill: #ffffff; stroke: #e2ebe6; stroke-width: 2; }
.soft { fill: #eef5fb; stroke: #c7dced; stroke-width: 2; }
.title { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 52px; font-weight: 800; fill: #074f4b; }
.subtitle { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 24px; font-weight: 700; fill: #1e3540; }
.h2 { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 28px; font-weight: 800; fill: #1d78b5; }
.body { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 21px; fill: #1d3038; }
.small { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 18px; fill: #2d4148; }
.num { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 28px; font-weight: 800; fill: #074f4b; }
</style>
</defs>
<rect class="bg" width="1600" height="900"/>
<rect x="56" y="42" width="1488" height="816" rx="34" class="panel"/>
<text x="800" y="110" text-anchor="middle" class="title">Exercices - profil visuel et structuration</text>
<text x="800" y="152" text-anchor="middle" class="subtitle">Voir les classes, separer les groupes, lire avec des reperes</text>
<line x1="330" y1="186" x2="1270" y2="186" stroke="#dbe8e3" stroke-width="4"/>
<g transform="translate(92 224)">
<rect x="0" y="0" width="450" height="252" rx="24" class="soft"/>
<text x="28" y="42" class="h2">1. Colorier les classes</text>
<text x="28" y="88" class="body">124 507</text>
<text x="28" y="122" class="body">38 012</text>
<text x="28" y="156" class="body">506 090</text>
<text x="28" y="206" class="small">Couleur 1 pour les milliers.</text>
<text x="28" y="232" class="small">Couleur 2 pour les unités simples.</text>
</g>
<g transform="translate(574 224)">
<rect x="0" y="0" width="450" height="252" rx="24" class="soft"/>
<text x="28" y="42" class="h2">2. Encadrer les groupes</text>
<text x="28" y="88" class="body">412 008</text>
<text x="28" y="122" class="body">75 430</text>
<text x="28" y="156" class="body">301 017</text>
<text x="28" y="206" class="small">Entoure la classe des milliers,</text>
<text x="28" y="232" class="small">puis lis le nombre.</text>
</g>
<g transform="translate(1056 224)">
<rect x="0" y="0" width="450" height="252" rx="24" class="soft"/>
<text x="28" y="42" class="h2">3. Cartes à assembler</text>
<text x="28" y="90" class="body">245 + 018</text>
<text x="28" y="124" class="body">006 + 320</text>
<text x="28" y="158" class="body">83 + 009</text>
<text x="28" y="206" class="small">Assemble les deux groupes,</text>
<text x="28" y="232" class="small">puis lis le nombre complet.</text>
</g>
<g transform="translate(92 516)">
<rect x="0" y="0" width="1414" height="232" rx="24" class="panel"/>
<text x="28" y="42" class="h2">4. Retrouver la bonne decomposition</text>
<text x="28" y="90" class="body">324 015 -> 324 | 015</text>
<text x="28" y="126" class="body">80 090 -> 80 | 090</text>
<text x="28" y="162" class="body">506 012 -> 506 | 012</text>
<text x="28" y="208" class="small">Objectif : rendre visible la structure du nombre avant la lecture.</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@@ -0,0 +1,57 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900">
<defs>
<style>
.bg { fill: #f6f5ef; }
.panel { fill: #ffffff; stroke: #e2ebe6; stroke-width: 2; }
.soft { fill: #eef7f4; stroke: #c9dfd8; stroke-width: 2; }
.title { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 52px; font-weight: 800; fill: #074f4b; }
.subtitle { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 24px; font-weight: 700; fill: #1e3540; }
.h2 { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 28px; font-weight: 800; fill: #2f9246; }
.body { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 21px; fill: #1d3038; }
.small { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 18px; fill: #2d4148; }
</style>
</defs>
<rect class="bg" width="1600" height="900"/>
<rect x="56" y="42" width="1488" height="816" rx="34" class="panel"/>
<text x="800" y="110" text-anchor="middle" class="title">Exercices - profil verbal et oralisation</text>
<text x="800" y="152" text-anchor="middle" class="subtitle">Dire, répéter, reformuler, puis écrire</text>
<line x1="330" y1="186" x2="1270" y2="186" stroke="#dbe8e3" stroke-width="4"/>
<g transform="translate(92 224)">
<rect x="0" y="0" width="450" height="250" rx="24" class="soft"/>
<text x="28" y="42" class="h2">1. Je dis puis j'ecris</text>
<text x="28" y="88" class="body">7 405</text>
<text x="28" y="122" class="body">42 018</text>
<text x="28" y="156" class="body">506 012</text>
<text x="28" y="208" class="small">Lis à voix haute avant d'écrire</text>
<text x="28" y="234" class="small">en lettres.</text>
</g>
<g transform="translate(574 224)">
<rect x="0" y="0" width="450" height="250" rx="24" class="soft"/>
<text x="28" y="42" class="h2">2. Echo de lecture</text>
<text x="28" y="88" class="body">trente-deux-mille-dix</text>
<text x="28" y="122" class="body">deux-cent-huit-mille-dix-sept</text>
<text x="28" y="156" class="body">quatre-cent-onze-mille-quatre</text>
<text x="28" y="208" class="small">Repete, puis ecris en chiffres.</text>
</g>
<g transform="translate(1056 224)">
<rect x="0" y="0" width="450" height="250" rx="24" class="soft"/>
<text x="28" y="42" class="h2">3. Je decoupe en parlant</text>
<text x="28" y="90" class="body">214 006</text>
<text x="28" y="124" class="body">90 040</text>
<text x="28" y="158" class="body">380 120</text>
<text x="28" y="208" class="small">Dire : je vois les milliers,</text>
<text x="28" y="234" class="small">je vois les unités simples.</text>
</g>
<g transform="translate(92 514)">
<rect x="0" y="0" width="1414" height="236" rx="24" class="panel"/>
<text x="28" y="42" class="h2">4. Vrai ou faux à l'oral</text>
<text x="28" y="92" class="body">45 008 -> quarante-cinq-mille-huit</text>
<text x="28" y="128" class="body">45 008 -> quarante-cinq-huit</text>
<text x="28" y="174" class="small">Dire la bonne lecture puis expliquer pourquoi.</text>
<text x="28" y="206" class="small">Objectif : utiliser la voix comme outil d'autocorrection.</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@@ -0,0 +1,58 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900">
<defs>
<style>
.bg { fill: #f6f5ef; }
.panel { fill: #ffffff; stroke: #e2ebe6; stroke-width: 2; }
.soft { fill: #fff3e8; stroke: #f1d3b7; stroke-width: 2; }
.title { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 52px; font-weight: 800; fill: #074f4b; }
.subtitle { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 24px; font-weight: 700; fill: #1e3540; }
.h2 { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 28px; font-weight: 800; fill: #e78232; }
.body { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 21px; fill: #1d3038; }
.small { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 18px; fill: #2d4148; }
</style>
</defs>
<rect class="bg" width="1600" height="900"/>
<rect x="56" y="42" width="1488" height="816" rx="34" class="panel"/>
<text x="800" y="110" text-anchor="middle" class="title">Exercices - profil imagé et concret</text>
<text x="800" y="152" text-anchor="middle" class="subtitle">Entrer dans la lecture des nombres par des situations simples</text>
<line x1="330" y1="186" x2="1270" y2="186" stroke="#dbe8e3" stroke-width="4"/>
<g transform="translate(92 224)">
<rect x="0" y="0" width="450" height="252" rx="24" class="soft"/>
<text x="28" y="42" class="h2">1. Etiquettes de cartons</text>
<text x="28" y="88" class="body">12 450 élèves dans un stade</text>
<text x="28" y="122" class="body">38 090 billets vendus</text>
<text x="28" y="156" class="body">506 012 points dans un jeu</text>
<text x="28" y="208" class="small">Lis chaque etiquette comme</text>
<text x="28" y="234" class="small">si tu etais le speaker.</text>
</g>
<g transform="translate(574 224)">
<rect x="0" y="0" width="450" height="252" rx="24" class="soft"/>
<text x="28" y="42" class="h2">2. Le compteur geant</text>
<text x="28" y="88" class="body">124 018</text>
<text x="28" y="122" class="body">300 007</text>
<text x="28" y="156" class="body">89 010</text>
<text x="28" y="208" class="small">Explique ce que le compteur</text>
<text x="28" y="234" class="small">affiche.</text>
</g>
<g transform="translate(1056 224)">
<rect x="0" y="0" width="450" height="252" rx="24" class="soft"/>
<text x="28" y="42" class="h2">3. Marche aux nombres</text>
<text x="28" y="88" class="body">245 000 graines</text>
<text x="28" y="122" class="body">245 008 graines</text>
<text x="28" y="156" class="body">245 080 graines</text>
<text x="28" y="208" class="small">Lis les affiches et explique</text>
<text x="28" y="234" class="small">ce qui change.</text>
</g>
<g transform="translate(92 516)">
<rect x="0" y="0" width="1414" height="232" rx="24" class="panel"/>
<text x="28" y="42" class="h2">4. Bonne pancarte</text>
<text x="28" y="92" class="body">Trouve la bonne pancarte pour :</text>
<text x="28" y="128" class="body">deux-cent-huit-mille-douze</text>
<text x="28" y="164" class="body">soixante-dix-mille-quatre</text>
<text x="28" y="200" class="body">quatre-cent-onze-mille-quatre-vingt-dix</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@@ -0,0 +1,56 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900">
<defs>
<style>
.bg { fill: #f6f5ef; }
.panel { fill: #ffffff; stroke: #e2ebe6; stroke-width: 2; }
.soft { fill: #eef7f4; stroke: #c9dfd8; stroke-width: 2; }
.title { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 52px; font-weight: 800; fill: #074f4b; }
.subtitle { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 24px; font-weight: 700; fill: #1e3540; }
.h2 { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 28px; font-weight: 800; fill: #074f4b; }
.body { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 21px; fill: #1d3038; }
.small { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 18px; fill: #2d4148; }
.rule { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 22px; font-weight: 800; fill: #2f9246; }
</style>
</defs>
<rect class="bg" width="1600" height="900"/>
<rect x="56" y="42" width="1488" height="816" rx="34" class="panel"/>
<text x="800" y="110" text-anchor="middle" class="title">Exercices - profil règles et patterns</text>
<text x="800" y="152" text-anchor="middle" class="subtitle">Appliquer une procedure stable et observer des regularites</text>
<line x1="330" y1="186" x2="1270" y2="186" stroke="#dbe8e3" stroke-width="4"/>
<g transform="translate(92 224)">
<rect x="0" y="0" width="1414" height="94" rx="22" class="soft"/>
<text x="28" y="42" class="h2">Règle rappel</text>
<text x="28" y="74" class="rule">Je coupe en classes de trois chiffres en partant de la droite.</text>
</g>
<g transform="translate(92 344)">
<rect x="0" y="0" width="450" height="330" rx="24" class="soft"/>
<text x="28" y="42" class="h2">1. Appliquer la regle</text>
<text x="28" y="90" class="body">38 012</text>
<text x="28" y="124" class="body">470 005</text>
<text x="28" y="158" class="body">602 090</text>
<text x="28" y="212" class="small">Decoupe, puis lis.</text>
</g>
<g transform="translate(574 344)">
<rect x="0" y="0" width="450" height="330" rx="24" class="soft"/>
<text x="28" y="42" class="h2">2. Trouver la regle cachee</text>
<text x="28" y="90" class="small">Pourquoi 012 se lit douze ?</text>
<text x="28" y="126" class="small">Pourquoi 090 se lit quatre-vingt-dix ?</text>
<text x="28" y="162" class="small">Pourquoi 500 se lit cinq-cents</text>
<text x="28" y="190" class="small">si la classe est seule ?</text>
</g>
<g transform="translate(1056 344)">
<rect x="0" y="0" width="450" height="330" rx="24" class="soft"/>
<text x="28" y="42" class="h2">3. Corriger avec la procedure</text>
<text x="28" y="90" class="small">Un enfant lit 301 017 comme</text>
<text x="28" y="118" class="small">trois-cent-un-dix-sept.</text>
<text x="28" y="170" class="small">Reprends la lecture en 4 etapes :</text>
<text x="28" y="206" class="small">1. je coupe</text>
<text x="28" y="234" class="small">2. je lis les milliers</text>
<text x="28" y="262" class="small">3. je lis les unités</text>
<text x="28" y="290" class="small">4. je verifie</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@@ -0,0 +1,65 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900">
<defs>
<style>
.bg { fill: #f6f5ef; }
.panel { fill: #ffffff; stroke: #e2ebe6; stroke-width: 2; }
.soft { fill: #eef7f4; stroke: #c9dfd8; stroke-width: 2; }
.title { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 52px; font-weight: 800; fill: #074f4b; }
.subtitle { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 24px; font-weight: 700; fill: #1e3540; }
.h2 { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 28px; font-weight: 800; fill: #074f4b; }
.body { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 21px; fill: #1d3038; }
.small { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 18px; fill: #2d4148; }
.step { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 18px; font-weight: 800; fill: #ffffff; }
</style>
</defs>
<rect class="bg" width="1600" height="900"/>
<rect x="56" y="42" width="1488" height="816" rx="34" class="panel"/>
<text x="800" y="110" text-anchor="middle" class="title">Exercices - profil progressif et charge réduite</text>
<text x="800" y="152" text-anchor="middle" class="subtitle">Commencer très léger, puis complexifier sans surcharge</text>
<line x1="330" y1="186" x2="1270" y2="186" stroke="#dbe8e3" stroke-width="4"/>
<g transform="translate(92 224)">
<rect x="0" y="0" width="320" height="430" rx="24" class="soft"/>
<rect x="24" y="20" width="82" height="30" rx="14" fill="#2f9246"/>
<text x="65" y="41" text-anchor="middle" class="step">Étape 1</text>
<text x="24" y="94" class="body">125</text>
<text x="24" y="130" class="body">804</text>
<text x="24" y="166" class="body">999</text>
<text x="24" y="224" class="small">Lire un seul groupe.</text>
</g>
<g transform="translate(446 224)">
<rect x="0" y="0" width="320" height="430" rx="24" class="soft"/>
<rect x="24" y="20" width="82" height="30" rx="14" fill="#1d78b5"/>
<text x="65" y="41" text-anchor="middle" class="step">Étape 2</text>
<text x="24" y="94" class="body">4 012</text>
<text x="24" y="130" class="body">8 105</text>
<text x="24" y="166" class="body">12 006</text>
<text x="24" y="224" class="small">Deux groupes très courts.</text>
</g>
<g transform="translate(800 224)">
<rect x="0" y="0" width="320" height="430" rx="24" class="soft"/>
<rect x="24" y="20" width="82" height="30" rx="14" fill="#e78232"/>
<text x="65" y="41" text-anchor="middle" class="step">Étape 3</text>
<text x="24" y="94" class="body">30 040</text>
<text x="24" y="130" class="body">45 008</text>
<text x="24" y="166" class="body">206 012</text>
<text x="24" y="224" class="small">Zeros et lecture complete.</text>
</g>
<g transform="translate(1140 224)">
<rect x="0" y="0" width="366" height="430" rx="24" class="soft"/>
<rect x="24" y="20" width="82" height="30" rx="14" fill="#074f4b"/>
<text x="65" y="41" text-anchor="middle" class="step">Étape 4</text>
<text x="24" y="90" class="small">80 004 -> quatre-vingt-mille-</text>
<text x="24" y="118" class="small">quatre</text>
<text x="24" y="162" class="small">300 017 -> trois-cent-mille-</text>
<text x="24" y="190" class="small">dix-sept</text>
<text x="24" y="234" class="small">506 090 -> cinq-cent-six-mille-</text>
<text x="24" y="262" class="small">quatre-vingt-dix</text>
<text x="24" y="320" class="small">Cocher si la lecture est correcte.</text>
</g>
<text x="800" y="804" text-anchor="middle" class="small">Objectif : limiter la densité d'informations pour stabiliser la réussite.</text>
</svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@@ -0,0 +1,69 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900">
<defs>
<style>
.bg { fill: #f6f5ef; }
.panel { fill: #ffffff; stroke: #e2ebe6; stroke-width: 2; }
.soft { fill: #eef7f4; stroke: #c9dfd8; stroke-width: 2; }
.softBlue { fill: #eef5fb; stroke: #c7dced; stroke-width: 2; }
.softOrange { fill: #fff3e8; stroke: #f1d3b7; stroke-width: 2; }
.title { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 54px; font-weight: 800; fill: #074f4b; }
.subtitle { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 24px; font-weight: 700; fill: #1e3540; }
.h2 { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 30px; font-weight: 800; fill: #074f4b; }
.body { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 24px; fill: #1d3038; }
.small { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 20px; fill: #2d4148; }
.num { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 42px; font-weight: 800; fill: #074f4b; }
.tag { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 18px; font-weight: 800; fill: #ffffff; }
</style>
</defs>
<rect class="bg" width="1600" height="900"/>
<rect x="56" y="42" width="1488" height="816" rx="34" class="panel"/>
<text x="800" y="112" text-anchor="middle" class="title">Test 01 - Lecture rapide</text>
<text x="800" y="154" text-anchor="middle" class="subtitle">Lis chaque nombre à voix haute</text>
<line x1="380" y1="188" x2="1220" y2="188" stroke="#dbe8e3" stroke-width="4"/>
<g transform="translate(110 232)">
<rect x="0" y="0" width="420" height="114" rx="20" class="soft"/>
<rect x="24" y="20" width="92" height="32" rx="14" fill="#2f9246"/>
<text x="70" y="42" text-anchor="middle" class="tag">Serie A</text>
<text x="30" y="78" class="small">Nombres simples à lire</text>
<text x="30" y="104" class="small">sans aide visuelle.</text>
</g>
<g transform="translate(560 232)">
<rect x="0" y="0" width="930" height="250" rx="24" class="panel"/>
<rect x="42" y="64" width="250" height="110" rx="18" class="softBlue"/>
<rect x="340" y="64" width="250" height="110" rx="18" class="softBlue"/>
<rect x="638" y="64" width="250" height="110" rx="18" class="softBlue"/>
<text x="167" y="132" text-anchor="middle" class="num">4 213</text>
<text x="465" y="132" text-anchor="middle" class="num">12 500</text>
<text x="763" y="132" text-anchor="middle" class="num">45 008</text>
<text x="167" y="206" text-anchor="middle" class="small">1.</text>
<text x="465" y="206" text-anchor="middle" class="small">2.</text>
<text x="763" y="206" text-anchor="middle" class="small">3.</text>
</g>
<g transform="translate(110 520)">
<rect x="0" y="0" width="420" height="184" rx="20" class="softOrange"/>
<rect x="24" y="20" width="92" height="32" rx="14" fill="#e78232"/>
<text x="70" y="42" text-anchor="middle" class="tag">Serie B</text>
<text x="30" y="82" class="small">Attention aux zéros</text>
<text x="30" y="110" class="small">et aux groupes de chiffres.</text>
<text x="30" y="148" class="small">Observer si l'enfant hésite</text>
<text x="30" y="176" class="small">sur la classe lue en second.</text>
</g>
<g transform="translate(560 520)">
<rect x="0" y="0" width="930" height="250" rx="24" class="panel"/>
<rect x="42" y="64" width="250" height="110" rx="18" fill="#fff8f1" stroke="#f2dec9"/>
<rect x="340" y="64" width="250" height="110" rx="18" fill="#fff8f1" stroke="#f2dec9"/>
<rect x="638" y="64" width="250" height="110" rx="18" fill="#fff8f1" stroke="#f2dec9"/>
<text x="167" y="132" text-anchor="middle" class="num">30 040</text>
<text x="465" y="132" text-anchor="middle" class="num">208 017</text>
<text x="763" y="132" text-anchor="middle" class="num">506 012</text>
<text x="167" y="206" text-anchor="middle" class="small">4.</text>
<text x="465" y="206" text-anchor="middle" class="small">5.</text>
<text x="763" y="206" text-anchor="middle" class="small">6.</text>
</g>
<text x="800" y="824" text-anchor="middle" class="small">Objectif : reperer si l'enfant lit par classes ou chiffre par chiffre.</text>
</svg>

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@@ -0,0 +1,40 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900">
<defs>
<style>
.bg { fill: #f6f5ef; }
.panel { fill: #ffffff; stroke: #e2ebe6; stroke-width: 2; }
.soft { fill: #eef7f4; stroke: #c9dfd8; stroke-width: 2; }
.softBlue { fill: #eef5fb; stroke: #c7dced; stroke-width: 2; }
.title { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 52px; font-weight: 800; fill: #074f4b; }
.subtitle { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 24px; font-weight: 700; fill: #1e3540; }
.h2 { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 28px; font-weight: 800; fill: #074f4b; }
.body { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 24px; fill: #1d3038; }
.small { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 20px; fill: #2d4148; }
.lineBox { fill: #ffffff; stroke: #d5e3dd; stroke-width: 2; }
</style>
</defs>
<rect class="bg" width="1600" height="900"/>
<rect x="56" y="42" width="1488" height="816" rx="34" class="panel"/>
<text x="800" y="112" text-anchor="middle" class="title">Test 02 - Écriture sous dictée</text>
<text x="800" y="154" text-anchor="middle" class="subtitle">Ecris en chiffres les nombres entendus</text>
<line x1="380" y1="188" x2="1220" y2="188" stroke="#dbe8e3" stroke-width="4"/>
<g transform="translate(110 228)">
<rect x="0" y="0" width="1380" height="560" rx="24" class="soft"/>
<text x="34" y="50" class="h2">Dictés à l'enfant</text>
<text x="46" y="120" class="body">1. sept-mille-quatre-cent-cinq</text>
<rect x="780" y="82" width="520" height="58" rx="16" class="lineBox"/>
<text x="46" y="214" class="body">2. trente-huit-mille-dix</text>
<rect x="780" y="176" width="520" height="58" rx="16" class="lineBox"/>
<text x="46" y="308" class="body">3. deux-cent-six-mille-douze</text>
<rect x="780" y="270" width="520" height="58" rx="16" class="lineBox"/>
<text x="46" y="402" class="body">4. quatre-cent-neuf-mille-quatre-vingts</text>
<rect x="780" y="364" width="520" height="58" rx="16" class="lineBox"/>
<text x="46" y="492" class="small">Observation : noter si l'enfant répète à voix basse, segmente, ou écrit tout d'un bloc.</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -0,0 +1,60 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900">
<defs>
<style>
.bg { fill: #f6f5ef; }
.panel { fill: #ffffff; stroke: #e2ebe6; stroke-width: 2; }
.softBlue { fill: #eef5fb; stroke: #c7dced; stroke-width: 2; }
.softOrange { fill: #fff3e8; stroke: #f1d3b7; stroke-width: 2; }
.softGreen { fill: #eef7f4; stroke: #c9dfd8; stroke-width: 2; }
.title { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 50px; font-weight: 800; fill: #074f4b; }
.subtitle { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 24px; font-weight: 700; fill: #1e3540; }
.h2 { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 26px; font-weight: 800; fill: #074f4b; }
.body { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 21px; fill: #1d3038; }
.small { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 18px; fill: #2d4148; }
</style>
</defs>
<rect class="bg" width="1600" height="900"/>
<rect x="56" y="42" width="1488" height="816" rx="34" class="panel"/>
<text x="800" y="106" text-anchor="middle" class="title">Test 03 - Biais et stratégies</text>
<text x="800" y="146" text-anchor="middle" class="subtitle">Choisir, corriger, puis essayer deux aides</text>
<line x1="360" y1="176" x2="1240" y2="176" stroke="#dbe8e3" stroke-width="4"/>
<g transform="translate(94 214)">
<rect x="0" y="0" width="446" height="534" rx="24" class="softBlue"/>
<text x="28" y="42" class="h2">A. Choisir la bonne lecture</text>
<text x="28" y="92" class="body">506 012 se lit :</text>
<text x="44" y="130" class="small">a. cinq-cent-six-mille-douze</text>
<text x="44" y="160" class="small">b. cinq-zero-six-zero-un-deux</text>
<text x="44" y="190" class="small">c. cinq-cent-six-douze</text>
<text x="28" y="248" class="body">38 090 se lit :</text>
<text x="44" y="286" class="small">a. trente-huit-mille-quatre-vingt-dix</text>
<text x="44" y="316" class="small">b. trente-huit-mille-zero-quatre-vingt-dix</text>
<text x="44" y="346" class="small">c. trois-huit-zero-neuf-zero</text>
</g>
<g transform="translate(576 214)">
<rect x="0" y="0" width="446" height="534" rx="24" class="softOrange"/>
<text x="28" y="42" class="h2">B. Corriger l'erreur</text>
<text x="28" y="94" class="body">Un enfant ecrit 45012</text>
<text x="28" y="124" class="body">pour quarante-cinq-mille-douze.</text>
<text x="28" y="180" class="small">Qu'a-t-il oublie ?</text>
<text x="28" y="220" class="small">Comment peux-tu l'aider ?</text>
<text x="28" y="292" class="body">Un enfant hésite sur 208 017.</text>
<text x="28" y="322" class="body">Que regarde-t-il mal ?</text>
<text x="28" y="362" class="small">Que peut-il faire pour mieux lire ?</text>
</g>
<g transform="translate(1058 214)">
<rect x="0" y="0" width="446" height="534" rx="24" class="softGreen"/>
<text x="28" y="42" class="h2">C. Essayer deux aides</text>
<text x="28" y="92" class="body">Lis 324 018 sous deux formes :</text>
<text x="50" y="150" class="body">1. 324 018</text>
<text x="50" y="222" class="body">2. 324 | 018</text>
<text x="28" y="306" class="small">Avec quelle aide reussis-tu</text>
<text x="28" y="334" class="small">le mieux ?</text>
<text x="28" y="406" class="small">On observe si l'enfant prefere :</text>
<text x="28" y="434" class="small">le format brut ou le decoupage.</text>
</g>
<text x="800" y="804" text-anchor="middle" class="small">Ce test sert surtout à identifier la stratégie qui débloque l'enfant.</text>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@@ -0,0 +1,75 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900">
<defs>
<style>
.bg { fill: #f6f5ef; }
.panel { fill: #ffffff; stroke: #e2ebe6; stroke-width: 2; }
.soft { fill: #eef7f4; stroke: #c9dfd8; stroke-width: 2; }
.softBlue { fill: #eef5fb; stroke: #c7dced; stroke-width: 2; }
.softOrange { fill: #fff3e8; stroke: #f1d3b7; stroke-width: 2; }
.title { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 50px; font-weight: 800; fill: #074f4b; }
.subtitle { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 24px; font-weight: 700; fill: #1e3540; }
.h2 { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 28px; font-weight: 800; fill: #074f4b; }
.body { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 22px; fill: #1d3038; }
.small { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 19px; fill: #2d4148; }
.tiny { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 17px; fill: #2d4148; }
.num { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 30px; font-weight: 800; fill: #074f4b; }
.ok { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 18px; font-weight: 800; fill: #ffffff; }
</style>
</defs>
<rect class="bg" width="1600" height="900"/>
<rect x="56" y="42" width="1488" height="816" rx="34" class="panel"/>
<text x="800" y="108" text-anchor="middle" class="title">Test 01 - Lecture rapide corrige</text>
<text x="800" y="148" text-anchor="middle" class="subtitle">Lecture attendue et indices d'orientation</text>
<line x1="360" y1="180" x2="1240" y2="180" stroke="#dbe8e3" stroke-width="4"/>
<g transform="translate(90 220)">
<rect x="0" y="0" width="930" height="530" rx="24" class="panel"/>
<text x="34" y="50" class="h2">Lectures attendues</text>
<g transform="translate(34 84)">
<rect x="0" y="0" width="862" height="64" rx="16" class="soft"/>
<text x="26" y="40" class="num">4 213</text>
<text x="210" y="40" class="body">quatre-mille-deux-cent-treize</text>
<rect x="0" y="82" width="862" height="64" rx="16" class="soft"/>
<text x="26" y="122" class="num">12 500</text>
<text x="210" y="122" class="body">douze-mille-cinq-cents</text>
<rect x="0" y="164" width="862" height="64" rx="16" class="soft"/>
<text x="26" y="204" class="num">45 008</text>
<text x="210" y="204" class="body">quarante-cinq-mille-huit</text>
<rect x="0" y="246" width="862" height="64" rx="16" class="softOrange"/>
<text x="26" y="286" class="num">30 040</text>
<text x="210" y="286" class="body">trente-mille-quarante</text>
<rect x="0" y="328" width="862" height="64" rx="16" class="softOrange"/>
<text x="26" y="368" class="num">208 017</text>
<text x="210" y="368" class="body">deux-cent-huit-mille-dix-sept</text>
<rect x="0" y="410" width="862" height="64" rx="16" class="softOrange"/>
<text x="26" y="450" class="num">506 012</text>
<text x="210" y="450" class="body">cinq-cent-six-mille-douze</text>
</g>
</g>
<g transform="translate(1060 220)">
<rect x="0" y="0" width="450" height="530" rx="24" class="softBlue"/>
<text x="30" y="48" class="h2">Ce qu'on observe</text>
<text x="30" y="96" class="small">Si l'enfant lit chiffre par chiffre :</text>
<text x="30" y="126" class="tiny">orienter vers visuel structuration.</text>
<text x="30" y="170" class="small">S'il réussit après répétition orale :</text>
<text x="30" y="200" class="tiny">orienter vers verbal oralisation.</text>
<text x="30" y="244" class="small">S'il bloque sur 040 ou 012 :</text>
<text x="30" y="274" class="tiny">renforcer règles et patterns.</text>
<text x="30" y="318" class="small">S'il sait faire sur les premiers</text>
<text x="30" y="348" class="small">mais chute sur la serie B :</text>
<text x="30" y="378" class="tiny">penser charge réduite.</text>
<rect x="30" y="422" width="180" height="34" rx="14" fill="#2f9246"/>
<text x="120" y="444" text-anchor="middle" class="ok">profil possible</text>
<text x="30" y="492" class="small">1. visuel structuration</text>
<text x="30" y="520" class="small">2. verbal oralisation</text>
</g>
<text x="800" y="812" text-anchor="middle" class="small">Ne pas noter seulement juste ou faux : noter aussi la stratégie employée.</text>
</svg>

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

@@ -0,0 +1,60 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900">
<defs>
<style>
.bg { fill: #f6f5ef; }
.panel { fill: #ffffff; stroke: #e2ebe6; stroke-width: 2; }
.soft { fill: #eef7f4; stroke: #c9dfd8; stroke-width: 2; }
.softBlue { fill: #eef5fb; stroke: #c7dced; stroke-width: 2; }
.softOrange { fill: #fff3e8; stroke: #f1d3b7; stroke-width: 2; }
.title { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 50px; font-weight: 800; fill: #074f4b; }
.subtitle { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 24px; font-weight: 700; fill: #1e3540; }
.h2 { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 28px; font-weight: 800; fill: #074f4b; }
.body { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 22px; fill: #1d3038; }
.small { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 18px; fill: #2d4148; }
.num { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 28px; font-weight: 800; fill: #074f4b; }
</style>
</defs>
<rect class="bg" width="1600" height="900"/>
<rect x="56" y="42" width="1488" height="816" rx="34" class="panel"/>
<text x="800" y="108" text-anchor="middle" class="title">Test 02 - Dictée corrigée</text>
<text x="800" y="148" text-anchor="middle" class="subtitle">Reponses attendues et lecture des erreurs</text>
<line x1="360" y1="180" x2="1240" y2="180" stroke="#dbe8e3" stroke-width="4"/>
<g transform="translate(94 220)">
<rect x="0" y="0" width="910" height="536" rx="24" class="panel"/>
<text x="30" y="48" class="h2">Reponses attendues</text>
<rect x="30" y="78" width="850" height="76" rx="18" class="soft"/>
<text x="52" y="122" class="body">1. sept-mille-quatre-cent-cinq</text>
<text x="650" y="122" class="num">7 405</text>
<rect x="30" y="176" width="850" height="76" rx="18" class="soft"/>
<text x="52" y="220" class="body">2. trente-huit-mille-dix</text>
<text x="650" y="220" class="num">38 010</text>
<rect x="30" y="274" width="850" height="76" rx="18" class="soft"/>
<text x="52" y="318" class="body">3. deux-cent-six-mille-douze</text>
<text x="650" y="318" class="num">206 012</text>
<rect x="30" y="372" width="850" height="76" rx="18" class="softOrange"/>
<text x="52" y="416" class="body">4. quatre-cent-neuf-mille-quatre-vingts</text>
<text x="650" y="416" class="num">409 080</text>
<text x="30" y="494" class="small">Le dernier item est utile pour voir si l'enfant oublie le zero de la classe finale.</text>
</g>
<g transform="translate(1044 220)">
<rect x="0" y="0" width="468" height="536" rx="24" class="softBlue"/>
<text x="30" y="48" class="h2">Interpretation rapide</text>
<text x="30" y="96" class="small">Erreurs de zero ou de place :</text>
<text x="30" y="124" class="small">visuel structuration.</text>
<text x="30" y="168" class="small">Besoin de repeter l'oral :</text>
<text x="30" y="196" class="small">verbal oralisation.</text>
<text x="30" y="240" class="small">Reussite sur 1 et 2 mais chute sur 3 et 4 :</text>
<text x="30" y="268" class="small">charge réduite ou règles.</text>
<text x="30" y="312" class="small">L'enfant entend mieux quand on raconte :</text>
<text x="30" y="340" class="small">image et concret.</text>
<text x="30" y="404" class="small">Ne pas conclure trop vite :</text>
<text x="30" y="432" class="small">observer surtout la stratégie.</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@@ -0,0 +1,61 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900">
<defs>
<style>
.bg { fill: #f6f5ef; }
.panel { fill: #ffffff; stroke: #e2ebe6; stroke-width: 2; }
.softBlue { fill: #eef5fb; stroke: #c7dced; stroke-width: 2; }
.softOrange { fill: #fff3e8; stroke: #f1d3b7; stroke-width: 2; }
.softGreen { fill: #eef7f4; stroke: #c9dfd8; stroke-width: 2; }
.title { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 50px; font-weight: 800; fill: #074f4b; }
.subtitle { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 24px; font-weight: 700; fill: #1e3540; }
.h2 { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 26px; font-weight: 800; fill: #074f4b; }
.body { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 21px; fill: #1d3038; }
.small { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 18px; fill: #2d4148; }
.good { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 18px; font-weight: 800; fill: #2f9246; }
</style>
</defs>
<rect class="bg" width="1600" height="900"/>
<rect x="56" y="42" width="1488" height="816" rx="34" class="panel"/>
<text x="800" y="106" text-anchor="middle" class="title">Test 03 - Corrigé et lecture des biais</text>
<text x="800" y="146" text-anchor="middle" class="subtitle">Reponses attendues et interpretation pour le routage</text>
<line x1="360" y1="176" x2="1240" y2="176" stroke="#dbe8e3" stroke-width="4"/>
<g transform="translate(94 214)">
<rect x="0" y="0" width="446" height="534" rx="24" class="softBlue"/>
<text x="28" y="42" class="h2">A. Bonnes réponses</text>
<text x="28" y="94" class="body">506 012 :</text>
<text x="28" y="126" class="good">a. cinq-cent-six-mille-douze</text>
<text x="28" y="184" class="body">38 090 :</text>
<text x="28" y="216" class="good">a. trente-huit-mille-quatre-vingt-dix</text>
<text x="28" y="292" class="small">Si l'enfant choisit b ou c, il traite</text>
<text x="28" y="320" class="small">mal les zeros ou lit sans classes.</text>
</g>
<g transform="translate(576 214)">
<rect x="0" y="0" width="446" height="534" rx="24" class="softOrange"/>
<text x="28" y="42" class="h2">B. Reponse attendue</text>
<text x="28" y="96" class="small">Pour 45012, l'enfant n'a pas marque</text>
<text x="28" y="124" class="small">le groupe des milliers avec un espace</text>
<text x="28" y="152" class="small">et peut ne pas voir la classe complete.</text>
<text x="28" y="222" class="small">Aide utile : découper en boîtes</text>
<text x="28" y="250" class="small">ou faire verbaliser la procedure.</text>
<text x="28" y="328" class="small">Pour 208 017, la difficulte porte</text>
<text x="28" y="356" class="small">sur la lecture du second groupe 017.</text>
<text x="28" y="384" class="small">Aide utile : lire groupe par groupe.</text>
</g>
<g transform="translate(1058 214)">
<rect x="0" y="0" width="446" height="534" rx="24" class="softGreen"/>
<text x="28" y="42" class="h2">C. Orientation</text>
<text x="28" y="96" class="small">Meilleur resultat avec 324 | 018 :</text>
<text x="28" y="124" class="small">profil visuel structuration.</text>
<text x="28" y="176" class="small">Meilleur résultat après reformulation orale :</text>
<text x="28" y="204" class="small">profil verbal oralisation.</text>
<text x="28" y="256" class="small">Meilleur resultat avec exemple raconte :</text>
<text x="28" y="284" class="small">profil image et concret.</text>
<text x="28" y="336" class="small">Besoin d'une procedure stable :</text>
<text x="28" y="364" class="small">profil règles et patterns.</text>
<text x="28" y="416" class="small">Réussite seulement en format très léger :</text>
<text x="28" y="444" class="small">profil charge réduite.</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@@ -0,0 +1,34 @@
# Test 01 - Lecture rapide
## But
Vérifier si l'enfant sait lire des nombres écrits en classes.
## Consigne
Lis chaque nombre à voix haute.
## Série A - nombres simples
- `4 213`
- `12 500`
- `45 008`
## Série B - attention aux zéros
- `30 040`
- `208 017`
- `506 012`
## Ce qu'on observe
- lecture par classes ou pas ;
- oubli des zéros ;
- confusion dans l'ordre ;
- fatigue rapide dès que le nombre s'allonge.
## Indices d'orientation
- Si l'enfant réussit mieux quand on cache une classe puis l'autre : `01_visuel_structuration`.
- Si l'enfant demande à répéter à voix haute avant de réussir : `02_verbal_oralisation`.
- Si l'enfant bloque surtout sur les nombres avec zéro : `04_regles_et_patterns`.

View File

@@ -0,0 +1,29 @@
# Test 02 - Écriture sous dictée
## But
Vérifier si l'enfant transforme correctement l'oral en écriture chiffrée.
## Consigne
Écris en chiffres les nombres dictés.
## Liste
- sept-mille-quatre-cent-cinq
- trente-huit-mille-dix
- deux-cent-six-mille-douze
- quatre-cent-neuf-mille-quatre-vingts
## Ce qu'on observe
- l'espace entre les classes ;
- la place correcte des zéros ;
- la distinction entre `dix`, `douze`, `quatre-vingts` ;
- les erreurs de segmentation orale.
## Indices d'orientation
- Si l'enfant entend bien mais écrit mal les groupes : `01_visuel_structuration`.
- Si l'enfant a besoin de répéter la dictée à haute voix : `02_verbal_oralisation`.
- Si l'enfant se trompe surtout dans les nombres entendus comme des chaînes longues : `05_progressif_charge_reduite`.

View File

@@ -0,0 +1,47 @@
# Test 03 - Biais et stratégies
## But
Repère rapide des erreurs typiques et de la stratégie naturelle de l'enfant.
## Partie A - choisir la bonne lecture
`506 012` se lit :
- `cinq-cent-six-mille-douze`
- `cinq-zero-six-zero-un-deux`
- `cinq-cent-six-douze`
`38 090` se lit :
- `trente-huit-mille-quatre-vingt-dix`
- `trente-huit-mille-zero-quatre-vingt-dix`
- `trois-huit-zero-neuf-zero`
## Partie B - corriger l'erreur
Un enfant a écrit `45012` pour `quarante-cinq-mille-douze`.
- Qu'a-t-il oublié ?
- Comment l'aiderais-tu ?
Un enfant lit `208 017` comme `deux-cent-huit-mille-dix-sept` puis hésite longtemps.
- Que regarde-t-il mal ?
- Que peut-il faire pour mieux lire ?
## Partie C - essayer deux aides
Proposer le même nombre `324 018` de deux façons :
1. tel quel ;
2. dans deux boîtes `324 | 018`.
Observer avec quel support l'enfant réussit le mieux.
## Indices d'orientation
- Meilleure réussite avec boîtes ou couleurs : `01_visuel_structuration`.
- Meilleure réussite après explication orale : `02_verbal_oralisation`.
- Meilleure réussite quand on part d'une situation concrète : `03_image_concret`.
- Meilleure réussite quand on rappelle une règle fixe : `04_regles_et_patterns`.

View File

@@ -0,0 +1,23 @@
# 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.

View File

@@ -0,0 +1,41 @@
# 02 - Valeur et position des chiffres
## Objectif eleve
Comprendre qu'un meme chiffre n'a pas toujours la meme valeur : sa valeur depend de sa position dans le nombre.
## Message central
Dans `42 642`, le chiffre `4` n'a pas la meme valeur aux deux endroits.
- Le premier `4` vaut `40 000`.
- Le deuxieme `4` vaut `40`.
## Contenu de cours
La numeration est positionnelle :
- chaque colonne a une valeur ;
- plus un chiffre est place vers la gauche, plus sa valeur est grande ;
- les zeros peuvent servir a garder une position vide.
## Exemples resolus
| Nombre | Chiffre observe | Valeur |
| --- | --- | --- |
| `8 305` | `8` | `8 000` |
| `18 305` | `8` | `8 000` |
| `80 305` | `8` | `80 000` |
## Piste visuelle
Une table de position avec les colonnes :
`centaines de mille`, `dizaines de mille`, `unites de mille`, `centaines`, `dizaines`, `unites`.
## Variante exercice plus tard
Demander :
- Dans `73 482`, quelle est la valeur du chiffre `7` ?
- Dans `73 482`, quelle est la valeur du chiffre `4` ?

View File

@@ -0,0 +1,33 @@
# 03 - Comparer des nombres entiers
## Objectif eleve
Comparer deux nombres entiers avec les signes `=`, `<` et `>`.
## Message central
Pour comparer deux nombres, on regarde d'abord le nombre de chiffres. S'ils ont autant de chiffres, on compare de gauche a droite.
## Methode
1. Je compte le nombre de chiffres.
2. Si un nombre a plus de chiffres, il est plus grand.
3. Si les deux nombres ont autant de chiffres, je compare chiffre par chiffre depuis la gauche.
## Exemples resolus
| Comparaison | Explication |
| --- | --- |
| `8 540 < 12 300` | `12 300` a plus de chiffres. |
| `45 208 > 45 180` | les milliers sont egaux, puis `208 > 180`. |
| `306 019 = 306 019` | les deux nombres sont identiques. |
## Piste visuelle
Deux cartes de nombres face a face, avec un grand signe au centre.
## Variante exercice plus tard
Remplacer le signe par une case vide :
`45 208 __ 45 180`

View File

@@ -0,0 +1,39 @@
# 04 - Encadrer et intercaler des nombres entiers
## Objectif eleve
Encadrer un nombre entre deux nombres et intercaler un nombre dans un intervalle.
## Message central
Encadrer, c'est dire entre quels nombres se trouve un nombre donne.
Exemple : `3 000 < 3 245 < 4 000`.
## Contenu de cours
On peut encadrer :
- a la dizaine pres ;
- a la centaine pres ;
- au millier pres.
Intercaler, c'est trouver un nombre entre deux autres.
Exemple : entre `5 200` et `5 300`, on peut intercaler `5 250`.
## Exemples resolus
| Consigne | Reponse |
| --- | --- |
| Encadrer `6 742` au millier pres | `6 000 < 6 742 < 7 000` |
| Encadrer `18 430` a la centaine pres | `18 400 < 18 430 < 18 500` |
| Intercaler entre `12 000` et `13 000` | `12 500` |
## Piste visuelle
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.

View File

@@ -0,0 +1,34 @@
# 05 - Ordonner des nombres entiers
## Objectif eleve
Ranger plusieurs nombres entiers dans l'ordre croissant ou decroissant.
## Message central
Ordonner, c'est ranger les nombres du plus petit au plus grand, ou du plus grand au plus petit.
## Vocabulaire
- Ordre croissant : du plus petit au plus grand.
- Ordre decroissant : du plus grand au plus petit.
## Exemples resolus
Nombres : `8 420`, `8 024`, `12 000`, `7 999`
Ordre croissant :
`7 999 < 8 024 < 8 420 < 12 000`
Ordre decroissant :
`12 000 > 8 420 > 8 024 > 7 999`
## Piste visuelle
Une file de cartes que l'on deplace vers une fleche croissante.
## Variante exercice plus tard
Afficher les cartes en desordre et demander de les glisser ou de les numeroter.

View File

@@ -0,0 +1,36 @@
# 06 - Placer sur une demi-droite graduee
## Objectif eleve
Placer un nombre entier et reperer un point sur une demi-droite graduee.
## Message central
Sur une demi-droite graduee, les nombres augmentent quand on va vers la droite.
## Contenu de cours
Pour placer un nombre :
1. Je regarde les nombres deja ecrits.
2. Je comprends le pas de graduation.
3. Je compte les graduations jusqu'au bon endroit.
## Exemples resolus
Si les graduations vont de `100` en `100` :
- apres `1 000`, on trouve `1 100`, puis `1 200` ;
- le nombre `1 500` est cinq graduations apres `1 000`.
## Piste visuelle
Une demi-droite simple, avec peu de graduations et des etiquettes bien separees.
## Regle visuelle obligatoire
Les etiquettes numeriques doivent etre sous la droite, dans une zone libre. Aucune etiquette ne doit toucher la ligne ou une graduation.
## Variante exercice plus tard
Masquer une etiquette ou demander de placer un point donne.

View File

@@ -0,0 +1,35 @@
# 07 - Multiples de 2, 5 et 10
## Objectif eleve
Reconnaitre rapidement si un nombre est multiple de `2`, de `5` ou de `10`.
## Message central
On peut souvent savoir si un nombre est divisible par `2`, `5` ou `10` en regardant son dernier chiffre.
## Regles
- Multiple de `2` : le nombre se termine par `0`, `2`, `4`, `6` ou `8`.
- Multiple de `5` : le nombre se termine par `0` ou `5`.
- Multiple de `10` : le nombre se termine par `0`.
## Exemples resolus
| Nombre | Multiple de 2 ? | Multiple de 5 ? | Multiple de 10 ? |
| --- | --- | --- | --- |
| `340` | oui | oui | oui |
| `125` | non | oui | non |
| `678` | oui | non | non |
## Piste visuelle
Trois badges separes `2`, `5`, `10`, chacun avec sa regle courte.
## Regle visuelle obligatoire
Les badges ne doivent jamais chevaucher les textes explicatifs. Chaque badge doit avoir son propre espace.
## Variante exercice plus tard
Afficher un nombre et demander de cocher les badges correspondants.

View File

@@ -0,0 +1,78 @@
# CM1 - Nombres entiers
Source : `extractions_pdf_indexed/013.txt`
Domaine : Nombres, calcul et resolution de problemes
Sous-theme : Les nombres entiers
Niveau : CM1
## Role de ce dossier
Ce dossier descend d'un niveau sous la fiche d'orientation `Les nombres entiers`.
La fiche visuelle de reference actuelle est utile pour l'enseignant ou pour poser le cadre, mais elle n'est pas assez ciblee pour un usage direct par un eleve. Les fiches de ce dossier doivent donc traiter une seule competence a la fois.
## Fiches ciblees prevues
1. `01_lecture_ecriture_nombres_entiers.md` : lire et ecrire les nombres entiers jusqu'a `999 999`.
2. `02_valeur_position_chiffres.md` : comprendre que la valeur d'un chiffre depend de sa position.
3. `03_comparer_nombres_entiers.md` : comparer deux nombres avec `=`, `<`, `>`.
4. `04_encadrer_intercaler_nombres_entiers.md` : encadrer et intercaler des nombres.
5. `05_ordonner_nombres_entiers.md` : ranger des nombres dans l'ordre croissant ou decroissant.
6. `06_placer_demi_droite_graduee.md` : placer et reperer des nombres sur une demi-droite graduee.
7. `07_multiples_divisibilite_2_5_10.md` : reconnaitre des multiples de `2`, `5` et `10`.
Les versions SVG sont stockees dans `svg/`.
## SVG generes
Premiere passe SVG creee :
- `svg/01_lecture_ecriture_nombres_entiers.svg`
- `svg/02_valeur_position_chiffres.svg`
- `svg/03_comparer_nombres_entiers.svg`
- `svg/04_encadrer_intercaler_nombres_entiers.svg`
- `svg/05_ordonner_nombres_entiers.svg`
- `svg/06_placer_demi_droite_graduee.svg`
- `svg/07_multiples_divisibilite_2_5_10.svg`
Statut : brouillons visuels propres, a relire sur le contenu avant validation finale.
Contraintes respectees :
- pas de professeur integre dans les fiches ;
- une competence ciblee par fiche ;
- exemples courts et lisibles ;
- pas d'image bitmap integree ;
- SVG valides comme XML.
## Retours de relecture visuelle a corriger
- Traite : `svg/01_lecture_ecriture_nombres_entiers.svg` : les libelles `milliers` et `unites simples` ont ete remontes dans la carte `La methode`.
- Traite : `svg/04_encadrer_intercaler_nombres_entiers.svg` : les pastilles de la carte `Je peux encadrer` ont ete recentrees ; l'exemple `6 742` a ete remplace par `6 700` avec une droite graduee plus fine.
## Regle de granularite
Une fiche = une competence = quelques exemples lisibles.
Chaque fiche doit pouvoir exister en deux variantes plus tard :
- mode cours : exemples resolus, vocabulaire explicite, reponse visible ;
- mode exercice : memes situations, mais certaines reponses cachees ou transformees en questions.
## Attention sur les decimaux
La demande initiale mentionne `lecture des nombres decimaux`. Cette competence existe bien en CM1, mais elle appartient a une autre sous-partie du programme : `Les nombres decimaux`.
Dans ce dossier, on traite uniquement les nombres entiers. Une branche separee devra etre creee plus tard pour les decimaux.
## Prototype adaptatif
Un premier essai de dossier `test + lecon + exercices adaptes` a ete cree pour la micro-fiche :
- `01_lecture_ecriture_nombres_entiers_kit_adaptatif/`
Objectif :
- faire passer un mini-test prealable ;
- reperer les faiblesses et erreurs typiques ;
- orienter vers des exercices selon un profil pedagogique observable.

View File

@@ -0,0 +1,77 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900">
<defs>
<style>
.bg { fill: #f6f5ef; }
.panel { fill: #ffffff; stroke: #e2ebe6; stroke-width: 2; filter: drop-shadow(0 10px 24px rgba(22, 42, 45, 0.10)); }
.soft { fill: #eef7f4; stroke: #c9dfd8; stroke-width: 2; }
.title { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 58px; font-weight: 800; fill: #074f4b; }
.subtitle { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 26px; font-weight: 700; fill: #1e3540; }
.h2 { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 30px; font-weight: 800; fill: #074f4b; }
.h2blue { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 28px; font-weight: 800; fill: #1d78b5; }
.h2orange { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 28px; font-weight: 800; fill: #e78232; }
.body { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 24px; fill: #1d3038; }
.small { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 19px; fill: #2d4148; }
.tiny { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 15px; fill: #2d4148; }
.num { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 48px; font-weight: 800; fill: #074f4b; }
.whiteText { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 24px; font-weight: 800; fill: #ffffff; }
.green { fill: #2f9246; }
.blue { fill: #1d78b5; }
.orange { fill: #e78232; }
.line { stroke: #26383d; stroke-width: 4; stroke-linecap: round; }
</style>
</defs>
<rect class="bg" width="1600" height="900"/>
<rect x="56" y="42" width="1488" height="816" rx="34" class="panel"/>
<text x="800" y="116" text-anchor="middle" class="title">Lire les nombres entiers</text>
<text x="800" y="160" text-anchor="middle" class="subtitle">Maths CM1 - Nombres entiers jusqu'&#224; 999 999</text>
<line x1="430" y1="194" x2="1170" y2="194" stroke="#dbe8e3" stroke-width="4"/>
<g transform="translate(110 235)">
<rect x="0" y="0" width="520" height="250" rx="24" class="panel"/>
<text x="34" y="54" class="h2">La m&#233;thode</text>
<text x="34" y="104" class="body">Je coupe le nombre</text>
<text x="34" y="138" class="body">en groupes de 3 chiffres.</text>
<g transform="translate(40 158)">
<rect x="0" y="0" width="178" height="52" rx="15" fill="#e8f3ee"/>
<rect x="218" y="0" width="202" height="52" rx="15" fill="#e8f3ee"/>
<text x="89" y="34" text-anchor="middle" class="body">345</text>
<text x="319" y="34" text-anchor="middle" class="body">208</text>
<text x="89" y="78" text-anchor="middle" class="tiny">milliers</text>
<text x="319" y="78" text-anchor="middle" class="tiny">unit&#233;s simples</text>
</g>
</g>
<g transform="translate(675 235)">
<rect x="0" y="0" width="410" height="250" rx="24" class="soft"/>
<text x="32" y="54" class="h2blue">Exemple</text>
<text x="205" y="125" text-anchor="middle" class="num">345 208</text>
<text x="205" y="178" text-anchor="middle" class="body">se lit :</text>
<text x="205" y="216" text-anchor="middle" class="small">trois-cent-quarante-cinq-mille</text>
<text x="205" y="240" text-anchor="middle" class="small">deux-cent-huit</text>
</g>
<g transform="translate(1130 235)">
<rect x="0" y="0" width="330" height="250" rx="24" class="panel"/>
<text x="32" y="54" class="h2orange">&#192; retenir</text>
<text x="32" y="104" class="body">Je lis d'abord</text>
<text x="32" y="138" class="body">les milliers.</text>
<text x="32" y="186" class="body">Puis je lis</text>
<text x="32" y="220" class="body">les unit&#233;s simples.</text>
</g>
<g transform="translate(110 535)">
<rect x="0" y="0" width="1350" height="220" rx="24" class="panel"/>
<text x="34" y="52" class="h2blue">Exemples r&#233;solus</text>
<g transform="translate(55 88)">
<rect x="0" y="0" width="360" height="90" rx="18" fill="#f7fbf9" stroke="#edf3f0"/>
<text x="35" y="36" class="body">7 425</text>
<text x="35" y="68" class="small">sept-mille-quatre-cent-vingt-cinq</text>
<rect x="440" y="0" width="380" height="90" rx="18" fill="#f7fbf9" stroke="#edf3f0"/>
<text x="475" y="36" class="body">38 090</text>
<text x="475" y="68" class="small">trente-huit-mille-quatre-vingt-dix</text>
<rect x="860" y="0" width="380" height="90" rx="18" fill="#f7fbf9" stroke="#edf3f0"/>
<text x="895" y="36" class="body">506 012</text>
<text x="895" y="68" class="small">cinq-cent-six-mille-douze</text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

@@ -0,0 +1,72 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900">
<defs>
<style>
.bg { fill: #f6f5ef; }
.panel { fill: #ffffff; stroke: #e2ebe6; stroke-width: 2; filter: drop-shadow(0 10px 24px rgba(22, 42, 45, 0.10)); }
.soft { fill: #eef7f4; stroke: #c9dfd8; stroke-width: 2; }
.title { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 58px; font-weight: 800; fill: #074f4b; }
.subtitle { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 26px; font-weight: 700; fill: #1e3540; }
.h2 { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 30px; font-weight: 800; fill: #074f4b; }
.h2blue { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 28px; font-weight: 800; fill: #1d78b5; }
.h2orange { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 28px; font-weight: 800; fill: #e78232; }
.body { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 24px; fill: #1d3038; }
.small { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 19px; fill: #2d4148; }
.tiny { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 15px; fill: #2d4148; }
.num { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 48px; font-weight: 800; fill: #074f4b; }
.whiteText { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 22px; font-weight: 800; fill: #ffffff; }
.blueBox { fill: #1d78b5; }
.orangeBox { fill: #e78232; }
</style>
</defs>
<rect class="bg" width="1600" height="900"/>
<rect x="56" y="42" width="1488" height="816" rx="34" class="panel"/>
<text x="800" y="116" text-anchor="middle" class="title">Valeur et position</text>
<text x="800" y="160" text-anchor="middle" class="subtitle">Maths CM1 - Un chiffre change de valeur selon sa place</text>
<line x1="430" y1="194" x2="1170" y2="194" stroke="#dbe8e3" stroke-width="4"/>
<g transform="translate(110 235)">
<rect x="0" y="0" width="560" height="250" rx="24" class="panel"/>
<text x="34" y="54" class="h2">Id&#233;e importante</text>
<text x="34" y="104" class="body">Dans un nombre, une colonne</text>
<text x="34" y="138" class="body">donne la valeur du chiffre.</text>
<text x="34" y="198" class="body">Plus on va vers la gauche,</text>
<text x="34" y="232" class="body">plus la valeur est grande.</text>
</g>
<g transform="translate(720 235)">
<rect x="0" y="0" width="720" height="250" rx="24" class="soft"/>
<text x="32" y="54" class="h2blue">Exemple : 42 642</text>
<text x="360" y="116" text-anchor="middle" class="num">42 642</text>
<g transform="translate(74 150)">
<rect x="0" y="0" width="250" height="68" rx="18" class="blueBox"/>
<text x="125" y="42" text-anchor="middle" class="whiteText">4 vaut 40 000</text>
<rect x="350" y="0" width="250" height="68" rx="18" class="orangeBox"/>
<text x="475" y="42" text-anchor="middle" class="whiteText">4 vaut 40</text>
</g>
</g>
<g transform="translate(110 535)">
<rect x="0" y="0" width="1350" height="220" rx="24" class="panel"/>
<text x="34" y="52" class="h2orange">Table de position</text>
<g transform="translate(65 92)">
<rect x="0" y="0" width="170" height="62" rx="14" fill="#e8f3ee"/>
<rect x="190" y="0" width="170" height="62" rx="14" fill="#e8f3ee"/>
<rect x="380" y="0" width="170" height="62" rx="14" fill="#e8f3ee"/>
<rect x="570" y="0" width="170" height="62" rx="14" fill="#e8f3ee"/>
<rect x="760" y="0" width="170" height="62" rx="14" fill="#e8f3ee"/>
<rect x="950" y="0" width="170" height="62" rx="14" fill="#e8f3ee"/>
<text x="85" y="39" text-anchor="middle" class="body">c. mille</text>
<text x="275" y="39" text-anchor="middle" class="body">d. mille</text>
<text x="465" y="39" text-anchor="middle" class="body">u. mille</text>
<text x="655" y="39" text-anchor="middle" class="body">centaines</text>
<text x="845" y="39" text-anchor="middle" class="body">dizaines</text>
<text x="1035" y="39" text-anchor="middle" class="body">unit&#233;s</text>
<text x="85" y="106" text-anchor="middle" class="small">100 000</text>
<text x="275" y="106" text-anchor="middle" class="small">10 000</text>
<text x="465" y="106" text-anchor="middle" class="small">1 000</text>
<text x="655" y="106" text-anchor="middle" class="small">100</text>
<text x="845" y="106" text-anchor="middle" class="small">10</text>
<text x="1035" y="106" text-anchor="middle" class="small">1</text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

@@ -0,0 +1,69 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900">
<defs>
<style>
.bg { fill: #f6f5ef; }
.panel { fill: #ffffff; stroke: #e2ebe6; stroke-width: 2; filter: drop-shadow(0 10px 24px rgba(22, 42, 45, 0.10)); }
.soft { fill: #eef7f4; stroke: #c9dfd8; stroke-width: 2; }
.title { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 58px; font-weight: 800; fill: #074f4b; }
.subtitle { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 26px; font-weight: 700; fill: #1e3540; }
.h2 { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 30px; font-weight: 800; fill: #074f4b; }
.h2blue { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 28px; font-weight: 800; fill: #1d78b5; }
.h2orange { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 28px; font-weight: 800; fill: #e78232; }
.body { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 24px; fill: #1d3038; }
.small { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 19px; fill: #2d4148; }
.num { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 46px; font-weight: 800; fill: #074f4b; }
.sign { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 70px; font-weight: 800; fill: #e78232; }
.badge { fill: #1d78b5; }
.whiteText { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 22px; font-weight: 800; fill: #ffffff; }
</style>
</defs>
<rect class="bg" width="1600" height="900"/>
<rect x="56" y="42" width="1488" height="816" rx="34" class="panel"/>
<text x="800" y="116" text-anchor="middle" class="title">Comparer des nombres</text>
<text x="800" y="160" text-anchor="middle" class="subtitle">Maths CM1 - Utiliser =, &lt; et &gt;</text>
<line x1="430" y1="194" x2="1170" y2="194" stroke="#dbe8e3" stroke-width="4"/>
<g transform="translate(110 235)">
<rect x="0" y="0" width="430" height="250" rx="24" class="panel"/>
<text x="34" y="54" class="h2">M&#233;thode</text>
<text x="34" y="104" class="body">1. Je compte les chiffres.</text>
<text x="34" y="146" class="body">2. Je compare depuis</text>
<text x="67" y="180" class="body">la gauche.</text>
<text x="34" y="224" class="small">Le plus grand gagne.</text>
</g>
<g transform="translate(585 235)">
<rect x="0" y="0" width="460" height="250" rx="24" class="soft"/>
<text x="32" y="54" class="h2blue">Exemple</text>
<text x="105" y="145" text-anchor="middle" class="num">45 208</text>
<text x="230" y="152" text-anchor="middle" class="sign">&gt;</text>
<text x="355" y="145" text-anchor="middle" class="num">45 180</text>
<text x="230" y="212" text-anchor="middle" class="small">208 est plus grand que 180.</text>
</g>
<g transform="translate(1090 235)">
<rect x="0" y="0" width="350" height="250" rx="24" class="panel"/>
<text x="32" y="54" class="h2orange">Signes</text>
<g transform="translate(38 92)">
<rect x="0" y="0" width="74" height="62" rx="15" class="badge"/>
<rect x="100" y="0" width="74" height="62" rx="15" fill="#2f9246"/>
<rect x="200" y="0" width="74" height="62" rx="15" fill="#e78232"/>
<text x="37" y="42" text-anchor="middle" class="whiteText">&lt;</text>
<text x="137" y="42" text-anchor="middle" class="whiteText">=</text>
<text x="237" y="42" text-anchor="middle" class="whiteText">&gt;</text>
</g>
<text x="32" y="196" class="small">Je choisis le signe</text>
<text x="32" y="222" class="small">qui convient.</text>
</g>
<g transform="translate(110 535)">
<rect x="0" y="0" width="1350" height="220" rx="24" class="panel"/>
<text x="34" y="52" class="h2blue">Exemples r&#233;solus</text>
<text x="80" y="112" class="body">8 540 &lt; 12 300</text>
<text x="80" y="154" class="small">12 300 a plus de chiffres.</text>
<text x="520" y="112" class="body">45 208 &gt; 45 180</text>
<text x="520" y="154" class="small">On compare depuis la gauche.</text>
<text x="980" y="112" class="body">306 019 = 306 019</text>
<text x="980" y="154" class="small">Les nombres sont identiques.</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@@ -0,0 +1,81 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900">
<defs>
<style>
.bg { fill: #f6f5ef; }
.panel { fill: #ffffff; stroke: #e2ebe6; stroke-width: 2; filter: drop-shadow(0 10px 24px rgba(22, 42, 45, 0.10)); }
.soft { fill: #eef7f4; stroke: #c9dfd8; stroke-width: 2; }
.title { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 58px; font-weight: 800; fill: #074f4b; }
.subtitle { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 26px; font-weight: 700; fill: #1e3540; }
.h2 { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 30px; font-weight: 800; fill: #074f4b; }
.h2blue { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 28px; font-weight: 800; fill: #1d78b5; }
.h2orange { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 28px; font-weight: 800; fill: #e78232; }
.body { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 24px; fill: #1d3038; }
.small { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 19px; fill: #2d4148; }
.num { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 36px; font-weight: 800; fill: #074f4b; }
.whiteText { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 22px; font-weight: 800; fill: #ffffff; }
.line { stroke: #26383d; stroke-width: 4; stroke-linecap: round; }
.thin { stroke: #26383d; stroke-width: 2.5; stroke-linecap: round; }
.orange { fill: #e78232; }
.blue { fill: #1d78b5; }
.green { fill: #2f9246; }
</style>
</defs>
<rect class="bg" width="1600" height="900"/>
<rect x="56" y="42" width="1488" height="816" rx="34" class="panel"/>
<text x="800" y="116" text-anchor="middle" class="title">Encadrer et intercaler</text>
<text x="800" y="160" text-anchor="middle" class="subtitle">Maths CM1 - Trouver entre quels nombres on se place</text>
<line x1="430" y1="194" x2="1170" y2="194" stroke="#dbe8e3" stroke-width="4"/>
<g transform="translate(110 235)">
<rect x="0" y="0" width="430" height="250" rx="24" class="panel"/>
<text x="34" y="54" class="h2">Encadrer</text>
<text x="34" y="104" class="body">C'est placer un nombre</text>
<text x="34" y="138" class="body">entre deux bornes.</text>
<text x="34" y="198" class="num">3 000 &lt; 3 245 &lt; 4 000</text>
</g>
<g transform="translate(585 235)">
<rect x="0" y="0" width="460" height="250" rx="24" class="soft"/>
<text x="32" y="54" class="h2blue">Intercaler</text>
<text x="32" y="104" class="body">C'est trouver un nombre</text>
<text x="32" y="138" class="body">entre deux autres.</text>
<text x="230" y="200" text-anchor="middle" class="num">5 200 &lt; 5 250 &lt; 5 300</text>
</g>
<g transform="translate(1090 235)">
<rect x="0" y="0" width="350" height="250" rx="24" class="panel"/>
<text x="32" y="54" class="h2orange">Je peux encadrer</text>
<g transform="translate(42 88)">
<rect x="0" y="0" width="250" height="38" rx="12" class="blue"/>
<text x="125" y="26" text-anchor="middle" class="whiteText">au millier</text>
<rect x="0" y="54" width="250" height="38" rx="12" class="green"/>
<text x="125" y="80" text-anchor="middle" class="whiteText">&#224; la centaine</text>
<rect x="0" y="108" width="250" height="38" rx="12" class="orange"/>
<text x="125" y="134" text-anchor="middle" class="whiteText">&#224; la dizaine</text>
</g>
</g>
<g transform="translate(110 535)">
<rect x="0" y="0" width="1350" height="220" rx="24" class="panel"/>
<text x="34" y="52" class="h2blue">Exemple sur une ligne</text>
<g transform="translate(135 88)">
<line x1="0" y1="60" x2="1020" y2="60" class="line"/>
<line x1="0" y1="42" x2="0" y2="78" class="thin"/>
<line x1="102" y1="48" x2="102" y2="72" class="thin"/>
<line x1="204" y1="48" x2="204" y2="72" class="thin"/>
<line x1="306" y1="48" x2="306" y2="72" class="thin"/>
<line x1="408" y1="48" x2="408" y2="72" class="thin"/>
<line x1="510" y1="42" x2="510" y2="78" class="thin"/>
<line x1="612" y1="48" x2="612" y2="72" class="thin"/>
<line x1="714" y1="48" x2="714" y2="72" class="thin"/>
<line x1="816" y1="48" x2="816" y2="72" class="thin"/>
<line x1="918" y1="48" x2="918" y2="72" class="thin"/>
<line x1="1020" y1="42" x2="1020" y2="78" class="thin"/>
<circle cx="714" cy="60" r="14" class="orange"/>
<text x="0" y="120" text-anchor="middle" class="body">6 000</text>
<text x="510" y="120" text-anchor="middle" class="body">6 500</text>
<text x="714" y="28" text-anchor="middle" class="body">6 700</text>
<text x="1020" y="120" text-anchor="middle" class="body">7 000</text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@@ -0,0 +1,71 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900">
<defs>
<style>
.bg { fill: #f6f5ef; }
.panel { fill: #ffffff; stroke: #e2ebe6; stroke-width: 2; filter: drop-shadow(0 10px 24px rgba(22, 42, 45, 0.10)); }
.soft { fill: #eef7f4; stroke: #c9dfd8; stroke-width: 2; }
.title { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 58px; font-weight: 800; fill: #074f4b; }
.subtitle { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 26px; font-weight: 700; fill: #1e3540; }
.h2 { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 30px; font-weight: 800; fill: #074f4b; }
.h2blue { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 28px; font-weight: 800; fill: #1d78b5; }
.h2orange { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 28px; font-weight: 800; fill: #e78232; }
.body { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 24px; fill: #1d3038; }
.small { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 19px; fill: #2d4148; }
.num { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 34px; font-weight: 800; fill: #074f4b; }
.whiteText { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 22px; font-weight: 800; fill: #ffffff; }
.arrow { stroke: #26383d; stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; fill: none; }
.orange { fill: #e78232; }
.blue { fill: #1d78b5; }
.green { fill: #2f9246; }
</style>
</defs>
<rect class="bg" width="1600" height="900"/>
<rect x="56" y="42" width="1488" height="816" rx="34" class="panel"/>
<text x="800" y="116" text-anchor="middle" class="title">Ordonner des nombres</text>
<text x="800" y="160" text-anchor="middle" class="subtitle">Maths CM1 - Ranger du plus petit au plus grand</text>
<line x1="430" y1="194" x2="1170" y2="194" stroke="#dbe8e3" stroke-width="4"/>
<g transform="translate(110 235)">
<rect x="0" y="0" width="620" height="250" rx="24" class="panel"/>
<text x="34" y="54" class="h2">Vocabulaire</text>
<g transform="translate(36 94)">
<rect x="0" y="0" width="252" height="92" rx="18" class="blue"/>
<text x="126" y="38" text-anchor="middle" class="whiteText">Ordre croissant</text>
<text x="126" y="70" text-anchor="middle" class="whiteText">du petit au grand</text>
<rect x="310" y="0" width="252" height="92" rx="18" class="orange"/>
<text x="436" y="38" text-anchor="middle" class="whiteText">Ordre d&#233;croissant</text>
<text x="436" y="70" text-anchor="middle" class="whiteText">du grand au petit</text>
</g>
</g>
<g transform="translate(780 235)">
<rect x="0" y="0" width="660" height="250" rx="24" class="soft"/>
<text x="32" y="54" class="h2blue">Nombres &#224; ranger</text>
<g transform="translate(50 100)">
<rect x="0" y="0" width="120" height="62" rx="16" fill="#ffffff" stroke="#d7e8e0"/>
<rect x="148" y="0" width="120" height="62" rx="16" fill="#ffffff" stroke="#d7e8e0"/>
<rect x="296" y="0" width="132" height="62" rx="16" fill="#ffffff" stroke="#d7e8e0"/>
<rect x="456" y="0" width="120" height="62" rx="16" fill="#ffffff" stroke="#d7e8e0"/>
<text x="60" y="39" text-anchor="middle" class="body">8 420</text>
<text x="208" y="39" text-anchor="middle" class="body">8 024</text>
<text x="362" y="39" text-anchor="middle" class="body">12 000</text>
<text x="516" y="39" text-anchor="middle" class="body">7 999</text>
</g>
</g>
<g transform="translate(110 535)">
<rect x="0" y="0" width="1350" height="220" rx="24" class="panel"/>
<text x="34" y="52" class="h2orange">Ordre croissant</text>
<path d="M125 132 L1180 132 M1150 110 L1180 132 L1150 154" class="arrow"/>
<g transform="translate(100 82)">
<rect x="0" y="0" width="160" height="72" rx="18" fill="#e8f3ee"/>
<rect x="290" y="0" width="160" height="72" rx="18" fill="#e8f3ee"/>
<rect x="580" y="0" width="160" height="72" rx="18" fill="#e8f3ee"/>
<rect x="870" y="0" width="170" height="72" rx="18" fill="#e8f3ee"/>
<text x="80" y="45" text-anchor="middle" class="num">7 999</text>
<text x="370" y="45" text-anchor="middle" class="num">8 024</text>
<text x="660" y="45" text-anchor="middle" class="num">8 420</text>
<text x="955" y="45" text-anchor="middle" class="num">12 000</text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

@@ -0,0 +1,66 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900">
<defs>
<style>
.bg { fill: #f6f5ef; }
.panel { fill: #ffffff; stroke: #e2ebe6; stroke-width: 2; filter: drop-shadow(0 10px 24px rgba(22, 42, 45, 0.10)); }
.soft { fill: #eef7f4; stroke: #c9dfd8; stroke-width: 2; }
.title { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 58px; font-weight: 800; fill: #074f4b; }
.subtitle { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 26px; font-weight: 700; fill: #1e3540; }
.h2 { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 30px; font-weight: 800; fill: #074f4b; }
.h2blue { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 28px; font-weight: 800; fill: #1d78b5; }
.h2orange { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 28px; font-weight: 800; fill: #e78232; }
.body { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 24px; fill: #1d3038; }
.small { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 19px; fill: #2d4148; }
.num { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 24px; font-weight: 800; fill: #074f4b; }
.line { stroke: #26383d; stroke-width: 4; stroke-linecap: round; }
.thin { stroke: #26383d; stroke-width: 2.5; stroke-linecap: round; }
.orange { fill: #e78232; }
.blue { fill: #1d78b5; }
</style>
</defs>
<rect class="bg" width="1600" height="900"/>
<rect x="56" y="42" width="1488" height="816" rx="34" class="panel"/>
<text x="800" y="116" text-anchor="middle" class="title">Demi-droite gradu&#233;e</text>
<text x="800" y="160" text-anchor="middle" class="subtitle">Maths CM1 - Placer un nombre entier</text>
<line x1="430" y1="194" x2="1170" y2="194" stroke="#dbe8e3" stroke-width="4"/>
<g transform="translate(110 235)">
<rect x="0" y="0" width="430" height="250" rx="24" class="panel"/>
<text x="34" y="54" class="h2">M&#233;thode</text>
<text x="34" y="104" class="body">1. Je lis les nombres.</text>
<text x="34" y="146" class="body">2. Je trouve le pas.</text>
<text x="34" y="188" class="body">3. Je compte les</text>
<text x="67" y="222" class="body">graduations.</text>
</g>
<g transform="translate(585 235)">
<rect x="0" y="0" width="855" height="250" rx="24" class="soft"/>
<text x="32" y="54" class="h2blue">Exemple : le pas est 100</text>
<g transform="translate(82 92)">
<line x1="0" y1="60" x2="680" y2="60" class="line"/>
<path d="M680 60 L650 42 M680 60 L650 78" fill="none" class="thin"/>
<line x1="0" y1="35" x2="0" y2="85" class="thin"/>
<line x1="136" y1="35" x2="136" y2="85" class="thin"/>
<line x1="272" y1="35" x2="272" y2="85" class="thin"/>
<line x1="408" y1="35" x2="408" y2="85" class="thin"/>
<line x1="544" y1="35" x2="544" y2="85" class="thin"/>
<circle cx="680" cy="60" r="14" class="orange"/>
<text x="0" y="128" text-anchor="middle" class="num">1 000</text>
<text x="136" y="128" text-anchor="middle" class="num">1 100</text>
<text x="272" y="128" text-anchor="middle" class="num">1 200</text>
<text x="408" y="128" text-anchor="middle" class="num">1 300</text>
<text x="544" y="128" text-anchor="middle" class="num">1 400</text>
<text x="680" y="28" text-anchor="middle" class="num">1 500</text>
</g>
</g>
<g transform="translate(110 535)">
<rect x="0" y="0" width="1350" height="220" rx="24" class="panel"/>
<text x="34" y="52" class="h2orange">&#192; retenir</text>
<text x="70" y="112" class="body">Les nombres augmentent quand on va vers la droite.</text>
<text x="70" y="160" class="body">Les &#233;tiquettes restent sous la ligne, bien espac&#233;es.</text>
<rect x="940" y="65" width="300" height="94" rx="18" fill="#f7fbf9" stroke="#edf3f0"/>
<text x="1090" y="104" text-anchor="middle" class="small">Ici, chaque graduation</text>
<text x="1090" y="132" text-anchor="middle" class="small">vaut 100.</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

@@ -0,0 +1,68 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900">
<defs>
<style>
.bg { fill: #f6f5ef; }
.panel { fill: #ffffff; stroke: #e2ebe6; stroke-width: 2; filter: drop-shadow(0 10px 24px rgba(22, 42, 45, 0.10)); }
.soft { fill: #eef7f4; stroke: #c9dfd8; stroke-width: 2; }
.title { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 58px; font-weight: 800; fill: #074f4b; }
.subtitle { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 26px; font-weight: 700; fill: #1e3540; }
.h2 { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 30px; font-weight: 800; fill: #074f4b; }
.h2blue { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 28px; font-weight: 800; fill: #1d78b5; }
.h2orange { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 28px; font-weight: 800; fill: #e78232; }
.body { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 24px; fill: #1d3038; }
.small { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 19px; fill: #2d4148; }
.num { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 34px; font-weight: 800; fill: #074f4b; }
.whiteText { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 28px; font-weight: 800; fill: #ffffff; }
.green { fill: #2f9246; }
.blue { fill: #1d78b5; }
.orange { fill: #e78232; }
.red { fill: #ce3d3d; }
</style>
</defs>
<rect class="bg" width="1600" height="900"/>
<rect x="56" y="42" width="1488" height="816" rx="34" class="panel"/>
<text x="800" y="116" text-anchor="middle" class="title">Multiples de 2, 5 et 10</text>
<text x="800" y="160" text-anchor="middle" class="subtitle">Maths CM1 - Observer le dernier chiffre</text>
<line x1="430" y1="194" x2="1170" y2="194" stroke="#dbe8e3" stroke-width="4"/>
<g transform="translate(110 235)">
<rect x="0" y="0" width="430" height="250" rx="24" class="panel"/>
<text x="34" y="54" class="h2">&#192; retenir</text>
<text x="34" y="104" class="body">Pour 2, 5 et 10,</text>
<text x="34" y="138" class="body">je regarde surtout</text>
<text x="34" y="172" class="body">le dernier chiffre.</text>
<text x="34" y="224" class="small">C'est un raccourci fiable.</text>
</g>
<g transform="translate(585 235)">
<rect x="0" y="0" width="855" height="250" rx="24" class="soft"/>
<text x="32" y="54" class="h2blue">Les trois r&#232;gles</text>
<g transform="translate(50 92)">
<rect x="0" y="0" width="220" height="100" rx="20" class="green"/>
<text x="110" y="38" text-anchor="middle" class="whiteText">2</text>
<text x="110" y="72" text-anchor="middle" class="whiteText">0, 2, 4, 6, 8</text>
<rect x="285" y="0" width="220" height="100" rx="20" class="blue"/>
<text x="395" y="38" text-anchor="middle" class="whiteText">5</text>
<text x="395" y="72" text-anchor="middle" class="whiteText">0 ou 5</text>
<rect x="570" y="0" width="220" height="100" rx="20" class="orange"/>
<text x="680" y="38" text-anchor="middle" class="whiteText">10</text>
<text x="680" y="72" text-anchor="middle" class="whiteText">0</text>
</g>
</g>
<g transform="translate(110 535)">
<rect x="0" y="0" width="1350" height="220" rx="24" class="panel"/>
<text x="34" y="52" class="h2orange">Exemples r&#233;solus</text>
<g transform="translate(70 82)">
<rect x="0" y="0" width="340" height="92" rx="18" fill="#f7fbf9" stroke="#edf3f0"/>
<text x="35" y="36" class="num">340</text>
<text x="35" y="68" class="small">multiple de 2, de 5 et de 10</text>
<rect x="430" y="0" width="340" height="92" rx="18" fill="#f7fbf9" stroke="#edf3f0"/>
<text x="465" y="36" class="num">125</text>
<text x="465" y="68" class="small">multiple de 5 seulement</text>
<rect x="860" y="0" width="340" height="92" rx="18" fill="#f7fbf9" stroke="#edf3f0"/>
<text x="895" y="36" class="num">678</text>
<text x="895" y="68" class="small">multiple de 2 seulement</text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@@ -0,0 +1,30 @@
# CM1 - Nombres, calcul et resolution de problemes
Source principale : `extractions_pdf_indexed/013.txt`
## Arborescence de travail
Ce dossier structure les contenus pedagogiques avant generation visuelle.
Pour le CM1, le domaine est decoupe en sous-parties :
1. `01A_nombres_entiers`
2. `01B_fractions`
3. `01C_nombres_decimaux`
4. `01D_calcul_mental`
5. `01E_quatre_operations`
6. `01F_resolution_de_problemes`
7. `01G_algebre`
La premiere sous-partie detaillee est `01A_nombres_entiers`.
## Principe
Les fiches d'orientation globales ne suffisent pas pour un eleve. Chaque notion doit etre redescendue en fiches courtes, ciblees et directement exploitables.
Avant de produire un SVG, valider :
- la competence ciblee ;
- les exemples ;
- le niveau de guidage ;
- la distinction entre fiche de cours et fiche d'exercice.

View File

@@ -0,0 +1,54 @@
# Corpus cycle 4 maths - tri par utilite
Source indexee : `extractions_pdf_indexed_cycle4_math/manifest.csv`
## Programme et cadrage institutionnel
- `006` programme officiel cycle 4
- `002` attendus de fin d'annee `5e`
- `003` attendus de fin d'annee `4e`
- `004` attendus de fin d'annee `3e`
- `005` reperes annuels cycle 4
## Methodes et gestes professionnels
- `001` mathematiques par les jeux
- `007` resolution de problemes au college
- `013` chercher
- `014` communiquer
- `015` calculer
- `020` differenciation pedagogique
- `021` modeliser
- `023` raisonner
- `024` representer
- `025` types de taches
## Ressources notionnelles
- `008` nombres decimaux
- `012` divisibilite et nombres premiers
- `016` nombres decimaux `doublon de 008`
- `017` nombres relatifs
- `018` puissances
- `019` fractions
- `022` calcul litteral
## Ressources deja proches de l'usage eleve
- `009` questions flash
- `010` activite avec prise d'initiative
- `011` tache intermediaire
## Sources reeditables
- `Cycle 4\Math\decimaux-flash-SOURCE.doc`
- `Cycle 4\Math\decimaux-initiative-feuille-de-papier-SOURCE.doc`
- `Cycle 4\Math\decimaux-inter-couts-SOURCE.doc`
## Lecture pratique de ce tri
- `programme` : ce qu'il faut enseigner
- `attendus / reperes` : ce qui est attendu et quand
- `methodes` : comment enseigner
- `ressources notionnelles` : quoi transformer en contenus
- `ressources proches eleve` : quoi adapter rapidement en exercices, cartes ou fiches

View File

@@ -0,0 +1,82 @@
# Cadrage programme 5e
Sources :
- `extractions_pdf_indexed_cycle4_math/002.txt`
- `extractions_pdf_indexed_cycle4_math/005.txt`
- `extractions_pdf_indexed_cycle4_math/006.txt`
## Blocs a couvrir en priorite
### 1. Nombres et calcul
- utiliser les ecritures decimales et fractionnaires ;
- introduire et manipuler les nombres relatifs ;
- resoudre des problemes avec fractions et nombres relatifs ;
- travailler quotient, reste, multiples, diviseurs ;
- utiliser les criteres de divisibilite `2`, `3`, `5`, `9`, `10` ;
- identifier les nombres premiers inferieurs ou egaux a `30` ;
- simplifier certaines fractions par decomposition ;
- entrer dans le calcul litteral de facon tres progressive ;
- traduire un programme de calcul par une expression litterale simple.
### 2. Proportionnalite
- reconnaitre une situation de proportionnalite ou non ;
- resoudre des problemes de proportionnalite ;
- mobiliser pourcentages, vitesses, echelles, agrandissements ou reductions simples ;
- produire une formule liant deux grandeurs.
### 3. Geometrie et grandeurs
- calculer perimetres et aires de figures usuelles ;
- calculer volumes du pave droit, du prisme droit et du cylindre ;
- utiliser les correspondances entre unites de volume et de contenance ;
- reconnaitre et representer les solides usuels ;
- travailler la symetrie centrale ;
- mobiliser l'echelle d'une carte.
### 4. Donnees et probabilites
- calculer effectifs et frequences ;
- calculer et interpreter une moyenne ;
- calculer des probabilites dans des situations simples d'equiprobabilite.
### 5. Algorithmique et programmation
- identifier les entrees et sorties d'un programme ;
- analyser et modifier un programme simple ;
- ecrire un programme simple pour construire une figure ou resoudre un probleme.
## Premier domaine recommande pour la production
`01_nombres_calcul`
Pourquoi :
- c'est le bloc le plus documente ;
- il est central dans les attendus de `5e` ;
- il se decoupe tres bien en micro-fiches ;
- il ouvre vite vers des supports visuels, des flash cards et des fiches d'exercices.
## Sous-decoupage propose pour `01_nombres_calcul`
1. `01A_nombres_relatifs`
2. `01B_fractions`
3. `01C_divisibilite_nombres_premiers`
4. `01D_calcul_litteral`
5. `01E_questions_flash_et_automatismes`
## Exemple de granularite ciblee
Une micro-fiche possible en `5e` :
- `reconnaitre l'oppose d'un nombre relatif`
- `comparer deux nombres relatifs`
- `simplifier une fraction par un diviseur commun`
- `identifier si un nombre est divisible par 2, 3, 5, 9 ou 10`
- `traduire un programme de calcul en expression`
## Point d'attention
Le programme cycle 4 couvre `5e`, `4e`, `3e`. Pour produire des supports `5e`, il faut s'aligner d'abord sur `002` et utiliser `005` pour garder le bon niveau de progressivite, sans anticiper trop vite sur les attentes de `4e` et `3e`.

View File

@@ -0,0 +1,43 @@
# 01 - Comprendre les nombres relatifs
## Objectif eleve
Comprendre qu'un nombre relatif peut etre positif ou negatif, selon sa position par rapport a une valeur de reference.
## Message central
Un nombre positif indique une position au-dessus, en avance ou en gain.
Un nombre negatif indique une position au-dessous, en retard ou en perte.
## Contenu de cours
- Les nombres relatifs servent a decrire des situations ou il y a un avant et un apres, un dessus et un dessous, un gain et une perte.
- Le nombre `0` sert souvent de repere.
- Un nombre positif est plus grand que `0`.
- Un nombre negatif est plus petit que `0`.
## Exemples resolus
| Situation | Nombre |
| --- | --- |
| temperature de `3` degres au-dessus de `0` | `+3` |
| temperature de `5` degres au-dessous de `0` | `-5` |
| ascenseur au rez-de-chaussee | `0` |
## Piste visuelle
Une fiche avec trois cartes tres simples :
- temperature ;
- etages ;
- gain / perte.
Chaque carte montre `0`, un exemple positif et un exemple negatif.
## Variante exercice plus tard
Donner une situation et demander le nombre associe :
- `4` etages sous le rez-de-chaussee ;
- `7` euros gagnes ;
- `2` degres sous zero.

View File

@@ -0,0 +1,41 @@
# 02 - Lire et ecrire les nombres relatifs
## Objectif eleve
Lire et ecrire correctement un nombre relatif avec son signe.
## Message central
Le signe fait partie du nombre.
Exemple : `+6` et `-6` ne designent pas le meme nombre.
## Contenu de cours
- Un nombre relatif s'ecrit avec un signe et une valeur.
- `+` signifie positif.
- `-` signifie negatif.
- Le nombre `0` n'est ni positif ni negatif dans ce premier travail de reperage.
## Exemples resolus
| Ecriture | Lecture |
| --- | --- |
| `+8` | plus huit |
| `-3` | moins trois |
| `-12,5` | moins douze virgule cinq |
## Piste visuelle
Une grande carte centrale avec deux colonnes :
- `je lis`
- `j'ecris`
Avec peu d'exemples et des signes tres visibles.
## Variante exercice plus tard
- ecrire en chiffres `moins sept`
- lire `+14`
- dire si `-2,4` est positif ou negatif

View File

@@ -0,0 +1,42 @@
# 03 - Reperer l'origine, l'unite et le sens
## Objectif eleve
Comprendre comment fonctionne une droite graduee entiere pour placer des nombres relatifs.
## Message central
Sur une droite graduee :
- `0` est l'origine ;
- les graduations avancent d'une meme unite ;
- vers la droite, les nombres augmentent ;
- vers la gauche, les nombres diminuent.
## Contenu de cours
- L'origine est le point repere par `0`.
- Deux graduations consecutives representent toujours la meme distance.
- Les nombres positifs se placent a droite de `0`.
- Les nombres negatifs se placent a gauche de `0`.
## Exemples resolus
- a droite de `0`, on peut lire `+1`, `+2`, `+3`
- a gauche de `0`, on peut lire `-1`, `-2`, `-3`
## Piste visuelle
Une seule droite graduee large, tres aeree, avec :
- origine bien marquee ;
- fleche `les nombres augmentent` a droite ;
- fleche `les nombres diminuent` a gauche.
## Variante exercice plus tard
Montrer une droite et demander :
- ou est l'origine ;
- de combien on avance a chaque graduation ;
- de quel cote sont les nombres negatifs.

View File

@@ -0,0 +1,36 @@
# 04 - Placer et lire sur une droite graduee
## Objectif eleve
Placer un nombre relatif sur une droite graduee et lire le nombre associe a un point.
## Message central
Pour placer un nombre relatif, on part de `0` puis on compte les unites vers la droite ou vers la gauche.
## Contenu de cours
- Si le nombre est positif, on part a droite.
- Si le nombre est negatif, on part a gauche.
- Pour lire un point, on regarde sa position par rapport a `0`.
## Exemples resolus
- `+4` se place `4` unites a droite de `0`.
- `-3` se place `3` unites a gauche de `0`.
- un point situe `2` unites a gauche de `0` repere `-2`.
## Piste visuelle
Deux mini-droites seulement :
- une pour placer `+4`
- une pour lire `-2`
Important : laisser beaucoup d'espace sous la droite pour les etiquettes numeriques.
## Variante exercice plus tard
- place `-5`
- place `+2`
- lis le nombre repere par un point situe a `3` unites a droite de `0`

View File

@@ -0,0 +1,36 @@
# 05 - Reconnaître l'opposé d'un nombre
## Objectif élève
Reconnaître l'opposé d'un nombre relatif.
## Message central
Deux nombres opposés sont à la même distance de `0`, mais de part et d'autre de `0`.
## Contenu de cours
- L'opposé de `+5` est `-5`.
- L'opposé de `-7` est `+7`.
- L'opposé de `0` est `0`.
- Un nombre et son opposé sont symétriques par rapport à `0` sur la droite graduée.
## Exemples résolus
| Nombre | Opposé |
| --- | --- |
| `+6` | `-6` |
| `-2,5` | `+2,5` |
| `0` | `0` |
## Piste visuelle
Une grande droite graduée avec trois paires de points symétriques autour de `0`.
Éviter de surcharger : peu de nombres, labels très espacés, pas de petites cartes inutiles.
## Variante exercice plus tard
- donne l'opposé de `+9`
- donne l'opposé de `-4`
- complète : l'opposé de `-1,2` est `...`

View File

@@ -0,0 +1,35 @@
# 06 - Comparer deux nombres relatifs
## Objectif eleve
Comparer deux nombres relatifs avec `<`, `>` ou `=`.
## Message central
Sur une droite graduee, le nombre le plus a droite est le plus grand.
## Contenu de cours
- Tout nombre positif est plus grand que tout nombre negatif.
- Entre deux nombres negatifs, celui qui est le plus proche de `0` est le plus grand.
- Deux nombres egaux ont la meme ecriture.
## Exemples resolus
- `+3 > -2`
- `-1 > -4`
- `-6 < -2`
## Piste visuelle
Une fiche avec :
- une droite graduee principale ;
- trois comparaisons tres courtes ;
- un rappel visuel `plus a droite = plus grand`.
## Variante exercice plus tard
- compare `-3` et `+1`
- compare `-5` et `-2`
- compare `+4` et `+4`

View File

@@ -0,0 +1,38 @@
# 07 - Ordonner des nombres relatifs
## Objectif eleve
Ranger plusieurs nombres relatifs dans l'ordre croissant ou decroissant.
## Message central
Pour ordonner des nombres relatifs, on peut les placer mentalement ou reellement sur une droite graduee.
## Contenu de cours
- En ordre croissant, on va du plus petit au plus grand.
- En ordre decroissant, on va du plus grand au plus petit.
- Les nombres tres a gauche viennent d'abord dans l'ordre croissant.
## Exemples resolus
Nombres : `-4`, `+2`, `0`, `-1`
- ordre croissant : `-4 ; -1 ; 0 ; +2`
- ordre decroissant : `+2 ; 0 ; -1 ; -4`
## Piste visuelle
Une seule serie de quatre nombres, avec une petite droite graduee de support.
Mieux vaut un exemple clair qu'une liste longue et serree.
## Variante exercice plus tard
Ranger dans l'ordre croissant :
- `+3`, `-2`, `0`, `-5`
Ranger dans l'ordre decroissant :
- `-1`, `+4`, `+2`, `-3`

View File

@@ -0,0 +1,38 @@
# 08 - Encadrer et intercaler des nombres relatifs
## Objectif eleve
Encadrer un nombre relatif entre deux autres et intercaler un nombre entre deux relatifs.
## Message central
Encadrer, c'est trouver un nombre plus petit et un nombre plus grand.
Intercaler, c'est trouver un nombre situe entre deux autres.
## Contenu de cours
- Pour encadrer `-2`, on peut choisir `-3` et `-1`.
- Pour intercaler un nombre entre `-4` et `0`, on peut choisir `-2`.
- La droite graduee aide a verifier si l'encadrement est correct.
## Exemples resolus
- `-3 < -2 < -1`
- `-5 < -4,5 < -4`
- `-1 < -0,5 < 0`
## Piste visuelle
Une fiche avec peu d'exemples et une droite graduee tres simple.
Attention particuliere sur cette fiche :
- ne pas coller les nombres sous la droite ;
- garder de grandes marges laterales ;
- limiter les decimaux a un seul chiffre apres la virgule.
## Variante exercice plus tard
- complete : `... < -2 < ...`
- intercale un nombre entre `-3` et `+1`
- intercale un nombre entre `-0,8` et `0`

View File

@@ -0,0 +1,33 @@
# 09 - Additionner des relatifs dans des situations simples
## Objectif eleve
Donner du sens a l'addition de nombres relatifs dans des situations concretes ou sur une droite graduee.
## Message central
Additionner un nombre relatif, c'est avancer ou reculer a partir d'un point de depart.
## Contenu de cours
- Ajouter un nombre positif fait aller vers la droite.
- Ajouter un nombre negatif fait aller vers la gauche.
- On peut representer une addition sur une droite graduee ou dans un contexte simple.
## Exemples resolus
- temperature : `2 + (-5) = -3`
- etages : `-1 + 3 = +2`
- droite graduee : partir de `+1` puis ajouter `-4` donne `-3`
## Piste visuelle
Une seule droite graduee et deux mini-contextes.
Ne pas mettre trop de calculs sur la meme fiche. Le but ici est le sens, pas encore la technique complete.
## Variante exercice plus tard
- calcule `-2 + 5`
- calcule `3 + (-6)`
- raconte en une phrase ce que represente `-1 + 4`

View File

@@ -0,0 +1,36 @@
# 10 - Soustraire, c'est ajouter l'oppose
## Objectif eleve
Comprendre que soustraire un nombre relatif revient a ajouter son oppose.
## Message central
`a - b = a + oppose de b`
## Contenu de cours
- Soustraire `+3`, c'est ajouter `-3`.
- Soustraire `-2`, c'est ajouter `+2`.
- Cette idee aide a donner du sens aux calculs avec relatifs.
## Exemples resolus
- `5 - 3 = 5 + (-3) = 2`
- `2 - (-4) = 2 + 4 = 6`
- `-1 - 2 = -1 + (-2) = -3`
## Piste visuelle
Une fiche en deux temps :
- `je transforme`
- `je calcule`
Tres peu d'exemples, avec les signes bien isoles pour eviter les confusions.
## Variante exercice plus tard
- transforme `4 - (-5)` en addition
- transforme `-2 - 3` en addition
- calcule `1 - (-2)`

View File

@@ -0,0 +1,75 @@
# 5e - Nombres relatifs
Sources :
- `extractions_pdf_indexed_cycle4_math/002.txt`
- `extractions_pdf_indexed_cycle4_math/005.txt`
- `extractions_pdf_indexed_cycle4_math/017.txt`
Domaine : `01_nombres_calcul`
Sous-theme : `01A_nombres_relatifs`
Niveau : `5e`
## Role de ce dossier
Ce dossier descend d'un niveau sous `01_nombres_calcul`.
Comme pour le travail CM1, l'objectif n'est pas de produire une grande fiche generale, mais des micro-fiches tres simples, chacune centree sur une seule competence lisible et exploitable par un eleve de `5e`.
## Fiches ciblees prevues
1. `01_comprendre_nombres_relatifs.md` : donner du sens aux nombres positifs et negatifs dans des situations concretes.
2. `02_lire_ecrire_nombres_relatifs.md` : lire, ecrire et distinguer le signe d'un nombre relatif.
3. `03_reperer_origine_unite_sens.md` : comprendre l'origine, l'unite et le sens sur une droite graduee entiere.
4. `04_placer_lire_droite_graduee.md` : placer et lire des nombres relatifs sur une droite graduee.
5. `05_reconnaitre_oppose.md` : reconnaitre l'oppose d'un nombre relatif.
6. `06_comparer_deux_nombres_relatifs.md` : comparer deux nombres relatifs.
7. `07_ordonner_nombres_relatifs.md` : ranger plusieurs nombres relatifs dans l'ordre.
8. `08_encadrer_intercaler_nombres_relatifs.md` : encadrer et intercaler des nombres relatifs simples.
9. `09_additionner_relatifs_situations_simples.md` : additionner des nombres relatifs dans des situations simples.
10. `10_soustraire_ajouter_oppose.md` : comprendre que soustraire revient a ajouter l'oppose.
## Regle de granularite
Une fiche = une competence = quelques exemples lisibles.
## Regles heritees du retour CM1
Les futures versions SVG devront respecter tres strictement :
- pas de professeur integre dans les fiches ;
- peu de texte par carte ;
- phrases courtes et vocabulaire stable ;
- exemples courts ;
- marges internes larges ;
- aucun chevauchement ;
- aucun depassement hors carte ;
- controles dedies sur les droites graduees, les etiquettes basses et les pastilles ;
- nombres et labels places dans des zones clairement separees.
## Check visuel obligatoire avant validation
Avant de considerer une fiche SVG comme acceptable, verifier systematiquement :
- que tous les textes restent a l'interieur de leur carte ;
- que les blocs de droite ne debordent pas en bas ou sur les cotes ;
- que les droites graduees gardent de l'espace au-dessus et au-dessous ;
- que les etiquettes numeriques ne touchent ni la ligne ni le bord de la carte ;
- que les signes `+` et `-` restent lisibles et ne se collent pas aux autres caracteres.
## Point de vigilance didactique
Pour les nombres relatifs, il faut eviter de melanger trop tot :
- signe du nombre ;
- signe de l'operation ;
- sens du deplacement sur la droite.
Les premieres fiches doivent donc installer d'abord :
- le sens ;
- le reperage ;
- l'oppose ;
- la comparaison.
Les calculs viennent ensuite.

View File

@@ -0,0 +1,69 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900">
<defs>
<style>
.bg { fill: #f6f5ef; }
.panel { fill: #ffffff; stroke: #e2ebe6; stroke-width: 2; filter: drop-shadow(0 10px 24px rgba(22, 42, 45, 0.10)); }
.soft { fill: #eef7f4; stroke: #c9dfd8; stroke-width: 2; }
.title { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 56px; font-weight: 800; fill: #074f4b; }
.subtitle { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 26px; font-weight: 700; fill: #1e3540; }
.h2 { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 30px; font-weight: 800; fill: #074f4b; }
.h2blue { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 28px; font-weight: 800; fill: #1d78b5; }
.h2orange { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 28px; font-weight: 800; fill: #e78232; }
.body { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 24px; fill: #1d3038; }
.small { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 18px; fill: #2d4148; }
.numPos { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 40px; font-weight: 800; fill: #2f9246; }
.numNeg { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 40px; font-weight: 800; fill: #d4563b; }
.numZero { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 38px; font-weight: 800; fill: #1d78b5; }
</style>
</defs>
<rect class="bg" width="1600" height="900"/>
<rect x="56" y="42" width="1488" height="816" rx="34" class="panel"/>
<text x="800" y="116" text-anchor="middle" class="title">Comprendre les nombres relatifs</text>
<text x="800" y="160" text-anchor="middle" class="subtitle">Maths 5e - Positif, negatif, repere 0</text>
<line x1="420" y1="194" x2="1180" y2="194" stroke="#dbe8e3" stroke-width="4"/>
<g transform="translate(110 235)">
<rect x="0" y="0" width="410" height="250" rx="24" class="panel"/>
<text x="32" y="54" class="h2">Idee cle</text>
<text x="32" y="106" class="body">Un nombre relatif peut etre</text>
<text x="32" y="140" class="body">positif ou negatif.</text>
<text x="32" y="192" class="small">Le nombre 0 sert de repere.</text>
<text x="32" y="222" class="small">Au-dessus : positif. Au-dessous : negatif.</text>
</g>
<g transform="translate(550 235)">
<rect x="0" y="0" width="420" height="250" rx="24" class="soft"/>
<text x="32" y="54" class="h2blue">Temperature</text>
<text x="74" y="122" class="numPos">+3</text>
<text x="170" y="124" class="body">3 degres au-dessus</text>
<text x="74" y="192" class="numNeg">-5</text>
<text x="170" y="194" class="body">5 degres au-dessous</text>
</g>
<g transform="translate(1000 235)">
<rect x="0" y="0" width="440" height="250" rx="24" class="panel"/>
<text x="32" y="54" class="h2orange">Etages</text>
<text x="80" y="118" class="numPos">+2</text>
<text x="165" y="120" class="body">2 etages au-dessus</text>
<text x="80" y="178" class="numZero">0</text>
<text x="165" y="180" class="body">rez-de-chaussee</text>
<text x="80" y="236" class="numNeg">-1</text>
<text x="165" y="238" class="body">1 etage en dessous</text>
</g>
<g transform="translate(110 525)">
<rect x="0" y="0" width="1330" height="250" rx="24" class="panel"/>
<text x="34" y="52" class="h2">Exemples resolus</text>
<text x="80" y="114" class="body">gain de 7 euros : </text>
<text x="297" y="114" class="numPos">+7</text>
<text x="80" y="166" class="body">perte de 4 points : </text>
<text x="315" y="166" class="numNeg">-4</text>
<text x="550" y="114" class="body">temperature stable : </text>
<text x="810" y="114" class="numZero">0</text>
<text x="550" y="166" class="small">0 est le point de reference.</text>
<text x="980" y="104" class="small">Plus grand que 0 :</text>
<text x="980" y="136" class="small">nombre positif</text>
<text x="980" y="188" class="small">Plus petit que 0 :</text>
<text x="980" y="220" class="small">nombre negatif</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@@ -0,0 +1,64 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900">
<defs>
<style>
.bg { fill: #f6f5ef; }
.panel { fill: #ffffff; stroke: #e2ebe6; stroke-width: 2; filter: drop-shadow(0 10px 24px rgba(22, 42, 45, 0.10)); }
.soft { fill: #eef7f4; stroke: #c9dfd8; stroke-width: 2; }
.title { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 56px; font-weight: 800; fill: #074f4b; }
.subtitle { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 26px; font-weight: 700; fill: #1e3540; }
.h2 { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 30px; font-weight: 800; fill: #074f4b; }
.h2blue { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 28px; font-weight: 800; fill: #1d78b5; }
.body { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 24px; fill: #1d3038; }
.small { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 18px; fill: #2d4148; }
.num { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 42px; font-weight: 800; fill: #074f4b; }
.signPos { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 50px; font-weight: 800; fill: #2f9246; }
.signNeg { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 50px; font-weight: 800; fill: #d4563b; }
</style>
</defs>
<rect class="bg" width="1600" height="900"/>
<rect x="56" y="42" width="1488" height="816" rx="34" class="panel"/>
<text x="800" y="116" text-anchor="middle" class="title">Lire et ecrire les nombres relatifs</text>
<text x="800" y="160" text-anchor="middle" class="subtitle">Maths 5e - Le signe fait partie du nombre</text>
<line x1="420" y1="194" x2="1180" y2="194" stroke="#dbe8e3" stroke-width="4"/>
<g transform="translate(110 235)">
<rect x="0" y="0" width="420" height="240" rx="24" class="panel"/>
<text x="32" y="54" class="h2">A retenir</text>
<text x="32" y="106" class="body">Le signe fait partie</text>
<text x="32" y="140" class="body">du nombre relatif.</text>
<text x="32" y="192" class="small">+6 et -6 ne designent pas</text>
<text x="32" y="222" class="small">le meme nombre.</text>
</g>
<g transform="translate(560 235)">
<rect x="0" y="0" width="400" height="240" rx="24" class="soft"/>
<text x="32" y="54" class="h2blue">Je lis</text>
<text x="40" y="118" class="num">+8</text>
<text x="150" y="120" class="body">plus huit</text>
<text x="40" y="182" class="num">-3</text>
<text x="150" y="184" class="body">moins trois</text>
</g>
<g transform="translate(990 235)">
<rect x="0" y="0" width="450" height="240" rx="24" class="panel"/>
<text x="32" y="54" class="h2blue">Je repere le signe</text>
<text x="48" y="126" class="signPos">+</text>
<text x="110" y="126" class="body">positif</text>
<text x="48" y="190" class="signNeg">-</text>
<text x="110" y="190" class="body">negatif</text>
</g>
<g transform="translate(110 515)">
<rect x="0" y="0" width="1330" height="240" rx="24" class="panel"/>
<text x="34" y="54" class="h2">Exemples resolus</text>
<text x="80" y="120" class="body">Ecriture :</text>
<text x="205" y="120" class="num">-12,5</text>
<text x="80" y="158" class="body">Lecture :</text>
<text x="205" y="158" class="body">moins douze virgule cinq</text>
<text x="700" y="120" class="body">Ecriture :</text>
<text x="825" y="120" class="num">+14</text>
<text x="700" y="158" class="body">Lecture :</text>
<text x="825" y="158" class="body">plus quatorze</text>
<text x="80" y="214" class="small">Le signe doit rester tres visible et bien espace.</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@@ -0,0 +1,66 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900">
<defs>
<style>
.bg { fill: #f6f5ef; }
.panel { fill: #ffffff; stroke: #e2ebe6; stroke-width: 2; filter: drop-shadow(0 10px 24px rgba(22, 42, 45, 0.10)); }
.soft { fill: #eef7f4; stroke: #c9dfd8; stroke-width: 2; }
.title { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 56px; font-weight: 800; fill: #074f4b; }
.subtitle { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 26px; font-weight: 700; fill: #1e3540; }
.h2 { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 30px; font-weight: 800; fill: #074f4b; }
.h2blue { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 28px; font-weight: 800; fill: #1d78b5; }
.body { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 24px; fill: #1d3038; }
.small { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 18px; fill: #2d4148; }
.num { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 24px; font-weight: 800; fill: #074f4b; }
.line { stroke: #26383d; stroke-width: 4; stroke-linecap: round; }
.thin { stroke: #26383d; stroke-width: 2.5; stroke-linecap: round; }
.blue { fill: #1d78b5; }
</style>
</defs>
<rect class="bg" width="1600" height="900"/>
<rect x="56" y="42" width="1488" height="816" rx="34" class="panel"/>
<text x="800" y="116" text-anchor="middle" class="title">Origine, unite et sens</text>
<text x="800" y="160" text-anchor="middle" class="subtitle">Maths 5e - Comprendre la droite graduee entiere</text>
<line x1="420" y1="194" x2="1180" y2="194" stroke="#dbe8e3" stroke-width="4"/>
<g transform="translate(110 235)">
<rect x="0" y="0" width="410" height="250" rx="24" class="panel"/>
<text x="32" y="54" class="h2">Methode</text>
<text x="32" y="104" class="body">0 est l'origine.</text>
<text x="32" y="146" class="body">Chaque graduation vaut</text>
<text x="32" y="180" class="body">la meme unite.</text>
<text x="32" y="222" class="small">A droite : les nombres augmentent.</text>
</g>
<g transform="translate(555 235)">
<rect x="0" y="0" width="885" height="250" rx="24" class="soft"/>
<text x="34" y="54" class="h2blue">Droite de reference</text>
<g transform="translate(78 92)">
<line x1="0" y1="60" x2="720" y2="60" class="line"/>
<path d="M720 60 L690 42 M720 60 L690 78" fill="none" class="thin"/>
<line x1="60" y1="35" x2="60" y2="85" class="thin"/>
<line x1="180" y1="35" x2="180" y2="85" class="thin"/>
<line x1="300" y1="35" x2="300" y2="85" class="thin"/>
<line x1="420" y1="35" x2="420" y2="85" class="thin"/>
<line x1="540" y1="35" x2="540" y2="85" class="thin"/>
<line x1="660" y1="35" x2="660" y2="85" class="thin"/>
<circle cx="420" cy="60" r="13" class="blue"/>
<text x="60" y="126" text-anchor="middle" class="num">-3</text>
<text x="180" y="126" text-anchor="middle" class="num">-2</text>
<text x="300" y="126" text-anchor="middle" class="num">-1</text>
<text x="420" y="126" text-anchor="middle" class="num">0</text>
<text x="540" y="126" text-anchor="middle" class="num">1</text>
<text x="660" y="126" text-anchor="middle" class="num">2</text>
<text x="420" y="22" text-anchor="middle" class="small">origine</text>
<text x="636" y="22" text-anchor="middle" class="small">vers la droite</text>
</g>
</g>
<g transform="translate(110 530)">
<rect x="0" y="0" width="1330" height="210" rx="24" class="panel"/>
<text x="34" y="52" class="h2">A retenir</text>
<text x="80" y="114" class="body">Positifs a droite de 0.</text>
<text x="80" y="162" class="body">Negatifs a gauche de 0.</text>
<text x="820" y="114" class="body">Ici, 1 graduation = 1 unite.</text>
<text x="820" y="162" class="small">Les labels restent loin de la ligne.</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@@ -0,0 +1,70 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900">
<defs>
<style>
.bg { fill: #f6f5ef; }
.panel { fill: #ffffff; stroke: #e2ebe6; stroke-width: 2; filter: drop-shadow(0 10px 24px rgba(22, 42, 45, 0.10)); }
.soft { fill: #eef7f4; stroke: #c9dfd8; stroke-width: 2; }
.title { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 56px; font-weight: 800; fill: #074f4b; }
.subtitle { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 26px; font-weight: 700; fill: #1e3540; }
.h2 { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 30px; font-weight: 800; fill: #074f4b; }
.h2blue { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 28px; font-weight: 800; fill: #1d78b5; }
.body { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 24px; fill: #1d3038; }
.small { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 18px; fill: #2d4148; }
.num { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 24px; font-weight: 800; fill: #074f4b; }
.line { stroke: #26383d; stroke-width: 4; stroke-linecap: round; }
.thin { stroke: #26383d; stroke-width: 2.5; stroke-linecap: round; }
.orange { fill: #e78232; }
.blue { fill: #1d78b5; }
</style>
</defs>
<rect class="bg" width="1600" height="900"/>
<rect x="56" y="42" width="1488" height="816" rx="34" class="panel"/>
<text x="800" y="116" text-anchor="middle" class="title">Placer et lire sur une droite graduee</text>
<text x="800" y="160" text-anchor="middle" class="subtitle">Maths 5e - Partir de 0 puis compter les unites</text>
<line x1="420" y1="194" x2="1180" y2="194" stroke="#dbe8e3" stroke-width="4"/>
<g transform="translate(110 235)">
<rect x="0" y="0" width="420" height="250" rx="24" class="panel"/>
<text x="32" y="54" class="h2">Methode</text>
<text x="32" y="104" class="body">Nombre positif :</text>
<text x="32" y="138" class="body">je vais a droite.</text>
<text x="32" y="184" class="body">Nombre negatif :</text>
<text x="32" y="218" class="body">je vais a gauche.</text>
</g>
<g transform="translate(560 235)">
<rect x="0" y="0" width="880" height="250" rx="24" class="soft"/>
<text x="34" y="54" class="h2blue">Exemple : placer +4 et lire -2</text>
<g transform="translate(76 95)">
<line x1="0" y1="60" x2="720" y2="60" class="line"/>
<path d="M720 60 L690 42 M720 60 L690 78" fill="none" class="thin"/>
<line x1="60" y1="35" x2="60" y2="85" class="thin"/>
<line x1="180" y1="35" x2="180" y2="85" class="thin"/>
<line x1="300" y1="35" x2="300" y2="85" class="thin"/>
<line x1="420" y1="35" x2="420" y2="85" class="thin"/>
<line x1="540" y1="35" x2="540" y2="85" class="thin"/>
<line x1="660" y1="35" x2="660" y2="85" class="thin"/>
<circle cx="660" cy="60" r="14" class="orange"/>
<circle cx="180" cy="60" r="14" class="blue"/>
<text x="60" y="126" text-anchor="middle" class="num">-3</text>
<text x="180" y="126" text-anchor="middle" class="num">-2</text>
<text x="300" y="126" text-anchor="middle" class="num">-1</text>
<text x="420" y="126" text-anchor="middle" class="num">0</text>
<text x="540" y="126" text-anchor="middle" class="num">1</text>
<text x="660" y="126" text-anchor="middle" class="num">2</text>
<text x="740" y="126" text-anchor="middle" class="num">4</text>
<line x1="740" y1="35" x2="740" y2="85" class="thin"/>
<text x="660" y="24" text-anchor="middle" class="small">point A</text>
<text x="180" y="24" text-anchor="middle" class="small">point B</text>
</g>
</g>
<g transform="translate(110 530)">
<rect x="0" y="0" width="1330" height="210" rx="24" class="panel"/>
<text x="34" y="52" class="h2">Je retiens</text>
<text x="80" y="114" class="body">Point A : +4</text>
<text x="80" y="162" class="body">Point B : -2</text>
<text x="780" y="114" class="small">Les nombres restent sous la droite.</text>
<text x="780" y="162" class="small">Les lettres restent au-dessus.</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@@ -0,0 +1,64 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900">
<defs>
<style>
.bg { fill: #f6f5ef; }
.panel { fill: #ffffff; stroke: #e2ebe6; stroke-width: 2; filter: drop-shadow(0 10px 24px rgba(22, 42, 45, 0.10)); }
.soft { fill: #eef7f4; stroke: #c9dfd8; stroke-width: 2; }
.title { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 56px; font-weight: 800; fill: #074f4b; }
.subtitle { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 26px; font-weight: 700; fill: #1e3540; }
.h2 { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 30px; font-weight: 800; fill: #074f4b; }
.h2blue { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 28px; font-weight: 800; fill: #1d78b5; }
.body { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 24px; fill: #1d3038; }
.small { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 18px; fill: #2d4148; }
.num { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 24px; font-weight: 800; fill: #074f4b; }
.line { stroke: #26383d; stroke-width: 4; stroke-linecap: round; }
.thin { stroke: #26383d; stroke-width: 2.5; stroke-linecap: round; }
.orange { fill: #e78232; }
.blue { fill: #1d78b5; }
.green { fill: #2f9246; }
</style>
</defs>
<rect class="bg" width="1600" height="900"/>
<rect x="56" y="42" width="1488" height="816" rx="34" class="panel"/>
<text x="800" y="116" text-anchor="middle" class="title">Reconnaître l'opposé</text>
<text x="800" y="160" text-anchor="middle" class="subtitle">Maths 5e - Même distance de 0, côté opposé</text>
<line x1="420" y1="194" x2="1180" y2="194" stroke="#dbe8e3" stroke-width="4"/>
<g transform="translate(110 235)">
<rect x="0" y="0" width="430" height="250" rx="24" class="panel"/>
<text x="32" y="54" class="h2">Règle</text>
<text x="32" y="106" class="body">L'opposé de +5 est -5.</text>
<text x="32" y="150" class="body">L'opposé de -7 est +7.</text>
<text x="32" y="200" class="small">L'opposé de 0 est 0.</text>
</g>
<g transform="translate(565 235)">
<rect x="0" y="0" width="875" height="250" rx="24" class="soft"/>
<text x="34" y="54" class="h2blue">Représentation</text>
<g transform="translate(76 96)">
<line x1="0" y1="60" x2="720" y2="60" class="line"/>
<line x1="120" y1="35" x2="120" y2="85" class="thin"/>
<line x1="240" y1="35" x2="240" y2="85" class="thin"/>
<line x1="360" y1="35" x2="360" y2="85" class="thin"/>
<line x1="480" y1="35" x2="480" y2="85" class="thin"/>
<line x1="600" y1="35" x2="600" y2="85" class="thin"/>
<circle cx="240" cy="60" r="14" class="blue"/>
<circle cx="480" cy="60" r="14" class="orange"/>
<circle cx="360" cy="60" r="12" class="green"/>
<text x="240" y="126" text-anchor="middle" class="num">-2</text>
<text x="360" y="126" text-anchor="middle" class="num">0</text>
<text x="480" y="126" text-anchor="middle" class="num">2</text>
<text x="240" y="22" text-anchor="middle" class="small">opposé</text>
<text x="480" y="22" text-anchor="middle" class="small">opposé</text>
</g>
</g>
<g transform="translate(110 530)">
<rect x="0" y="0" width="1330" height="210" rx="24" class="panel"/>
<text x="34" y="52" class="h2">Exemples résolus</text>
<text x="80" y="114" class="body">opposé de +6 : -6</text>
<text x="80" y="164" class="body">opposé de -2,5 : +2,5</text>
<text x="760" y="114" class="body">opposé de 0 : 0</text>
<text x="760" y="164" class="small">Ils sont symétriques par rapport à 0.</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@@ -0,0 +1,67 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900">
<defs>
<style>
.bg { fill: #f6f5ef; }
.panel { fill: #ffffff; stroke: #e2ebe6; stroke-width: 2; filter: drop-shadow(0 10px 24px rgba(22, 42, 45, 0.10)); }
.soft { fill: #eef7f4; stroke: #c9dfd8; stroke-width: 2; }
.title { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 56px; font-weight: 800; fill: #074f4b; }
.subtitle { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 26px; font-weight: 700; fill: #1e3540; }
.h2 { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 30px; font-weight: 800; fill: #074f4b; }
.h2blue { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 28px; font-weight: 800; fill: #1d78b5; }
.body { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 24px; fill: #1d3038; }
.small { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 18px; fill: #2d4148; }
.num { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 44px; font-weight: 800; fill: #074f4b; }
.sign { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 68px; font-weight: 800; fill: #e78232; }
.line { stroke: #26383d; stroke-width: 4; stroke-linecap: round; }
.thin { stroke: #26383d; stroke-width: 2.5; stroke-linecap: round; }
</style>
</defs>
<rect class="bg" width="1600" height="900"/>
<rect x="56" y="42" width="1488" height="816" rx="34" class="panel"/>
<text x="800" y="116" text-anchor="middle" class="title">Comparer deux nombres relatifs</text>
<text x="800" y="160" text-anchor="middle" class="subtitle">Maths 5e - Plus a droite = plus grand</text>
<line x1="420" y1="194" x2="1180" y2="194" stroke="#dbe8e3" stroke-width="4"/>
<g transform="translate(110 235)">
<rect x="0" y="0" width="430" height="250" rx="24" class="panel"/>
<text x="32" y="54" class="h2">Regles simples</text>
<text x="32" y="104" class="body">Tout positif est plus grand</text>
<text x="32" y="138" class="body">que tout negatif.</text>
<text x="32" y="188" class="body">Entre deux negatifs,</text>
<text x="32" y="222" class="body">le plus proche de 0 est plus grand.</text>
</g>
<g transform="translate(565 235)">
<rect x="0" y="0" width="440" height="250" rx="24" class="soft"/>
<text x="32" y="54" class="h2blue">Exemple 1</text>
<text x="105" y="146" text-anchor="middle" class="num">+3</text>
<text x="220" y="154" text-anchor="middle" class="sign">&gt;</text>
<text x="335" y="146" text-anchor="middle" class="num">-2</text>
</g>
<g transform="translate(1030 235)">
<rect x="0" y="0" width="410" height="250" rx="24" class="panel"/>
<text x="32" y="54" class="h2blue">Exemple 2</text>
<text x="94" y="146" text-anchor="middle" class="num">-1</text>
<text x="205" y="154" text-anchor="middle" class="sign">&gt;</text>
<text x="316" y="146" text-anchor="middle" class="num">-4</text>
</g>
<g transform="translate(110 530)">
<rect x="0" y="0" width="1330" height="210" rx="24" class="panel"/>
<text x="34" y="52" class="h2">Droite d'appui</text>
<g transform="translate(90 88)">
<line x1="0" y1="50" x2="560" y2="50" class="line"/>
<line x1="80" y1="28" x2="80" y2="72" class="thin"/>
<line x1="220" y1="28" x2="220" y2="72" class="thin"/>
<line x1="360" y1="28" x2="360" y2="72" class="thin"/>
<line x1="500" y1="28" x2="500" y2="72" class="thin"/>
<text x="80" y="112" text-anchor="middle" class="small">-4</text>
<text x="220" y="112" text-anchor="middle" class="small">-1</text>
<text x="360" y="112" text-anchor="middle" class="small">0</text>
<text x="500" y="112" text-anchor="middle" class="small">3</text>
</g>
<text x="760" y="138" class="body">Le plus a droite est le plus grand.</text>
<text x="760" y="184" class="small">Un rappel simple suffit.</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@@ -0,0 +1,58 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900">
<defs>
<style>
.bg { fill: #f6f5ef; }
.panel { fill: #ffffff; stroke: #e2ebe6; stroke-width: 2; filter: drop-shadow(0 10px 24px rgba(22, 42, 45, 0.10)); }
.soft { fill: #eef7f4; stroke: #c9dfd8; stroke-width: 2; }
.title { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 56px; font-weight: 800; fill: #074f4b; }
.subtitle { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 26px; font-weight: 700; fill: #1e3540; }
.h2 { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 30px; font-weight: 800; fill: #074f4b; }
.h2blue { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 28px; font-weight: 800; fill: #1d78b5; }
.body { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 24px; fill: #1d3038; }
.small { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 18px; fill: #2d4148; }
.line { stroke: #26383d; stroke-width: 4; stroke-linecap: round; }
.thin { stroke: #26383d; stroke-width: 2.5; stroke-linecap: round; }
.chip { fill: #f7fbf9; stroke: #d8ebe3; stroke-width: 2; }
.num { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 34px; font-weight: 800; fill: #074f4b; }
</style>
</defs>
<rect class="bg" width="1600" height="900"/>
<rect x="56" y="42" width="1488" height="816" rx="34" class="panel"/>
<text x="800" y="116" text-anchor="middle" class="title">Ordonner des nombres relatifs</text>
<text x="800" y="160" text-anchor="middle" class="subtitle">Maths 5e - Croissant ou decroissant</text>
<line x1="420" y1="194" x2="1180" y2="194" stroke="#dbe8e3" stroke-width="4"/>
<g transform="translate(110 235)">
<rect x="0" y="0" width="430" height="250" rx="24" class="panel"/>
<text x="32" y="54" class="h2">Methode</text>
<text x="32" y="104" class="body">Je place les nombres</text>
<text x="32" y="138" class="body">sur une droite, ou je les</text>
<text x="32" y="172" class="body">range mentalement.</text>
<text x="32" y="222" class="small">Croissant : du plus petit au plus grand.</text>
</g>
<g transform="translate(565 235)">
<rect x="0" y="0" width="875" height="250" rx="24" class="soft"/>
<text x="34" y="54" class="h2blue">Serie</text>
<g transform="translate(44 88)">
<rect x="0" y="0" width="120" height="68" rx="18" class="chip"/>
<rect x="145" y="0" width="120" height="68" rx="18" class="chip"/>
<rect x="290" y="0" width="120" height="68" rx="18" class="chip"/>
<rect x="435" y="0" width="120" height="68" rx="18" class="chip"/>
<text x="60" y="44" text-anchor="middle" class="num">-4</text>
<text x="205" y="44" text-anchor="middle" class="num">+2</text>
<text x="350" y="44" text-anchor="middle" class="num">0</text>
<text x="495" y="44" text-anchor="middle" class="num">-1</text>
</g>
<text x="44" y="196" class="body">Ordre croissant : -4 ; -1 ; 0 ; +2</text>
</g>
<g transform="translate(110 530)">
<rect x="0" y="0" width="1330" height="210" rx="24" class="panel"/>
<text x="34" y="52" class="h2">Deux lectures utiles</text>
<text x="80" y="114" class="body">Croissant : -4 ; -1 ; 0 ; +2</text>
<text x="80" y="164" class="body">Decroissant : +2 ; 0 ; -1 ; -4</text>
<text x="760" y="114" class="small">Un exemple clair suffit.</text>
<text x="760" y="164" class="small">Eviter les listes trop longues.</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@@ -0,0 +1,60 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900">
<defs>
<style>
.bg { fill: #f6f5ef; }
.panel { fill: #ffffff; stroke: #e2ebe6; stroke-width: 2; filter: drop-shadow(0 10px 24px rgba(22, 42, 45, 0.10)); }
.soft { fill: #eef7f4; stroke: #c9dfd8; stroke-width: 2; }
.title { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 54px; font-weight: 800; fill: #074f4b; }
.subtitle { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 26px; font-weight: 700; fill: #1e3540; }
.h2 { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 30px; font-weight: 800; fill: #074f4b; }
.h2blue { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 28px; font-weight: 800; fill: #1d78b5; }
.body { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 24px; fill: #1d3038; }
.small { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 18px; fill: #2d4148; }
.num { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 24px; font-weight: 800; fill: #074f4b; }
.line { stroke: #26383d; stroke-width: 4; stroke-linecap: round; }
.thin { stroke: #26383d; stroke-width: 2.5; stroke-linecap: round; }
.orange { fill: #e78232; }
</style>
</defs>
<rect class="bg" width="1600" height="900"/>
<rect x="56" y="42" width="1488" height="816" rx="34" class="panel"/>
<text x="800" y="116" text-anchor="middle" class="title">Encadrer et intercaler</text>
<text x="800" y="160" text-anchor="middle" class="subtitle">Maths 5e - Trouver un plus petit et un plus grand</text>
<line x1="420" y1="194" x2="1180" y2="194" stroke="#dbe8e3" stroke-width="4"/>
<g transform="translate(110 235)">
<rect x="0" y="0" width="440" height="250" rx="24" class="panel"/>
<text x="32" y="54" class="h2">Definitions</text>
<text x="32" y="104" class="body">Encadrer : trouver un plus petit</text>
<text x="32" y="138" class="body">et un plus grand.</text>
<text x="32" y="188" class="body">Intercaler : placer un nombre</text>
<text x="32" y="222" class="body">entre deux autres.</text>
</g>
<g transform="translate(575 235)">
<rect x="0" y="0" width="865" height="250" rx="24" class="soft"/>
<text x="34" y="54" class="h2blue">Exemple sur une droite</text>
<g transform="translate(82 96)">
<line x1="0" y1="58" x2="620" y2="58" class="line"/>
<line x1="100" y1="35" x2="100" y2="81" class="thin"/>
<line x1="260" y1="35" x2="260" y2="81" class="thin"/>
<line x1="420" y1="35" x2="420" y2="81" class="thin"/>
<line x1="580" y1="35" x2="580" y2="81" class="thin"/>
<circle cx="260" cy="58" r="13" class="orange"/>
<text x="100" y="122" text-anchor="middle" class="num">-3</text>
<text x="260" y="122" text-anchor="middle" class="num">-2</text>
<text x="420" y="122" text-anchor="middle" class="num">-1</text>
<text x="580" y="122" text-anchor="middle" class="num">0</text>
</g>
<text x="34" y="214" class="body">-3 &lt; -2 &lt; -1</text>
</g>
<g transform="translate(110 530)">
<rect x="0" y="0" width="1330" height="210" rx="24" class="panel"/>
<text x="34" y="52" class="h2">Autres exemples</text>
<text x="80" y="114" class="body">-5 &lt; -4,5 &lt; -4</text>
<text x="80" y="164" class="body">-1 &lt; -0,5 &lt; 0</text>
<text x="760" y="114" class="small">On garde des decimaux tres simples.</text>
<text x="760" y="164" class="small">Les nombres restent espaces sous la droite.</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@@ -0,0 +1,63 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900">
<defs>
<style>
.bg { fill: #f6f5ef; }
.panel { fill: #ffffff; stroke: #e2ebe6; stroke-width: 2; filter: drop-shadow(0 10px 24px rgba(22, 42, 45, 0.10)); }
.soft { fill: #eef7f4; stroke: #c9dfd8; stroke-width: 2; }
.title { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 54px; font-weight: 800; fill: #074f4b; }
.subtitle { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 26px; font-weight: 700; fill: #1e3540; }
.h2 { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 30px; font-weight: 800; fill: #074f4b; }
.h2blue { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 28px; font-weight: 800; fill: #1d78b5; }
.body { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 24px; fill: #1d3038; }
.small { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 18px; fill: #2d4148; }
.num { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 34px; font-weight: 800; fill: #074f4b; }
.line { stroke: #26383d; stroke-width: 4; stroke-linecap: round; }
.thin { stroke: #26383d; stroke-width: 2.5; stroke-linecap: round; }
.orange { fill: #e78232; }
</style>
</defs>
<rect class="bg" width="1600" height="900"/>
<rect x="56" y="42" width="1488" height="816" rx="34" class="panel"/>
<text x="800" y="116" text-anchor="middle" class="title">Additionner des relatifs</text>
<text x="800" y="160" text-anchor="middle" class="subtitle">Maths 5e - D'abord le sens, ensuite la technique</text>
<line x1="420" y1="194" x2="1180" y2="194" stroke="#dbe8e3" stroke-width="4"/>
<g transform="translate(110 235)">
<rect x="0" y="0" width="420" height="250" rx="24" class="panel"/>
<text x="32" y="54" class="h2">Idee</text>
<text x="32" y="104" class="body">Ajouter un positif :</text>
<text x="32" y="138" class="body">on va a droite.</text>
<text x="32" y="184" class="body">Ajouter un negatif :</text>
<text x="32" y="218" class="body">on va a gauche.</text>
</g>
<g transform="translate(555 235)">
<rect x="0" y="0" width="885" height="250" rx="24" class="soft"/>
<text x="34" y="54" class="h2blue">Exemple</text>
<g transform="translate(76 96)">
<line x1="0" y1="58" x2="720" y2="58" class="line"/>
<line x1="120" y1="35" x2="120" y2="81" class="thin"/>
<line x1="240" y1="35" x2="240" y2="81" class="thin"/>
<line x1="360" y1="35" x2="360" y2="81" class="thin"/>
<line x1="480" y1="35" x2="480" y2="81" class="thin"/>
<line x1="600" y1="35" x2="600" y2="81" class="thin"/>
<circle cx="480" cy="58" r="12" class="orange"/>
<text x="120" y="122" text-anchor="middle" class="small">-3</text>
<text x="240" y="122" text-anchor="middle" class="small">-2</text>
<text x="360" y="122" text-anchor="middle" class="small">-1</text>
<text x="480" y="122" text-anchor="middle" class="small">0</text>
<text x="600" y="122" text-anchor="middle" class="small">1</text>
<text x="720" y="122" text-anchor="middle" class="small">2</text>
</g>
<text x="34" y="214" class="body">1 + (-4) = -3</text>
</g>
<g transform="translate(110 530)">
<rect x="0" y="0" width="1330" height="210" rx="24" class="panel"/>
<text x="34" y="52" class="h2">Exemples resolus</text>
<text x="80" y="114" class="body">2 + (-5) = -3</text>
<text x="80" y="164" class="body">-1 + 3 = +2</text>
<text x="760" y="114" class="small">On installe d'abord le sens du deplacement.</text>
<text x="760" y="164" class="small">On garde peu de cas sur la fiche.</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@@ -0,0 +1,50 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900">
<defs>
<style>
.bg { fill: #f6f5ef; }
.panel { fill: #ffffff; stroke: #e2ebe6; stroke-width: 2; filter: drop-shadow(0 10px 24px rgba(22, 42, 45, 0.10)); }
.soft { fill: #eef7f4; stroke: #c9dfd8; stroke-width: 2; }
.title { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 54px; font-weight: 800; fill: #074f4b; }
.subtitle { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 26px; font-weight: 700; fill: #1e3540; }
.h2 { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 30px; font-weight: 800; fill: #074f4b; }
.h2blue { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 28px; font-weight: 800; fill: #1d78b5; }
.body { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 24px; fill: #1d3038; }
.small { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 18px; fill: #2d4148; }
.num { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 30px; font-weight: 800; fill: #074f4b; }
.sign { font-family: "Trebuchet MS", "Verdana", sans-serif; font-size: 42px; font-weight: 800; fill: #e78232; }
</style>
</defs>
<rect class="bg" width="1600" height="900"/>
<rect x="56" y="42" width="1488" height="816" rx="34" class="panel"/>
<text x="800" y="116" text-anchor="middle" class="title">Soustraire, c'est ajouter l'oppose</text>
<text x="800" y="160" text-anchor="middle" class="subtitle">Maths 5e - Je transforme puis je calcule</text>
<line x1="420" y1="194" x2="1180" y2="194" stroke="#dbe8e3" stroke-width="4"/>
<g transform="translate(110 235)">
<rect x="0" y="0" width="430" height="250" rx="24" class="panel"/>
<text x="32" y="54" class="h2">Regle</text>
<text x="32" y="112" class="num">a - b = a + oppose de b</text>
<text x="32" y="182" class="body">Je transforme d'abord.</text>
<text x="32" y="216" class="body">Je calcule ensuite.</text>
</g>
<g transform="translate(565 235)">
<rect x="0" y="0" width="875" height="250" rx="24" class="soft"/>
<text x="34" y="54" class="h2blue">Exemple</text>
<text x="60" y="126" class="num">2 - (-4)</text>
<text x="270" y="126" class="sign">=</text>
<text x="338" y="126" class="num">2 + 4</text>
<text x="500" y="126" class="sign">=</text>
<text x="568" y="126" class="num">6</text>
<text x="60" y="196" class="body">Soustraire -4, c'est ajouter +4.</text>
</g>
<g transform="translate(110 530)">
<rect x="0" y="0" width="1330" height="210" rx="24" class="panel"/>
<text x="34" y="52" class="h2">Autres exemples</text>
<text x="80" y="114" class="body">5 - 3 = 5 + (-3) = 2</text>
<text x="80" y="164" class="body">-1 - 2 = -1 + (-2) = -3</text>
<text x="780" y="114" class="small">Les signes restent bien espaces.</text>
<text x="780" y="164" class="small">La fiche doit rester tres lisible.</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@@ -0,0 +1,43 @@
# 5e - Nombres et calcul
Sources prioritaires :
- `extractions_pdf_indexed_cycle4_math/002.txt`
- `extractions_pdf_indexed_cycle4_math/005.txt`
- `extractions_pdf_indexed_cycle4_math/012.txt`
- `extractions_pdf_indexed_cycle4_math/017.txt`
- `extractions_pdf_indexed_cycle4_math/019.txt`
- `extractions_pdf_indexed_cycle4_math/022.txt`
## Role de ce dossier
Ce dossier doit devenir le premier noyau de production pedagogique `5e`.
Il rassemble les notions les plus immediatement exploitables pour des fiches de cours, fiches d'exercices, cartes visuelles et activites courtes.
## Sous-themes prevus
1. `01A_nombres_relatifs`
2. `01B_fractions`
3. `01C_divisibilite_nombres_premiers`
4. `01D_calcul_litteral`
5. `01E_questions_flash_et_automatismes`
## Regle de granularite
Une fiche = une competence = quelques exemples.
Exemples de competences cibles :
- reconnaitre l'oppose d'un nombre ;
- comparer deux nombres relatifs ;
- reconnaitre des fractions egales ;
- simplifier une fraction simple ;
- determiner si un nombre est divisible par `2`, `3`, `5`, `9`, `10` ;
- reperer un nombre premier inferieur ou egal a `30` ;
- traduire un programme de calcul en expression ;
- calculer une expression litterale pour une valeur donnee.
## Suite logique
La prochaine production detaillee devrait commencer par `01A_nombres_relatifs`, car c'est une nouveaute structurante de `5e` et elle se prete tres bien a des fiches visuelles progressives.

View File

@@ -0,0 +1,46 @@
# 5e - Mathematiques
Sources principales :
- `extractions_pdf_indexed_cycle4_math/002.txt`
- `extractions_pdf_indexed_cycle4_math/005.txt`
- `extractions_pdf_indexed_cycle4_math/006.txt`
## Role de ce dossier
Ce dossier sert de base de travail pour produire des contenus pedagogiques originaux en mathematiques pour la classe de `5e`.
Le corpus cycle 4 a deja ete extrait et trie. On s'appuie ici d'abord sur :
- le programme officiel ;
- les attendus de fin d'annee de `5e` ;
- les reperes annuels de progression ;
- les docs maitres et ressources de methode.
## Arborescence de travail proposee
1. `01_nombres_calcul`
2. `02_proportionnalite`
3. `03_geometrie_grandeurs`
4. `04_donnees_probabilites`
5. `05_algorithmique_programmation`
## Principe de production
Comme pour le cycle 3 :
- une fiche globale peut servir d'orientation ;
- mais les contenus eleves doivent etre decoupes finement ;
- une fiche = une competence = quelques exemples lisibles.
Avant de produire un SVG, valider :
- la competence ciblee ;
- le niveau `5e` exact ;
- les exemples ;
- le niveau de guidage ;
- la distinction entre fiche de cours et fiche d'exercice.
## Point de depart retenu
Le premier chantier recommande est `01_nombres_calcul`, car c'est la zone la mieux documentee du corpus et la plus directement exploitable pour une production rapide.

View File

@@ -209,6 +209,7 @@ function TutorApp({ currentUser, onLogout }) {
const [voiceProfiles, setVoiceProfiles] = useState([])
const [selectedVoiceProfileId, setSelectedVoiceProfileId] = useState('')
const [programLessons, setProgramLessons] = useState([])
const [programStatus, setProgramStatus] = useState(null)
const [studentProgram, setStudentProgram] = useState(null)
const [progressPanelOpen, setProgressPanelOpen] = useState(false)
const [settingsPanelOpen, setSettingsPanelOpen] = useState(false)
@@ -303,6 +304,7 @@ function TutorApp({ currentUser, onLogout }) {
loadMessages(selectedStudentId)
loadStudentProgram(selectedStudentId)
if (!isStudentUser) {
loadProgramStatus()
const student = students.find((item) => String(item.id) === String(selectedStudentId))
if (student) loadProgramLessons(student.grade)
}
@@ -546,6 +548,15 @@ function TutorApp({ currentUser, onLogout }) {
}
}
async function loadProgramStatus() {
try {
const data = await apiFetch('/program/status')
setProgramStatus(data)
} catch {
setProgramStatus(null)
}
}
async function loadStudentProgram(studentId) {
try {
const data = await apiFetch(`/students/${studentId}/program`)
@@ -1169,6 +1180,14 @@ function TutorApp({ currentUser, onLogout }) {
</option>
))}
</select>
{programLessons.length === 0 && (
<p className="program-diagnostic">
Aucune leçon trouvée pour {selectedStudent.grade}. Dossier lu: {programStatus?.content_root || 'inconnu'}.
{programStatus?.content_root_exists === false
? ' Le dossier de programme nest pas accessible par le backend.'
: ' Vérifie le niveau ou le montage du dossier Programme.'}
</p>
)}
</section>
)}
</>

View File

@@ -109,6 +109,11 @@ button:disabled { opacity: 0.5; cursor: not-allowed; }
.admin-program-panel p {
margin: 0;
}
.program-diagnostic {
color: #b45309;
font-size: 0.9rem;
line-height: 1.4;
}
.admin-main {
display: flex;
flex-direction: column;