Add CM1 and CM2 boards, six backdrops and a quit button (0.8.0)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
Denis Defolie
2026-10-12 11:28:19 +02:00
parent 06a5e816be
commit 42dd170a5d
489 changed files with 13016 additions and 12 deletions
@@ -0,0 +1,12 @@
{
"mission_id": "mission_100_source_chaude",
"title": "La source chaude",
"narrative_context": "Dans la source chaude, les participes cherchent leur accord. Aide-les à choisir.",
"rule_id": "regle_participe_cod_avant",
"exercise_type": "multiple_choice",
"map_position": {
"x": 0.15,
"y": 0.85
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_101_pont_de_basalte",
"title": "Le pont de basalte",
"narrative_context": "Un participe du pont de basalte est mal accordé. Trouve-le et corrige-le.",
"rule_id": "regle_participe_cod_avant",
"exercise_type": "sentence_correction",
"map_position": {
"x": 0.5,
"y": 0.85
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_102_sommet_ardent",
"title": "Le sommet ardent",
"narrative_context": "Au sommet, une voix dicte une phrase, une seule fois. Écoute bien et écris-la exactement.",
"rule_id": "regle_participe_cod_avant",
"exercise_type": "dictation",
"map_position": {
"x": 0.85,
"y": 0.85
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_103_rayon_des_adverbes",
"title": "Le rayon des adverbes",
"narrative_context": "Au rayon des adverbes, chaque mot attend sa terminaison. Choisis la bonne écriture.",
"rule_id": "regle_adverbes_ment",
"exercise_type": "multiple_choice",
"map_position": {
"x": 0.15,
"y": 0.15
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_104_escalier_de_la_tour",
"title": "L'escalier de la tour",
"narrative_context": "Une marche de l'escalier porte un adverbe mal écrit. Trouve-le et corrige-le.",
"rule_id": "regle_adverbes_ment",
"exercise_type": "sentence_correction",
"map_position": {
"x": 0.5,
"y": 0.15
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_105_salle_de_lecture",
"title": "La salle de lecture",
"narrative_context": "Le bibliothécaire lit une phrase, une seule fois. Écoute bien et écris-la en entier.",
"rule_id": "regle_adverbes_ment",
"exercise_type": "dictation",
"map_position": {
"x": 0.85,
"y": 0.15
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_106_catalogue_des_noms",
"title": "Le catalogue des noms",
"narrative_context": "Dans le catalogue, « -tion », « -sion » ou « -ssion » ? Choisis la bonne fin de mot.",
"rule_id": "regle_tion_sion_ssion",
"exercise_type": "multiple_choice",
"map_position": {
"x": 0.15,
"y": 0.5
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_107_reserve_des_manuscrits",
"title": "La réserve des manuscrits",
"narrative_context": "Un manuscrit contient une faute sur une terminaison. Repère-la et corrige-la.",
"rule_id": "regle_tion_sion_ssion",
"exercise_type": "sentence_correction",
"map_position": {
"x": 0.5,
"y": 0.5
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_108_rayon_des_dictees",
"title": "Le rayon des dictées",
"narrative_context": "Un livre à voix haute dicte une phrase, une seule fois. Écoute bien et écris-la sans faute.",
"rule_id": "regle_tion_sion_ssion",
"exercise_type": "dictation",
"map_position": {
"x": 0.85,
"y": 0.5
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_109_galerie_des_couleurs",
"title": "La galerie des couleurs",
"narrative_context": "Dans la galerie, les couleurs s'accordent… ou pas. Choisis la bonne forme.",
"rule_id": "regle_adjectifs_couleur",
"exercise_type": "multiple_choice",
"map_position": {
"x": 0.15,
"y": 0.85
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_110_atelier_du_relieur",
"title": "L'atelier du relieur",
"narrative_context": "Le relieur a mal accordé une couleur. Trouve le mot fautif et corrige-le.",
"rule_id": "regle_adjectifs_couleur",
"exercise_type": "sentence_correction",
"map_position": {
"x": 0.5,
"y": 0.85
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_111_grand_lecteur",
"title": "Le grand lecteur",
"narrative_context": "Le grand lecteur murmure une phrase, une seule fois. Écoute bien et écris-la exactement.",
"rule_id": "regle_adjectifs_couleur",
"exercise_type": "dictation",
"map_position": {
"x": 0.85,
"y": 0.85
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_58_pont_levis_du_chateau",
"title": "Le pont-levis du château",
"narrative_context": "Le pont-levis ne s'abaisse que si tu choisis le bon mot entre « leur » et « leurs ».",
"rule_id": "regle_leur_leurs",
"exercise_type": "multiple_choice",
"map_position": {
"x": 0.15,
"y": 0.15
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_59_tour_du_guetteur",
"title": "La tour du guetteur",
"narrative_context": "Le guetteur a mal écrit un message. Trouve l'erreur sur « leur » ou « leurs » et corrige-la.",
"rule_id": "regle_leur_leurs",
"exercise_type": "sentence_correction",
"map_position": {
"x": 0.5,
"y": 0.15
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_60_salle_des_echos",
"title": "La salle des échos",
"narrative_context": "La salle répète une phrase, une seule fois. Écoute bien et écris-la en entier.",
"rule_id": "regle_leur_leurs",
"exercise_type": "dictation",
"map_position": {
"x": 0.85,
"y": 0.15
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_61_armurerie_royale",
"title": "L'armurerie royale",
"narrative_context": "À l'armurerie, chaque objet est étiqueté « ces » ou « ses ». Choisis la bonne étiquette.",
"rule_id": "regle_ces_ses",
"exercise_type": "multiple_choice",
"map_position": {
"x": 0.15,
"y": 0.5
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_62_cuisine_du_roi",
"title": "La cuisine du roi",
"narrative_context": "Le cuisinier a confondu « ces » et « ses ». Repère le mot fautif et remplace-le.",
"rule_id": "regle_ces_ses",
"exercise_type": "sentence_correction",
"map_position": {
"x": 0.5,
"y": 0.5
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_63_cour_du_chateau",
"title": "La cour du château",
"narrative_context": "Un héraut crie une phrase, une seule fois. Écoute bien et écris exactement ce qu'il dit.",
"rule_id": "regle_ces_ses",
"exercise_type": "dictation",
"map_position": {
"x": 0.85,
"y": 0.5
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_64_bibliotheque_secrete",
"title": "La bibliothèque secrète",
"narrative_context": "Dans la bibliothèque secrète, « c'est » et « s'est » se cachent. Choisis le bon.",
"rule_id": "regle_c_est_s_est",
"exercise_type": "multiple_choice",
"map_position": {
"x": 0.15,
"y": 0.85
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_65_cachot_du_dragon",
"title": "Le cachot du dragon",
"narrative_context": "Une inscription du cachot est fautive. Trouve « c'est » ou « s'est » mal placé et corrige-le.",
"rule_id": "regle_c_est_s_est",
"exercise_type": "sentence_correction",
"map_position": {
"x": 0.5,
"y": 0.85
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_66_salle_du_trone",
"title": "La salle du trône",
"narrative_context": "Le roi dicte une phrase, une seule fois. Écoute-le bien et écris-la sans faute.",
"rule_id": "regle_c_est_s_est",
"exercise_type": "dictation",
"map_position": {
"x": 0.85,
"y": 0.85
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_67_place_du_marche",
"title": "La place du marché",
"narrative_context": "Sur la place du marché, tout se passait autrefois. Choisis la bonne forme de l'imparfait.",
"rule_id": "regle_imparfait",
"exercise_type": "multiple_choice",
"map_position": {
"x": 0.15,
"y": 0.15
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_68_vieux_moulin",
"title": "Le vieux moulin",
"narrative_context": "Le meunier a mal conjugué un verbe sur sa porte. Trouve-le et corrige-le.",
"rule_id": "regle_imparfait",
"exercise_type": "sentence_correction",
"map_position": {
"x": 0.5,
"y": 0.15
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_69_fontaine_du_village",
"title": "La fontaine du village",
"narrative_context": "La fontaine murmure une phrase, une seule fois. Écoute bien et écris-la en entier.",
"rule_id": "regle_imparfait",
"exercise_type": "dictation",
"map_position": {
"x": 0.85,
"y": 0.15
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_70_forge_du_maitre",
"title": "La forge du maître",
"narrative_context": "Le forgeron a rangé ses participes dans de mauvais tiroirs. Choisis la bonne terminaison.",
"rule_id": "regle_participe_passe_forme",
"exercise_type": "multiple_choice",
"map_position": {
"x": 0.15,
"y": 0.5
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_71_grenier_a_foin",
"title": "Le grenier à foin",
"narrative_context": "Un participe passé est mal écrit dans le grenier. Repère-le et corrige-le.",
"rule_id": "regle_participe_passe_forme",
"exercise_type": "sentence_correction",
"map_position": {
"x": 0.5,
"y": 0.5
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_72_cloche_de_l_eglise",
"title": "La cloche de l'église",
"narrative_context": "La cloche sonne une phrase, une seule fois. Écoute bien et écris-la sans faute.",
"rule_id": "regle_participe_passe_forme",
"exercise_type": "dictation",
"map_position": {
"x": 0.85,
"y": 0.5
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_73_chemin_des_voyageurs",
"title": "Le chemin des voyageurs",
"narrative_context": "Les voyageurs sont arrivés au village. Accorde leur participe avec le bon sujet.",
"rule_id": "regle_accord_participe_etre",
"exercise_type": "multiple_choice",
"map_position": {
"x": 0.15,
"y": 0.85
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_74_auberge_du_coin",
"title": "L'auberge du coin",
"narrative_context": "À l'auberge, un participe ne s'accorde pas avec son sujet. Trouve-le et corrige-le.",
"rule_id": "regle_accord_participe_etre",
"exercise_type": "sentence_correction",
"map_position": {
"x": 0.5,
"y": 0.85
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_75_ecole_du_village",
"title": "L'école du village",
"narrative_context": "Le maître dicte une phrase, une seule fois. Écoute-le bien et écris-la exactement.",
"rule_id": "regle_accord_participe_etre",
"exercise_type": "dictation",
"map_position": {
"x": 0.85,
"y": 0.85
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_76_riviere_aux_crocodiles",
"title": "La rivière aux crocodiles",
"narrative_context": "Sur la rivière, les mots passent au pluriel. Choisis la bonne forme pour traverser.",
"rule_id": "regle_pluriel_aux_eaux",
"exercise_type": "multiple_choice",
"map_position": {
"x": 0.15,
"y": 0.15
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_77_pont_de_lianes",
"title": "Le pont de lianes",
"narrative_context": "Une liane du pont est mal nouée : un pluriel est faux. Trouve-le et corrige-le.",
"rule_id": "regle_pluriel_aux_eaux",
"exercise_type": "sentence_correction",
"map_position": {
"x": 0.5,
"y": 0.15
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_78_perroquet_de_la_canopee",
"title": "Le perroquet de la canopée",
"narrative_context": "Le perroquet répète une phrase, une seule fois. Écoute bien et écris-la en entier.",
"rule_id": "regle_pluriel_aux_eaux",
"exercise_type": "dictation",
"map_position": {
"x": 0.85,
"y": 0.15
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_79_clairiere_des_singes",
"title": "La clairière des singes",
"narrative_context": "Les singes se demandent « où » ou « ou ». Aide-les à choisir.",
"rule_id": "regle_ou_ou_accent",
"exercise_type": "multiple_choice",
"map_position": {
"x": 0.15,
"y": 0.5
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_80_cabane_dans_l_arbre",
"title": "La cabane dans l'arbre",
"narrative_context": "Un panneau de la cabane confond « où » et « ou ». Trouve l'erreur et corrige-la.",
"rule_id": "regle_ou_ou_accent",
"exercise_type": "sentence_correction",
"map_position": {
"x": 0.5,
"y": 0.5
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_81_cascade_cachee",
"title": "La cascade cachée",
"narrative_context": "La cascade murmure une phrase, une seule fois. Écoute bien et écris-la sans faute.",
"rule_id": "regle_ou_ou_accent",
"exercise_type": "dictation",
"map_position": {
"x": 0.85,
"y": 0.5
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_82_temple_perdu",
"title": "Le temple perdu",
"narrative_context": "Dans le temple, « la », « là » et « l'a » se ressemblent. Choisis le bon.",
"rule_id": "regle_la_la_accent_l_a",
"exercise_type": "multiple_choice",
"map_position": {
"x": 0.15,
"y": 0.85
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_83_sentier_du_tigre",
"title": "Le sentier du tigre",
"narrative_context": "Une trace sur le sentier est mal écrite. Trouve le mot fautif et corrige-le.",
"rule_id": "regle_la_la_accent_l_a",
"exercise_type": "sentence_correction",
"map_position": {
"x": 0.5,
"y": 0.85
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_84_arbre_aux_secrets",
"title": "L'arbre aux secrets",
"narrative_context": "L'arbre chuchote une phrase, une seule fois. Écoute-le bien et écris exactement ce qu'il dit.",
"rule_id": "regle_la_la_accent_l_a",
"exercise_type": "dictation",
"map_position": {
"x": 0.85,
"y": 0.85
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_85_hublot_de_la_station",
"title": "Le hublot de la station",
"narrative_context": "Par le hublot, des phrases flottent : « quel », « quelle » ou « qu'elle » ? Choisis le bon.",
"rule_id": "regle_quel_qu_elle",
"exercise_type": "multiple_choice",
"map_position": {
"x": 0.15,
"y": 0.15
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_86_salle_de_controle",
"title": "La salle de contrôle",
"narrative_context": "Un message de la salle de contrôle est fautif. Repère le mot et corrige-le.",
"rule_id": "regle_quel_qu_elle",
"exercise_type": "sentence_correction",
"map_position": {
"x": 0.5,
"y": 0.15
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_87_radio_de_bord",
"title": "La radio de bord",
"narrative_context": "La radio grésille une phrase, une seule fois. Écoute bien et écris-la en entier.",
"rule_id": "regle_quel_qu_elle",
"exercise_type": "dictation",
"map_position": {
"x": 0.85,
"y": 0.15
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_88_orbite_de_mars",
"title": "L'orbite de Mars",
"narrative_context": "En orbite, « quand », « quant » et « qu'en » flottent. Choisis le bon.",
"rule_id": "regle_quand_quant_qu_en",
"exercise_type": "multiple_choice",
"map_position": {
"x": 0.15,
"y": 0.5
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_89_capsule_de_secours",
"title": "La capsule de secours",
"narrative_context": "Le journal de la capsule contient une erreur. Trouve-la et corrige-la.",
"rule_id": "regle_quand_quant_qu_en",
"exercise_type": "sentence_correction",
"map_position": {
"x": 0.5,
"y": 0.5
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_90_signal_lointain",
"title": "Le signal lointain",
"narrative_context": "Un signal lointain transmet une phrase, une seule fois. Écoute bien et écris-la sans faute.",
"rule_id": "regle_quand_quant_qu_en",
"exercise_type": "dictation",
"map_position": {
"x": 0.85,
"y": 0.5
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_91_navette_spatiale",
"title": "La navette spatiale",
"narrative_context": "La navette hésite entre « plutôt » et « plus tôt ». Aide l'équipage à choisir.",
"rule_id": "regle_plutot_plus_tot",
"exercise_type": "multiple_choice",
"map_position": {
"x": 0.15,
"y": 0.85
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_92_serre_orbitale",
"title": "La serre orbitale",
"narrative_context": "Dans la serre, une étiquette est fautive. Trouve le mot et corrige-le.",
"rule_id": "regle_plutot_plus_tot",
"exercise_type": "sentence_correction",
"map_position": {
"x": 0.5,
"y": 0.85
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_93_etoile_messagere",
"title": "L'étoile messagère",
"narrative_context": "L'étoile envoie une phrase, une seule fois. Écoute bien et écris-la exactement.",
"rule_id": "regle_plutot_plus_tot",
"exercise_type": "dictation",
"map_position": {
"x": 0.85,
"y": 0.85
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_94_cratere_fumant",
"title": "Le cratère fumant",
"narrative_context": "Au bord du cratère, « futur » ou « conditionnel » ? Choisis la bonne terminaison.",
"rule_id": "regle_futur_conditionnel",
"exercise_type": "multiple_choice",
"map_position": {
"x": 0.15,
"y": 0.15
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_95_coulee_de_lave",
"title": "La coulée de lave",
"narrative_context": "La lave a dissous un verbe : il n'est pas au bon temps. Trouve-le et corrige-le.",
"rule_id": "regle_futur_conditionnel",
"exercise_type": "sentence_correction",
"map_position": {
"x": 0.5,
"y": 0.15
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_96_grotte_de_cendre",
"title": "La grotte de cendre",
"narrative_context": "La grotte répète une phrase, une seule fois. Écoute bien et écris-la en entier.",
"rule_id": "regle_futur_conditionnel",
"exercise_type": "dictation",
"map_position": {
"x": 0.85,
"y": 0.15
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_97_village_de_pierre",
"title": "Le village de pierre",
"narrative_context": "Au village de pierre, tout s'est passé en un instant. Choisis la bonne forme du passé simple.",
"rule_id": "regle_passe_simple",
"exercise_type": "multiple_choice",
"map_position": {
"x": 0.15,
"y": 0.5
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_98_observatoire",
"title": "L'observatoire",
"narrative_context": "Le registre de l'observatoire contient un verbe mal conjugué. Trouve-le et corrige-le.",
"rule_id": "regle_passe_simple",
"exercise_type": "sentence_correction",
"map_position": {
"x": 0.5,
"y": 0.5
},
"review_status": "draft"
}
@@ -0,0 +1,12 @@
{
"mission_id": "mission_99_echo_du_volcan",
"title": "L'écho du volcan",
"narrative_context": "Le volcan gronde une phrase, une seule fois. Écoute bien et écris-la sans faute.",
"rule_id": "regle_passe_simple",
"exercise_type": "dictation",
"map_position": {
"x": 0.85,
"y": 0.5
},
"review_status": "draft"
}