mirror of
https://github.com/deunix-educ/aventuriers-des-mots.git
synced 2026-10-13 02:11:58 +02:00
Review CM1/CM2 content: fix ambiguities, hints, final punctuation in corrections (0.8.2)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -13,7 +13,7 @@
|
|||||||
"c'est"
|
"c'est"
|
||||||
],
|
],
|
||||||
"correct_answer": 0,
|
"correct_answer": 0,
|
||||||
"hint": "Remplace par « se » au présent : « le chat se dort » → « s'endort ».",
|
"hint": "Dis la phrase au présent : « le chat s'endort » : on entend « se ».",
|
||||||
"explanation": "Le chat est le sujet et « endormi » le participe : on écrit « s'est ».",
|
"explanation": "Le chat est le sujet et « endormi » le participe : on écrit « s'est ».",
|
||||||
"review_tags": [
|
"review_tags": [
|
||||||
"homophones_cm1",
|
"homophones_cm1",
|
||||||
|
|||||||
@@ -9,15 +9,11 @@
|
|||||||
"instruction": "Touche le mot qui contient une erreur, puis corrige-le.",
|
"instruction": "Touche le mot qui contient une erreur, puis corrige-le.",
|
||||||
"tokens": [
|
"tokens": [
|
||||||
{
|
{
|
||||||
"text": "Léa",
|
"text": "Tom",
|
||||||
"correct": true
|
"correct": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"text": "a",
|
"text": "brosse",
|
||||||
"correct": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "rangé",
|
|
||||||
"correct": true
|
"correct": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -27,7 +23,7 @@
|
|||||||
"rule_id": "regle_ces_ses"
|
"rule_id": "regle_ces_ses"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"text": "affaires",
|
"text": "dents",
|
||||||
"correct": true
|
"correct": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -35,24 +31,20 @@
|
|||||||
"correct": true
|
"correct": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"text": "de",
|
"text": "d'aller",
|
||||||
"correct": true
|
"correct": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"text": "partir",
|
"text": "au",
|
||||||
"correct": true
|
"correct": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"text": "à",
|
"text": "lit.",
|
||||||
"correct": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "l'école.",
|
|
||||||
"correct": true
|
"correct": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"hint": "Remplace par « son » : « son affaire » a du sens.",
|
"hint": "Remplace par « sa » : « sa dent » a du sens.",
|
||||||
"explanation": "« Ses » est le pluriel de « son » : les affaires de Léa.",
|
"explanation": "« Ses » est le pluriel de « sa » : les dents de Tom.",
|
||||||
"review_tags": [
|
"review_tags": [
|
||||||
"homophones_cm1",
|
"homophones_cm1",
|
||||||
"ces_ses"
|
"ces_ses"
|
||||||
|
|||||||
@@ -7,14 +7,14 @@
|
|||||||
"difficulty": 2,
|
"difficulty": 2,
|
||||||
"type": "multiple_choice",
|
"type": "multiple_choice",
|
||||||
"instruction": "Choisis le bon mot.",
|
"instruction": "Choisis le bon mot.",
|
||||||
"question": "Julie a oublié ... clés sur la table.",
|
"question": "Julie embrasse ... grands-parents avant de partir.",
|
||||||
"answers": [
|
"answers": [
|
||||||
"ses",
|
"ses",
|
||||||
"ces"
|
"ces"
|
||||||
],
|
],
|
||||||
"correct_answer": 0,
|
"correct_answer": 0,
|
||||||
"hint": "Remplace par « sa » : « sa clé » a du sens.",
|
"hint": "Remplace par « son » : « son grand-père » a du sens.",
|
||||||
"explanation": "« Ses » est le pluriel de « sa » : les clés de Julie.",
|
"explanation": "« Ses » est le pluriel de « son » : les grands-parents de Julie.",
|
||||||
"review_tags": [
|
"review_tags": [
|
||||||
"homophones_cm1",
|
"homophones_cm1",
|
||||||
"ces_ses"
|
"ces_ses"
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
"difficulty": 2,
|
"difficulty": 2,
|
||||||
"type": "multiple_choice",
|
"type": "multiple_choice",
|
||||||
"instruction": "Choisis le bon mot.",
|
"instruction": "Choisis le bon mot.",
|
||||||
"question": "Pourquoi achètes-tu ... pommes vertes ?",
|
"question": "Goûte ... pommes rouges, elles sont délicieuses !",
|
||||||
"answers": [
|
"answers": [
|
||||||
"ces",
|
"ces",
|
||||||
"ses"
|
"ses"
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
"Là"
|
"Là"
|
||||||
],
|
],
|
||||||
"correct_answer": 0,
|
"correct_answer": 0,
|
||||||
"hint": "« La » est ici un article devant un nom.",
|
"hint": "Regarde le mot qui suit : c'est un nom.",
|
||||||
"explanation": "« La » accompagne le nom « maîtresse » : on écrit « la » sans accent.",
|
"explanation": "« La » accompagne le nom « maîtresse » : on écrit « la » sans accent.",
|
||||||
"review_tags": [
|
"review_tags": [
|
||||||
"orthographe_cm1",
|
"orthographe_cm1",
|
||||||
|
|||||||
@@ -7,15 +7,15 @@
|
|||||||
"difficulty": 2,
|
"difficulty": 2,
|
||||||
"type": "multiple_choice",
|
"type": "multiple_choice",
|
||||||
"instruction": "Choisis le bon mot.",
|
"instruction": "Choisis le bon mot.",
|
||||||
"question": "Les enfants sont ... du bus en courant.",
|
"question": "Les garçons sont ... du bus en courant.",
|
||||||
"answers": [
|
"answers": [
|
||||||
"descendu",
|
"descendu",
|
||||||
"descendus",
|
"descendus",
|
||||||
"descendues"
|
"descendues"
|
||||||
],
|
],
|
||||||
"correct_answer": 1,
|
"correct_answer": 1,
|
||||||
"hint": "Le sujet « les enfants » est masculin pluriel.",
|
"hint": "Le sujet « les garçons » est masculin pluriel.",
|
||||||
"explanation": "Avec « être », le participe s'accorde avec le sujet : les enfants sont descendus.",
|
"explanation": "Avec « être », le participe s'accorde avec le sujet : les garçons sont descendus.",
|
||||||
"review_tags": [
|
"review_tags": [
|
||||||
"verbes_cm1",
|
"verbes_cm1",
|
||||||
"participe_etre"
|
"participe_etre"
|
||||||
|
|||||||
@@ -31,7 +31,7 @@
|
|||||||
"rule_id": "regle_adjectifs_couleur"
|
"rule_id": "regle_adjectifs_couleur"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"hint": "« Orange » vient du nom du fruit : il reste invariable.",
|
"hint": "Pense au fruit qui a donné son nom à cette couleur.",
|
||||||
"explanation": "« Orange » est un nom employé comme couleur : il reste invariable.",
|
"explanation": "« Orange » est un nom employé comme couleur : il reste invariable.",
|
||||||
"review_tags": [
|
"review_tags": [
|
||||||
"orthographe_cm2",
|
"orthographe_cm2",
|
||||||
|
|||||||
@@ -31,7 +31,7 @@
|
|||||||
"rule_id": "regle_adjectifs_couleur"
|
"rule_id": "regle_adjectifs_couleur"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"hint": "« Marron » vient du nom du fruit : il reste invariable.",
|
"hint": "Pense au fruit qui a donné son nom à cette couleur.",
|
||||||
"explanation": "« Marron » est un nom employé comme couleur : il reste invariable.",
|
"explanation": "« Marron » est un nom employé comme couleur : il reste invariable.",
|
||||||
"review_tags": [
|
"review_tags": [
|
||||||
"orthographe_cm2",
|
"orthographe_cm2",
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
"marrons"
|
"marrons"
|
||||||
],
|
],
|
||||||
"correct_answer": 0,
|
"correct_answer": 0,
|
||||||
"hint": "« Marron » vient du nom du fruit : il reste invariable.",
|
"hint": "Pense au fruit qui a donné son nom à cette couleur.",
|
||||||
"explanation": "« Marron » est un nom employé comme couleur : il reste invariable.",
|
"explanation": "« Marron » est un nom employé comme couleur : il reste invariable.",
|
||||||
"review_tags": [
|
"review_tags": [
|
||||||
"orthographe_cm2",
|
"orthographe_cm2",
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
"orange"
|
"orange"
|
||||||
],
|
],
|
||||||
"correct_answer": 1,
|
"correct_answer": 1,
|
||||||
"hint": "« Orange » vient du nom du fruit : il reste invariable.",
|
"hint": "Pense au fruit qui a donné son nom à cette couleur.",
|
||||||
"explanation": "« Orange » est un nom employé comme couleur : il reste invariable.",
|
"explanation": "« Orange » est un nom employé comme couleur : il reste invariable.",
|
||||||
"review_tags": [
|
"review_tags": [
|
||||||
"orthographe_cm2",
|
"orthographe_cm2",
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
"noisettes"
|
"noisettes"
|
||||||
],
|
],
|
||||||
"correct_answer": 0,
|
"correct_answer": 0,
|
||||||
"hint": "« Noisette » vient du nom du fruit : il reste invariable.",
|
"hint": "Pense au fruit qui a donné son nom à cette couleur.",
|
||||||
"explanation": "« Noisette » est un nom employé comme couleur : il reste invariable.",
|
"explanation": "« Noisette » est un nom employé comme couleur : il reste invariable.",
|
||||||
"review_tags": [
|
"review_tags": [
|
||||||
"orthographe_cm2",
|
"orthographe_cm2",
|
||||||
|
|||||||
@@ -7,13 +7,13 @@
|
|||||||
"difficulty": 1,
|
"difficulty": 1,
|
||||||
"type": "multiple_choice",
|
"type": "multiple_choice",
|
||||||
"instruction": "Choisis le bon mot.",
|
"instruction": "Choisis le bon mot.",
|
||||||
"question": "Ce soir, il ... plus tard que d'habitude.",
|
"question": "Ce soir, il ... à huit heures, c'est certain.",
|
||||||
"answers": [
|
"answers": [
|
||||||
"mangera",
|
"mangera",
|
||||||
"mangerait"
|
"mangerait"
|
||||||
],
|
],
|
||||||
"correct_answer": 0,
|
"correct_answer": 0,
|
||||||
"hint": "« Ce soir » : l'action est certaine, c'est le futur.",
|
"hint": "« C'est certain » : l'action est sûre, c'est le futur.",
|
||||||
"explanation": "L'action est certaine : on écrit le futur « mangera ».",
|
"explanation": "L'action est certaine : on écrit le futur « mangera ».",
|
||||||
"review_tags": [
|
"review_tags": [
|
||||||
"verbes_cm2",
|
"verbes_cm2",
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
"difficulty": 1,
|
"difficulty": 1,
|
||||||
"type": "multiple_choice",
|
"type": "multiple_choice",
|
||||||
"instruction": "Choisis le bon mot.",
|
"instruction": "Choisis le bon mot.",
|
||||||
"question": "Le roi ... le château ce matin-là.",
|
"question": "Soudain, le roi ... le château sans un mot.",
|
||||||
"answers": [
|
"answers": [
|
||||||
"quitte",
|
"quitte",
|
||||||
"quittait",
|
"quittait",
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
"difficulty": 1,
|
"difficulty": 1,
|
||||||
"type": "multiple_choice",
|
"type": "multiple_choice",
|
||||||
"instruction": "Choisis le bon mot.",
|
"instruction": "Choisis le bon mot.",
|
||||||
"question": "Le chevalier ... sur son cheval.",
|
"question": "Puis, le chevalier ... sur son cheval et partit.",
|
||||||
"answers": [
|
"answers": [
|
||||||
"monta",
|
"monta",
|
||||||
"montait",
|
"montait",
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
"difficulty": 2,
|
"difficulty": 2,
|
||||||
"type": "multiple_choice",
|
"type": "multiple_choice",
|
||||||
"instruction": "Choisis le bon mot.",
|
"instruction": "Choisis le bon mot.",
|
||||||
"question": "Les villageois ... le volcan avec crainte.",
|
"question": "Alors, les villageois ... le volcan avec crainte, puis s'enfuirent.",
|
||||||
"answers": [
|
"answers": [
|
||||||
"regardaient",
|
"regardaient",
|
||||||
"regardant",
|
"regardant",
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
"difficulty": 2,
|
"difficulty": 2,
|
||||||
"type": "multiple_choice",
|
"type": "multiple_choice",
|
||||||
"instruction": "Choisis le bon mot.",
|
"instruction": "Choisis le bon mot.",
|
||||||
"question": "Alors, le dragon ... un grand cri.",
|
"question": "Alors, d'un seul coup, le dragon ... un grand cri.",
|
||||||
"answers": [
|
"answers": [
|
||||||
"poussa",
|
"poussa",
|
||||||
"pousser",
|
"pousser",
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
"difficulty": 2,
|
"difficulty": 2,
|
||||||
"type": "multiple_choice",
|
"type": "multiple_choice",
|
||||||
"instruction": "Choisis le bon mot.",
|
"instruction": "Choisis le bon mot.",
|
||||||
"question": "Les enfants ... vers la cabane.",
|
"question": "Soudain, les enfants ... vers la cabane.",
|
||||||
"answers": [
|
"answers": [
|
||||||
"couraient",
|
"couraient",
|
||||||
"courant",
|
"courant",
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
"difficulty": 3,
|
"difficulty": 3,
|
||||||
"type": "multiple_choice",
|
"type": "multiple_choice",
|
||||||
"instruction": "Choisis le bon mot.",
|
"instruction": "Choisis le bon mot.",
|
||||||
"question": "Elles ... leur travail avant la nuit.",
|
"question": "Enfin, elles ... leur travail avant la nuit.",
|
||||||
"answers": [
|
"answers": [
|
||||||
"finissaient",
|
"finissaient",
|
||||||
"finies",
|
"finies",
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
"difficulty": 3,
|
"difficulty": 3,
|
||||||
"type": "multiple_choice",
|
"type": "multiple_choice",
|
||||||
"instruction": "Choisis le bon mot.",
|
"instruction": "Choisis le bon mot.",
|
||||||
"question": "Le héros ... la princesse.",
|
"question": "Ce jour-là, d'un coup d'épée, le héros ... la princesse.",
|
||||||
"answers": [
|
"answers": [
|
||||||
"sauva",
|
"sauva",
|
||||||
"sauvait",
|
"sauvait",
|
||||||
|
|||||||
@@ -7,13 +7,13 @@
|
|||||||
"difficulty": 3,
|
"difficulty": 3,
|
||||||
"type": "multiple_choice",
|
"type": "multiple_choice",
|
||||||
"instruction": "Choisis le bon mot.",
|
"instruction": "Choisis le bon mot.",
|
||||||
"question": "Je me couche ... le samedi soir.",
|
"question": "Ce soir, je me couche ... que d'habitude.",
|
||||||
"answers": [
|
"answers": [
|
||||||
"plutôt",
|
"plutôt",
|
||||||
"plus tôt"
|
"plus tôt"
|
||||||
],
|
],
|
||||||
"correct_answer": 1,
|
"correct_answer": 1,
|
||||||
"hint": "Remplace par « plus tard » : « je me couche plus tard » a du sens.",
|
"hint": "Remplace par « plus tard » : « plus tard que d'habitude » a du sens.",
|
||||||
"explanation": "On peut dire « plus tard » : on écrit « plus tôt ».",
|
"explanation": "On peut dire « plus tard » : on écrit « plus tôt ».",
|
||||||
"review_tags": [
|
"review_tags": [
|
||||||
"homophones_cm2",
|
"homophones_cm2",
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
"question": "La ... du volcan a duré trois jours.",
|
"question": "La ... du volcan a duré trois jours.",
|
||||||
"answers": [
|
"answers": [
|
||||||
"érussion",
|
"érussion",
|
||||||
"éruction",
|
"érupsion",
|
||||||
"éruption"
|
"éruption"
|
||||||
],
|
],
|
||||||
"correct_answer": 2,
|
"correct_answer": 2,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"level": "CM1",
|
"level": "CM1",
|
||||||
"domain": "orthographe",
|
"domain": "orthographe",
|
||||||
"skill": "orthographe_cm1",
|
"skill": "orthographe_cm1",
|
||||||
"statement": "Les noms en -al font leur pluriel en -aux (un cheval, des chevaux) ; les noms en -eau prennent un -x (un bateau, des bateaux) ; quelques noms en -ou aussi (un bijou, des bijoux).",
|
"statement": "Les noms en -al font leur pluriel en -aux (un cheval, des chevaux) ; les noms en -eau prennent un -x (un bateau, des bateaux) ; quelques noms en -ou aussi (un bijou, des bijoux) ; « travail » fait « travaux ».",
|
||||||
"example": "Un animal, des animaux. Un bateau, des bateaux. Un bijou, des bijoux.",
|
"example": "Un animal, des animaux. Un bateau, des bateaux. Un bijou, des bijoux.",
|
||||||
"review_status": "draft"
|
"review_status": "draft"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -228,11 +228,11 @@ Genere automatiquement depuis `data/` par `tools/generate_content_review.py`. Ne
|
|||||||
- Indice : Le sujet « ma mère » est féminin singulier.
|
- Indice : Le sujet « ma mère » est féminin singulier.
|
||||||
- Explication : Avec « être », le participe s'accorde avec le sujet : ma mère est sortie.
|
- Explication : Avec « être », le participe s'accorde avec le sujet : ma mère est sortie.
|
||||||
- Statut : draft
|
- Statut : draft
|
||||||
- **cm1_participe_etre_qcm_06** (difficulte 2) : Les enfants sont ... du bus en courant.
|
- **cm1_participe_etre_qcm_06** (difficulte 2) : Les garçons sont ... du bus en courant.
|
||||||
- Reponses : descendu, descendus, descendues
|
- Reponses : descendu, descendus, descendues
|
||||||
- Reponse attendue : descendus
|
- Reponse attendue : descendus
|
||||||
- Indice : Le sujet « les enfants » est masculin pluriel.
|
- Indice : Le sujet « les garçons » est masculin pluriel.
|
||||||
- Explication : Avec « être », le participe s'accorde avec le sujet : les enfants sont descendus.
|
- Explication : Avec « être », le participe s'accorde avec le sujet : les garçons sont descendus.
|
||||||
- Statut : draft
|
- Statut : draft
|
||||||
- **cm1_participe_etre_qcm_07** (difficulte 3) : Anna et sa sœur sont ... en retard.
|
- **cm1_participe_etre_qcm_07** (difficulte 3) : Anna et sa sœur sont ... en retard.
|
||||||
- Reponses : arrivées, arrivés, arrivée
|
- Reponses : arrivées, arrivés, arrivée
|
||||||
@@ -405,13 +405,13 @@ Genere automatiquement depuis `data/` par `tools/generate_content_review.py`. Ne
|
|||||||
- **cm2_couleurs_qcm_04** (difficulte 2) : Il a mis des chaussures ... .
|
- **cm2_couleurs_qcm_04** (difficulte 2) : Il a mis des chaussures ... .
|
||||||
- Reponses : marron, marrons
|
- Reponses : marron, marrons
|
||||||
- Reponse attendue : marron
|
- Reponse attendue : marron
|
||||||
- Indice : « Marron » vient du nom du fruit : il reste invariable.
|
- Indice : Pense au fruit qui a donné son nom à cette couleur.
|
||||||
- Explication : « Marron » est un nom employé comme couleur : il reste invariable.
|
- Explication : « Marron » est un nom employé comme couleur : il reste invariable.
|
||||||
- Statut : draft
|
- Statut : draft
|
||||||
- **cm2_couleurs_qcm_05** (difficulte 2) : Mamie tricote des écharpes ... .
|
- **cm2_couleurs_qcm_05** (difficulte 2) : Mamie tricote des écharpes ... .
|
||||||
- Reponses : oranges, orange
|
- Reponses : oranges, orange
|
||||||
- Reponse attendue : orange
|
- Reponse attendue : orange
|
||||||
- Indice : « Orange » vient du nom du fruit : il reste invariable.
|
- Indice : Pense au fruit qui a donné son nom à cette couleur.
|
||||||
- Explication : « Orange » est un nom employé comme couleur : il reste invariable.
|
- Explication : « Orange » est un nom employé comme couleur : il reste invariable.
|
||||||
- Statut : draft
|
- Statut : draft
|
||||||
- **cm2_couleurs_qcm_06** (difficulte 2) : Elle aime ses rubans bleu ... .
|
- **cm2_couleurs_qcm_06** (difficulte 2) : Elle aime ses rubans bleu ... .
|
||||||
@@ -429,7 +429,7 @@ Genere automatiquement depuis `data/` par `tools/generate_content_review.py`. Ne
|
|||||||
- **cm2_couleurs_qcm_08** (difficulte 3) : Elle a des yeux ... .
|
- **cm2_couleurs_qcm_08** (difficulte 3) : Elle a des yeux ... .
|
||||||
- Reponses : noisette, noisettes
|
- Reponses : noisette, noisettes
|
||||||
- Reponse attendue : noisette
|
- Reponse attendue : noisette
|
||||||
- Indice : « Noisette » vient du nom du fruit : il reste invariable.
|
- Indice : Pense au fruit qui a donné son nom à cette couleur.
|
||||||
- Explication : « Noisette » est un nom employé comme couleur : il reste invariable.
|
- Explication : « Noisette » est un nom employé comme couleur : il reste invariable.
|
||||||
- Statut : draft
|
- Statut : draft
|
||||||
|
|
||||||
@@ -440,11 +440,11 @@ Genere automatiquement depuis `data/` par `tools/generate_content_review.py`. Ne
|
|||||||
- Explication : « Vert » est un adjectif de couleur : il s'accorde, « vertes ».
|
- Explication : « Vert » est un adjectif de couleur : il s'accorde, « vertes ».
|
||||||
- Statut : draft
|
- Statut : draft
|
||||||
- **cm2_couleurs_correction_02** (difficulte 2) : Elle porte des gants [oranges. -> orange.]
|
- **cm2_couleurs_correction_02** (difficulte 2) : Elle porte des gants [oranges. -> orange.]
|
||||||
- Indice : « Orange » vient du nom du fruit : il reste invariable.
|
- Indice : Pense au fruit qui a donné son nom à cette couleur.
|
||||||
- Explication : « Orange » est un nom employé comme couleur : il reste invariable.
|
- Explication : « Orange » est un nom employé comme couleur : il reste invariable.
|
||||||
- Statut : draft
|
- Statut : draft
|
||||||
- **cm2_couleurs_correction_03** (difficulte 2) : Il porte des chaussures [marrons. -> marron.]
|
- **cm2_couleurs_correction_03** (difficulte 2) : Il porte des chaussures [marrons. -> marron.]
|
||||||
- Indice : « Marron » vient du nom du fruit : il reste invariable.
|
- Indice : Pense au fruit qui a donné son nom à cette couleur.
|
||||||
- Explication : « Marron » est un nom employé comme couleur : il reste invariable.
|
- Explication : « Marron » est un nom employé comme couleur : il reste invariable.
|
||||||
- Statut : draft
|
- Statut : draft
|
||||||
- **cm2_couleurs_correction_04** (difficulte 3) : Léa a des rubans bleu [clairs. -> clair.]
|
- **cm2_couleurs_correction_04** (difficulte 3) : Léa a des rubans bleu [clairs. -> clair.]
|
||||||
@@ -672,7 +672,7 @@ Genere automatiquement depuis `data/` par `tools/generate_content_review.py`. Ne
|
|||||||
- **cm1_c_est_s_est_qcm_02** (difficulte 1) : Le chat ... endormi sur le canapé.
|
- **cm1_c_est_s_est_qcm_02** (difficulte 1) : Le chat ... endormi sur le canapé.
|
||||||
- Reponses : s'est, c'est
|
- Reponses : s'est, c'est
|
||||||
- Reponse attendue : s'est
|
- Reponse attendue : s'est
|
||||||
- Indice : Remplace par « se » au présent : « le chat se dort » → « s'endort ».
|
- Indice : Dis la phrase au présent : « le chat s'endort » : on entend « se ».
|
||||||
- Explication : Le chat est le sujet et « endormi » le participe : on écrit « s'est ».
|
- Explication : Le chat est le sujet et « endormi » le participe : on écrit « s'est ».
|
||||||
- Statut : draft
|
- Statut : draft
|
||||||
- **cm1_c_est_s_est_qcm_03** (difficulte 1) : Regarde, ... ma nouvelle bicyclette !
|
- **cm1_c_est_s_est_qcm_03** (difficulte 1) : Regarde, ... ma nouvelle bicyclette !
|
||||||
@@ -774,13 +774,13 @@ Genere automatiquement depuis `data/` par `tools/generate_content_review.py`. Ne
|
|||||||
- Indice : Remplace par « ce » : « ce gâteau » a du sens.
|
- Indice : Remplace par « ce » : « ce gâteau » a du sens.
|
||||||
- Explication : « Ces » est le pluriel de « ce » : on montre des gâteaux.
|
- Explication : « Ces » est le pluriel de « ce » : on montre des gâteaux.
|
||||||
- Statut : draft
|
- Statut : draft
|
||||||
- **cm1_ces_ses_qcm_04** (difficulte 2) : Julie a oublié ... clés sur la table.
|
- **cm1_ces_ses_qcm_04** (difficulte 2) : Julie embrasse ... grands-parents avant de partir.
|
||||||
- Reponses : ses, ces
|
- Reponses : ses, ces
|
||||||
- Reponse attendue : ses
|
- Reponse attendue : ses
|
||||||
- Indice : Remplace par « sa » : « sa clé » a du sens.
|
- Indice : Remplace par « son » : « son grand-père » a du sens.
|
||||||
- Explication : « Ses » est le pluriel de « sa » : les clés de Julie.
|
- Explication : « Ses » est le pluriel de « son » : les grands-parents de Julie.
|
||||||
- Statut : draft
|
- Statut : draft
|
||||||
- **cm1_ces_ses_qcm_05** (difficulte 2) : Pourquoi achètes-tu ... pommes vertes ?
|
- **cm1_ces_ses_qcm_05** (difficulte 2) : Goûte ... pommes rouges, elles sont délicieuses !
|
||||||
- Reponses : ces, ses
|
- Reponses : ces, ses
|
||||||
- Reponse attendue : ces
|
- Reponse attendue : ces
|
||||||
- Indice : Remplace par « cette » : « cette pomme » a du sens.
|
- Indice : Remplace par « cette » : « cette pomme » a du sens.
|
||||||
@@ -815,9 +815,9 @@ Genere automatiquement depuis `data/` par `tools/generate_content_review.py`. Ne
|
|||||||
- Indice : Remplace par « son » : « son oreille » a du sens.
|
- Indice : Remplace par « son » : « son oreille » a du sens.
|
||||||
- Explication : « Ses » est le pluriel de « son » : les oreilles du chien.
|
- Explication : « Ses » est le pluriel de « son » : les oreilles du chien.
|
||||||
- Statut : draft
|
- Statut : draft
|
||||||
- **cm1_ces_ses_correction_03** (difficulte 2) : Léa a rangé [ces -> ses] affaires avant de partir à l'école.
|
- **cm1_ces_ses_correction_03** (difficulte 2) : Tom brosse [ces -> ses] dents avant d'aller au lit.
|
||||||
- Indice : Remplace par « son » : « son affaire » a du sens.
|
- Indice : Remplace par « sa » : « sa dent » a du sens.
|
||||||
- Explication : « Ses » est le pluriel de « son » : les affaires de Léa.
|
- Explication : « Ses » est le pluriel de « sa » : les dents de Tom.
|
||||||
- Statut : draft
|
- Statut : draft
|
||||||
- **cm1_ces_ses_correction_04** (difficulte 3) : Pourquoi portes-tu [ses -> ces] chaussures-ci aujourd'hui ?
|
- **cm1_ces_ses_correction_04** (difficulte 3) : Pourquoi portes-tu [ses -> ces] chaussures-ci aujourd'hui ?
|
||||||
- Indice : Remplace par « cette » : « cette chaussure-ci » a du sens.
|
- Indice : Remplace par « cette » : « cette chaussure-ci » a du sens.
|
||||||
@@ -1047,10 +1047,10 @@ Genere automatiquement depuis `data/` par `tools/generate_content_review.py`. Ne
|
|||||||
- Indice : Après « si » + imparfait, on emploie le conditionnel.
|
- Indice : Après « si » + imparfait, on emploie le conditionnel.
|
||||||
- Explication : Après « si j'avais », on écrit le conditionnel : « volerais ».
|
- Explication : Après « si j'avais », on écrit le conditionnel : « volerais ».
|
||||||
- Statut : draft
|
- Statut : draft
|
||||||
- **cm2_futur_cond_qcm_03** (difficulte 1) : Ce soir, il ... plus tard que d'habitude.
|
- **cm2_futur_cond_qcm_03** (difficulte 1) : Ce soir, il ... à huit heures, c'est certain.
|
||||||
- Reponses : mangera, mangerait
|
- Reponses : mangera, mangerait
|
||||||
- Reponse attendue : mangera
|
- Reponse attendue : mangera
|
||||||
- Indice : « Ce soir » : l'action est certaine, c'est le futur.
|
- Indice : « C'est certain » : l'action est sûre, c'est le futur.
|
||||||
- Explication : L'action est certaine : on écrit le futur « mangera ».
|
- Explication : L'action est certaine : on écrit le futur « mangera ».
|
||||||
- Statut : draft
|
- Statut : draft
|
||||||
- **cm2_futur_cond_qcm_04** (difficulte 2) : Si tu étudiais plus, tu ... ton examen.
|
- **cm2_futur_cond_qcm_04** (difficulte 2) : Si tu étudiais plus, tu ... ton examen.
|
||||||
@@ -1086,7 +1086,7 @@ Genere automatiquement depuis `data/` par `tools/generate_content_review.py`. Ne
|
|||||||
|
|
||||||
### Corrections de phrase
|
### Corrections de phrase
|
||||||
|
|
||||||
- **cm2_futur_cond_correction_01** (difficulte 1) : Si j'étais riche, [j'achèterai -> achèterais] une île.
|
- **cm2_futur_cond_correction_01** (difficulte 1) : Si j'étais riche, [j'achèterai -> j'achèterais] une île.
|
||||||
- Indice : Après « si » + imparfait, on emploie le conditionnel.
|
- Indice : Après « si » + imparfait, on emploie le conditionnel.
|
||||||
- Explication : Après « si j'étais », on écrit le conditionnel : « achèterais ».
|
- Explication : Après « si j'étais », on écrit le conditionnel : « achèterais ».
|
||||||
- Statut : draft
|
- Statut : draft
|
||||||
@@ -1788,7 +1788,7 @@ Genere automatiquement depuis `data/` par `tools/generate_content_review.py`. Ne
|
|||||||
- **cm1_la_la_l_a_qcm_02** (difficulte 1) : ... maîtresse écrit au tableau.
|
- **cm1_la_la_l_a_qcm_02** (difficulte 1) : ... maîtresse écrit au tableau.
|
||||||
- Reponses : La, L'a, Là
|
- Reponses : La, L'a, Là
|
||||||
- Reponse attendue : La
|
- Reponse attendue : La
|
||||||
- Indice : « La » est ici un article devant un nom.
|
- Indice : Regarde le mot qui suit : c'est un nom.
|
||||||
- Explication : « La » accompagne le nom « maîtresse » : on écrit « la » sans accent.
|
- Explication : « La » accompagne le nom « maîtresse » : on écrit « la » sans accent.
|
||||||
- Statut : draft
|
- Statut : draft
|
||||||
- **cm1_la_la_l_a_qcm_03** (difficulte 1) : Paul ... vu hier au marché.
|
- **cm1_la_la_l_a_qcm_03** (difficulte 1) : Paul ... vu hier au marché.
|
||||||
@@ -2430,7 +2430,7 @@ Genere automatiquement depuis `data/` par `tools/generate_content_review.py`. Ne
|
|||||||
|
|
||||||
### Choix multiples
|
### Choix multiples
|
||||||
|
|
||||||
- **cm2_passe_simple_qcm_01** (difficulte 1) : Le roi ... le château ce matin-là.
|
- **cm2_passe_simple_qcm_01** (difficulte 1) : Soudain, le roi ... le château sans un mot.
|
||||||
- Reponses : quitte, quittait, quitta
|
- Reponses : quitte, quittait, quitta
|
||||||
- Reponse attendue : quitta
|
- Reponse attendue : quitta
|
||||||
- Indice : Une action rapide au passé : le passé simple finit par -a.
|
- Indice : Une action rapide au passé : le passé simple finit par -a.
|
||||||
@@ -2442,37 +2442,37 @@ Genere automatiquement depuis `data/` par `tools/generate_content_review.py`. Ne
|
|||||||
- Indice : Une action soudaine : le passé simple d'un verbe en -ir finit par -it.
|
- Indice : Une action soudaine : le passé simple d'un verbe en -ir finit par -it.
|
||||||
- Explication : Au passé simple, un verbe en -ir finit par -it : « elle jaillit ».
|
- Explication : Au passé simple, un verbe en -ir finit par -it : « elle jaillit ».
|
||||||
- Statut : draft
|
- Statut : draft
|
||||||
- **cm2_passe_simple_qcm_03** (difficulte 1) : Le chevalier ... sur son cheval.
|
- **cm2_passe_simple_qcm_03** (difficulte 1) : Puis, le chevalier ... sur son cheval et partit.
|
||||||
- Reponses : monta, montait, monté
|
- Reponses : monta, montait, monté
|
||||||
- Reponse attendue : monta
|
- Reponse attendue : monta
|
||||||
- Indice : Une action rapide au passé : le passé simple finit par -a.
|
- Indice : Une action rapide au passé : le passé simple finit par -a.
|
||||||
- Explication : Au passé simple, un verbe en -er finit par -a : « il monta ».
|
- Explication : Au passé simple, un verbe en -er finit par -a : « il monta ».
|
||||||
- Statut : draft
|
- Statut : draft
|
||||||
- **cm2_passe_simple_qcm_04** (difficulte 2) : Les villageois ... le volcan avec crainte.
|
- **cm2_passe_simple_qcm_04** (difficulte 2) : Alors, les villageois ... le volcan avec crainte, puis s'enfuirent.
|
||||||
- Reponses : regardaient, regardant, regardèrent
|
- Reponses : regardaient, regardant, regardèrent
|
||||||
- Reponse attendue : regardèrent
|
- Reponse attendue : regardèrent
|
||||||
- Indice : Plusieurs villageois : le passé simple finit par -èrent.
|
- Indice : Plusieurs villageois : le passé simple finit par -èrent.
|
||||||
- Explication : Au passé simple, ils : un verbe en -er finit par -èrent : « ils regardèrent ».
|
- Explication : Au passé simple, ils : un verbe en -er finit par -èrent : « ils regardèrent ».
|
||||||
- Statut : draft
|
- Statut : draft
|
||||||
- **cm2_passe_simple_qcm_05** (difficulte 2) : Alors, le dragon ... un grand cri.
|
- **cm2_passe_simple_qcm_05** (difficulte 2) : Alors, d'un seul coup, le dragon ... un grand cri.
|
||||||
- Reponses : poussa, pousser, poussait
|
- Reponses : poussa, pousser, poussait
|
||||||
- Reponse attendue : poussa
|
- Reponse attendue : poussa
|
||||||
- Indice : Une action rapide au passé : le passé simple finit par -a.
|
- Indice : Une action rapide au passé : le passé simple finit par -a.
|
||||||
- Explication : Au passé simple, un verbe en -er finit par -a : « il poussa ».
|
- Explication : Au passé simple, un verbe en -er finit par -a : « il poussa ».
|
||||||
- Statut : draft
|
- Statut : draft
|
||||||
- **cm2_passe_simple_qcm_06** (difficulte 2) : Les enfants ... vers la cabane.
|
- **cm2_passe_simple_qcm_06** (difficulte 2) : Soudain, les enfants ... vers la cabane.
|
||||||
- Reponses : couraient, courant, coururent
|
- Reponses : couraient, courant, coururent
|
||||||
- Reponse attendue : coururent
|
- Reponse attendue : coururent
|
||||||
- Indice : Plusieurs enfants, une action soudaine : le passé simple finit par -urent.
|
- Indice : Plusieurs enfants, une action soudaine : le passé simple finit par -urent.
|
||||||
- Explication : Au passé simple, ils : « ils coururent ».
|
- Explication : Au passé simple, ils : « ils coururent ».
|
||||||
- Statut : draft
|
- Statut : draft
|
||||||
- **cm2_passe_simple_qcm_07** (difficulte 3) : Elles ... leur travail avant la nuit.
|
- **cm2_passe_simple_qcm_07** (difficulte 3) : Enfin, elles ... leur travail avant la nuit.
|
||||||
- Reponses : finissaient, finies, finirent
|
- Reponses : finissaient, finies, finirent
|
||||||
- Reponse attendue : finirent
|
- Reponse attendue : finirent
|
||||||
- Indice : Plusieurs filles : le passé simple d'un verbe en -ir finit par -irent.
|
- Indice : Plusieurs filles : le passé simple d'un verbe en -ir finit par -irent.
|
||||||
- Explication : Au passé simple, elles : un verbe en -ir finit par -irent : « elles finirent ».
|
- Explication : Au passé simple, elles : un verbe en -ir finit par -irent : « elles finirent ».
|
||||||
- Statut : draft
|
- Statut : draft
|
||||||
- **cm2_passe_simple_qcm_08** (difficulte 3) : Le héros ... la princesse.
|
- **cm2_passe_simple_qcm_08** (difficulte 3) : Ce jour-là, d'un coup d'épée, le héros ... la princesse.
|
||||||
- Reponses : sauva, sauvait, sauvé
|
- Reponses : sauva, sauvait, sauvé
|
||||||
- Reponse attendue : sauva
|
- Reponse attendue : sauva
|
||||||
- Indice : Une action rapide au passé : le passé simple finit par -a.
|
- Indice : Une action rapide au passé : le passé simple finit par -a.
|
||||||
@@ -2515,7 +2515,7 @@ Genere automatiquement depuis `data/` par `tools/generate_content_review.py`. Ne
|
|||||||
|
|
||||||
## regle_pluriel_aux_eaux (CM1, orthographe)
|
## regle_pluriel_aux_eaux (CM1, orthographe)
|
||||||
|
|
||||||
**Enonce** : Les noms en -al font leur pluriel en -aux (un cheval, des chevaux) ; les noms en -eau prennent un -x (un bateau, des bateaux) ; quelques noms en -ou aussi (un bijou, des bijoux).
|
**Enonce** : Les noms en -al font leur pluriel en -aux (un cheval, des chevaux) ; les noms en -eau prennent un -x (un bateau, des bateaux) ; quelques noms en -ou aussi (un bijou, des bijoux) ; « travail » fait « travaux ».
|
||||||
|
|
||||||
**Exemple** : Un animal, des animaux. Un bateau, des bateaux. Un bijou, des bijoux.
|
**Exemple** : Un animal, des animaux. Un bateau, des bateaux. Un bijou, des bijoux.
|
||||||
|
|
||||||
@@ -2751,10 +2751,10 @@ Genere automatiquement depuis `data/` par `tools/generate_content_review.py`. Ne
|
|||||||
- Indice : Remplace par « plus tard » : la phrase n'a pas de sens.
|
- Indice : Remplace par « plus tard » : la phrase n'a pas de sens.
|
||||||
- Explication : On exprime une préférence : on écrit « plutôt ».
|
- Explication : On exprime une préférence : on écrit « plutôt ».
|
||||||
- Statut : draft
|
- Statut : draft
|
||||||
- **cm2_plutot_qcm_08** (difficulte 3) : Je me couche ... le samedi soir.
|
- **cm2_plutot_qcm_08** (difficulte 3) : Ce soir, je me couche ... que d'habitude.
|
||||||
- Reponses : plutôt, plus tôt
|
- Reponses : plutôt, plus tôt
|
||||||
- Reponse attendue : plus tôt
|
- Reponse attendue : plus tôt
|
||||||
- Indice : Remplace par « plus tard » : « je me couche plus tard » a du sens.
|
- Indice : Remplace par « plus tard » : « plus tard que d'habitude » a du sens.
|
||||||
- Explication : On peut dire « plus tard » : on écrit « plus tôt ».
|
- Explication : On peut dire « plus tard » : on écrit « plus tôt ».
|
||||||
- Statut : draft
|
- Statut : draft
|
||||||
|
|
||||||
@@ -3118,7 +3118,7 @@ Genere automatiquement depuis `data/` par `tools/generate_content_review.py`. Ne
|
|||||||
- Explication : Le mot « impression » s'écrit avec -ssion.
|
- Explication : Le mot « impression » s'écrit avec -ssion.
|
||||||
- Statut : draft
|
- Statut : draft
|
||||||
- **cm2_tion_sion_qcm_07** (difficulte 3) : La ... du volcan a duré trois jours.
|
- **cm2_tion_sion_qcm_07** (difficulte 3) : La ... du volcan a duré trois jours.
|
||||||
- Reponses : érussion, éruction, éruption
|
- Reponses : érussion, érupsion, éruption
|
||||||
- Reponse attendue : éruption
|
- Reponse attendue : éruption
|
||||||
- Indice : Le son [sjɔ̃] s'écrit ici avec -ption.
|
- Indice : Le son [sjɔ̃] s'écrit ici avec -ption.
|
||||||
- Explication : Le mot « éruption » s'écrit avec -ption.
|
- Explication : Le mot « éruption » s'écrit avec -ption.
|
||||||
|
|||||||
@@ -405,3 +405,14 @@ Volume : 6 tableaux, 18 règles, 144 QCM, 72 corrections, 54 dictées (voix Pipe
|
|||||||
**Reste / limites** : CM1 et CM2 n'ont pas été relus pédagogiquement (indices, niveau de difficulté, règles du passé simple et de l'accord du participe avec COD, à faire valider) ; voix des 54 dictées non écoutées ; la création de profil propose désormais 4 niveaux (CE1, CE2, CM1, CM2).
|
**Reste / limites** : CM1 et CM2 n'ont pas été relus pédagogiquement (indices, niveau de difficulté, règles du passé simple et de l'accord du participe avec COD, à faire valider) ; voix des 54 dictées non écoutées ; la création de profil propose désormais 4 niveaux (CE1, CE2, CM1, CM2).
|
||||||
|
|
||||||
**Correctif (0.8.1) — mots touchés avec élision** : dans « La coulée de lave », le mot touché était « j'achèterai » mais l'attendu « achèterais » (sans « j' ») : la réponse naturelle « j'achèterais » était refusée. Données corrigées (attendu « j'achèterais ») et validateur rendu tolérant : pour un mot touché avec élision, on accepte le mot entier ou seulement le verbe, avec apostrophe droite ou typographique. Tests : validateur (formes acceptées et refusées) et garde-fou de données (un attendu ne perd pas le préfixe d'élision du mot touché).
|
**Correctif (0.8.1) — mots touchés avec élision** : dans « La coulée de lave », le mot touché était « j'achèterai » mais l'attendu « achèterais » (sans « j' ») : la réponse naturelle « j'achèterais » était refusée. Données corrigées (attendu « j'achèterais ») et validateur rendu tolérant : pour un mot touché avec élision, on accepte le mot entier ou seulement le verbe, avec apostrophe droite ou typographique. Tests : validateur (formes acceptées et refusées) et garde-fou de données (un attendu ne perd pas le préfixe d'élision du mot touché).
|
||||||
|
|
||||||
|
**Relecture CM1/CM2 (0.8.2)** — relecture complète des 144 QCM et 72 corrections, plus un audit automatique (attendu identique au texte, indice qui donne la réponse, dictées sans mot cible). Problèmes trouvés et corrigés :
|
||||||
|
|
||||||
|
- **Défaut de validation (le plus grave)** : un mot touché portant la ponctuation de la phrase (« roze. », « vertes. ») avait un attendu avec point ; taper « rose » sans point était refusé. La comparaison ignore maintenant la ponctuation finale, des deux côtés (concerne aussi le pilote CE1 et les tableaux CE2).
|
||||||
|
- **Énoncés ambigus** (les deux réponses étaient défendables) : ces/ses (« Julie a oublié … clés », « Pourquoi achètes-tu … pommes ? », « Léa a rangé ces affaires »), passé simple contre imparfait (sept énoncés sans marqueur d'action unique : « Soudain », « Puis… partit », « Enfin »…), futur contre conditionnel (« Ce soir, il … plus tard »), plutôt/plus tôt (« Je me couche … le samedi soir »). Reformulés avec un marqueur sans équivoque.
|
||||||
|
- **Faux mot « réel » comme distracteur** : « éruction » (mot qui existe) remplacé par « érupsion ».
|
||||||
|
- **Accord avec « être »** : « les enfants » n'est pas forcément masculin (remplacé par « les garçons »).
|
||||||
|
- **Indices qui donnent la réponse** (3 couleurs, « la ») : reformulés.
|
||||||
|
- **Énoncé de règle incomplet** : « travail → travaux » ajouté à la règle des pluriels en -aux.
|
||||||
|
|
||||||
|
**Non vérifié** : lecture faite par Claude, pas par un enseignant ; l'ambiguïté résiduelle possible (ex. « marron » parfois accordé dans l'usage) est assumée au profit de la norme.
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@ config_version=5
|
|||||||
[application]
|
[application]
|
||||||
|
|
||||||
config/name="Les Aventuriers des mots"
|
config/name="Les Aventuriers des mots"
|
||||||
config/version="0.8.1"
|
config/version="0.8.2"
|
||||||
run/main_scene="res://scenes/boot/boot.tscn"
|
run/main_scene="res://scenes/boot/boot.tscn"
|
||||||
config/features=PackedStringArray("4.6", "Forward Plus")
|
config/features=PackedStringArray("4.6", "Forward Plus")
|
||||||
config/icon="res://icon.svg"
|
config/icon="res://icon.svg"
|
||||||
|
|||||||
@@ -73,13 +73,23 @@ static func validate_sentence_correction(
|
|||||||
## (« achèterais ») : une reponse ambigue n'est pas declaree fausse
|
## (« achèterais ») : une reponse ambigue n'est pas declaree fausse
|
||||||
## automatiquement (CLAUDE.md, invariants pedagogiques).
|
## automatiquement (CLAUDE.md, invariants pedagogiques).
|
||||||
static func _matches_expected(submitted: String, expected: String, token_text: String = "") -> bool:
|
static func _matches_expected(submitted: String, expected: String, token_text: String = "") -> bool:
|
||||||
var typed := TextNormalizer.normalize(submitted).to_lower()
|
var typed := _comparable(submitted)
|
||||||
for form in _accepted_forms(expected, token_text):
|
for form in _accepted_forms(expected, token_text):
|
||||||
if typed == TextNormalizer.normalize(form).to_lower():
|
if typed == _comparable(form):
|
||||||
return true
|
return true
|
||||||
return false
|
return false
|
||||||
|
|
||||||
|
|
||||||
|
## Forme comparable : normalisee, en minuscules, sans ponctuation finale. Le
|
||||||
|
## mot touche porte parfois le point de la phrase (« roze. ») ; l'enfant n'a
|
||||||
|
## pas a le retaper, et le taper n'est pas une erreur.
|
||||||
|
static func _comparable(text: String) -> String:
|
||||||
|
var cleaned := TextNormalizer.normalize(text).to_lower()
|
||||||
|
while not cleaned.is_empty() and ".,;:!?…".contains(cleaned[cleaned.length() - 1]):
|
||||||
|
cleaned = cleaned.substr(0, cleaned.length() - 1).strip_edges()
|
||||||
|
return cleaned
|
||||||
|
|
||||||
|
|
||||||
## Formes acceptees : l'attendu, sans son prefixe d'elision (« j' », « l' »...),
|
## Formes acceptees : l'attendu, sans son prefixe d'elision (« j' », « l' »...),
|
||||||
## ou avec le prefixe du mot touche quand l'attendu n'en porte pas.
|
## ou avec le prefixe du mot touche quand l'attendu n'en porte pas.
|
||||||
static func _accepted_forms(expected: String, token_text: String) -> Array[String]:
|
static func _accepted_forms(expected: String, token_text: String) -> Array[String]:
|
||||||
|
|||||||
@@ -149,3 +149,24 @@ func test_expected_without_elision_accepts_the_prefix_of_the_touched_word() -> v
|
|||||||
for typed in ["achèterais", "j'achèterais"]:
|
for typed in ["achèterais", "j'achèterais"]:
|
||||||
var result := AnswerValidator.validate_sentence_correction(exercise, [1], {1: typed})
|
var result := AnswerValidator.validate_sentence_correction(exercise, [1], {1: typed})
|
||||||
assert_true(result.is_correct, "« %s » doit etre accepte" % typed)
|
assert_true(result.is_correct, "« %s » doit etre accepte" % typed)
|
||||||
|
|
||||||
|
|
||||||
|
func test_correction_does_not_require_the_final_punctuation_of_the_word() -> void:
|
||||||
|
# Le mot touche porte souvent le point de la phrase (« roze. ») : taper
|
||||||
|
# « rose » ou « rose. » est correct, « roze » ne l'est pas.
|
||||||
|
var exercise := {
|
||||||
|
"rule_id": "regle_x",
|
||||||
|
"hint": "indice",
|
||||||
|
"explanation": "explication",
|
||||||
|
"tokens":
|
||||||
|
[
|
||||||
|
{"text": "La", "correct": true},
|
||||||
|
{"text": "roze.", "correct": false, "expected": "rose."},
|
||||||
|
],
|
||||||
|
}
|
||||||
|
for typed in ["rose", "rose.", "Rose", " rose "]:
|
||||||
|
var result := AnswerValidator.validate_sentence_correction(exercise, [1], {1: typed})
|
||||||
|
assert_true(result.is_correct, "« %s » doit etre accepte" % typed)
|
||||||
|
for typed in ["roze", "roze.", "rosse", ""]:
|
||||||
|
var result := AnswerValidator.validate_sentence_correction(exercise, [1], {1: typed})
|
||||||
|
assert_false(result.is_correct, "« %s » ne doit pas etre accepte" % typed)
|
||||||
|
|||||||
Reference in New Issue
Block a user