${c.name}${c.tag}
${c.intro}
« ${c.line} »
'use strict';
const companions=[
{id:'george',name:'George',area:'Le fil conducteur',tag:'Curieux & rassurant',intro:'Relier une question à ton prochain petit pas. George t’aide à garder le cap entre les séances.',line:'On part de ce que tu comprends déjà.',pos:null},
{id:'mila',name:'Mila',area:'Mathématiques',tag:'Visuelle & méthodique',intro:'Des parts de gâteau aux équations : représenter, comprendre, puis expliquer avec tes mots.',line:'Et si on commençait par un dessin ?',pos:'0% 0%'},
{id:'noe',name:'Noé',area:'Sciences',tag:'Curieux & concret',intro:'Partir d’un phénomène du quotidien pour formuler une hypothèse et comprendre ce qui se passe.',line:'Qu’est-ce que tu observes vraiment ?',pos:'100% 0%'},
{id:'iris',name:'Iris',area:'Langues & expression',tag:'Patiente & précise',intro:'Trouver les mots, comprendre une règle et oser une phrase. Une occasion de pratiquer à chaque étape.',line:'Essaie une phrase. On la construit ensemble.',pos:'0% 100%'},
{id:'adam',name:'Adam',area:'Méthode & organisation',tag:'Calme & encourageant',intro:'Découper un gros devoir, choisir une priorité et réviser sans tout repousser au dernier soir.',line:'Quelle petite étape serait faisable maintenant ?',pos:'100% 100%'}
];
const question=(q,options,answer,explanation)=>({q,options,answer,explanation});
const learningTopics=[
{id:'fractions',subject:'Mathématiques',title:'Les fractions, sans blocage',symbol:'½',mentor:'mila',duration:'3 min',desc:'Trouver un dénominateur commun et faire le lien avec une équation.',questions:[question('Pour additionner ½ et ⅓, quel dénominateur commun peux-tu choisir ?',['5','6','8'],1,'6 est un multiple de 2 et de 3 : ½ = 3/6 et ⅓ = 2/6.'),question('Combien vaut ½ + ⅓ ?',['2/5','5/6','1/6'],1,'Les parts ont la même taille : 3/6 + 2/6 = 5/6. On garde le dénominateur 6.'),question('Dans x + ⅓ = 5/6, quelle est la valeur de x ?',['1/2','2/3','1/3'],0,'On soustrait ⅓, soit 2/6, des deux côtés : x = 3/6 = ½.')]},
{id:'proportions',subject:'Mathématiques',title:'Le bon sens des proportions',symbol:'%',mentor:'mila',duration:'4 min',desc:'Passer par l’unité, adapter une recette et calculer une réduction.',questions:[question('Trois cahiers coûtent 12 CHF au même prix unitaire. Combien coûte un cahier ?',['3 CHF','4 CHF','6 CHF'],1,'On divise le prix total par le nombre de cahiers : 12 ÷ 3 = 4 CHF.'),question('Une recette pour 4 personnes contient 300 g de riz. Combien pour 6 personnes ?',['450 g','600 g','350 g'],0,'Pour une personne : 300 ÷ 4 = 75 g. Pour six : 75 × 6 = 450 g.'),question('Un article à 80 CHF est réduit de 25 %. Quel est son nouveau prix ?',['20 CHF','55 CHF','60 CHF'],2,'25 % de 80 vaut 20. On retire la réduction : 80 − 20 = 60 CHF.')]},
{id:'french',subject:'Français',title:'Les accords qui font sens',symbol:'é',mentor:'iris',duration:'3 min',desc:'Repérer le sujet et accorder un verbe ou un adjectif.',questions:[question('Choisis la phrase correctement accordée.',['Les élèves travaille.','Les élèves travaillent.','Les élèves travailles.'],1,'Le sujet « les élèves » est au pluriel : ils travaillent.'),question('Complète : « Des histoires… »',['passionnantes','passionnant','passionnants'],0,'« Histoires » est féminin pluriel. L’adjectif prend donc -es : passionnantes.'),question('Dans « Le groupe de joueurs arrive », avec quoi le verbe s’accorde-t-il ?',['joueurs','de joueurs','le groupe'],2,'Le noyau du sujet est « groupe », au singulier. Le verbe s’écrit donc « arrive ».')]},
{id:'german',subject:'Allemand',title:'Huit mots, un vrai déclic',symbol:'Aa',mentor:'iris',duration:'3 min',desc:'Retrouver les mots du cours et les reconnaître dans une phrase.',questions:[question('Que signifie « das Buch » ?',['La maison','Le livre','L’école'],1,'« Das Buch » signifie « le livre ». L’article fait partie du mot à apprendre.'),question('Quel verbe signifie « comprendre » ?',['schreiben','lesen','verstehen'],2,'« Verstehen » signifie comprendre ; « lesen », lire ; « schreiben », écrire.'),question('Dans « Ich lese ein Buch », que fait la personne ?',['Elle lit un livre.','Elle écrit une lettre.','Elle va à l’école.'],0,'« Ich lese » signifie « je lis », et « ein Buch », « un livre ».')]},
{id:'english',subject:'Anglais',title:'A little English, every day',symbol:'Hi',mentor:'iris',duration:'3 min',desc:'Utiliser le présent simple et retrouver les mots utiles.',questions:[question('Complète : « She … football every Saturday. »',['play','plays','playing'],1,'Au présent simple, on ajoute généralement -s à la troisième personne du singulier : she plays.'),question('Quelle phrase signifie « Je ne comprends pas » ?',['I not understand.','I am not understand.','I don’t understand.'],2,'La négation au présent simple utilise do not (don’t), puis le verbe à sa forme de base.'),question('Quelle question demande une habitude ?',['Do you read every day?','Are you reading now?','Did you read yesterday?'],0,'« Every day » décrit une habitude. « Now » renvoie ici à l’action en cours ; « yesterday » au passé.')]},
{id:'science',subject:'Sciences',title:'Le voyage d’une goutte',symbol:'◉',mentor:'noe',duration:'4 min',desc:'Comprendre l’évaporation, la condensation et les précipitations.',questions:[question('Une flaque diminue par temps chaud sans s’écouler. Que se passe-t-il ?',['L’eau s’évapore.','L’eau disparaît sans trace.','L’eau se solidifie.'],0,'Une partie de l’eau liquide passe à l’état gazeux et rejoint l’air : c’est l’évaporation.'),question('De la buée apparaît sur une vitre froide. C’est…',['la fusion','l’évaporation','la condensation'],2,'La vapeur d’eau se refroidit au contact de la vitre et devient de petites gouttes liquides.'),question('Dans le cycle de l’eau, quel phénomène ramène l’eau des nuages au sol ?',['La photosynthèse','Les précipitations','La respiration'],1,'Pluie, neige et grêle sont des précipitations. L’eau peut ensuite ruisseler ou s’infiltrer.')]}
];
const lessonLibrary=[
{id:'fractions',subject:'Mathématiques',title:'Additionner des fractions',symbol:'½',time:'6 min',topic:'fractions',intro:'Une fraction décrit un nombre de parts de même taille. Avant d’additionner, il faut comparer des parts de la même taille.',steps:['Repère les dénominateurs : ils indiquent le découpage de l’unité.','Choisis un multiple commun. Pour 2 et 3, on peut choisir 6.','Multiplie le numérateur et le dénominateur de chaque fraction par le même nombre.','Additionne les numérateurs, garde le dénominateur et simplifie si possible.'],example:'½ + ⅓ = 3/6 + 2/6 = 5/6',trap:'Additionner les dénominateurs donnerait 2/5 : cela change la taille des parts et ne représente pas la somme.',practice:'Calcule ¼ + ½.',answer:'¼ + 2/4 = 3/4. Les deux fractions sont exprimées en quarts.'},
{id:'proportions',subject:'Mathématiques',title:'Passer par l’unité',symbol:'%',time:'7 min',topic:'proportions',intro:'Dans une situation de proportionnalité, multiplier une quantité par un nombre multiplie l’autre quantité par le même nombre.',steps:['Vérifie que le prix ou la quantité par unité reste constant.','Divise pour trouver la valeur correspondant à une unité.','Multiplie cette valeur par le nombre d’unités souhaité.','Vérifie l’ordre de grandeur : plus d’unités doit donner une quantité plus grande.'],example:'5 billets = 35 CHF → 1 billet = 7 CHF → 8 billets = 56 CHF',trap:'Ajouter le même nombre aux deux quantités n’est pas une méthode de proportionnalité.',practice:'Deux litres de jus coûtent 6 CHF. Quel est le prix de cinq litres au même tarif ?',answer:'Un litre coûte 3 CHF ; cinq litres coûtent 15 CHF.'},
{id:'french',subject:'Français',title:'Trouver le sujet, réussir l’accord',symbol:'é',time:'5 min',topic:'french',intro:'Pour accorder le verbe, cherche qui fait l’action ou de qui l’on parle. Le mot placé juste avant le verbe n’est pas toujours le sujet.',steps:['Repère le verbe conjugué.','Pose la question « Qui est-ce qui… ? » ou « Qu’est-ce qui… ? ».','Trouve le noyau du groupe sujet et son nombre.','Remplace le sujet par il, elle, ils ou elles pour vérifier la terminaison.'],example:'Le bouquet de fleurs parfume la pièce. → Il parfume la pièce.',trap:'« Fleurs » est au pluriel, mais le noyau du sujet « bouquet » est au singulier.',practice:'Complète : « Les élèves de la classe … une histoire. » (inventer)',answer:'Les élèves de la classe inventent une histoire. → Ils inventent.'},
{id:'german',subject:'Allemand',title:'Apprendre un mot avec son contexte',symbol:'Aa',time:'8 min',topic:'german',intro:'Un mot se retient mieux quand tu retrouves son sens sans le regarder et que tu l’utilises dans une phrase.',steps:['Lis le nom avec son article : das Buch, die Schule, das Haus.','Cache la traduction et essaie de retrouver le sens.','Associe un verbe : lesen (lire), schreiben (écrire), lernen (apprendre).','Reviens plus tard sur les mots que tu hésites à retrouver.'],example:'Ich lese ein Buch. → Je lis un livre.',trap:'Relire une liste donne parfois une impression de maîtrise. Vérifie aussi si tu retrouves le mot sans modèle.',practice:'Que signifient « verstehen » et « der Tag » ?',answer:'Verstehen : comprendre. Der Tag : le jour.'},
{id:'english',subject:'Anglais',title:'Parler de ses habitudes',symbol:'Hi',time:'6 min',topic:'english',intro:'Le présent simple sert notamment à parler d’habitudes, de routines et de faits généraux.',steps:['Avec I, you, we, they : utilise la base du verbe.','Avec he, she, it : ajoute généralement -s ou -es au verbe.','Pour une négation, utilise don’t ou doesn’t, suivi de la base du verbe.','Pour une question, place Do ou Does avant le sujet.'],example:'She reads every evening. Does she read every evening? She doesn’t read every evening.',trap:'Après « does » ou « doesn’t », on écrit « read », pas « reads ».',practice:'Mets à la forme négative : « He plays tennis. »',answer:'He doesn’t play tennis. L’auxiliaire doesn’t porte la marque de la troisième personne.'},
{id:'science',subject:'Sciences',title:'Comprendre le cycle de l’eau',symbol:'◉',time:'7 min',topic:'science',intro:'L’eau circule entre les sols, les cours d’eau, les océans et l’atmosphère. Elle change parfois d’état au cours du trajet.',steps:['Sous l’effet de l’énergie reçue, une partie de l’eau s’évapore.','La vapeur peut se refroidir et se condenser en gouttelettes ; les nuages peuvent aussi contenir des cristaux de glace.','L’eau retombe sous forme de précipitations.','Elle ruisselle vers les cours d’eau ou s’infiltre dans le sol.'],example:'Une vitre embuée illustre la condensation : de la vapeur d’eau devient liquide sur une surface froide.',trap:'La vapeur d’eau est invisible. Ce que l’on voit dans un nuage est surtout constitué de gouttelettes ou de cristaux de glace.',practice:'Quelle différence fais-tu entre évaporation et condensation ?',answer:'L’évaporation est le passage du liquide au gaz ; la condensation est ici le passage du gaz au liquide.'},
{id:'revision',subject:'Méthode',title:'Réviser en retrouvant, pas en relisant',symbol:'↺',time:'5 min',topic:null,intro:'Pour vérifier ce que tu sais, essaie d’abord de retrouver une idée de mémoire. Le cours sert ensuite à vérifier et à corriger.',steps:['Choisis une notion précise, pas un chapitre entier.','Ferme le cours et écris ce que tu peux expliquer.','Compare avec le cours : qu’est-ce qui manque ou reste flou ?','Refais un court rappel le lendemain, puis quelques jours plus tard.'],example:'Au lieu de relire la règle des fractions, explique à voix haute pourquoi ½ + ⅓ n’est pas 2/5.',trap:'Une erreur pendant un rappel est une information utile, pas une raison de tout recommencer.',practice:'Choisis une notion du jour et formule une question pour te tester demain.',answer:'Exemple : « Comment trouver un dénominateur commun à deux fractions ? » Une question précise permet de vérifier une méthode.'},
{id:'planning',subject:'Méthode',title:'Transformer un devoir en trois étapes',symbol:'✓',time:'4 min',topic:null,intro:'« Faire mes maths » est un objectif vague. Une première action courte et visible aide à démarrer.',steps:['Note le résultat attendu et la date limite.','Découpe le travail : comprendre la consigne, essayer, vérifier.','Estime un temps court pour chaque étape et réserve un créneau.','Si tu bloques, note une question précise à poser au coach.'],example:'Mardi : relire la consigne (3 min). Mercredi : essayer deux exercices (10 min). Jeudi : comparer les méthodes avec Camille.',trap:'Un planning utile garde une marge. Une estimation dépassée sert à ajuster, pas à culpabiliser.',practice:'Découpe « préparer mon contrôle d’allemand » en trois actions.',answer:'Exemple : lister les mots, tester leur rappel sans modèle, reprendre uniquement les mots encore fragiles.'}
];
const familyGuides=[
{title:'Quand « je n’y arrive pas » arrive',tag:'Confiance',body:'Commencez par reconnaître la difficulté : « Qu’est-ce qui te semble le plus difficile ? » Demandez à votre enfant de montrer une étape qu’il comprend déjà. Aidez-le à formuler une question pour son coach, sans faire l’exercice à sa place.',tip:'Une question utile : « Quelle petite partie pourrais-tu essayer maintenant ? »'},
{title:'Installer un rituel léger',tag:'Organisation',body:'Choisissez ensemble un créneau court et un endroit où le matériel est prêt. Demandez quel résultat concret est visé : retrouver cinq mots, essayer un exercice ou préparer une question. À la fin, faites le point sur cette étape seulement.',tip:'Mieux vaut un rendez-vous tenable qu’un programme trop ambitieux.'},
{title:'Parler de progrès sans parler de notes',tag:'Dialogue',body:'Observez une démarche : votre enfant explique-t-il mieux sa méthode ? Demande-t-il un indice plus précis ? Reprend-il un exercice avec moins d’aide ? Ces observations peuvent nourrir le prochain échange avec le coach.',tip:'Essayez : « Qu’est-ce que tu comprends mieux qu’au début de la semaine ? »'},
{title:'Préparer le prochain échange avec le coach',tag:'Coopération',body:'Notez un exemple concret de difficulté, ce qui a déjà été essayé et une question. Le coach pourra distinguer un problème de notion, de consigne ou d’organisation et proposer une suite adaptée.',tip:'Exemple : « Emma commence seule, mais bloque dès que les dénominateurs sont différents. »'}
];
function portrait(id,cls=''){const c=companions.find(x=>x.id===id)||companions[0];return c.pos?``:` Un visage familier pour chaque nouveau déclic.
`;}
function companionStrip(){return `
Personnages virtuels de démonstration. Ils incarnent différentes approches pédagogiques ; tes vrais coachs restent au centre du suivi.
${c.intro}
« ${c.line} »
Le choix personnalise l’accueil et les indices pendant cette visite.
`;} function topicCard(t){const r=state.quizResults[t.id];return `${t.desc}
Les résultats sont conservés pour cette visite seulement. Ils ne modifient pas les repères fictifs du dossier élève.
${l.intro}
${state.attachment?esc(state.attachment)+' · nom uniquement. Aucun fichier envoyé.':'PDF ou image · le nom est affiché, le fichier n’est ni lu ni envoyé.'}
Contenus pédagogiques d’illustration, à adapter au programme et au niveau de l’élève avec le coach.
`;} function openLesson(id){const l=lessonLibrary.find(x=>x.id===id);if(!l)return;modal(`${dialogHead(l.subject+' · '+l.time,l.title)}${l.intro}
${l.example}
${l.practice}
${l.answer}
${g.body}
${g.tip}