{"id":1970,"date":"2026-09-19T14:06:58","date_gmt":"2026-09-19T14:06:58","guid":{"rendered":"https:\/\/www.mogacode.ma\/academy\/a4\/"},"modified":"2026-09-19T16:21:03","modified_gmt":"2026-09-19T16:21:03","slug":"ecrire-son-premier-prompt","status":"publish","type":"page","link":"https:\/\/www.mogacode.ma\/en\/academy\/ecrire-son-premier-prompt\/","title":{"rendered":"A4 &#8211; Tes premiers prompts"},"content":{"rendered":"<div class=\"mga-shell\" data-code=\"a4\"><button type=\"button\" class=\"mga-side-toggle\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M4 6h16M4 12h16M4 18h16\"\/><\/svg><span>Modules<\/span><\/button><div class=\"mga-shell-inner\"><aside class=\"mga-sidebar\"><div class=\"mga-side-head\"><a class=\"mga-side-logo\" href=\"\/academy\/\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M22 10 12 5 2 10l10 5 10-5Z\"\/><path d=\"M6 12v5c0 1 2 2 6 2s6-1 6-2v-5\"\/><\/svg><span>MogaCode <b>Academy<\/b><\/span><\/a><div class=\"mga-side-prog\"><div class=\"track\"><div class=\"bar\"><\/div><\/div><span class=\"lbl\"><\/span><\/div><\/div><nav class=\"mga-side-nav\"><div class=\"mga-blk mgaon\" data-bloc=\"A\"><button type=\"button\" class=\"mga-blk-h\"><span class=\"ic\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><polygon points=\"16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76\"\/><\/svg><\/span><span class=\"t\">D\u00e9couverte<\/span><span class=\"ch\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"m6 9 6 6 6-6\"\/><\/svg><\/span><\/button><div class=\"mga-blk-body\"><a class=\"mga-modlink\" data-code=\"a1\" data-state=\"open\" href=\"\/academy\/comprendre-l-ia-sans-jargon\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"3.2\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">A1<\/span><span class=\"mt\">L&#039;IA sans jargon : de quoi parle-t-on vraiment ?<\/span><\/a><a class=\"mga-modlink\" data-code=\"a2\" data-state=\"open\" href=\"\/academy\/ce-qu-une-ia-sait-faire\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"3.2\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">A2<\/span><span class=\"mt\">Ce qu&#039;un LLM sait faire, et ce qu&#039;il ne sait PAS<\/span><\/a><a class=\"mga-modlink\" data-code=\"a3\" data-state=\"open\" href=\"\/academy\/utiliser-l-ia-sans-se-faire-avoir\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"3.2\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">A3<\/span><span class=\"mt\">Les 5 r\u00e9flexes pour ne pas se faire pi\u00e9ger<\/span><\/a><a class=\"mga-modlink cur\" data-code=\"a4\" data-state=\"open\" href=\"\/academy\/ecrire-son-premier-prompt\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"3.2\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">A4<\/span><span class=\"mt\">Parler a une IA : tes premiers prompts<\/span><\/a><div class=\"mga-subs\"><a class=\"mga-sublink\" data-ch=\"0\" href=\"#sm-0\"><span class=\"d\"><\/span>Dire pr\u00e9cis\u00e9ment ce que tu veux<\/a><a class=\"mga-sublink\" data-ch=\"1\" href=\"#sm-1\"><span class=\"d\"><\/span>Les cinq briques d&#039;un bon prompt<\/a><a class=\"mga-sublink\" data-ch=\"2\" href=\"#sm-2\"><span class=\"d\"><\/span>Corriger en discutant : l&#039;art d&#039;it\u00e9rer<\/a><\/div><\/div><\/div><div class=\"mga-blk\" data-bloc=\"B\"><button type=\"button\" class=\"mga-blk-h\"><span class=\"ic\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M12 3l1.7 5.2a2 2 0 0 0 1.1 1.1L20 11l-5.2 1.7a2 2 0 0 0-1.1 1.1L12 19l-1.7-5.2a2 2 0 0 0-1.1-1.1L4 11l5.2-1.7a2 2 0 0 0 1.1-1.1z\"\/><\/svg><\/span><span class=\"t\">Prompt et outils<\/span><span class=\"ch\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"m6 9 6 6 6-6\"\/><\/svg><\/span><\/button><div class=\"mga-blk-body\"><a class=\"mga-modlink\" data-code=\"b1\" data-state=\"open\" href=\"\/academy\/le-prompt-qui-marche-vraiment\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"3.2\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">B1<\/span><span class=\"mt\">Le prompt qui marche vraiment<\/span><\/a><a class=\"mga-modlink\" data-code=\"b2\" data-state=\"open\" href=\"\/academy\/quel-outil-ia-choisir\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"3.2\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">B2<\/span><span class=\"mt\">Quel outil IA choisir, et pour quoi faire<\/span><\/a><a class=\"mga-modlink\" data-code=\"b3\" data-state=\"open\" href=\"\/academy\/gagner-du-temps-avec-l-ia\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"3.2\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">B3<\/span><span class=\"mt\">Gagner du temps au quotidien<\/span><\/a><a class=\"mga-modlink\" data-code=\"b4\" data-state=\"open\" href=\"\/academy\/verifier-et-corriger-l-ia\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"3.2\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">B4<\/span><span class=\"mt\">V\u00e9rifier, corriger, assumer<\/span><\/a><a class=\"mga-modlink\" data-code=\"b5\" data-state=\"open\" href=\"\/academy\/donnees-personnelles-et-rgpd\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"3.2\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">B5<\/span><span class=\"mt\">Donn\u00e9es, vie priv\u00e9e et \u00e9thique<\/span><\/a><\/div><\/div><div class=\"mga-blk\" data-bloc=\"C\"><button type=\"button\" class=\"mga-blk-h\"><span class=\"ic\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\"\/><rect x=\"9\" y=\"9\" width=\"6\" height=\"6\"\/><path d=\"M9 2v2M15 2v2M9 20v2M15 20v2M20 9h2M20 14h2M2 9h2M2 14h2\"\/><\/svg><\/span><span class=\"t\">Comprendre la machine<\/span><span class=\"ch\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"m6 9 6 6 6-6\"\/><\/svg><\/span><\/button><div class=\"mga-blk-body\"><a class=\"mga-modlink\" data-code=\"c1\" data-state=\"lock\" href=\"\/academy\/comprendre-les-api\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">C1<\/span><span class=\"mt\">Une API, c&#039;est quoi et \u00e0 quoi \u00e7a sert ?<\/span><\/a><a class=\"mga-modlink\" data-code=\"c2\" data-state=\"lock\" href=\"\/academy\/preparer-ses-donnees\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">C2<\/span><span class=\"mt\">Donn\u00e9es structur\u00e9es ou non : pr\u00e9parer ses donn\u00e9es<\/span><\/a><a class=\"mga-modlink\" data-code=\"c3\" data-state=\"lock\" href=\"\/academy\/sous-le-capot-d-un-llm\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">C3<\/span><span class=\"mt\">Sous le capot d&#039;un LLM, sans maths<\/span><\/a><a class=\"mga-modlink\" data-code=\"c4\" data-state=\"lock\" href=\"\/academy\/connecter-les-briques\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">C4<\/span><span class=\"mt\">Connecter les briques : tes premi\u00e8res int\u00e9grations<\/span><\/a><\/div><\/div><div class=\"mga-blk\" data-bloc=\"D\"><button type=\"button\" class=\"mga-blk-h\"><span class=\"ic\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"8\" height=\"8\" x=\"3\" y=\"3\" rx=\"2\"\/><path d=\"M7 11v3a2 2 0 0 0 2 2h4\"\/><rect width=\"8\" height=\"8\" x=\"13\" y=\"13\" rx=\"2\"\/><\/svg><\/span><span class=\"t\">Automatiser<\/span><span class=\"ch\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"m6 9 6 6 6-6\"\/><\/svg><\/span><\/button><div class=\"mga-blk-body\"><a class=\"mga-modlink\" data-code=\"d1\" data-state=\"lock\" href=\"\/academy\/automatiser-sans-dependance\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">D1<\/span><span class=\"mt\">L&#039;automatisation sans d\u00e9pendance<\/span><\/a><a class=\"mga-modlink\" data-code=\"d2\" data-state=\"lock\" href=\"\/academy\/declencheurs-cron-webhooks\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">D2<\/span><span class=\"mt\">D\u00e9clencheurs, t\u00e2ches planifi\u00e9es, webhooks<\/span><\/a><a class=\"mga-modlink\" data-code=\"d3\" data-state=\"lock\" href=\"\/academy\/ton-premier-script-utile\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">D3<\/span><span class=\"mt\">Ton premier script utile, de bout en bout<\/span><\/a><a class=\"mga-modlink\" data-code=\"d4\" data-state=\"lock\" href=\"\/academy\/automatiser-un-process\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">D4<\/span><span class=\"mt\">Automatiser un vrai process m\u00e9tier de A \u00e0 Z<\/span><\/a><a class=\"mga-modlink\" data-code=\"d5\" data-state=\"lock\" href=\"\/academy\/fiabilite-logs-reprise\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">D5<\/span><span class=\"mt\">Fiabilit\u00e9 : logs, erreurs, reprise, sauvegardes<\/span><\/a><\/div><\/div><div class=\"mga-blk\" data-bloc=\"E\"><button type=\"button\" class=\"mga-blk-h\"><span class=\"ic\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"8\" height=\"8\" x=\"3\" y=\"3\" rx=\"2\"\/><path d=\"M7 11v3a2 2 0 0 0 2 2h4\"\/><rect width=\"8\" height=\"8\" x=\"13\" y=\"13\" rx=\"2\"\/><\/svg><\/span><span class=\"t\">Agents<\/span><span class=\"ch\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"m6 9 6 6 6-6\"\/><\/svg><\/span><\/button><div class=\"mga-blk-body\"><a class=\"mga-modlink\" data-code=\"e1\" data-state=\"lock\" href=\"\/academy\/comprendre-les-agents-ia\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">E1<\/span><span class=\"mt\">Un agent IA, c&#039;est quoi vraiment<\/span><\/a><a class=\"mga-modlink\" data-code=\"e2\" data-state=\"lock\" href=\"\/academy\/donner-des-outils-a-une-ia\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">E2<\/span><span class=\"mt\">Donner des outils \u00e0 une IA<\/span><\/a><a class=\"mga-modlink\" data-code=\"e3\" data-state=\"lock\" href=\"\/academy\/cadrer-un-agent\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">E3<\/span><span class=\"mt\">Cadrer un agent : mission et garde-fous<\/span><\/a><a class=\"mga-modlink\" data-code=\"e4\" data-state=\"lock\" href=\"\/academy\/memoire-et-contexte-des-agents\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">E4<\/span><span class=\"mt\">M\u00e9moire et contexte d&#039;un agent<\/span><\/a><a class=\"mga-modlink\" data-code=\"e5\" data-state=\"lock\" href=\"\/academy\/assembler-un-agent-souverain\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">E5<\/span><span class=\"mt\">Assembler un agent souverain, de bout en bout<\/span><\/a><a class=\"mga-modlink\" data-code=\"e6\" data-state=\"lock\" href=\"\/academy\/fiabilite-et-securite-des-agents\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">E6<\/span><span class=\"mt\">Fiabilit\u00e9 et s\u00e9curit\u00e9 des agents<\/span><\/a><\/div><\/div><div class=\"mga-blk\" data-bloc=\"F\"><button type=\"button\" class=\"mga-blk-h\"><span class=\"ic\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\"\/><rect x=\"9\" y=\"9\" width=\"6\" height=\"6\"\/><path d=\"M9 2v2M15 2v2M9 20v2M15 20v2M20 9h2M20 14h2M2 9h2M2 14h2\"\/><\/svg><\/span><span class=\"t\">RAG et donn\u00e9es<\/span><span class=\"ch\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"m6 9 6 6 6-6\"\/><\/svg><\/span><\/button><div class=\"mga-blk-body\"><a class=\"mga-modlink\" data-code=\"f1\" data-state=\"lock\" href=\"\/academy\/le-rag-donner-tes-documents-a-l-ia\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">F1<\/span><span class=\"mt\">Le RAG : donner tes documents \u00e0 l&#039;IA<\/span><\/a><a class=\"mga-modlink\" data-code=\"f2\" data-state=\"lock\" href=\"\/academy\/architecture-d-un-rag\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">F2<\/span><span class=\"mt\">L&#039;architecture compl\u00e8te d&#039;un RAG<\/span><\/a><a class=\"mga-modlink\" data-code=\"f3\" data-state=\"lock\" href=\"\/academy\/la-recherche-par-le-sens\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">F3<\/span><span class=\"mt\">La recherche par le sens, et un mini-RAG en direct<\/span><\/a><a class=\"mga-modlink\" data-code=\"f4\" data-state=\"lock\" href=\"\/academy\/construire-un-rag-sans-reinventer-la-roue\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">F4<\/span><span class=\"mt\">Construire un RAG sans r\u00e9inventer la roue<\/span><\/a><a class=\"mga-modlink\" data-code=\"f5\" data-state=\"lock\" href=\"\/academy\/qualite-et-pieges-d-un-rag\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">F5<\/span><span class=\"mt\">Qualit\u00e9 et pi\u00e8ges d&#039;un RAG<\/span><\/a><\/div><\/div><div class=\"mga-blk\" data-bloc=\"G\"><button type=\"button\" class=\"mga-blk-h\"><span class=\"ic\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M12 3l1.7 5.2a2 2 0 0 0 1.1 1.1L20 11l-5.2 1.7a2 2 0 0 0-1.1 1.1L12 19l-1.7-5.2a2 2 0 0 0-1.1-1.1L4 11l5.2-1.7a2 2 0 0 0 1.1-1.1z\"\/><\/svg><\/span><span class=\"t\">Aller plus loin<\/span><span class=\"ch\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"m6 9 6 6 6-6\"\/><\/svg><\/span><\/button><div class=\"mga-blk-body\"><a class=\"mga-modlink\" data-code=\"g1\" data-state=\"lock\" href=\"\/academy\/ia-multimodale-image-voix\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">G1<\/span><span class=\"mt\">L&#039;IA multimodale : image, voix, documents<\/span><\/a><a class=\"mga-modlink\" data-code=\"g2\" data-state=\"lock\" href=\"\/academy\/prompt-rag-ou-fine-tuning\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">G2<\/span><span class=\"mt\">Prompt, RAG ou fine-tuning : quand quoi<\/span><\/a><a class=\"mga-modlink\" data-code=\"g3\" data-state=\"lock\" href=\"\/academy\/evaluer-et-ameliorer-un-systeme-ia\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">G3<\/span><span class=\"mt\">\u00c9valuer et am\u00e9liorer un syst\u00e8me IA<\/span><\/a><a class=\"mga-modlink\" data-code=\"g4\" data-state=\"lock\" href=\"\/academy\/cout-et-performance-a-l-echelle\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">G4<\/span><span class=\"mt\">Co\u00fbt et performance \u00e0 l&#039;\u00e9chelle<\/span><\/a><\/div><\/div><div class=\"mga-blk\" data-bloc=\"H\"><button type=\"button\" class=\"mga-blk-h\"><span class=\"ic\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M22 10 12 5 2 10l10 5 10-5Z\"\/><path d=\"M6 12v5c0 1 2 2 6 2s6-1 6-2v-5\"\/><\/svg><\/span><span class=\"t\">Projet<\/span><span class=\"ch\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"m6 9 6 6 6-6\"\/><\/svg><\/span><\/button><div class=\"mga-blk-body\"><a class=\"mga-modlink\" data-code=\"h1\" data-state=\"lock\" href=\"\/academy\/cadrer-ton-projet-ia\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">H1<\/span><span class=\"mt\">Cadrer ton projet IA : du besoin au plan<\/span><\/a><a class=\"mga-modlink\" data-code=\"h2\" data-state=\"lock\" href=\"\/academy\/construire-ton-projet-ia\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">H2<\/span><span class=\"mt\">Construire ton projet, brique par brique<\/span><\/a><a class=\"mga-modlink\" data-code=\"h3\" data-state=\"lock\" href=\"\/academy\/mettre-en-production-et-mesurer\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">H3<\/span><span class=\"mt\">Mettre en production et mesurer l&#039;impact<\/span><\/a><a class=\"mga-modlink\" data-code=\"h4\" data-state=\"lock\" href=\"\/academy\/ton-serveur-souverain-opere-par-l-ia\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">H4<\/span><span class=\"mt\">DevOps : ton serveur souverain, op\u00e9r\u00e9 par l&#039;IA<\/span><\/a><\/div><\/div><div class=\"mga-blk\" data-bloc=\"Z\"><button type=\"button\" class=\"mga-blk-h\"><span class=\"ic\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M12 3l1.7 5.2a2 2 0 0 0 1.1 1.1L20 11l-5.2 1.7a2 2 0 0 0-1.1 1.1L12 19l-1.7-5.2a2 2 0 0 0-1.1-1.1L4 11l5.2-1.7a2 2 0 0 0 1.1-1.1z\"\/><\/svg><\/span><span class=\"t\">Bonus<\/span><span class=\"ch\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"m6 9 6 6 6-6\"\/><\/svg><\/span><\/button><div class=\"mga-blk-body\"><a class=\"mga-modlink\" data-code=\"z1\" data-state=\"open\" href=\"\/academy\/github-et-l-open-source\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"3.2\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">BONUS<\/span><span class=\"mt\">Bonus : GitHub et l&#039;open source<\/span><\/a><a class=\"mga-modlink\" data-code=\"z3\" data-state=\"open\" href=\"\/academy\/faire-tourner-une-ia-en-local-sur-mac\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"3.2\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">BONUS 3<\/span><span class=\"mt\">Faire tourner une IA en local sur ton Mac (LM Studio, Ollama)<\/span><\/a><a class=\"mga-modlink\" data-code=\"z2\" data-state=\"open\" href=\"\/academy\/best-of-skills-mcp-playbooks\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"3.2\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">BONUS 2<\/span><span class=\"mt\">Bonus avanc\u00e9 : le best-of du moment (skills, MCP, playbooks)<\/span><\/a><\/div><\/div><\/nav><a class=\"mga-side-wa\" href=\"https:\/\/wa.me\/212620229114\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M7.9 20A9 9 0 1 0 4 16.1L2 22Z\"\/><\/svg><span>Une question ? WhatsApp<\/span><\/a><\/aside><div class=\"mga-shell-main\"><div class=\"mga\"><div class=\"mga-hero\"><p class=\"mga-eyebrow\">A4 \u00b7 Niveau 0 \u00b7 30 min \u00b7 gratuit<\/p><h1>Parler a une IA : tes premiers prompts<\/h1><p>Tu repars avec : Ton premier vrai prompt qui marche, et le r\u00e9flexe d&#039;it\u00e9rer. La comp\u00e9tence qui s\u00e9pare ceux qui subissent l&#039;IA de ceux qui s&#039;en servent.<\/p><\/div><div class=\"mga-capsule\"><video controls preload=\"metadata\" playsinline poster=\"\/wp-content\/uploads\/2026\/09\/academy-a4-accroche.jpg\"><source src=\"\/wp-content\/uploads\/2026\/09\/academy-a4-accroche.mp4\" type=\"video\/mp4\"><\/video><p class=\"cap\">Capsule vid\u00e9o, environ 90 secondes, voix off. Regarde-la avant de lire, \u00e7a pose le d\u00e9cor.<\/p><\/div><div class=\"mga-chapters\" data-code=\"a4\" data-n=\"3\"><div class=\"mga-chnav\"><button type=\"button\" class=\"mga-chtab on\" data-ch=\"0\"><span class=\"num\">1<\/span>Dire pr\u00e9cis\u00e9ment ce que tu veux<\/button><button type=\"button\" class=\"mga-chtab\" data-ch=\"1\"><span class=\"num\">2<\/span>Les cinq briques d&#039;un bon prompt<\/button><button type=\"button\" class=\"mga-chtab\" data-ch=\"2\"><span class=\"num\">3<\/span>Corriger en discutant : l&#039;art d&#039;it\u00e9rer<\/button><\/div><div class=\"mga-chprog\"><div class=\"bar\"><\/div><\/div><div class=\"mga-chapter\" data-ch=\"0\"><div class=\"mga-atlist\"><b>Ateliers de ce sous-module<\/b><a href=\"#at-d98d89\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M12 3l1.7 5.2a2 2 0 0 0 1.1 1.1L20 11l-5.2 1.7a2 2 0 0 0-1.1 1.1L12 19l-1.7-5.2a2 2 0 0 0-1.1-1.1L4 11l5.2-1.7a2 2 0 0 0 1.1-1.1z\"\/><\/svg>\u00c0 toi : parle \u00e0 l'IA souveraine<\/a><a href=\"#at-ab6a8e\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M12 3l1.7 5.2a2 2 0 0 0 1.1 1.1L20 11l-5.2 1.7a2 2 0 0 0-1.1 1.1L12 19l-1.7-5.2a2 2 0 0 0-1.1-1.1L4 11l5.2-1.7a2 2 0 0 0 1.1-1.1z\"\/><\/svg>\u00c0 toi : la bonne d\u00e9cision<\/a><\/div><div class=\"mga-step\"><div class=\"n\">1 \u00b7 L&#039;accroche<\/div><h3><\/h3><p>Imagine la sc\u00e8ne. Il est tard, la journ\u00e9e a \u00e9t\u00e9 longue, et quelqu'un t'a promis que l'intelligence artificielle allait te faire gagner un temps fou. Tu ouvres la fen\u00eatre de discussion, un peu intimid\u00e9, un peu curieux. Tu tapes la premi\u00e8re chose qui te vient: \"\u00e9cris-moi un texte pour ma page\". Tu appuies sur entr\u00e9e. En trois secondes, un pav\u00e9 apparait. \u00c7a a l'air propre, bien tourn\u00e9, structur\u00e9. Mais quand tu le lis vraiment, un malaise monte. Ce texte pourrait parler de n'importe qui. Il ne dit rien de toi, rien de ton m\u00e9tier, rien de ce qui te rend diff\u00e9rent. C'est lisse, poli, interchangeable. Tu le relis en esp\u00e9rant t'\u00eatre tromp\u00e9. Non. C'est du remplissage.<\/p><p>Alors tu recommences. Tu ajoutes \"fais mieux\". La machine repart, produit un autre pav\u00e9, aussi vide que le premier, juste avec d'autres mots. Tu commences \u00e0 te dire que cette histoire d'IA, c'est peut-\u00eatre surfait. Que \u00e7a marche pour les autres, les gens qui \"savent parler \u00e0 la machine\", mais pas pour toi. Cette pens\u00e9e est fausse, et c'est exactement l\u00e0 que cette le\u00e7on intervient.<\/p><p>Le probl\u00e8me n'est presque jamais la machine. Le probl\u00e8me est la question. \"\u00c9cris-moi un texte pour ma page\" n'est pas une demande, c'est un souhait. C'est comme entrer dans une boulangerie et dire \"donnez-moi quelque chose de bon\". Le boulanger peut te tendre une baguette, un \u00e9clair, une tarte, il aura raison \u00e0 chaque fois, et tu seras d\u00e9\u00e7u \u00e0 chaque fois, parce que tu avais une id\u00e9e pr\u00e9cise en t\u00eate que tu n'as pas dite. Tu voulais peut-\u00eatre un pain complet, pas trop cuit, pour ce soir. Personne ne pouvait le deviner.<\/p><p>Une IA fonctionne pareil. Elle ne lit pas dans tes pens\u00e9es. Elle ne connait pas ton commerce, ton client type, ton ton habituel, ce qui te distingue du concurrent d'en face. Elle ne sait que ce que tu \u00e9cris, mot pour mot. Si tu \u00e9cris flou, elle r\u00e9pond flou, parce qu'elle comble les trous avec de la moyenne, avec du \"pour tout le monde\", c'est \u00e0 dire avec du rien. Le d\u00e9clic de ce premier vrai module, c'est de comprendre que la qualit\u00e9 de la r\u00e9ponse d\u00e9pend d'abord de la qualit\u00e9 de ta demande. Tu n'as pas besoin d'\u00eatre technique. Tu as besoin d'\u00eatre pr\u00e9cis. Et \u00eatre pr\u00e9cis, \u00e7a s'apprend en quelques minutes.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">2 \u00b7 Le pourquoi<\/div><h3><\/h3><p>Ce n'est pas un d\u00e9tail de confort, c'est ce qui s\u00e9pare les gens que l'IA aide vraiment de ceux qui abandonnent au bout de trois essais. Une fois que tu sais transformer un souhait vague en demande pr\u00e9cise, tout change, et pas seulement avec l'IA.<\/p><p>D'abord, tu arr\u00eates de perdre du temps. Le sc\u00e9nario du \"je tape, c'est nul, je retape, c'est nul, je laisse tomber\" disparait. Tu obtiens une r\u00e9ponse utilisable d\u00e8s le premier ou le deuxi\u00e8me essai, parce que tu as dit clairement ce que tu voulais. Le temps que tu croyais gagner en tapant vite, tu le perdais en boucles inutiles. En posant la demande correctement une fois, tu vas plus vite au total.<\/p><p>Ensuite, tu reprends le contr\u00f4le. Beaucoup de gens ont l'impression que l'IA \"d\u00e9cide\" \u00e0 leur place, qu'elle produit ce qu'elle veut et qu'on subit le r\u00e9sultat. C'est l'inverse. C'est toi qui pilotes. Une demande pr\u00e9cise, c'est un volant entre tes mains. Tu d\u00e9cides du ton, de la longueur, du destinataire, de l'angle. La machine ex\u00e9cute. Ce renversement est lib\u00e9rateur: tu n'es plus spectateur d'un texte tomb\u00e9 du ciel, tu es le commanditaire qui sait ce qu'il veut.<\/p><p>Il y a aussi un effet que peu de gens anticipent: parler pr\u00e9cis\u00e9ment \u00e0 une IA t'oblige \u00e0 clarifier ta propre pens\u00e9e. Pour dire \"\u00e9cris un message \u00e0 mes clients fid\u00e8les pour annoncer une fermeture de trois jours\", tu dois d'abord savoir qui sont tes clients fid\u00e8les, ce que tu veux leur dire, et pourquoi. La machine te sert de miroir. Beaucoup de gens d\u00e9couvrent, en formulant leur demande, qu'ils n'avaient pas encore mis au clair ce qu'ils voulaient vraiment. C'est un b\u00e9n\u00e9fice cach\u00e9 mais \u00e9norme.<\/p><p>Enfin, cette comp\u00e9tence est la fondation de tout le reste. Tout ce que tu apprendras ensuite, donner un r\u00f4le, du contexte, un format, corriger, tout repose sur ce premier r\u00e9flexe: remplacer le flou par du concret. Si tu sautes cette marche, les suivantes s'\u00e9croulent. Si tu la maitrises, tu peux avancer sereinement. C'est pour \u00e7a que ce sous-module ouvre le bloc: ce n'est pas une astuce, c'est le socle. Et la bonne nouvelle, c'est qu'il ne demande aucune connaissance technique, juste un peu de m\u00e9thode et l'habitude de te relire avant d'envoyer.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">3 \u00b7 Le comment<\/div><h3><\/h3><p>Passer du flou au pr\u00e9cis n'est pas un talent inn\u00e9, c'est une petite gymnastique en quatre gestes. Tu vas voir, chacun est simple, et ensemble ils transforment n'importe quelle demande molle en instruction nette.<\/p><p class=\"mga-sub\">1. Nomme le vrai objectif<\/p><p>Avant de taper, demande-toi: qu'est-ce que je veux obtenir, exactement, et pour en faire quoi. Pas \"un texte\", mais \"un message que je vais envoyer par WhatsApp \u00e0 mes clients pour annoncer une promotion ce week-end\". La diff\u00e9rence est \u00e9norme. Le premier ne dit rien, le second dit le support (WhatsApp, donc court et direct), le destinataire (mes clients), et le but (annoncer une promotion). L'objectif, c'est la boussole de toute la demande.<\/p><p>Un exemple concret. Au lieu de \"parle-moi du r\u00e9f\u00e9rencement\", \u00e9cris \"explique-moi en trois points simples pourquoi mon commerce n'apparait pas quand les gens cherchent sur Google, comme si je n'y connaissais rien\". La deuxi\u00e8me version donne un cap clair, et la r\u00e9ponse sera dix fois plus utile.<\/p><p class=\"mga-sub\">2. Remplace chaque mot flou par un fait<\/p><p>Relis ta demande et traque les mots vagues: \"bien\", \"sympa\", \"pro\", \"moderne\", \"pas trop long\", \"un peu\". Ces mots sont des trous que la machine va boucher au hasard. Remplace-les par du mesurable ou du concret. \"Pas trop long\" devient \"environ cinq lignes\". \"Sympa\" devient \"chaleureux, comme si je parlais \u00e0 un habitu\u00e9\". \"Moderne\" ne veut rien dire tout seul, alors pr\u00e9cise ce que tu entends par l\u00e0.<\/p><p>Par exemple, \"fais-moi une description sympa et pas trop longue\" est faible. \"\u00c9cris une description de quatre phrases, ton chaleureux et direct, qui met en avant le fait que je travaille des produits frais du march\u00e9\" est solide. Chaque mot flou a \u00e9t\u00e9 remplac\u00e9 par une information r\u00e9elle.<\/p><p class=\"mga-sub\">3. Dis \u00e0 qui \u00e7a s'adresse<\/p><p>Un texte pour un jeune de vingt ans ne ressemble pas \u00e0 un texte pour un couple de retrait\u00e9s, et un message interne pour ton \u00e9quipe n'a rien \u00e0 voir avec une annonce publique. Pourtant, quand on ne le pr\u00e9cise pas, la machine choisit une cible moyenne qui ne parle \u00e0 personne. Nomme toujours le destinataire. \"Pour des parents press\u00e9s\", \"pour un client qui h\u00e9site encore\", \"pour quelqu'un qui ne connait pas du tout mon m\u00e9tier\".<\/p><p>Concr\u00e8tement, si tu tiens un salon de coiffure et que tu \u00e9cris \"pour des clientes qui viennent surtout pour se d\u00e9tendre autant que pour \u00eatre coiff\u00e9es\", la machine ajustera le ton, le vocabulaire, les arguments. Le m\u00eame contenu, mais taill\u00e9 pour la bonne personne.<\/p><p class=\"mga-sub\">4. Donne un exemple de ce que tu attends<\/p><p>C'est le geste le plus sous-estim\u00e9 et le plus puissant. Un exemple vaut mille explications. Si tu veux un certain style, colle un bout de texte que tu aimes et dis \"dans cet esprit\". Si tu veux une liste, montre \u00e0 quoi doit ressembler une ligne. La machine imite tr\u00e8s bien un mod\u00e8le, mais elle doit d'abord le voir.<\/p><p>Par exemple, \"\u00e9cris trois id\u00e9es de publications, sur le mod\u00e8le de celle-ci que j'ai d\u00e9j\u00e0 faite et qui a bien march\u00e9\", en collant l'ancienne, donnera des r\u00e9sultats bien plus proches de ton univers qu'une demande sans rep\u00e8re. Tu montres la cible au lieu de la d\u00e9crire.<\/p><p class=\"mga-syn\">En r\u00e9sum\u00e9: une demande pr\u00e9cise nomme l'objectif, chasse les mots flous, d\u00e9signe le destinataire et montre un exemple. Quatre gestes, et tu passes du souhait vague \u00e0 l'instruction claire.<\/p><\/div><div class=\"mga-step atelier\" id=\"at-d98d89\" data-atlabel=\"\u00c0 toi : parle \u00e0 l&#039;IA souveraine\"><div class=\"n\"><span class=\"mga-atbadge\">Atelier - a toi de jouer<\/span><\/div><h3><\/h3><p>Assez de th\u00e9orie: le meilleur moyen de sentir la diff\u00e9rence entre une demande vague et une demande pr\u00e9cise, c'est de la voir en direct. L'IA souveraine de l'Academy, celle qui tourne sur les serveurs de MogaCode, est l\u00e0 pour \u00e7a. Parle-lui, teste, compare. Fais-lui d'abord une demande floue, regarde le r\u00e9sultat g\u00e9n\u00e9rique, puis refais la m\u00eame demande en ajoutant un r\u00f4le, du contexte et un format. Tu verras la r\u00e9ponse se transformer sous tes yeux. C'est le meilleur exercice pour graver la le\u00e7on de ce module.<\/p><div class=\"mga-lab\" data-ex=\"a4_ia\"><p class=\"lh\">Parle a notre IA souveraine<\/p><p class=\"ls\">Assez de th\u00e9orie: le meilleur moyen de sentir la diff\u00e9rence entre une demande vague et une demande pr\u00e9cise, c&#039;est de la voir en direct. L&#039;IA souveraine de l&#039;Academy, celle qui tourne sur les serveurs <\/p><textarea class=\"mga-in\" maxlength=\"400\" placeholder=\"Compare ces deux demandes et explique-moi pourquoi la seconde donne un bien meilleur r\u00e9sultat: d&#039;abord &quot;\u00e9cris un texte pour ma boulangerie&quot;, ensuite &quot;tu es un r\u00e9dacteur chaleureux, ma boulangerie est un petit commerce de village qui fait tout au levain, \u00e9cris quatre phrases pour ma page d&#039;accueil, ton convivial, pr\u00eates \u00e0 copier, sans inventer aucun chiffre&quot;.\"><\/textarea><div class=\"row\"><button type=\"button\" class=\"b1 mga-try\">Essaie<\/button><button type=\"button\" class=\"b2 mga-guide\">Puis teste une limite<\/button><span class=\"cc\"><span class=\"n\">0<\/span>\/400<\/span><\/div><div class=\"mga-out mga-o1\" hidden><\/div><div class=\"mga-note mga-n1\" hidden><\/div><p class=\"warn\">Mod\u00e8le local souverain, a but pedagogique. Il peut se tromper : c'est justement la le\u00e7on.<\/p><\/div><\/div><div class=\"mga-step\"><div class=\"n\">5 \u00b7 Le cas r\u00e9el<\/div><h3><\/h3><p>Chez MogaCode, il existe un syst\u00e8me qui fabrique des pages de site tout seul, la nuit, pendant que personne ne regarde. On l'appelle l'autopilote de contenu. Son travail est de produire des pages utiles pour des m\u00e9tiers et des villes pr\u00e9cis. Mais il y a un garde-fou essentiel: des \"portes de qualit\u00e9\". Une porte de qualit\u00e9 est un contr\u00f4le automatique qui inspecte chaque page avant de la laisser sortir. Si une page est trop courte, si elle manque d'informations r\u00e9elles, si elle ressemble trop \u00e0 une autre d\u00e9j\u00e0 publi\u00e9e, ou si elle contient du remplissage vide, la porte la refuse. La page est jet\u00e9e, pas mise en ligne.<\/p><p>Ce qui est passionnant pour notre le\u00e7on, c'est ce qui se passe en amont. Pour que l'autopilote produise des pages qui passent les portes, on ne lui dit surtout pas \"fais une bonne page\". \u00c7a, ce serait le souhait vague dont on parle depuis le d\u00e9but, et les portes rejetteraient tout. On lui donne une instruction extr\u00eamement pr\u00e9cise: quel m\u00e9tier, quelle ville, quel angle, quelle longueur minimale, quelles informations doivent absolument figurer, quel ton, quoi \u00e9viter absolument. Autrement dit, l'autopilote re\u00e7oit exactement les quatre gestes de ce sous-module, pouss\u00e9s \u00e0 l'extr\u00eame: un objectif nomm\u00e9, z\u00e9ro mot flou, un destinataire clair, et un mod\u00e8le attendu.<\/p><p>La le\u00e7on est frappante. On a construit une machine qui produit du contenu, mais on a vite compris que sa qualit\u00e9 ne venait pas de sa puissance. Elle venait de la pr\u00e9cision des consignes. Quand les consignes \u00e9taient vagues, les portes de qualit\u00e9 refusaient tout, nuit apr\u00e8s nuit, et rien ne sortait. Quand les consignes \u00e9taient nettes, pr\u00e9cises, remplies de faits r\u00e9els, les pages passaient. La m\u00eame machine, la m\u00eame intelligence, mais des r\u00e9sultats oppos\u00e9s selon la clart\u00e9 de la demande.<\/p><p>Il y a un deuxi\u00e8me enseignement, plus rassurant. Les portes de qualit\u00e9 existent parce qu'on pr\u00e9f\u00e8re qu'aucune page ne sorte plut\u00f4t qu'une mauvaise page sorte. C'est une r\u00e8gle de s\u00e9rieux: mieux vaut rien que du faux ou du vide. Tu peux appliquer la m\u00eame exigence \u00e0 tes propres demandes. Quand une r\u00e9ponse d'IA ne te convient pas, ne la publie pas, ne l'utilise pas telle quelle. Consid\u00e8re-la comme une page qui n'a pas pass\u00e9 ta porte de qualit\u00e9 personnelle, et reprends ta demande.<\/p><p>Ce que ce cas t'apprend, concr\u00e8tement, c'est que m\u00eame un syst\u00e8me automatique de pointe, capable de travailler seul toute la nuit, d\u00e9pend enti\u00e8rement de la pr\u00e9cision de ce qu'on lui demande. Tu n'as pas un autopilote industriel entre les mains, tu as une fen\u00eatre de discussion, mais le principe est identique. Ta pr\u00e9cision est le vrai moteur. La machine n'est que l'ex\u00e9cutant.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">6 \u00b7 Le contre-exemple<\/div><h3><\/h3><p>Prenons maintenant l'exemple inverse, une vraie m\u00e9saventure racont\u00e9e sans fard. Un commer\u00e7ant, tr\u00e8s content d'avoir d\u00e9couvert l'IA, d\u00e9cide de r\u00e9diger toutes les annonces de son mois d'un coup. Il tape, pour chacune, la m\u00eame demande express: \"fais-moi une belle annonce accrocheuse pour ma promo\". Il colle les r\u00e9ponses directement, sans les relire vraiment, s\u00e9duit par le fait que \"\u00e7a sort tout seul et \u00e7a a l'air pro\".<\/p><p>Au bout de quelques jours, il relit ses annonces mises c\u00f4te \u00e0 c\u00f4te. Le malaise est total. Elles se ressemblent toutes. Les m\u00eames formules, les m\u00eames \"ne manquez pas cette occasion unique\", le m\u00eame enthousiasme creux. Pire, deux annonces annoncent des choses diff\u00e9rentes avec exactement la m\u00eame phrase d'accroche, ce qui donne une impression de copier-coller n\u00e9glig\u00e9. Ses clients fid\u00e8les, qui re\u00e7oivent tout, ont l'impression qu'on leur parle avec un mod\u00e8le recycl\u00e9. L'effet recherch\u00e9, paraitre soign\u00e9 et pr\u00e9sent, produit l'effet contraire: \u00e7a sent le vite fait, l'automatique sans \u00e2me.<\/p><p>O\u00f9 \u00e9tait l'erreur. Pas dans la machine, encore une fois. Dans la r\u00e9p\u00e9tition d'une demande vague. \"Belle\", \"accrocheuse\", \"pro\": trois mots flous, aucun fait, aucun destinataire nomm\u00e9, aucun exemple. La machine a bouch\u00e9 les trous avec de la moyenne publicitaire, la m\u00eame \u00e0 chaque fois, parce que rien ne la distinguait d'une demande \u00e0 l'autre. Le commer\u00e7ant a cru gagner du temps en simplifiant sa demande \u00e0 l'extr\u00eame, il a en r\u00e9alit\u00e9 fabriqu\u00e9 de la bouillie uniforme.<\/p><p>La le\u00e7on rejoint celle de MogaCode sur les portes de qualit\u00e9, vue \u00e0 l'envers. L\u00e0 o\u00f9 l'autopilote refuse ce qui est vide ou trop ressemblant, notre commer\u00e7ant, lui, n'avait aucune porte. Il a tout laiss\u00e9 passer. La solution aurait \u00e9t\u00e9 double: d'abord, pr\u00e9ciser chaque demande avec un fait unique (le produit pr\u00e9cis, l'avantage r\u00e9el, le client vis\u00e9), ensuite, se relire comme un contr\u00f4leur avant de publier. Rien de compliqu\u00e9, juste refuser de valider une r\u00e9ponse molle. Retiens ceci: la vitesse sans pr\u00e9cision ne fait pas gagner de temps, elle en fait perdre en r\u00e9putation. Une demande pr\u00e9cise de plus prend trente secondes. Une annonce rat\u00e9e envoy\u00e9e \u00e0 tes clients co\u00fbte bien davantage.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">7 \u00b7 Les pi\u00e8ges<\/div><h3><\/h3><ul class=\"mga-chain\"><li><b>Le souhait d\u00e9guis\u00e9 en demande.<\/b> Sympt\u00f4me: tu tapes \"fais-moi un beau texte\" et le r\u00e9sultat est vide. Cause: tu as exprim\u00e9 une envie, pas une instruction, la machine comble le vide avec de la moyenne. R\u00e9flexe: nomme l'objectif r\u00e9el, le support et le but avant d'appuyer sur entr\u00e9e.<\/li><li><b>Les mots-caoutchouc.<\/b> Sympt\u00f4me: la r\u00e9ponse est correcte mais g\u00e9n\u00e9rique. Cause: des mots \u00e9lastiques comme \"sympa\", \"pro\", \"moderne\", \"pas trop long\" que chacun interpr\u00e8te diff\u00e9remment. R\u00e9flexe: remplace chaque mot flou par un fait ou une mesure concr\u00e8te.<\/li><li><b>Le destinataire fant\u00f4me.<\/b> Sympt\u00f4me: le texte ne parle \u00e0 personne en particulier. Cause: tu n'as pas dit \u00e0 qui il s'adresse, la machine vise une cible moyenne inexistante. R\u00e9flexe: pr\u00e9cise toujours la personne qui lira, son \u00e2ge, sa situation, son \u00e9tat d'esprit.<\/li><li><b>La demande sans mod\u00e8le.<\/b> Sympt\u00f4me: le style ne ressemble jamais au tien. Cause: tu d\u00e9cris le style avec des mots au lieu de le montrer. R\u00e9flexe: colle un exemple que tu aimes et dis \"dans cet esprit\".<\/li><li><b>Le copier sans relire.<\/b> Sympt\u00f4me: tu publies et tu regrettes apr\u00e8s. Cause: tu prends la premi\u00e8re r\u00e9ponse pour argent comptant, sans porte de qualit\u00e9. R\u00e9flexe: relis-toi comme un contr\u00f4leur, refuse toute r\u00e9ponse molle avant de l'utiliser.<\/li><\/ul><\/div><div class=\"mga-step atelier\" id=\"at-ab6a8e\" data-atlabel=\"\u00c0 toi : la bonne d\u00e9cision\"><div class=\"n\"><span class=\"mga-atbadge\">Atelier - a toi de jouer<\/span><\/div><h3><\/h3><div class=\"mga-decision\"><script type=\"application\/json\" class=\"mga-data\">[{\"q\":\"Tu veux annoncer \\u00e0 tes clients que ton commerce sera ferm\\u00e9 trois jours. Quelle demande \\u00e9cris-tu \\u00e0 l'IA ?\",\"options\":[{\"t\":\"\\u00c9cris un message WhatsApp de cinq lignes, ton chaleureux, pour pr\\u00e9venir mes clients habituels d'une fermeture du 12 au 14, en rassurant qu'on rouvre le 15.\",\"ok\":true,\"why\":\"L'objectif, le support, la longueur, le ton, le destinataire et les faits sont nomm\\u00e9s: la r\\u00e9ponse sera directement utilisable.\"},{\"t\":\"Fais-moi un beau message pour dire que je ferme.\",\"ok\":false,\"why\":\"C'est un souhait vague: pas de support, pas de dates, pas de destinataire, pas de ton. La machine comblera les trous au hasard.\"}]},{\"q\":\"La r\\u00e9ponse de l'IA est correcte mais totalement g\\u00e9n\\u00e9rique. Que fais-tu ?\",\"options\":[{\"t\":\"Je retape \\\"fais mieux\\\" en esp\\u00e9rant un autre r\\u00e9sultat.\",\"ok\":false,\"why\":\"\\\"Fais mieux\\\" est encore un mot flou: la machine ne sait pas ce qui clochait, elle produira une autre version aussi vide.\"},{\"t\":\"Je rep\\u00e8re les mots flous de ma demande et je les remplace par des faits pr\\u00e9cis sur mon commerce.\",\"ok\":true,\"why\":\"Le g\\u00e9n\\u00e9rique vient du flou de la demande: en ajoutant des faits r\\u00e9els, tu forces une r\\u00e9ponse taill\\u00e9e pour toi.\"}]},{\"q\":\"Tu veux que le texte sonne comme toi. Quelle est la meilleure approche ?\",\"options\":[{\"t\":\"Je colle un texte que j'ai d\\u00e9j\\u00e0 \\u00e9crit et que j'aime, et je demande \\\"dans cet esprit\\\".\",\"ok\":true,\"why\":\"Un exemple montre le style bien mieux qu'une description: la machine imite tr\\u00e8s bien un mod\\u00e8le qu'elle voit.\"},{\"t\":\"J'\\u00e9cris \\\"utilise mon style habituel\\\".\",\"ok\":false,\"why\":\"La machine ne connait pas ton style habituel: sans exemple, elle ne peut que deviner et se tromper.\"}]},{\"q\":\"Tu es press\\u00e9 et tu dois produire dix annonces. Quelle m\\u00e9thode t'\\u00e9vite la bouillie uniforme ?\",\"options\":[{\"t\":\"Je r\\u00e9p\\u00e8te la m\\u00eame demande vague dix fois pour aller vite.\",\"ok\":false,\"why\":\"Une demande identique et floue produit dix textes qui se ressemblent tous: l'effet vite fait se voit.\"},{\"t\":\"Je donne \\u00e0 chaque annonce un fait unique (produit, avantage, client vis\\u00e9) et je me relis avant de publier.\",\"ok\":true,\"why\":\"Un fait distinct par annonce \\u00e9vite la r\\u00e9p\\u00e9tition, et la relecture joue le r\\u00f4le de porte de qualit\\u00e9.\"}]}]<\/script><div class=\"mga-host\"><\/div><\/div><\/div><div class=\"mga-q\" data-q=\"a4a1\"><p style=\"margin:0 0 6px;color:#0F2237\">Pourquoi &quot;\u00e9cris-moi un texte pour ma page&quot; donne-t-il souvent un r\u00e9sultat vide ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Parce que c&#039;est un souhait vague et la machine comble les trous avec de la moyenne.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Parce que l&#039;IA n&#039;est pas assez puissante pour \u00e9crire un texte de page.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Parce qu&#039;il faut toujours payer pour obtenir un bon texte.<\/button><\/div><div class=\"mga-q\" data-q=\"a4a2\"><p style=\"margin:0 0 6px;color:#0F2237\">Que faut-il faire des mots flous comme &quot;sympa&quot; ou &quot;pas trop long&quot; ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Les remplacer par un fait ou une mesure concr\u00e8te.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Les r\u00e9p\u00e9ter plusieurs fois pour insister.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Les mettre en majuscules pour que l&#039;IA comprenne mieux.<\/button><\/div><div class=\"mga-q\" data-q=\"a4a3\"><p style=\"margin:0 0 6px;color:#0F2237\">Pourquoi pr\u00e9ciser le destinataire dans sa demande ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Parce que sans destinataire, la machine vise une cible moyenne qui ne parle \u00e0 personne.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Parce que l&#039;IA a besoin de l&#039;adresse email de la personne.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Parce que c&#039;est obligatoire pour que la r\u00e9ponse s&#039;affiche.<\/button><\/div><div class=\"mga-q\" data-q=\"a4a4\"><p style=\"margin:0 0 6px;color:#0F2237\">Quel est le geste le plus puissant pour obtenir un style pr\u00e9cis ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Coller un exemple que l&#039;on aime et dire &quot;dans cet esprit&quot;.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">\u00c9crire &quot;sois cr\u00e9atif&quot; \u00e0 la fin de la demande.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Demander \u00e0 l&#039;IA de choisir le style elle-m\u00eame.<\/button><\/div><div class=\"mga-q\" data-q=\"a4a5\"><p style=\"margin:0 0 6px;color:#0F2237\">Quelle le\u00e7on tire-t-on de l&#039;autopilote de contenu de MogaCode et de ses portes de qualit\u00e9 ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">M\u00eame une machine automatique d\u00e9pend de la pr\u00e9cision des consignes qu&#039;on lui donne.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Les machines automatiques n&#039;ont pas besoin de consignes pr\u00e9cises.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Il vaut mieux publier toutes les pages produites sans les contr\u00f4ler.<\/button><\/div><div class=\"mga-chfoot\"><button type=\"button\" class=\"mga-cta mga-chnext\" data-go=\"1\">Sous-module suivant &rarr;<\/button><\/div><\/div><div class=\"mga-chapter hid\" data-ch=\"1\"><div class=\"mga-atlist\"><b>Ateliers de ce sous-module<\/b><a href=\"#at-4627e7\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M12 3l1.7 5.2a2 2 0 0 0 1.1 1.1L20 11l-5.2 1.7a2 2 0 0 0-1.1 1.1L12 19l-1.7-5.2a2 2 0 0 0-1.1-1.1L4 11l5.2-1.7a2 2 0 0 0 1.1-1.1z\"\/><\/svg>\u00c0 toi : la bonne d\u00e9cision<\/a><a href=\"#at-d12e6e\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M12 3l1.7 5.2a2 2 0 0 0 1.1 1.1L20 11l-5.2 1.7a2 2 0 0 0-1.1 1.1L12 19l-1.7-5.2a2 2 0 0 0-1.1-1.1L4 11l5.2-1.7a2 2 0 0 0 1.1-1.1z\"\/><\/svg>\u00c0 toi : ton playbook<\/a><\/div><div class=\"mga-step\"><div class=\"n\">1 \u00b7 L&#039;accroche<\/div><h3><\/h3><p>Tu as compris qu'une demande pr\u00e9cise vaut mille fois mieux qu'un souhait vague. Tr\u00e8s bien. Mais l\u00e0, une nouvelle frustration t'attend, et elle est plus subtile. Tu fais un effort, tu \u00e9cris une demande que tu crois pr\u00e9cise, et le r\u00e9sultat n'est toujours pas tout \u00e0 fait \u00e7a. Pas mauvais, mais pas juste. Comme un v\u00eatement presque \u00e0 ta taille, qui serre un peu \u00e0 un endroit et flotte \u00e0 un autre. Tu ne comprends pas: tu as pourtant \u00e9t\u00e9 clair, non.<\/p><p>Prenons un cas v\u00e9cu par beaucoup. Une personne qui g\u00e8re un petit institut de bien-\u00eatre \u00e9crit: \"\u00e9cris une pr\u00e9sentation de mon institut, quatre phrases, ton doux, pour ma page d'accueil\". C'est une bonne demande, honn\u00eatement. Objectif nomm\u00e9, longueur pr\u00e9cis\u00e9e, ton indiqu\u00e9, destinataire implicite. Et pourtant la r\u00e9ponse tombe \u00e0 c\u00f4t\u00e9: elle parle de \"votre havre de paix au coeur de la ville\", alors que l'institut est en pleine campagne, elle vante \"une \u00e9quipe de dix experts\" alors qu'elle travaille seule, elle invente une ambiance zen japonaise qui n'a rien \u00e0 voir avec sa d\u00e9co chaleureuse et rustique.<\/p><p>La machine n'a pas \u00e9t\u00e9 b\u00eate. Elle a fait de son mieux avec ce qu'elle avait, et ce qu'elle avait \u00e9tait incomplet. On lui a dit quoi faire et comment le dire, mais pas qui elle devait \u00eatre, ni ce qu'elle devait savoir, ni sous quelle forme exacte rendre son travail. Elle a combl\u00e9 les vides avec des clich\u00e9s de brochure, parce que c'est ce qu'elle a vu mille fois.<\/p><p>C'est l\u00e0 qu'intervient la grande r\u00e9v\u00e9lation de ce sous-module. Un bon prompt n'est pas juste une phrase pr\u00e9cise, c'est un assemblage de briques. Comme une maison a besoin de fondations, de murs, d'un toit, un prompt solide a besoin de plusieurs \u00e9l\u00e9ments qui, ensemble, tiennent debout. Enl\u00e8ve une brique et \u00e7a penche. Une fois que tu connais ces briques, tu ne les oublies plus, et tes demandes cessent de \"tomber \u00e0 c\u00f4t\u00e9\". Tu vas voir, elles sont peu nombreuses, faciles \u00e0 retenir, et tu les as d\u00e9j\u00e0 toutes crois\u00e9es sans les nommer.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">2 \u00b7 Le pourquoi<\/div><h3><\/h3><p>Connaitre les briques d'un bon prompt, ce n'est pas devenir un expert technique, c'est arr\u00eater de t\u00e2tonner. Tant que tu improvises, tu obtiens des r\u00e9sultats en dents de scie: parfois bons par chance, souvent d\u00e9cevants sans savoir pourquoi. Avec les briques en t\u00eate, tu as une liste mentale que tu d\u00e9roules, et tes r\u00e9sultats deviennent r\u00e9guliers. La r\u00e9gularit\u00e9, c'est ce qui te fait passer de \"je tente l'IA de temps en temps\" \u00e0 \"je m'appuie dessus tous les jours\".<\/p><p>Le premier b\u00e9n\u00e9fice est un gain de justesse. Quand tu donnes un r\u00f4le, du contexte, une t\u00e2che et un format, la machine n'a presque plus de trous \u00e0 combler. Elle ne peut plus inventer une \u00e9quipe de dix personnes ou une ambiance qui n'existe pas, parce que tu as pos\u00e9 les faits. Les r\u00e9sultats collent \u00e0 ta r\u00e9alit\u00e9, et tu passes beaucoup moins de temps \u00e0 corriger.<\/p><p>Le deuxi\u00e8me b\u00e9n\u00e9fice est la confiance. Beaucoup de d\u00e9butants ont peur de \"mal parler \u00e0 l'IA\", comme s'il fallait connaitre une formule magique. Il n'y a pas de formule secr\u00e8te, il y a juste des briques. Une fois que tu sais qu'il t'en faut quatre ou cinq, l'angoisse tombe. Tu n'es plus devant une page blanche intimidante, tu remplis des cases: qui, quoi sais-je, quoi faire, sous quelle forme. C'est rassurant, presque m\u00e9canique, et \u00e7a lib\u00e8re l'esprit.<\/p><p>Le troisi\u00e8me b\u00e9n\u00e9fice est la r\u00e9utilisation. Un prompt bien construit avec ses briques devient un outil que tu gardes. Tu l'\u00e9cris une fois pour \"annoncer une promotion\", et le mois suivant tu changes juste les faits, tu gardes la structure. Tu te constitues petit \u00e0 petit une boite \u00e0 mod\u00e8les personnels. C'est exactement ainsi que travaillent les gens efficaces: ils ne r\u00e9inventent pas la demande \u00e0 chaque fois, ils adaptent une structure \u00e9prouv\u00e9e.<\/p><p>Enfin, comprendre les briques te pr\u00e9pare \u00e0 tout le reste de ton apprentissage. Plus tard, tu entendras parler d'agents, d'outils, de syst\u00e8mes qui font des choses complexes. Or tous reposent sur le m\u00eame squelette: un r\u00f4le, un contexte, une t\u00e2che, un format. Ce que tu apprends ici en petit, pour un simple message, est exactement ce qui fait tourner les syst\u00e8mes les plus avanc\u00e9s de MogaCode. Tu n'apprends pas une astuce jetable, tu apprends la grammaire de base de toute conversation avec une machine intelligente.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">3 \u00b7 Le comment<\/div><h3><\/h3><p>Voici les briques d'un bon prompt. Retiens-les dans l'ordre, c'est plus facile: qui, ce qu'il faut savoir, quoi faire, sous quelle forme. Quatre questions, et ta demande tient debout. Prenons-les une par une.<\/p><p class=\"mga-sub\">1. Le r\u00f4le: dis \u00e0 l'IA qui elle doit \u00eatre<\/p><p>C'est la brique la plus surprenante pour les d\u00e9butants, et l'une des plus efficaces. Avant m\u00eame de dire ce que tu veux, tu peux dire \u00e0 la machine quel personnage endosser. \"Tu es un conseiller commercial exp\u00e9riment\u00e9 et bienveillant\". \"Tu es un correcteur rigoureux qui traque les fautes\". \"Tu es un ami qui m'explique les choses simplement, sans jargon\". En donnant un r\u00f4le, tu orientes d'un coup le ton, le vocabulaire et le point de vue de toute la r\u00e9ponse.<\/p><p>Un exemple parlant. Demande \"explique-moi les avis clients sur Google\", puis recommence avec \"tu es un commer\u00e7ant qui a mis dix ans \u00e0 comprendre l'importance des avis, explique-moi \u00e7a comme \u00e0 un d\u00e9butant\". La deuxi\u00e8me r\u00e9ponse sera plus humaine, plus concr\u00e8te, remplie de v\u00e9cu, parce que tu as donn\u00e9 un r\u00f4le qui porte une exp\u00e9rience.<\/p><p class=\"mga-sub\">2. Le contexte: donne-lui ce qu'elle ne peut pas deviner<\/p><p>La machine ne connait ni ton m\u00e9tier, ni ta ville, ni ta client\u00e8le, ni ton histoire. Tout ce qu'elle ignore, elle l'invente. Alors nourris-la de faits vrais. O\u00f9 es-tu, que vends-tu, qui sont tes clients, qu'est-ce qui te distingue, y a-t-il quelque chose \u00e0 \u00e9viter absolument. Le contexte, c'est la diff\u00e9rence entre une r\u00e9ponse qui parle de toi et une r\u00e9ponse qui parle d'un commerce imaginaire.<\/p><p>Reprends l'institut de bien-\u00eatre. En ajoutant \"je travaille seule, en pleine campagne, dans une ancienne ferme r\u00e9nov\u00e9e avec une d\u00e9co chaleureuse en bois\", tu emp\u00eaches d'un coup tous les clich\u00e9s de havre urbain et d'\u00e9quipe nombreuse. La machine s'appuie sur du r\u00e9el au lieu de meubler.<\/p><p class=\"mga-sub\">3. La t\u00e2che: dis exactement quoi faire<\/p><p>C'est le coeur, et c'est ce que tu as appris au sous-module pr\u00e9c\u00e9dent: un verbe clair et un objectif net. \"\u00c9cris\", \"r\u00e9sume\", \"corrige\", \"liste\", \"compare\", \"traduis\". Un seul travail \u00e0 la fois, bien d\u00e9fini. \u00c9vite d'empiler cinq demandes dans une seule phrase, car la machine en oubliera. Si tu as plusieurs choses \u00e0 faire, fais-les l'une apr\u00e8s l'autre.<\/p><p>Par exemple, ne dis pas \"\u00e9cris une pr\u00e9sentation et aussi trois id\u00e9es de publications et corrige mon ancien texte\". S\u00e9pare: d'abord la pr\u00e9sentation, ensuite les id\u00e9es, ensuite la correction. Chaque t\u00e2che isol\u00e9e est mieux ex\u00e9cut\u00e9e. C'est comme confier un travail \u00e0 quelqu'un: une consigne claire \u00e0 la fois vaut mieux qu'une avalanche.<\/p><p class=\"mga-sub\">4. Le format de sortie: dis sous quelle forme tu veux la r\u00e9ponse<\/p><p>C'est la brique qu'on oublie le plus, et elle fait gagner un temps fou. Veux-tu une liste ou un paragraphe. Trois points ou dix. Un tableau. Un message pr\u00eat \u00e0 copier. Des phrases courtes. Si tu ne dis rien, la machine choisit pour toi, souvent un gros pav\u00e9 que tu devras d\u00e9couper. En pr\u00e9cisant le format, tu re\u00e7ois un r\u00e9sultat directement utilisable.<\/p><p>Concr\u00e8tement, \"donne-moi cinq id\u00e9es, sous forme de liste, une phrase chacune, sans introduction ni conclusion\" te renverra exactement \u00e7a, propre, pr\u00eat \u00e0 l'emploi. Ajoute ici tes contraintes: la longueur, les mots \u00e0 \u00e9viter, la langue, tout ce qui cadre la forme finale.<\/p><p class=\"mga-syn\">En r\u00e9sum\u00e9: un bon prompt assemble quatre briques, le r\u00f4le (qui elle est), le contexte (ce qu'elle doit savoir), la t\u00e2che (quoi faire) et le format (sous quelle forme). Pose ces quatre questions et ta demande cesse de tomber \u00e0 c\u00f4t\u00e9.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">4 \u00b7 Le cas r\u00e9el<\/div><h3><\/h3><p>Chez MogaCode, il y a une boite \u00e0 outils tr\u00e8s particuli\u00e8re pour le r\u00e9f\u00e9rencement, celle qu'on appelle gsc-connect. Elle n'a rien d'une baguette magique. C'est un ensemble de dizaines d'outils, chacun avec un nom pr\u00e9cis et un travail pr\u00e9cis. Il y en a un qui mesure les positions d'un site sur Google, un autre qui inspecte la vitesse d'une page, un autre qui rep\u00e8re les pages oubli\u00e9es d'un site, un autre qui regarde ce que font les concurrents. Chaque outil fait une seule chose, mais il la fait bien, et il porte un nom clair qui dit ce qu'il fait.<\/p><p>Ce qui est fascinant, et directement li\u00e9 \u00e0 notre le\u00e7on, c'est comment une IA se sert de cette boite. On ne dit pas \u00e0 l'IA \"am\u00e9liore le r\u00e9f\u00e9rencement\", ce serait le souhait vague qu'on a banni. On lui donne un r\u00f4le (\"tu es une assistante SEO qui s'appuie uniquement sur des donn\u00e9es r\u00e9elles\"), un contexte (le site concern\u00e9, la ville vis\u00e9e, le m\u00e9tier), une t\u00e2che claire, et surtout on lui met \u00e0 disposition des outils aux noms explicites. L'IA lit la situation, puis choisit le bon outil par son nom, exactement comme un m\u00e9canicien choisit la bonne cl\u00e9 dans sa caisse. Elle appelle l'outil qui mesure les positions, lit le r\u00e9sultat r\u00e9el, puis appelle l'outil suivant.<\/p><p>Regarde bien le parall\u00e8le avec les quatre briques. Le r\u00f4le est donn\u00e9. Le contexte est donn\u00e9. La t\u00e2che est nette. Et le format de sortie, c'est justement la pr\u00e9cision des outils: chacun renvoie une information dans une forme d\u00e9finie, pas un pav\u00e9 flou. Cette boite \u00e0 outils est, en r\u00e9alit\u00e9, l'illustration grandeur nature de tout ce sous-module. Quand chaque brique est en place, une IA peut enchainer des dizaines d'actions pr\u00e9cises sans se perdre.<\/p><p>Il y a une le\u00e7on suppl\u00e9mentaire, presque philosophique. La force de gsc-connect ne vient pas d'une intelligence surhumaine, elle vient du d\u00e9coupage en outils clairs et bien nomm\u00e9s. Un gros outil vague qui \"ferait tout\" serait ing\u00e9rable et donnerait n'importe quoi. Des dizaines de petits outils pr\u00e9cis, chacun avec sa mission, donnent un syst\u00e8me fiable. C'est exactement le principe des briques: mieux vaut plusieurs \u00e9l\u00e9ments clairs et s\u00e9par\u00e9s qu'un seul bloc confus.<\/p><p>Ce que tu peux en retenir pour tes propres demandes: nomme les choses pr\u00e9cis\u00e9ment, s\u00e9pare les t\u00e2ches, donne \u00e0 chaque demande une forme attendue. Tu n'as pas des dizaines d'outils, mais tu as la m\u00eame logique \u00e0 ta disposition. Quand tu construis un prompt brique par brique, tu fais, \u00e0 ton \u00e9chelle, ce que fait cette machine de guerre du r\u00e9f\u00e9rencement: tu transformes une intention floue en une suite d'instructions claires que la machine peut ex\u00e9cuter sans se tromper.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">5 \u00b7 Le contre-exemple<\/div><h3><\/h3><p>Voici l'erreur classique, celle qui g\u00e2che m\u00eame les demandes bien intentionn\u00e9es: oublier la brique du contexte, et laisser la machine inventer. Un artisan chauffagiste, content de progresser, \u00e9crit une demande soign\u00e9e: \"tu es un r\u00e9dacteur professionnel, \u00e9cris-moi une page de pr\u00e9sentation de mon activit\u00e9, ton s\u00e9rieux et rassurant, en un paragraphe de six phrases\". R\u00f4le, t\u00e2che, ton, format: presque tout y est. Il appuie, satisfait.<\/p><p>La r\u00e9ponse arrive, bien tourn\u00e9e, et pourtant inutilisable. Elle affirme qu'il intervient \"sept jours sur sept, vingt-quatre heures sur vingt-quatre\", ce qui est faux, il ne fait pas les urgences de nuit. Elle parle d'une \"\u00e9quipe de techniciens certifi\u00e9s\", alors qu'il travaille seul avec un apprenti. Elle mentionne \"plus de vingt ans d'exp\u00e9rience\", un chiffre sorti de nulle part. S'il publie \u00e7a, il ment \u00e0 ses clients sans m\u00eame l'avoir voulu, et le jour o\u00f9 quelqu'un appelle \u00e0 deux heures du matin en croyant \u00e0 la promesse, la d\u00e9ception sera brutale.<\/p><p>Que s'est-il pass\u00e9. Il manquait la brique la plus importante pour la v\u00e9rit\u00e9: le contexte r\u00e9el. La machine a rempli les vides avec ce qui \"fait pro\" en g\u00e9n\u00e9ral, c'est \u00e0 dire des promesses standard de site de chauffagiste. Elle n'a pas menti par malice, elle a combl\u00e9 un manque d'information par des clich\u00e9s. Sans faits, une IA fabrique du plausible, et le plausible n'est pas le vrai.<\/p><p>Cette m\u00e9saventure r\u00e9sonne avec une r\u00e8gle profonde chez MogaCode: jamais de donn\u00e9es invent\u00e9es, jamais de chiffre sorti de nulle part. Quand une information r\u00e9elle manque, on le dit et on s'arr\u00eate, on ne devine pas. C'est vrai pour les syst\u00e8mes de MogaCode, \u00e7a doit devenir vrai pour toi. Si tu ne donnes pas tes vrais horaires, ta vraie taille d'\u00e9quipe, ta vraie anciennet\u00e9, la machine les inventera, et tu porteras la responsabilit\u00e9 de ce mensonge une fois publi\u00e9.<\/p><p>La correction est simple et tient en une brique ajout\u00e9e. L'artisan aurait d\u00fb \u00e9crire: \"je travaille seul avec un apprenti, sans urgences de nuit, sur la r\u00e9gion de Namur, sp\u00e9cialis\u00e9 dans l'entretien de chaudi\u00e8res, sans inventer aucun chiffre que je ne t'ai pas donn\u00e9\". Cette derni\u00e8re consigne, \"n'invente aucun chiffre\", est un garde-fou pr\u00e9cieux \u00e0 connaitre d\u00e8s tes premiers prompts. La le\u00e7on: une demande peut \u00eatre bien structur\u00e9e et quand m\u00eame dangereuse si elle laisse la machine remplir les vides. Le contexte n'est pas une brique optionnelle, c'est le rempart contre l'invention.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">6 \u00b7 Les pi\u00e8ges<\/div><h3><\/h3><ul class=\"mga-chain\"><li><b>Le prompt sans r\u00f4le.<\/b> Sympt\u00f4me: le ton n'est jamais tout \u00e0 fait juste. Cause: tu n'as pas dit \u00e0 l'IA qui elle devait \u00eatre, elle prend une voix neutre passe-partout. R\u00e9flexe: commence par \"tu es...\" pour orienter d'embl\u00e9e le ton et le point de vue.<\/li><li><b>Le contexte manquant.<\/b> Sympt\u00f4me: la r\u00e9ponse invente des faits sur toi (\u00e9quipe, horaires, anciennet\u00e9). Cause: la machine comble ce qu'elle ignore avec des clich\u00e9s plausibles. R\u00e9flexe: donne les faits r\u00e9els et ajoute \"n'invente aucune information que je ne t'ai pas donn\u00e9e\".<\/li><li><b>La t\u00e2che empil\u00e9e.<\/b> Sympt\u00f4me: la machine oublie une partie de ta demande. Cause: tu as mis trois ou quatre travaux dans une seule phrase. R\u00e9flexe: une t\u00e2che \u00e0 la fois, l'une apr\u00e8s l'autre.<\/li><li><b>Le format oubli\u00e9.<\/b> Sympt\u00f4me: tu re\u00e7ois un gros pav\u00e9 que tu dois d\u00e9couper toi-m\u00eame. Cause: tu n'as pas dit sous quelle forme tu voulais la r\u00e9ponse. R\u00e9flexe: pr\u00e9cise liste ou paragraphe, nombre de points, longueur, pr\u00eat \u00e0 copier.<\/li><li><b>Le plausible pris pour du vrai.<\/b> Sympt\u00f4me: un chiffre ou un d\u00e9tail sonne bien et tu le gardes sans v\u00e9rifier. Cause: l'IA produit du cr\u00e9dible m\u00eame quand elle ne sait pas. R\u00e9flexe: v\u00e9rifie tout fait que tu n'as pas toi-m\u00eame fourni, ne publie jamais un chiffre invent\u00e9.<\/li><\/ul><\/div><div class=\"mga-step atelier\" id=\"at-4627e7\" data-atlabel=\"\u00c0 toi : la bonne d\u00e9cision\"><div class=\"n\"><span class=\"mga-atbadge\">Atelier - a toi de jouer<\/span><\/div><h3><\/h3><div class=\"mga-decision\"><script type=\"application\/json\" class=\"mga-data\">[{\"q\":\"Tu veux une r\\u00e9ponse au ton humain et v\\u00e9cu plut\\u00f4t que neutre. Quelle brique ajoutes-tu ?\",\"options\":[{\"t\":\"Je donne un r\\u00f4le: \\\"tu es un commer\\u00e7ant exp\\u00e9riment\\u00e9 qui explique simplement\\\".\",\"ok\":true,\"why\":\"Le r\\u00f4le oriente d'un coup le ton, le vocabulaire et le point de vue de toute la r\\u00e9ponse.\"},{\"t\":\"J'\\u00e9cris ma demande en majuscules pour qu'elle soit plus chaleureuse.\",\"ok\":false,\"why\":\"Les majuscules ne changent pas le ton du contenu, elles ne remplacent pas la brique du r\\u00f4le.\"}]},{\"q\":\"L'IA affirme que tu as \\\"une \\u00e9quipe de dix experts\\\" alors que tu travailles seul. Pourquoi ?\",\"options\":[{\"t\":\"Parce que tu n'as pas donn\\u00e9 le contexte r\\u00e9el et la machine a combl\\u00e9 le vide avec un clich\\u00e9.\",\"ok\":true,\"why\":\"Sans faits, l'IA fabrique du plausible: le contexte est le rempart contre l'invention.\"},{\"t\":\"Parce que l'IA veut te flatter pour que tu sois content.\",\"ok\":false,\"why\":\"L'IA ne cherche pas \\u00e0 flatter: elle remplit une information manquante avec ce qu'elle voit le plus souvent.\"}]},{\"q\":\"Tu as besoin d'une pr\\u00e9sentation, de trois id\\u00e9es de publications et d'une correction. Comment fais-tu ?\",\"options\":[{\"t\":\"Je mets tout dans une seule demande pour gagner du temps.\",\"ok\":false,\"why\":\"En empilant les t\\u00e2ches, la machine en oubliera une partie: chaque travail isol\\u00e9 est mieux ex\\u00e9cut\\u00e9.\"},{\"t\":\"Je traite chaque t\\u00e2che s\\u00e9par\\u00e9ment, l'une apr\\u00e8s l'autre.\",\"ok\":true,\"why\":\"Une t\\u00e2che claire \\u00e0 la fois donne un meilleur r\\u00e9sultat que plusieurs consignes m\\u00e9lang\\u00e9es.\"}]},{\"q\":\"Tu veux cinq id\\u00e9es propres, pr\\u00eates \\u00e0 coller, sans blabla. Que pr\\u00e9cises-tu ?\",\"options\":[{\"t\":\"Rien, la machine choisira bien la forme.\",\"ok\":false,\"why\":\"Sans format pr\\u00e9cis\\u00e9, tu risques un gros pav\\u00e9 \\u00e0 d\\u00e9couper toi-m\\u00eame.\"},{\"t\":\"Le format: \\\"cinq id\\u00e9es en liste, une phrase chacune, sans introduction ni conclusion\\\".\",\"ok\":true,\"why\":\"Pr\\u00e9ciser le format te renvoie un r\\u00e9sultat directement utilisable, sans retouche.\"}]}]<\/script><div class=\"mga-host\"><\/div><\/div><\/div><div class=\"mga-step atelier\" id=\"at-d12e6e\" data-atlabel=\"\u00c0 toi : ton playbook\"><div class=\"n\"><span class=\"mga-atbadge\">Atelier - a toi de jouer<\/span><\/div><h3><\/h3><p>Avant d'envoyer un prompt un peu important, v\u00e9rifie que tes quatre briques sont pos\u00e9es. Cette liste est ton gabarit r\u00e9utilisable: garde-la sous les yeux au d\u00e9but, elle deviendra vite un r\u00e9flexe.<\/p><div class=\"mga-checklist\"><script type=\"application\/json\" class=\"mga-data\">{\"ck\":\"a4_b\",\"items\":[\"Le r\\u00f4le: j'ai dit \\u00e0 l'IA qui elle doit \\u00eatre (\\\"tu es...\\\").\",\"Le contexte: j'ai donn\\u00e9 les faits r\\u00e9els qu'elle ne peut pas deviner (m\\u00e9tier, ville, client\\u00e8le, ce qui me distingue).\",\"La t\\u00e2che: j'ai demand\\u00e9 un seul travail clair avec un verbe net.\",\"Le format: j'ai pr\\u00e9cis\\u00e9 la forme de la r\\u00e9ponse (liste ou paragraphe, longueur, pr\\u00eat \\u00e0 copier).\",\"Le garde-fou: j'ai ajout\\u00e9 \\\"n'invente aucune information que je ne t'ai pas donn\\u00e9e\\\" et je v\\u00e9rifie tout fait non fourni par moi.\"]}<\/script><div class=\"mga-host\"><\/div><\/div><\/div><div class=\"mga-q\" data-q=\"a4b1\"><p style=\"margin:0 0 6px;color:#0F2237\">Dans quel ordre est-il pratique de retenir les briques d&#039;un bon prompt ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Qui elle est, ce qu&#039;elle doit savoir, quoi faire, sous quelle forme.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Sous quelle forme, quoi faire, ce qu&#039;elle doit savoir, qui elle est.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Peu importe, l&#039;ordre n&#039;a aucune influence sur rien.<\/button><\/div><div class=\"mga-q\" data-q=\"a4b2\"><p style=\"margin:0 0 6px;color:#0F2237\">\u00c0 quoi sert la brique du r\u00f4le ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">\u00c0 orienter d&#039;embl\u00e9e le ton, le vocabulaire et le point de vue de la r\u00e9ponse.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">\u00c0 indiquer \u00e0 l&#039;IA combien de temps elle a pour r\u00e9pondre.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">\u00c0 choisir la couleur du texte affich\u00e9.<\/button><\/div><div class=\"mga-q\" data-q=\"a4b3\"><p style=\"margin:0 0 6px;color:#0F2237\">Pourquoi le contexte est-il la brique qui prot\u00e8ge de l&#039;invention ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Parce que tout ce que l&#039;IA ignore, elle le comble avec des clich\u00e9s plausibles.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Parce que le contexte rend la r\u00e9ponse plus longue.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Parce que sans contexte l&#039;IA refuse de r\u00e9pondre.<\/button><\/div><div class=\"mga-q\" data-q=\"a4b4\"><p style=\"margin:0 0 6px;color:#0F2237\">Que r\u00e9v\u00e8le la boite \u00e0 outils gsc-connect de MogaCode sur la construction d&#039;un prompt ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Mieux vaut plusieurs \u00e9l\u00e9ments clairs et bien nomm\u00e9s qu&#039;un seul bloc vague.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Un seul gros outil qui fait tout est plus fiable que plusieurs petits.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Les noms des outils n&#039;ont aucune importance.<\/button><\/div><div class=\"mga-q\" data-q=\"a4b5\"><p style=\"margin:0 0 6px;color:#0F2237\">Quelle consigne ajouter pour \u00e9viter qu&#039;une IA sorte un chiffre invent\u00e9 ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">N&#039;invente aucune information que je ne t&#039;ai pas donn\u00e9e.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Sois cr\u00e9atif et ajoute des chiffres pour faire pro.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Remplis les trous comme tu le sens.<\/button><\/div><div class=\"mga-chfoot\"><button type=\"button\" class=\"mga-cta mga-chnext\" data-go=\"2\">Sous-module suivant &rarr;<\/button><\/div><\/div><div class=\"mga-chapter hid\" data-ch=\"2\"><div class=\"mga-atlist\"><b>Ateliers de ce sous-module<\/b><a href=\"#at-4627e7\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M12 3l1.7 5.2a2 2 0 0 0 1.1 1.1L20 11l-5.2 1.7a2 2 0 0 0-1.1 1.1L12 19l-1.7-5.2a2 2 0 0 0-1.1-1.1L4 11l5.2-1.7a2 2 0 0 0 1.1-1.1z\"\/><\/svg>\u00c0 toi : la bonne d\u00e9cision<\/a><a href=\"#at-d12e6e\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M12 3l1.7 5.2a2 2 0 0 0 1.1 1.1L20 11l-5.2 1.7a2 2 0 0 0-1.1 1.1L12 19l-1.7-5.2a2 2 0 0 0-1.1-1.1L4 11l5.2-1.7a2 2 0 0 0 1.1-1.1z\"\/><\/svg>\u00c0 toi : ton playbook<\/a><\/div><div class=\"mga-step\"><div class=\"n\">1 \u00b7 L&#039;accroche<\/div><h3><\/h3><p>Voici une croyance qui bloque des milliers de d\u00e9butants, et il faut la briser tout de suite. Beaucoup pensent qu'un bon prompt doit sortir parfait du premier coup, comme un tir au but r\u00e9ussi. Alors ils s'acharnent \u00e0 \u00e9crire la demande id\u00e9ale, la relisent dix fois, et quand la r\u00e9ponse n'est pas parfaite, ils concluent qu'ils ont \u00e9chou\u00e9, ou que l'IA est d\u00e9cevante. Ils ferment la fen\u00eatre, frustr\u00e9s, persuad\u00e9s de ne pas \u00eatre dou\u00e9s.<\/p><p>La v\u00e9rit\u00e9 est tout autre, et elle va te soulager: personne n'\u00e9crit le prompt parfait du premier coup, pas m\u00eame les gens qui font \u00e7a toute la journ\u00e9e. Parler \u00e0 une IA, ce n'est pas tirer un penalty, c'est avoir une conversation. Et une conversation, \u00e7a se construit \u00e0 plusieurs \u00e9changes. Tu demandes, tu regardes ce qui vient, tu ajustes, tu redemandes. C'est normal, c'est m\u00eame le coeur du m\u00e9tier.<\/p><p>Imagine que tu confies un travail \u00e0 quelqu'un de nouveau dans ton \u00e9quipe. La premi\u00e8re fois, il te rend quelque chose de correct mais pas tout \u00e0 fait \u00e7a. Tu ne le renvoies pas en le traitant d'incapable. Tu lui dis: \"c'est bien, mais le d\u00e9but est trop long, et tu as oubli\u00e9 de mentionner nos horaires\". Il corrige, et la deuxi\u00e8me version est bien meilleure. Avec une IA, c'est identique, sauf qu'elle ne se vexe jamais, ne se fatigue jamais, et corrige en trois secondes.<\/p><p>Le d\u00e9clic de ce dernier sous-module de fondations, c'est de comprendre que la puissance ne vient pas d'un prompt magique, mais de l'\u00e9change. Un prompt moyen suivi de deux bonnes corrections bat toujours un prompt \"parfait\" \u00e9crit dans l'angoisse. Tu vas apprendre \u00e0 lire une r\u00e9ponse pour rep\u00e9rer ce qui cloche, \u00e0 corriger un point \u00e0 la fois, \u00e0 garder ce qui marche, et \u00e0 savoir quand il vaut mieux repartir de z\u00e9ro. Ce n'est pas une comp\u00e9tence de plus, c'est la comp\u00e9tence qui rend toutes les autres tol\u00e9rantes \u00e0 l'erreur. Tu as le droit de te tromper dans ta demande, parce que tu sais maintenant que tu pourras rattraper en discutant.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">2 \u00b7 Le pourquoi<\/div><h3><\/h3><p>Savoir it\u00e9rer change ton rapport entier \u00e0 l'IA, et m\u00eame ton rapport \u00e0 l'erreur. Le premier effet, c'est la fin de la pression. Tant que tu crois devoir r\u00e9ussir du premier coup, chaque demande est un test stressant. D\u00e8s que tu sais que tu vas ajuster en plusieurs fois, tu te lances plus facilement, tu oses, tu exp\u00e9rimentes. Cette d\u00e9contraction est pr\u00e9cieuse: les gens qui progressent le plus vite sont ceux qui tentent beaucoup, pas ceux qui r\u00e9fl\u00e9chissent trop avant de taper.<\/p><p>Le deuxi\u00e8me effet, c'est une qualit\u00e9 finale bien sup\u00e9rieure. Une r\u00e9ponse retravaill\u00e9e en deux ou trois \u00e9changes est presque toujours meilleure qu'une r\u00e9ponse unique, aussi bonne soit-elle. Parce qu'en discutant, tu affines ta propre id\u00e9e de ce que tu veux. Souvent, tu ne sais pas exactement ce que tu cherches avant de voir une premi\u00e8re version qui ne te convient pas. La premi\u00e8re r\u00e9ponse sert de brouillon qui r\u00e9v\u00e8le tes vrais crit\u00e8res. \"Ah non, pas ce ton l\u00e0\", \"tiens, \u00e7a oui, mais en plus court\". La conversation te fait accoucher de ta demande r\u00e9elle.<\/p><p>Le troisi\u00e8me effet, c'est l'\u00e9conomie d'\u00e9nergie mentale. Corriger un point \u00e0 la fois est bien plus reposant que d'essayer de tout pr\u00e9voir dans une demande g\u00e9ante et parfaite. Tu avances par petites touches, comme un peintre qui recule, regarde, ajoute une touche, recule encore. C'est plus humain, plus naturel, et paradoxalement plus rapide, parce que tu ne te noies pas dans une consigne monstre impossible \u00e0 \u00e9crire.<\/p><p>Le quatri\u00e8me effet touche \u00e0 la fiabilit\u00e9. En it\u00e9rant, tu v\u00e9rifies. Tu lis vraiment ce que la machine a produit, tu rep\u00e8res une erreur, une invention, une maladresse, et tu la corriges avant qu'elle ne parte dans le monde. L'it\u00e9ration est ta derni\u00e8re porte de qualit\u00e9 avant publication. Les gens qui ne relisent pas et copient la premi\u00e8re r\u00e9ponse sont ceux qui publient des b\u00eatises. Ceux qui discutent avec la machine attrapent les probl\u00e8mes \u00e0 temps.<\/p><p>Enfin, it\u00e9rer, c'est apprendre. Chaque correction t'enseigne quelque chose sur la mani\u00e8re dont la machine r\u00e9agit. Tu remarques quel type de consigne marche, laquelle est mal comprise. Au fil des semaines, sans t'en rendre compte, tu deviens meilleur, non pas parce que tu as m\u00e9moris\u00e9 des formules, mais parce que tu as pratiqu\u00e9 la conversation. C'est la fondation qui te portera vers tout le reste de ton parcours.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">3 \u00b7 Le comment<\/div><h3><\/h3><p>It\u00e9rer n'est pas taper \"fais mieux\" en boucle, \u00e7a, tu l'as d\u00e9j\u00e0 vu, \u00e7a ne m\u00e8ne nulle part. C'est une m\u00e9thode douce en quatre gestes qui transforme un \u00e9change d\u00e9cevant en r\u00e9sultat solide.<\/p><p class=\"mga-sub\">1. Lis vraiment la r\u00e9ponse avant de r\u00e9agir<\/p><p>Le premier r\u00e9flexe, avant m\u00eame de corriger, c'est de lire attentivement ce que la machine a produit. Pas en diagonale, vraiment. Rep\u00e8re pr\u00e9cis\u00e9ment ce qui va et ce qui ne va pas. Est-ce le ton, la longueur, un fait invent\u00e9, un passage hors sujet, un mot mal choisi. Tant que tu ne sais pas nommer ce qui cloche, tu ne peux pas le corriger. La plupart des \"fais mieux\" rat\u00e9s viennent de l\u00e0: on sent que ce n'est pas \u00e7a, mais on ne prend pas trois secondes pour dire pourquoi.<\/p><p>Par exemple, au lieu de \"bof, recommence\", dis-toi: \"le contenu est bon, mais le deuxi\u00e8me paragraphe r\u00e9p\u00e8te le premier, et la fin est trop commerciale\". Tu viens de transformer un vague malaise en deux corrections pr\u00e9cises.<\/p><p class=\"mga-sub\">2. Corrige un point \u00e0 la fois, pr\u00e9cis\u00e9ment<\/p><p>Une fois que tu sais ce qui cloche, ne balance pas dix reproches d'un coup. Vas-y par touches claires. \"Raccourcis le deuxi\u00e8me paragraphe de moiti\u00e9\". \"Enl\u00e8ve la derni\u00e8re phrase, elle fait trop pub\". \"Remplace le mot chaleureux par accueillant, il revient trop souvent\". La machine garde le reste et applique ta correction. C'est chirurgical, et tu gardes la maitrise.<\/p><p>Un exemple: tu as un bon message mais il commence mal. Dis \"garde tout, mais r\u00e9\u00e9cris seulement la premi\u00e8re phrase pour qu'elle accroche davantage\". Tu ne jettes pas le travail, tu le retouches l\u00e0 o\u00f9 il faut.<\/p><p class=\"mga-sub\">3. Garde ce qui marche, dis ce qui cloche<\/p><p>C'est le geste le plus important et le plus oubli\u00e9. Quand tu corriges, dis toujours ce que tu veux conserver, pas seulement ce que tu veux changer. Sinon, en corrigeant un d\u00e9faut, la machine risque de casser ce qui \u00e9tait d\u00e9j\u00e0 bien. Formule tes corrections comme un cadrage: \"j'aime le ton et la longueur, garde-les, change juste l'exemple \u00e0 la fin\". Tu prot\u00e8ges les bonnes parties.<\/p><p>Concr\u00e8tement, si la troisi\u00e8me version \u00e9tait presque parfaite sauf un d\u00e9tail, ne repars pas d'une consigne neuve. Dis \"reprends exactement la version pr\u00e9c\u00e9dente et change uniquement ceci\". Tu construis sur l'acquis au lieu de tout recommencer.<\/p><p class=\"mga-sub\">4. Sache quand repartir de z\u00e9ro<\/p><p>Parfois, la conversation part dans une mauvaise direction et s'enlise. Les corrections s'accumulent, la machine s'emm\u00eale, chaque version est bancale d'une nouvelle fa\u00e7on. Quand tu sens cet enlisement, ne t'acharne pas. Recommence proprement, avec une demande neuve enrichie de tout ce que tu as appris pendant l'\u00e9change rat\u00e9. Tu ne perds rien: l'\u00e9change manqu\u00e9 t'a montr\u00e9 ce que tu ne voulais pas, et \u00e7a, c'est de l'information pr\u00e9cieuse pour ton nouveau d\u00e9part.<\/p><p>Par exemple, apr\u00e8s cinq corrections qui tournent en rond, ouvre une nouvelle demande: \"\u00e9cris un message court, ton accueillant, sans formule commerciale, en mentionnant mes horaires r\u00e9els que voici\". Tu as int\u00e9gr\u00e9 les le\u00e7ons de l'\u00e9chec dans une base propre.<\/p><p class=\"mga-syn\">En r\u00e9sum\u00e9: it\u00e9rer, c'est lire vraiment la r\u00e9ponse, corriger un point \u00e0 la fois, prot\u00e9ger ce qui marche, et savoir repartir de z\u00e9ro quand \u00e7a s'enlise. La conversation, pas le prompt parfait, fait la qualit\u00e9.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">4 \u00b7 Le cas r\u00e9el<\/div><h3><\/h3><p>Chez MogaCode, il y a un assistant sur WhatsApp qui rend un service tr\u00e8s concret. Il dispose de deux capacit\u00e9s bien distinctes, deux outils qu'on peut r\u00e9sumer par deux verbes: \"lire\" et \"envoyer\". L'outil \"lire\" lui permet de consulter des messages. L'outil \"envoyer\" lui permet de transmettre un message. Deux actions s\u00e9par\u00e9es, volontairement, et c'est l\u00e0 que se cache une le\u00e7on magnifique sur l'it\u00e9ration et la prudence.<\/p><p>Pourquoi s\u00e9parer ainsi. Parce que lire et envoyer n'ont pas du tout le m\u00eame poids. Lire, c'est r\u00e9versible, sans cons\u00e9quence: on peut relire cent fois, il ne se passe rien de grave. Envoyer, c'est irr\u00e9versible: une fois qu'un message est parti chez quelqu'un, on ne peut plus le rattraper. En s\u00e9parant les deux outils, on cr\u00e9e un point d'arr\u00eat naturel entre \"pr\u00e9parer\" et \"agir\". L'assistant peut lire, comprendre, pr\u00e9parer un brouillon, et l'envoi reste un acte \u00e0 part, contr\u00f4l\u00e9, jamais fait \u00e0 la l\u00e9g\u00e8re.<\/p><p>Fais le lien avec ta mani\u00e8re d'it\u00e9rer. Quand tu discutes avec une IA pour \u00e9crire un message, tu es exactement dans la phase \"lire et pr\u00e9parer\". Tu affines, tu corriges, tu retravailles, autant de fois que tu veux, sans risque. C'est r\u00e9versible, c'est ton brouillon. Le moment \"envoyer\", lui, doit rester un acte s\u00e9par\u00e9 et conscient: tu ne copies pas la r\u00e9ponse pour l'envoyer aussit\u00f4t, tu la relis une derni\u00e8re fois, tu v\u00e9rifies, et seulement alors tu la transmets. L'assistant WhatsApp de MogaCode t'enseigne, par sa conception m\u00eame, \u00e0 ne jamais confondre le brouillon et l'envoi.<\/p><p>Il y a une deuxi\u00e8me le\u00e7on, sur la clart\u00e9 des outils. \"Lire\" et \"envoyer\" sont des noms limpides. Chacun sait exactement ce que fait l'assistant quand il utilise l'un ou l'autre. Cette transparence est rassurante et \u00e9vite les mauvaises surprises. De la m\u00eame fa\u00e7on, quand tu it\u00e8res, sois clair avec toi-m\u00eame sur ce que tu fais \u00e0 chaque \u00e9tape: \"l\u00e0 je pr\u00e9pare\", \"l\u00e0 je corrige\", \"l\u00e0 je valide\", \"l\u00e0 j'envoie\". Nommer l'\u00e9tape o\u00f9 tu en es t'\u00e9vite de publier un brouillon par erreur.<\/p><p>Ce cas t'apprend, au fond, que l'it\u00e9ration n'est pas seulement une question de qualit\u00e9, c'est aussi une question de s\u00e9curit\u00e9. On travaille tranquillement dans la zone r\u00e9versible, on corrige autant qu'il faut, et on garde l'action irr\u00e9versible pour la toute fin, en pleine conscience. Un syst\u00e8me bien con\u00e7u met une barri\u00e8re entre les deux. Toi, \u00e0 ta petite \u00e9chelle, tu peux mettre la m\u00eame barri\u00e8re: it\u00e8re librement, mais fais de l'envoi un geste \u00e0 part, jamais automatique.<\/p>\n<p>Garde en t\u00eate, en \u00e9crivant tes premiers prompts, que la clart\u00e9 n'est jamais du temps perdu : chaque pr\u00e9cision que tu ajoutes en amont (le r\u00f4le, le contexte, le format attendu) t'\u00e9pargne plusieurs allers-retours de correction en aval. Un prompt un peu plus long mais net vaut toujours mieux qu'une demande courte et floue que tu devras relancer trois fois. La pr\u00e9cision, c'est de la vitesse, pas de la lenteur.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">5 \u00b7 Le contre-exemple<\/div><h3><\/h3><p>Voici une le\u00e7on que MogaCode a apprise \u00e0 ses d\u00e9pens, et qui parle d'it\u00e9ration d'une fa\u00e7on inattendue. Il fut un temps o\u00f9 certaines t\u00e2ches importantes \u00e9taient programm\u00e9es pour se lancer automatiquement depuis un ordinateur de bureau, un mac. L'id\u00e9e semblait pratique: la machine s'occupe de tout, on n'y pense plus. Sauf qu'un jour, l'ordinateur \u00e9tait \u00e9teint au moment pr\u00e9vu. La t\u00e2che ne s'est pas lanc\u00e9e. Elle a \u00e9t\u00e9 purement et simplement rat\u00e9e, sans avertissement, sans rattrapage. Personne ne s'en est rendu compte imm\u00e9diatement, parce qu'on faisait confiance \u00e0 un automatisme qu'on ne surveillait plus.<\/p><p>La le\u00e7on tir\u00e9e fut nette: on a d\u00e9plac\u00e9 ces t\u00e2ches sur un serveur souverain, une machine de MogaCode qui reste allum\u00e9e en permanence, fiable, sous contr\u00f4le. Depuis, l'automatisme ne d\u00e9pend plus qu'un ordinateur personnel soit allum\u00e9 ou non. Mais quel rapport avec tes premiers prompts, te demandes-tu. Le rapport est profond: c'est l'histoire d'un travail qu'on a lanc\u00e9 et qu'on n'a pas v\u00e9rifi\u00e9.<\/p><p>Transpose \u00e7a \u00e0 ta conversation avec une IA. Le contre-exemple typique de l'it\u00e9ration, c'est le \"je lance et je pars\". Tu \u00e9cris une demande, la r\u00e9ponse arrive, tu la copies sans la relire et tu passes \u00e0 autre chose, en supposant que \"c'est bon\". Comme la t\u00e2che sur le mac \u00e9teint, tu as fait confiance \u00e0 un automatisme sans v\u00e9rifier qu'il avait r\u00e9ellement produit ce qu'il fallait. Et le jour o\u00f9 tu d\u00e9couvres l'erreur, un fait invent\u00e9, un ton d\u00e9plac\u00e9, une information p\u00e9rim\u00e9e, il est souvent trop tard, le message est d\u00e9j\u00e0 parti.<\/p><p>L'erreur, dans les deux cas, est la m\u00eame: absence de v\u00e9rification, confiance aveugle dans un r\u00e9sultat qu'on n'a pas regard\u00e9. It\u00e9rer, c'est exactement l'inverse de cette confiance aveugle. C'est rester pr\u00e9sent, lire ce qui a \u00e9t\u00e9 produit, s'assurer que \u00e7a correspond, corriger si besoin. La le\u00e7on du mac \u00e9teint appliqu\u00e9e \u00e0 toi: ne suppose jamais que le travail a \u00e9t\u00e9 bien fait, regarde-le. Un r\u00e9sultat non v\u00e9rifi\u00e9 est un r\u00e9sultat non fiable, qu'il vienne d'un automatisme programm\u00e9 ou d'une r\u00e9ponse d'IA.<\/p><p>La correction est simple \u00e0 adopter d\u00e8s aujourd'hui. Fais de la v\u00e9rification une \u00e9tape obligatoire, jamais saut\u00e9e. Apr\u00e8s chaque r\u00e9ponse importante, prends le temps de la lire pour de vrai, de traquer l'invention et la maladresse, et n'utilise que ce que tu as valid\u00e9 de tes yeux. La fiabilit\u00e9 ne vient pas de la machine, elle vient de ta pr\u00e9sence attentive \u00e0 la boucle. C'est \u00e7a, it\u00e9rer s\u00e9rieusement: rester dans la pi\u00e8ce pendant que le travail se fait, au lieu de partir en supposant que tout ira bien.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">6 \u00b7 Les pi\u00e8ges<\/div><h3><\/h3><ul class=\"mga-chain\"><li><b>Le mythe du premier coup.<\/b> Sympt\u00f4me: tu abandonnes parce que la premi\u00e8re r\u00e9ponse n'est pas parfaite. Cause: tu crois qu'un bon prompt doit r\u00e9ussir imm\u00e9diatement. R\u00e9flexe: consid\u00e8re la premi\u00e8re r\u00e9ponse comme un brouillon et engage la conversation pour l'affiner.<\/li><li><b>Le \"fais mieux\" vide.<\/b> Sympt\u00f4me: tu retapes \"recommence\" et rien ne s'am\u00e9liore. Cause: tu n'as pas nomm\u00e9 ce qui clochait. R\u00e9flexe: lis vraiment la r\u00e9ponse et dis pr\u00e9cis\u00e9ment quoi changer.<\/li><li><b>La correction en avalanche.<\/b> Sympt\u00f4me: en corrigeant tout d'un coup, la machine s'emm\u00eale et casse ce qui marchait. Cause: trop de reproches dans un seul message. R\u00e9flexe: corrige un point \u00e0 la fois et dis ce que tu veux garder.<\/li><li><b>L'enlisement.<\/b> Sympt\u00f4me: chaque nouvelle version est bancale autrement, \u00e7a tourne en rond. Cause: la conversation est partie dans une mauvaise direction. R\u00e9flexe: repars proprement d'une demande neuve enrichie de ce que l'\u00e9change t'a appris.<\/li><li><b>Le lance-et-pars.<\/b> Sympt\u00f4me: tu d\u00e9couvres une erreur apr\u00e8s avoir d\u00e9j\u00e0 utilis\u00e9 la r\u00e9ponse. Cause: tu as copi\u00e9 sans relire, confiance aveugle. R\u00e9flexe: fais de la v\u00e9rification une \u00e9tape obligatoire et garde l'envoi comme un acte s\u00e9par\u00e9 et conscient.<\/li><\/ul><\/div><div class=\"mga-step atelier\" id=\"at-4627e7\" data-atlabel=\"\u00c0 toi : la bonne d\u00e9cision\"><div class=\"n\"><span class=\"mga-atbadge\">Atelier - a toi de jouer<\/span><\/div><h3><\/h3><div class=\"mga-decision\"><script type=\"application\/json\" class=\"mga-data\">[{\"q\":\"La premi\\u00e8re r\\u00e9ponse de l'IA n'est pas parfaite. Quelle est la bonne attitude ?\",\"options\":[{\"t\":\"Je la consid\\u00e8re comme un brouillon et j'engage la conversation pour l'affiner.\",\"ok\":true,\"why\":\"Parler \\u00e0 une IA est une conversation: la qualit\\u00e9 vient de l'\\u00e9change, pas d'un prompt parfait du premier coup.\"},{\"t\":\"Je conclus que je ne suis pas dou\\u00e9 et je ferme la fen\\u00eatre.\",\"ok\":false,\"why\":\"Personne n'\\u00e9crit le prompt parfait du premier coup: abandonner prive du vrai levier, l'it\\u00e9ration.\"}]},{\"q\":\"Le r\\u00e9sultat te d\\u00e9plait sans que tu saches dire pourquoi. Que fais-tu d'abord ?\",\"options\":[{\"t\":\"Je tape \\\"fais mieux\\\" pour voir ce qui sort.\",\"ok\":false,\"why\":\"\\\"Fais mieux\\\" ne dit rien \\u00e0 la machine: elle ne saura pas quoi corriger et produira une version aussi floue.\"},{\"t\":\"Je relis attentivement pour nommer pr\\u00e9cis\\u00e9ment ce qui cloche.\",\"ok\":true,\"why\":\"On ne peut corriger que ce qu'on sait nommer: la lecture attentive transforme un malaise en corrections claires.\"}]},{\"q\":\"La version obtenue est presque parfaite, sauf la derni\\u00e8re phrase. Comment corriges-tu ?\",\"options\":[{\"t\":\"Je dis \\\"garde tout, change uniquement la derni\\u00e8re phrase\\\".\",\"ok\":true,\"why\":\"Prot\\u00e9ger ce qui marche \\u00e9vite que la machine casse les bonnes parties en corrigeant le d\\u00e9tail.\"},{\"t\":\"Je r\\u00e9\\u00e9cris une demande neuve compl\\u00e8te depuis le d\\u00e9but.\",\"ok\":false,\"why\":\"Repartir de z\\u00e9ro alors que presque tout est bon fait perdre l'acquis: mieux vaut une retouche cibl\\u00e9e.\"}]},{\"q\":\"Tu viens d'obtenir un message \\u00e0 envoyer \\u00e0 un client. Quel est le bon dernier geste ?\",\"options\":[{\"t\":\"Je le copie et je l'envoie aussit\\u00f4t pour gagner du temps.\",\"ok\":false,\"why\":\"L'envoi est irr\\u00e9versible: copier sans relire, c'est le lance-et-pars qui laisse passer les erreurs.\"},{\"t\":\"Je le relis une derni\\u00e8re fois, je v\\u00e9rifie les faits, puis j'envoie en conscience.\",\"ok\":true,\"why\":\"Comme l'assistant WhatsApp s\\u00e9pare \\\"lire\\\" et \\\"envoyer\\\", tu gardes l'envoi comme un acte s\\u00e9par\\u00e9 et v\\u00e9rifi\\u00e9.\"}]}]<\/script><div class=\"mga-host\"><\/div><\/div><\/div><div class=\"mga-step atelier\" id=\"at-d12e6e\" data-atlabel=\"\u00c0 toi : ton playbook\"><div class=\"n\"><span class=\"mga-atbadge\">Atelier - a toi de jouer<\/span><\/div><h3><\/h3><p>Voici ta m\u00e9thode d'it\u00e9ration, \u00e0 d\u00e9rouler chaque fois qu'une r\u00e9ponse n'est pas tout \u00e0 fait juste. Elle fait de la conversation ton vrai levier de qualit\u00e9, et de la v\u00e9rification ta derni\u00e8re porte avant d'agir.<\/p><div class=\"mga-checklist\"><script type=\"application\/json\" class=\"mga-data\">{\"ck\":\"a4_c\",\"items\":[\"Je lis vraiment la r\\u00e9ponse et je nomme pr\\u00e9cis\\u00e9ment ce qui va et ce qui cloche.\",\"Je corrige un point \\u00e0 la fois, avec une consigne claire.\",\"Je dis ce que je veux garder, pas seulement ce que je veux changer.\",\"Si \\u00e7a s'enlise, je repars d'une demande neuve enrichie de ce que j'ai appris.\",\"Avant d'utiliser ou d'envoyer, je v\\u00e9rifie les faits et je fais de l'envoi un geste s\\u00e9par\\u00e9 et conscient.\"]}<\/script><div class=\"mga-host\"><\/div><\/div><\/div><div class=\"mga-q\" data-q=\"a4c1\"><p style=\"margin:0 0 6px;color:#0F2237\">Parler \u00e0 une IA ressemble le plus \u00e0 quoi ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">\u00c0 une conversation qui se construit en plusieurs \u00e9changes.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">\u00c0 un penalty qu&#039;il faut r\u00e9ussir du premier coup.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">\u00c0 une formule magique qu&#039;il faut m\u00e9moriser.<\/button><\/div><div class=\"mga-q\" data-q=\"a4c2\"><p style=\"margin:0 0 6px;color:#0F2237\">Pourquoi &quot;fais mieux&quot; ne fonctionne-t-il pas ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Parce que tu n&#039;as pas nomm\u00e9 ce qui clochait, la machine ne sait pas quoi corriger.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Parce que l&#039;IA n&#039;accepte pas les corrections.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Parce qu&#039;il faut attendre le lendemain pour r\u00e9essayer.<\/button><\/div><div class=\"mga-q\" data-q=\"a4c3\"><p style=\"margin:0 0 6px;color:#0F2237\">Que faut-il toujours faire quand on corrige une r\u00e9ponse presque bonne ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Dire ce que l&#039;on veut garder, pas seulement ce que l&#039;on veut changer.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Tout effacer et recommencer une demande neuve.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Envoyer les dix corrections en un seul message.<\/button><\/div><div class=\"mga-q\" data-q=\"a4c4\"><p style=\"margin:0 0 6px;color:#0F2237\">Que nous enseigne l&#039;assistant WhatsApp de MogaCode avec ses outils &quot;lire&quot; et &quot;envoyer&quot; ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Il faut garder l&#039;envoi comme un acte s\u00e9par\u00e9 et conscient, jamais automatique.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Il faut toujours envoyer un message d\u00e8s qu&#039;il est \u00e9crit.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Lire et envoyer sont deux actions identiques.<\/button><\/div><div class=\"mga-q\" data-q=\"a4c5\"><p style=\"margin:0 0 6px;color:#0F2237\">Quelle est la le\u00e7on de la t\u00e2che rat\u00e9e sur un mac \u00e9teint, appliqu\u00e9e \u00e0 tes prompts ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Ne jamais supposer qu&#039;un travail a \u00e9t\u00e9 bien fait sans le v\u00e9rifier.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Il faut toujours \u00e9teindre son ordinateur apr\u00e8s une demande.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Un r\u00e9sultat non v\u00e9rifi\u00e9 est forc\u00e9ment parfait.<\/button><\/div><\/div><\/div><div class=\"mga-carnet\"><h3>Ton dictionnaire s'agrandit (+8 mots)<\/h3><p class=\"sub\">Ils rejoignent ton Carnet de mots. On ne les reintroduira jamais sans te rappeler leur sens.<\/p><div class=\"mga-mot\"><b>Prompt<\/b><div class=\"df\">C&#039;est le message que tu \u00e9cris \u00e0 une IA pour lui demander quelque chose. Plus il est clair et pr\u00e9cis, meilleure est la r\u00e9ponse.<\/div><div class=\"an\">Comme la commande que tu passes au comptoir: si tu dis ce que tu veux exactement, on te sert juste.<\/div><\/div><div class=\"mga-mot\"><b>R\u00f4le<\/b><div class=\"df\">Le personnage que tu demandes \u00e0 l&#039;IA d&#039;endosser avant de r\u00e9pondre. Il oriente le ton et le point de vue de toute la r\u00e9ponse.<\/div><div class=\"an\">Comme dire \u00e0 un acteur quel personnage jouer: sa voix et son attitude changent aussit\u00f4t.<\/div><\/div><div class=\"mga-mot\"><b>Contexte<\/b><div class=\"df\">Les faits r\u00e9els que tu donnes \u00e0 l&#039;IA sur ta situation, qu&#039;elle ne peut pas deviner seule. Sans eux, elle invente.<\/div><div class=\"an\">Comme mettre un nouvel employ\u00e9 au courant de la maison avant de le laisser parler aux clients.<\/div><\/div><div class=\"mga-mot\"><b>T\u00e2che<\/b><div class=\"df\">Le travail pr\u00e9cis que tu demandes, avec un verbe clair: \u00e9crire, r\u00e9sumer, corriger, lister. Une seule \u00e0 la fois.<\/div><div class=\"an\">Comme une consigne unique donn\u00e9e \u00e0 quelqu&#039;un: claire et \u00e0 la fois, jamais dix ordres m\u00e9lang\u00e9s.<\/div><\/div><div class=\"mga-mot\"><b>Format de sortie<\/b><div class=\"df\">La forme sous laquelle tu veux la r\u00e9ponse: une liste, un paragraphe, un nombre de points, un message pr\u00eat \u00e0 copier.<\/div><div class=\"an\">Comme pr\u00e9ciser au traiteur si tu veux le repas en assiette, en barquette ou en plateau.<\/div><\/div><div class=\"mga-mot\"><b>It\u00e9rer<\/b><div class=\"df\">Am\u00e9liorer une r\u00e9ponse en plusieurs allers-retours: tu regardes, tu corriges un point, tu redemandes, jusqu&#039;\u00e0 ce que ce soit juste.<\/div><div class=\"an\">Comme retoucher un v\u00eatement chez le tailleur: on ajuste, on r\u00e9essaie, on ajuste encore.<\/div><\/div><div class=\"mga-mot\"><b>Hallucination<\/b><div class=\"df\">C&#039;est quand une IA invente une information (un nom, une date, une source, un chiffre) et te la pr\u00e9sente comme vraie, avec le m\u00eame aplomb que si c&#039;\u00e9tait exact.<\/div><div class=\"an\">Comme un ami bavard qui d\u00e9teste dire \u00ab je ne sais pas \u00bb et pr\u00e9f\u00e8re te sortir une r\u00e9ponse invent\u00e9e sur un ton s\u00fbr de lui.<\/div><\/div><div class=\"mga-mot\"><b>IA g\u00e9n\u00e9rative<\/b><div class=\"df\">Les IA qui ne se contentent pas de classer ou de pr\u00e9dire une \u00e9tiquette : elles fabriquent du contenu neuf, texte, image, code, son. C&#039;est la cat\u00e9gorie qui a fait sortir l&#039;IA du laboratoire.<\/div><div class=\"an\">Un artisan qui cr\u00e9e \u00e0 la demande, pas un catalogue o\u00f9 l&#039;on pioche.<\/div><\/div><\/div><div class=\"mga-reflexe\">Une IA ne lit pas dans tes pens\u00e9es: dis-lui qui elle est, ce qu'elle doit savoir, ce que tu veux et sous quelle forme, puis affine en discutant.<\/div><div class=\"mga-liv\"><h3>Ton livrable<\/h3><p>\u00c0 la fin de ce module, tu repars avec ta premi\u00e8re fiche prompt r\u00e9utilisable: un mod\u00e8le personnel, \u00e9crit de ta main, o\u00f9 tu as rempli les quatre briques pour une vraie situation de ton quotidien (annoncer une promotion, pr\u00e9senter ton activit\u00e9, r\u00e9pondre \u00e0 un client). On y lit ton r\u00f4le attribu\u00e9 \u00e0 l'IA, ton contexte r\u00e9el, ta t\u00e2che claire et ton format attendu, plus une ligne de garde-fou contre l'invention. Tu la gardes sous la main et tu la r\u00e9utilises en changeant juste les faits. C'est ta premi\u00e8re brique concr\u00e8te de la boite \u00e0 mod\u00e8les que tu vas construire tout au long de la formation.<\/p><\/div><div class=\"mga-eval\" data-code=\"a4\"><div class=\"mga-eval-in\"><h3>Valider le module<\/h3><p>Tu as fait les ateliers et les quiz ? Valide le module.<\/p><button type=\"button\" class=\"mga-cta mga-eval-btn\">Je valide A4<\/button><\/div><div class=\"mga-eval-done\" hidden><div class=\"badge\">Module valide<\/div><p>Bravo. Ce module est marque comme termin\u00e9, et ton badge est enregistr\u00e9.<\/p><\/div><\/div><div class=\"mga-step\" style=\"border-left-color:#128a4f\"><h3>Tu as termin\u00e9 le Bloc D\u00e9couverte<\/h3><div class=\"mga-badge\" data-bloc=\"A\" data-blocname=\"D\u00e9couverte\" data-mods=\"a1,a2,a3,a4\"><span class=\"ic\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M22 10 12 5 2 10l10 5 10-5Z\"\/><path d=\"M6 12v5c0 1 2 2 6 2s6-1 6-2v-5\"\/><\/svg><\/span><span class=\"lbl\"><\/span><\/div><p>La suite : Bloc Prompt et outils : Le prompt qui marche vraiment.<\/p><a class=\"mga-cta\" href=\"\/academy\/le-prompt-qui-marche-vraiment\/\">Continuer vers B1<\/a> <a class=\"mga-cta ghost\" style=\"color:#0F2237;border-color:var(--gold)\" href=\"https:\/\/wa.me\/212620229114\">Une question ? WhatsApp<\/a><\/div><\/div><script>(function(){\n  document.querySelectorAll('.mga-q').forEach(function(q){q.querySelectorAll('.opt').forEach(function(b){b.addEventListener('click',function(){q.querySelectorAll('.opt').forEach(function(x){x.classList.remove('ok','no')});b.classList.add(b.getAttribute('data-good')==='1'?'ok':'no');try{localStorage.setItem('mga_'+q.getAttribute('data-q'),b.getAttribute('data-good'));}catch(e){}});});});\n  function call(ex,mode,input){return fetch('\/wp-json\/mga\/v1\/atelier',{method:'POST',headers:{'Content-Type':'application\/json'},body:JSON.stringify({exercise:ex,mode:mode,input:input})}).then(function(r){return r.json().then(function(j){return {ok:r.ok,j:j};});});}\n  document.querySelectorAll('.mga-lab').forEach(function(lab){\n    var ex=lab.getAttribute('data-ex');\n    var ta=lab.querySelector('.mga-in'),o1=lab.querySelector('.mga-o1'),n1=lab.querySelector('.mga-n1'),cc=lab.querySelector('.cc .n');\n    if(ta&&cc){ta.addEventListener('input',function(){cc.textContent=ta.value.length;});}\n    function run(mode){var input=ta?ta.value.trim():'';if(mode!=='guide'&&!input){if(ta)ta.focus();return;}var bs=lab.querySelectorAll('button');bs.forEach(function(b){b.disabled=true;});o1.hidden=false;o1.innerHTML='<span class=\"who\">Le mod\u00e8le<\/span>...';if(n1)n1.hidden=true;\n      call(ex,mode,input).then(function(x){if(!x.ok){o1.innerHTML='<span class=\"who\">Le mod\u00e8le<\/span>'+((x.j&&x.j.error)||'Indisponible.');}else{o1.innerHTML='<span class=\"who\">Le mod\u00e8le r\u00e9pond<\/span>'+((x.j.output||'(r\u00e9ponse vide)'));if(mode==='guide'&&n1){n1.hidden=false;n1.textContent=\"Tu vois ? Sur ce terrain, il atteint sa limite : il ne sait pas, ou il invente. C'est exactement ce qu'on apprend \\u00e0 rep\\u00e9rer et \\u00e0 corriger.\";}}}).catch(function(){o1.innerHTML='<span class=\"who\">Le mod\u00e8le<\/span>Erreur r\u00e9seau, reessaie.';}).finally(function(){bs.forEach(function(b){b.disabled=false;});});}\n    var t=lab.querySelector('.mga-try'),g=lab.querySelector('.mga-guide'),cmp=lab.querySelector('.mga-compare');\n    if(t)t.addEventListener('click',function(){run('libre');});\n    if(g)g.addEventListener('click',function(){run('guide');});\n    if(cmp){cmp.addEventListener('click',function(){var input=ta?ta.value.trim():'';if(!input){if(ta)ta.focus();return;}var box=lab.querySelector('.mga-cmp'),oL=lab.querySelector('.mga-oL'),oR=lab.querySelector('.mga-oR');box.hidden=false;cmp.disabled=true;oL.innerHTML='<span class=\"who\">Ton prompt<\/span>...';oR.innerHTML='<span class=\"who\">Le prompt pro<\/span>en attente...';\n      call(ex,'libre',input).then(function(a){oL.innerHTML='<span class=\"who\">Ton prompt<\/span>'+((a.j&&(a.j.output||a.j.error))||'');oR.innerHTML='<span class=\"who\">Le prompt pro : r\u00f4le + contexte + t\u00e2che + format<\/span>...';return call(ex,'guide','');}).then(function(b){oR.innerHTML='<span class=\"who\">Le prompt pro : r\u00f4le + contexte + t\u00e2che + format<\/span>'+((b.j&&(b.j.output||b.j.error))||'');if(n1){n1.hidden=false;n1.textContent=\"M\u00eame mod\u00e8le, m\u00eame serveur. Seul le prompt a change. Voil\u00e0 pourquoi savoir prompter est une vraie comp\u00e9tence.\";}}).catch(function(){oR.innerHTML='<span class=\"who\">Le prompt pro<\/span>Erreur r\u00e9seau.';}).finally(function(){cmp.disabled=false;});});}\n  });\n})();<\/script>\n<script>\n(function(){\n  function esc(s){var d=document.createElement('div');d.textContent=(s==null?'':s);return d.innerHTML;}\n  function call(ex,mode,input,opts){opts=opts||{};var b={exercise:ex,mode:mode,input:input||''};if(opts.temperature!=null)b.temperature=opts.temperature;if(opts.maxTokens!=null)b.maxTokens=opts.maxTokens;\n    return fetch('\/wp-json\/mga\/v1\/atelier',{method:'POST',headers:{'Content-Type':'application\/json'},body:JSON.stringify(b)}).then(function(r){return r.json().then(function(j){return{ok:r.ok,j:j};});}).catch(function(){return{ok:false,j:{error:'Erreur r\u00e9seau, reessaie.'}};});}\n  function lget(){try{return JSON.parse(localStorage.getItem('mga_lib')||'[]');}catch(e){return[];}}\n  function ladd(it){try{var a=lget();a.unshift(it);localStorage.setItem('mga_lib',JSON.stringify(a.slice(0,50)));}catch(e){}renderLibs();}\n  function done(code){try{var m=JSON.parse(localStorage.getItem('mga_done')||'{}');m[code]=1;localStorage.setItem('mga_done',JSON.stringify(m));}catch(e){}}\n  function isDone(code){try{return !!(JSON.parse(localStorage.getItem('mga_done')||'{}')[code]);}catch(e){return false;}}\n  function counter(box){var ta=box.querySelector('.mga-in'),cc=box.querySelector('.cc .n');if(ta&&cc){ta.addEventListener('input',function(){cc.textContent=ta.value.length;});}}\n  function wdata(el){try{return JSON.parse(el.querySelector('script.mga-data').textContent);}catch(e){return null;}}\n\n  document.querySelectorAll('.mga-forge').forEach(function(el){\n    counter(el);\n    var ta=el.querySelector('.mga-in'),ru=el.querySelector('.mga-rubric'),out=el.querySelector('.mga-o1'),sr=el.querySelector('.mga-saverow');\n    el.querySelectorAll('.chip').forEach(function(c){c.addEventListener('click',function(){ta.value=c.getAttribute('data-load');ta.focus();var cc=el.querySelector('.cc .n');if(cc)cc.textContent=ta.value.length;});});\n    function rubric(t){t=(t||'').toLowerCase().normalize('NFD').replace(\/[\\u0300-\\u036f]\/g,'');return{\n      'Un r\u00f4le':\/\\b(tu es|agis comme|en tant que|ton role|comporte-toi|tu joues)\\b\/.test(t),\n      'Un contexte':(t.length>140)||\/\\b(contexte|situation|il s agit|pour un|pour une|notre|mon |ma |mes |client|entreprise|facture|projet|dossier)\\b\/.test(t)||\/[0-9]\/.test(t),\n      'Une t\u00e2che claire':\/\\b(redige|r\u00e9sum\u00e9|traduis|ecris|liste|explique|corrige|analyse|classe|g\u00e9n\u00e8re|propose|reformule|compare|calcule|trie)\\b\/.test(t),\n      'Un format':\/\\b(ligne|lignes|mot|mots|liste|tableau|point|points|objet|format|paragraphe|puces|colonnes|json|phrase|phrases)\\b\/.test(t),\n      'Une contrainte':\/\\b(max|maximum|sans|ne pas|uniquement|seulement|en francais|en anglais|courtois|ferme|formel|au plus|jusqu|court|bref|pr\u00e9cis)\\b\/.test(t)\n    };}\n    el.querySelector('.mga-analyze').addEventListener('click',function(){\n      var t=ta.value.trim();if(!t){ta.focus();return;}\n      var r=rubric(t),keys=Object.keys(r),ok=keys.filter(function(k){return r[k];}).length;\n      var tips={'Un r\u00f4le':'Ajoute qui est l IA : Tu es un...','Un contexte':'Donne ta situation : chiffres, client, projet.','Une t\u00e2che claire':'Un verbe d action pr\u00e9cis : r\u00e9dige, r\u00e9sum\u00e9, classe...','Un format':'Pr\u00e9cise la forme : nombre de lignes, liste, objet...','Une contrainte':'Cadre : longueur max, ton, langue, ce qu il faut \u00e9viter.'};\n      var h='<div class=\"score\">Structure : '+ok+'\/5'+(ok>=4?' - solide':' - a renforcer')+'<\/div>';\n      keys.forEach(function(k){h+='<div class=\"r\"><span class=\"m '+(r[k]?'ok2':'no2')+'\">'+(r[k]?'OK':'X')+'<\/span><span>'+k+(r[k]?'':' - '+esc(tips[k]))+'<\/span><\/div>';});\n      ru.innerHTML=h;ru.hidden=false;\n      out.hidden=false;out.innerHTML='<span class=\"who\">L IA ex\u00e9cute ton prompt<\/span>...';\n      var btn=this;btn.disabled=true;\n      call('b1_run','libre',t,{maxTokens:400}).then(function(x){out.innerHTML='<span class=\"who\">L IA ex\u00e9cute ton prompt<\/span>'+esc((x.j&&(x.j.output||x.j.error))||'');if(ok>=4){sr.hidden=false;}}).finally(function(){btn.disabled=false;});\n    });\n    el.querySelector('.mga-save').addEventListener('click',function(){var t=ta.value.trim();if(!t)return;ladd({type:'Prompt',title:t.slice(0,60),body:t,ts:Date.now()});el.querySelector('.saved').hidden=false;});\n  });\n\n  document.querySelectorAll('.mga-fewshot').forEach(function(el){\n    var tog=el.querySelector('.mga-fs-toggle'),inp=el.querySelector('.mga-in2'),out=el.querySelector('.mga-o1');\n    el.querySelector('.mga-fs-run').addEventListener('click',function(){\n      var msg=inp.value.trim();if(!msg)return;\n      var ex=\"Message : Livraison rapide, je recommande. -> positif\\nMessage : Colis casse et service injoignable. -> n\u00e9gatif\\nMessage : \u00c7a fait le job, sans plus. -> neutre\\n\";\n      var user=(tog.checked?ex:'')+'Message : '+msg+' -> ';\n      out.hidden=false;out.innerHTML='<span class=\"who\">'+(tog.checked?'Avec 3 exemples':'Sans exemple')+'<\/span>...';\n      var btn=this;btn.disabled=true;\n      call('b1_fewshot','libre',user,{maxTokens:60}).then(function(x){out.innerHTML='<span class=\"who\">'+(tog.checked?'Avec 3 exemples':'Sans exemple')+'<\/span>'+esc((x.j&&(x.j.output||x.j.error))||'');}).finally(function(){btn.disabled=false;});\n    });\n  });\n\n  document.querySelectorAll('.mga-temp').forEach(function(el){\n    var rg=el.querySelector('.mga-temp-range'),val=el.querySelector('.mga-temp-val'),out=el.querySelector('.mga-temp-out');\n    function lab(v){return v<=0.3?'prudente':(v<=0.6?'\u00e9quilibr\u00e9e':'cr\u00e9ative');}\n    rg.addEventListener('input',function(){val.innerHTML='Temp\u00e9rature : <b>'+rg.value+'<\/b> <span class=\"tl\">'+lab(parseFloat(rg.value))+'<\/span>';});\n    el.querySelector('.mga-temp-run').addEventListener('click',function(){\n      var t=parseFloat(rg.value);out.innerHTML='';var btn=this;btn.disabled=true;var seq=Promise.resolve();\n      [0,1,2].forEach(function(i){seq=seq.then(function(){var d=document.createElement('div');d.className='mga-out';d.innerHTML='<span class=\"who\">Essai '+(i+1)+' (temp '+t+')<\/span>...';out.appendChild(d);\n        return call('b1_temp','guide','',{temperature:t,maxTokens:40}).then(function(x){d.innerHTML='<span class=\"who\">Essai '+(i+1)+' (temp '+t+')<\/span>'+esc((x.j&&(x.j.output||x.j.error))||'');});});});\n      seq.finally(function(){btn.disabled=false;});\n    });\n  });\n\n  document.querySelectorAll('.mga-tools').forEach(function(el){\n    var data=wdata(el)||[];var host=el.querySelector('.mga-host');var cur='all';\n    var tags=[['all','Tout'],['souverain','Souverain'],['confidentialit\u00e9','Confidentialit\u00e9'],['g\u00e9n\u00e9ral','G\u00e9n\u00e9ral'],['code','Code'],['bureautique','Bureautique'],['r\u00e9daction','R\u00e9daction']];\n    host.innerHTML='<div class=\"mga-tf\">'+tags.map(function(t){return '<button data-t=\"'+t[0]+'\"'+(t[0]==='all'?' class=\"on\"':'')+'>'+t[1]+'<\/button>';}).join('')+'<\/div><div class=\"mga-tgrid\"><\/div><p class=\"mga-tnote\" style=\"color:#5A6B80;font-size:12px;margin:12px 0 0\">Rep\u00e8res g\u00e9n\u00e9raux, \u00e0 jour au moment de l ecriture. V\u00e9rifie toujours les prix courants.<\/p>';\n    var grid=host.querySelector('.mga-tgrid');\n    function draw(){grid.innerHTML=data.filter(function(d){return cur==='all'||(d.tags||[]).indexOf(cur)>=0;}).map(function(d){var sv=d.souv==='Oui'?'y':(d.souv==='Non'?'n':'p');return '<div class=\"mga-tcard\"><h4>'+esc(d.nom)+'<\/h4><div class=\"kv\"><b>Forts :<\/b> '+esc(d.forts)+'<\/div><div class=\"kv\"><b>Confidentialit\u00e9 :<\/b> '+esc(d.confid)+'<\/div><div class=\"kv\"><b>Prix :<\/b> '+esc(d.prix)+'<\/div><div class=\"kv\"><b>Quand :<\/b> '+esc(d.quand)+'<\/div><span class=\"sv '+sv+'\">Souverain : '+esc(d.souv)+'<\/span><\/div>';}).join('');}\n    host.querySelectorAll('.mga-tf button').forEach(function(b){b.addEventListener('click',function(){cur=b.getAttribute('data-t');host.querySelectorAll('.mga-tf button').forEach(function(x){x.classList.remove('on');});b.classList.add('on');draw();});});\n    draw();\n  });\n\n  document.querySelectorAll('.mga-decision').forEach(function(el){\n    var data=wdata(el)||[];var host=el.querySelector('.mga-host');var i=0,score=0;\n    function draw(){if(i>=data.length){host.innerHTML='<div class=\"dscore\">Termin\u00e9 : '+score+' \/ '+data.length+' bons choix.<\/div>';return;}\n      var q=data[i];host.innerHTML='<div class=\"dprog\">Situation '+(i+1)+' \/ '+data.length+'<\/div><div class=\"dq\">'+esc(q.q)+'<\/div>'+q.options.map(function(o,k){return '<button class=\"dopt\" data-k=\"'+k+'\">'+esc(o.t)+'<\/button>';}).join('')+'<div class=\"dwhy\" hidden><\/div><div class=\"dnext\" hidden><button class=\"mga-cta dnb\">Suivant<\/button><\/div>';\n      host.querySelectorAll('.dopt').forEach(function(b){b.addEventListener('click',function(){var o=q.options[+b.getAttribute('data-k')];host.querySelectorAll('.dopt').forEach(function(x){x.disabled=true;});b.classList.add(o.ok?'ok':'no');if(o.ok)score++;var w=host.querySelector('.dwhy');w.textContent=(o.ok?'Bon choix. ':'Pas ideal. ')+o.why;w.hidden=false;host.querySelector('.dnext').hidden=false;});});\n      host.querySelector('.dnb').addEventListener('click',function(){i++;draw();});\n    }\n    draw();\n  });\n\n  document.querySelectorAll('.mga-workbench').forEach(function(el){\n    var tasks=wdata(el)||[];var host=el.querySelector('.mga-host');var cur=0;\n    host.innerHTML='<div class=\"mga-wtabs\">'+tasks.map(function(t,k){return '<button data-k=\"'+k+'\"'+(k===0?' class=\"on\"':'')+'>'+esc(t.label)+'<\/button>';}).join('')+'<\/div><div class=\"mga-wbody\"><\/div>';\n    var body=host.querySelector('.mga-wbody');\n    function draw(){var t=tasks[cur];var h='<div class=\"mga-wgain\">Temps gagne estime : '+esc(t.gain)+'<\/div><div class=\"mga-wf\">';\n      t.fields.forEach(function(fl){h+='<label>'+esc(fl.label)+'<\/label>'+(fl.big?'<textarea data-n=\"'+fl.name+'\" placeholder=\"'+esc(fl.ph)+'\"><\/textarea>':'<input type=\"text\" data-n=\"'+fl.name+'\" placeholder=\"'+esc(fl.ph)+'\" value=\"'+esc(fl.def||'')+'\">');});\n      h+='<\/div><div class=\"row\" style=\"margin-top:12px\"><button class=\"mga-cta mga-wrun\">Produire avec l IA<\/button><\/div><div class=\"mga-wout\" hidden><label style=\"font-weight:700;color:#0F2237;display:block;margin-bottom:6px\">Ton livrable (\u00e9ditable) :<\/label><textarea class=\"mga-wres\"><\/textarea><div class=\"row\" style=\"display:flex;gap:10px;margin-top:10px\"><button class=\"mga-wexport\" style=\"background:transparent;color:#0F2237;border:1px solid var(--gold);border-radius:9px;padding:10px 16px;cursor:pointer;font:inherit;font-weight:700\">Exporter (.txt)<\/button><button class=\"mga-wsave\" style=\"background:transparent;color:#0F2237;border:1px solid var(--gold);border-radius:9px;padding:10px 16px;cursor:pointer;font:inherit;font-weight:700\">Sauver dans ma biblio<\/button><\/div><\/div>';\n      body.innerHTML=h;\n      body.querySelector('.mga-wrun').addEventListener('click',function(){\n        var vals={};body.querySelectorAll('[data-n]').forEach(function(f){vals[f.getAttribute('data-n')]=f.value.trim();});\n        var prompt=t.tpl.replace(\/\\{(\\w+)\\}\/g,function(_,n){return vals[n]||('['+n+']');});\n        var wo=body.querySelector('.mga-wout'),res=body.querySelector('.mga-wres');wo.hidden=false;res.value='...';var btn=this;btn.disabled=true;\n        call(t.key,'libre',prompt,{maxTokens:500}).then(function(x){res.value=(x.j&&(x.j.output||x.j.error))||'';}).finally(function(){btn.disabled=false;});\n      });\n      body.querySelector('.mga-wexport').addEventListener('click',function(){var v=body.querySelector('.mga-wres').value;var bl=new Blob([v],{type:'text\/plain'});var a=document.createElement('a');a.href=URL.createObjectURL(bl);a.download='livrable-'+t.key+'.txt';a.click();});\n      body.querySelector('.mga-wsave').addEventListener('click',function(){var v=body.querySelector('.mga-wres').value;if(!v)return;ladd({type:t.label,title:t.label+' produit',body:v,ts:Date.now()});});\n    }\n    host.querySelectorAll('.mga-wtabs button').forEach(function(b){b.addEventListener('click',function(){cur=+b.getAttribute('data-k');host.querySelectorAll('.mga-wtabs button').forEach(function(x){x.classList.remove('on');});b.classList.add('on');draw();});});\n    draw();\n  });\n\n  document.querySelectorAll('.mga-checklist').forEach(function(el){\n    var d=wdata(el)||[];var items=Array.isArray(d)?d:(d.items||[]);var host=el.querySelector('.mga-host');var KEY='mga_ck_'+((!Array.isArray(d)&&d.ck)?d.ck:'x');\n    var st={};try{st=JSON.parse(localStorage.getItem(KEY)||'{}');}catch(e){}\n    function save(){try{localStorage.setItem(KEY,JSON.stringify(st));}catch(e){}}\n    function draw(){var n=Object.keys(st).filter(function(k){return st[k];}).length;\n      var h='<div class=\"mga-cprog\">'+n+' \/ '+items.length+' t\u00e2ches d\u00e9l\u00e9gu\u00e9es<\/div>';\n      items.forEach(function(it,k){h+='<div class=\"ci'+(st[k]?' on':'')+'\" data-k=\"'+k+'\"><span class=\"bx\"><\/span><span>'+esc(it)+'<\/span><\/div>';});\n      h+='<div class=\"row\" style=\"margin-top:12px\"><button class=\"mga-ckexp\" style=\"background:transparent;color:#0F2237;border:1px solid var(--gold);border-radius:9px;padding:10px 16px;cursor:pointer;font:inherit;font-weight:700\">Exporter mon playbook<\/button><\/div>';\n      host.innerHTML=h;\n      host.querySelectorAll('.ci').forEach(function(c){c.addEventListener('click',function(){var k=c.getAttribute('data-k');st[k]=!st[k];save();draw();});});\n      host.querySelector('.mga-ckexp').addEventListener('click',function(){var txt='Mon playbook IA - t\u00e2ches \u00e0 d\u00e9l\u00e9guer\\n\\n'+items.map(function(it,k){return (st[k]?'[x] ':'[ ] ')+it;}).join('\\n');var bl=new Blob([txt],{type:'text\/plain'});var a=document.createElement('a');a.href=URL.createObjectURL(bl);a.download='mon-playbook-ia.txt';a.click();});\n    }\n    draw();\n  });\n\n  document.querySelectorAll('.mga-hunt').forEach(function(el){\n    var d=wdata(el)||{};var host=el.querySelector('.mga-host');var segs=d.segments||[];var sel={};\n    host.innerHTML='<p class=\"hi\">'+esc(d.intro)+'<\/p>'+segs.map(function(sg,k){return '<button class=\"mga-hseg\" data-k=\"'+k+'\">'+esc(sg.t)+'<\/button>';}).join('')+'<div class=\"row\" style=\"margin-top:12px\"><button class=\"mga-cta mga-hverify\">V\u00e9rifier<\/button><\/div><div class=\"mga-hres\" style=\"margin-top:10px;font-weight:700;color:#0F2237\" hidden><\/div>';\n    host.querySelectorAll('.mga-hseg').forEach(function(b){b.addEventListener('click',function(){var k=b.getAttribute('data-k');sel[k]=!sel[k];b.classList.toggle('sel');});});\n    host.querySelector('.mga-hverify').addEventListener('click',function(){var good=0,bad=0;\n      segs.forEach(function(sg,k){var b=host.querySelector('.mga-hseg[data-k=\"'+k+'\"]');b.classList.remove('sel');b.disabled=true;\n        if(sg.bad){bad++;b.classList.add('bad');if(sel[k])good++;b.innerHTML=esc(sg.t)+'<span class=\"wy\">A rejeter : '+esc(sg.why)+'<\/span>';}\n        else{b.classList.add('good');b.innerHTML=esc(sg.t)+'<span class=\"wy\">Correct : '+esc(sg.why)+'<\/span>';}});\n      var res=host.querySelector('.mga-hres');res.hidden=false;res.textContent='Tu as rep\u00e8re '+good+' erreur(s) sur '+bad+'. '+(good===bad?'Sans faute, oeil de pro.':'Regarde en rouge celles que tu as manquees.');\n      this.disabled=true;});\n  });\n\n  document.querySelectorAll('.mga-critique').forEach(function(el){\n    counter(el);var ta=el.querySelector('.mga-in'),oA=el.querySelector('.mga-oA'),oC=el.querySelector('.mga-oC'),bc=el.querySelector('.mga-selfcrit');var lastAns='';\n    el.querySelector('.mga-ask').addEventListener('click',function(){var t=ta.value.trim();if(!t)return;oA.hidden=false;oA.innerHTML='<span class=\"who\">L IA r\u00e9pond<\/span>...';oC.hidden=true;var btn=this;btn.disabled=true;bc.disabled=true;\n      call('b4_answer','libre',t,{maxTokens:280}).then(function(x){lastAns=(x.j&&x.j.output)||'';oA.innerHTML='<span class=\"who\">L IA r\u00e9pond<\/span>'+esc(lastAns||(x.j&&x.j.error)||'');if(lastAns)bc.disabled=false;}).finally(function(){btn.disabled=false;});});\n    bc.addEventListener('click',function(){if(!lastAns)return;oC.hidden=false;oC.innerHTML='<span class=\"who\">L IA se critique<\/span>...';var btn=this;btn.disabled=true;\n      call('b4_critique','libre',lastAns,{maxTokens:280}).then(function(x){oC.innerHTML='<span class=\"who\">L IA se critique<\/span>'+esc((x.j&&(x.j.output||x.j.error))||'');}).finally(function(){btn.disabled=false;});});\n  });\n\n  document.querySelectorAll('.mga-redact').forEach(function(el){\n    var d=wdata(el)||{};var host=el.querySelector('.mga-host');var toks=d.tokens||[];var red={};\n    host.innerHTML='<p class=\"hi\" style=\"color:#33475b;line-height:1.6\">'+esc(d.intro)+'<\/p><div class=\"mga-doc\"><b>'+esc(d.title)+'<\/b><br>'+toks.map(function(t,k){return '<span class=\"mga-tok'+(t.pii?' pii':'')+'\" data-k=\"'+k+'\">'+esc(t.t)+'<\/span>';}).join('')+'<\/div><div class=\"row\"><button class=\"mga-cta mga-rverify\">V\u00e9rifier<\/button><\/div><div class=\"mga-rres\" style=\"margin-top:10px;font-weight:700;color:#0F2237\" hidden><\/div><div class=\"mga-rnote\" style=\"margin-top:8px;color:#33475b;line-height:1.6\" hidden><\/div>';\n    host.querySelectorAll('.mga-tok').forEach(function(sp){sp.addEventListener('click',function(){var k=sp.getAttribute('data-k');red[k]=!red[k];sp.classList.toggle('red');});});\n    host.querySelector('.mga-rverify').addEventListener('click',function(){var piiN=0,hit=0,over=0;\n      toks.forEach(function(t,k){var sp=host.querySelector('.mga-tok[data-k=\"'+k+'\"]');if(t.pii){piiN++;if(red[k]){hit++;sp.classList.remove('red');sp.classList.add('hit');}else{sp.classList.add('miss');}}else{if(red[k]){over++;sp.classList.remove('red');}}sp.style.cursor='default';});\n      var res=host.querySelector('.mga-rres');res.hidden=false;res.textContent='Donn\u00e9es personnelles caviard\u00e9es : '+hit+' \/ '+piiN+(over?(' - '+over+' \u00e9l\u00e9ment(s) non sensible(s) caviard\u00e9(s) inutilement'):'')+'.';\n      var note=host.querySelector('.mga-rnote');note.hidden=false;note.innerHTML=(hit===piiN?'Parfait. ':'Il en reste (surlignees en rouge). ')+'Le r\u00e9flexe le plus sur : plut\u00f4t que de caviarder \u00e0 la main, utilise une IA souveraine o\u00f9 rien ne sort de chez toi.';\n      this.disabled=true;});\n  });\n\n  function renderLibs(){document.querySelectorAll('.mga-lib-list').forEach(function(list){var a=lget();if(!a.length){list.innerHTML='<div class=\"mga-lib-item\">Rien encore. Sauve un prompt ou un livrable pour le retrouver ici.<\/div>';return;}list.innerHTML=a.map(function(it){return '<div class=\"mga-lib-item\"><b>'+esc(it.type)+' :<\/b> '+esc(it.title)+'<\/div>';}).join('');});}\n  document.querySelectorAll('.mga-lib-export').forEach(function(b){b.addEventListener('click',function(){var a=lget();var txt=a.map(function(it){return '=== '+it.type+' : '+it.title+' ===\\n'+it.body+'\\n';}).join('\\n');var bl=new Blob([txt||'Bibliotheque vide'],{type:'text\/plain'});var u=document.createElement('a');u.href=URL.createObjectURL(bl);u.download='ma-bibliotheque-mogacode.txt';u.click();});});\n  document.querySelectorAll('.mga-lib-clear').forEach(function(b){b.addEventListener('click',function(){try{localStorage.removeItem('mga_lib');}catch(e){}renderLibs();});});\n  renderLibs();\n\n  document.querySelectorAll('.mga-eval').forEach(function(el){\n    var code=el.getAttribute('data-code');\n    if(isDone(code)){el.querySelector('.mga-eval-in').hidden=true;el.querySelector('.mga-eval-done').hidden=false;}\n    el.querySelector('.mga-eval-btn').addEventListener('click',function(){done(code);el.querySelector('.mga-eval-in').hidden=true;el.querySelector('.mga-eval-done').hidden=false;try{fetch('\/wp-json\/mga\/v1\/progress',{method:'POST',headers:{'Content-Type':'application\/json'},body:JSON.stringify({code:code})}).catch(function(){});}catch(e){}});\n  });\n\n  function apiRender(host,status,obj){host.hidden=false;host.innerHTML='<div class=\"mga-apistatus '+(status>=200&&status<300?'ok':'ko')+'\">HTTP '+status+'<\/div><pre class=\"mga-json\">'+esc(JSON.stringify(obj,null,2))+'<\/pre>';}\n  document.querySelectorAll('.mga-apiexplorer').forEach(function(el){\n    var host=el.querySelector('.mga-apiout');\n    el.querySelectorAll('button[data-ep]').forEach(function(b){b.addEventListener('click',function(){\n      host.hidden=false;host.innerHTML='<div class=\"mga-apistatus\">...<\/div>';var ep=b.getAttribute('data-ep');\n      fetch('\/wp-json\/mga\/v1\/demo?endpoint='+encodeURIComponent(ep)).then(function(r){return r.json().then(function(j){apiRender(host,r.status,j);});}).catch(function(){host.innerHTML='<div class=\"mga-apistatus ko\">Erreur reseau<\/div>';});\n    });});\n  });\n  document.querySelectorAll('.mga-console').forEach(function(el){\n    var host=el.querySelector('.mga-apiout');\n    el.querySelectorAll('button[data-sc]').forEach(function(b){b.addEventListener('click',function(){\n      var sc=b.getAttribute('data-sc');host.hidden=false;host.innerHTML='<div class=\"mga-apistatus\">...<\/div>';\n      fetch('\/wp-json\/mga\/v1\/demo?scenario='+encodeURIComponent(sc)).then(function(r){return r.json().then(function(j){apiRender(host,r.status,j);\n        var tip={ok:\"Code 200 : tout va bien, on lit la r\u00e9ponse.\",badkey:\"Code 401 : cl\u00e9 invalide. Le pro affiche un message clair, il ne plante pas.\",quota:\"Code 429 : quota d\u00e9pass\u00e9. Le pro attend, puis reessaie plus tard.\",timeout:\"Code 504 : trop lent. Le pro avait mis un timeout et g\u00e8re l abandon proprement.\"}[sc];\n        if(tip){var d=document.createElement('p');d.className='mga-apitip';d.textContent=tip;host.appendChild(d);}});}).catch(function(){host.innerHTML='<div class=\"mga-apistatus ko\">Erreur reseau, ton programme doit aussi g\u00e9rer ce cas.<\/div>';});\n    });});\n  });\n  document.querySelectorAll('.mga-cleaner').forEach(function(el){\n    counter(el);var ta=el.querySelector('.mga-in'),fmt=el.querySelector('.mga-fmt'),out=el.querySelector('.mga-o1');\n    el.querySelector('.mga-clean-run').addEventListener('click',function(){var t=ta.value.trim();if(!t){ta.focus();return;}\n      var user='Format demande : '+fmt.value+'. Transforme ce texte en donn\u00e9es propres et structurees au format '+fmt.value+', une entree par personne ou objet. Texte : '+t;\n      out.hidden=false;out.innerHTML='<span class=\"who\">Donn\u00e9es structurees ('+fmt.value+')<\/span>...';var btn=this;btn.disabled=true;\n      call('c2_clean','libre',user,{maxTokens:500}).then(function(x){out.innerHTML='<span class=\"who\">Donn\u00e9es structurees ('+fmt.value+')<\/span>'+esc((x.j&&(x.j.output||x.j.error))||'');}).finally(function(){btn.disabled=false;});\n    });\n  });\n  document.querySelectorAll('.mga-costcalc').forEach(function(el){\n    var res=el.querySelector('.mga-cc-res');\n    function num(sel){var v=parseFloat(el.querySelector(sel).value);return isFinite(v)&&v>=0?v:0;}\n    function calc(){var wi=num('.mga-cc-in'),wo=num('.mga-cc-out'),price=num('.mga-cc-price'),n=num('.mga-cc-n');\n      var tok=Math.round((wi+wo)*1.3);var perCall=tok\/1000*price;var total=perCall*n;\n      var ctx=(wi*1.3>8000)?'<p class=\"mga-ccwarn\">Attention : ton entree approche ou d\u00e9passe une fen\u00eatre de contexte courante (environ 8000 tokens). Il faudrait decouper le texte.<\/p>':'';\n      res.innerHTML='<div class=\"mga-ccline\"><span>Tokens par appel<\/span><b>'+tok+'<\/b><\/div><div class=\"mga-ccline\"><span>Co\u00fbt par appel<\/span><b>'+perCall.toFixed(4)+'<\/b><\/div><div class=\"mga-ccline big\"><span>Co\u00fbt total ('+n+' appels)<\/span><b>'+total.toFixed(2)+'<\/b><\/div>'+ctx;\n    }\n    el.querySelectorAll('input').forEach(function(i){i.addEventListener('input',calc);});calc();\n  });\n\n  document.querySelectorAll('.mga-depcalc').forEach(function(el){\n    var res=el.querySelector('.mga-cc-res');\n    function num(sel){var v=parseFloat(el.querySelector(sel).value);return isFinite(v)&&v>=0?v:0;}\n    function calc(){var n=num('.mga-dc-n'),p=num('.mga-dc-p'),mo=num('.mga-dc-m');var perMonth=n*p;var total=perMonth*mo;var perYear=perMonth*12;\n      res.innerHTML='<div class=\"mga-ccline\"><span>Co\u00fbt par mois<\/span><b>'+perMonth.toFixed(2)+'<\/b><\/div><div class=\"mga-ccline\"><span>Co\u00fbt par an<\/span><b>'+perYear.toFixed(2)+'<\/b><\/div><div class=\"mga-ccline big\"><span>Loue sur '+mo+' mois<\/span><b>'+total.toFixed(2)+'<\/b><\/div><div class=\"mga-ccline\"><span>Possede (code a toi)<\/span><b>co\u00fbt unique, puis 0 par mois<\/b><\/div>';\n    }\n    el.querySelectorAll('input').forEach(function(i){i.addEventListener('input',calc);});calc();\n  });\n  document.querySelectorAll('.mga-scriptlab').forEach(function(el){\n    counter(el);var ta=el.querySelector('.mga-in'),out=el.querySelector('.mga-o1');\n    el.querySelector('.mga-script-run').addEventListener('click',function(){var t=ta.value.trim();if(!t){ta.focus();return;}\n      out.hidden=false;out.innerHTML='<span class=\"who\">Ton script (commente)<\/span>...';var btn=this;btn.disabled=true;\n      call('d3_script','libre','T\u00e2che a automatiser : '+t,{maxTokens:500}).then(function(x){out.innerHTML='<span class=\"who\">Ton script (commente)<\/span>'+esc((x.j&&(x.j.output||x.j.error))||'');}).finally(function(){btn.disabled=false;});\n    });\n  });\n  document.querySelectorAll('.mga-roi').forEach(function(el){\n    var res=el.querySelector('.mga-cc-res');\n    function num(sel){var v=parseFloat(el.querySelector(sel).value);return isFinite(v)&&v>=0?v:0;}\n    function calc(){var f=num('.mga-roi-f'),t=num('.mga-roi-t'),p=num('.mga-roi-p');var perDay=f*t,perWeek=perDay*5,score=f*t*p;var v,c;\n      if(score>=200){v='Priorit\u00e9 absolue : automatise \u00e7a en premier.';c='hot';}\n      else if(score>=60){v='Bon candidat : \u00e0 automatiser bient\u00f4t.';c='warm';}\n      else if(score>=15){v='Int\u00e9ressant : mets-le dans ta file.';c='mid';}\n      else{v='Plus tard : le gain ne justifie pas l\\'effort maintenant.';c='cold';}\n      res.innerHTML='<div class=\"mga-ccline\"><span>Temps par jour<\/span><b>'+perDay.toFixed(0)+' min<\/b><\/div><div class=\"mga-ccline\"><span>Temps par semaine<\/span><b>'+Math.round(perWeek)+' min ('+(perWeek\/60).toFixed(1)+' h)<\/b><\/div><div class=\"mga-ccline big\"><span>Score ROI<\/span><b>'+score.toFixed(0)+'<\/b><\/div><div class=\"mga-roi-verdict '+c+'\">'+v+'<\/div>';}\n    el.querySelectorAll('input,select').forEach(function(i){i.addEventListener('input',calc);});calc();\n  });\n  document.querySelectorAll('.mga-carto').forEach(function(el){\n    var body=el.querySelector('.mga-carto-rows'),res=el.querySelector('.mga-carto-res');\n    var seed=[['Recevoir et v\u00e9rifier la commande',5,20],['Cr\u00e9er la facture',4,20],['Envoyer l\\'accus\u00e9 au client',3,20]];\n    function row(name,min,freq){var d=document.createElement('div');d.className='mga-carto-row';\n      d.innerHTML='<input class=\"cn\" type=\"text\" placeholder=\"\u00c9tape\">'+'<input class=\"cm\" type=\"number\" min=\"0\" placeholder=\"min\">'+'<input class=\"cf\" type=\"number\" min=\"0\" placeholder=\"x\/jour\">'+'<button type=\"button\" class=\"cd\" title=\"Retirer\">x<\/button>';\n      body.appendChild(d);d.querySelector('.cn').value=name||'';if(min!=null)d.querySelector('.cm').value=min;if(freq!=null)d.querySelector('.cf').value=freq;\n      d.querySelector('.cd').addEventListener('click',function(){d.remove();calc();});\n      d.querySelectorAll('input').forEach(function(i){i.addEventListener('input',calc);});}\n    function calc(){var rows=[].slice.call(body.querySelectorAll('.mga-carto-row'));var total=0,max=-1,maxN='';var L='';\n      rows.forEach(function(r){var n=r.querySelector('.cn').value||'(\u00e9tape)';var m=parseFloat(r.querySelector('.cm').value)||0;var f=parseFloat(r.querySelector('.cf').value)||0;var dd=m*f;total+=dd;if(dd>max){max=dd;maxN=n;}L+='<div class=\"mga-ccline\"><span>'+esc(n)+'<\/span><b>'+dd.toFixed(0)+' min\/j<\/b><\/div>';});\n      var g=max>0?'<div class=\"mga-roi-verdict hot\">Ton goulot probable : <b>'+esc(maxN)+'<\/b> ('+max.toFixed(0)+' min\/jour). Commence par automatiser celle-l\u00e0.<\/div>':'';\n      res.innerHTML=L+'<div class=\"mga-ccline big\"><span>Total du process<\/span><b>'+total.toFixed(0)+' min\/jour ('+(total\/60).toFixed(1)+' h)<\/b><\/div>'+g;}\n    seed.forEach(function(sd){row(sd[0],sd[1],sd[2]);});\n    el.querySelector('.mga-carto-add').addEventListener('click',function(){row('',null,null);});\n    el.querySelector('.mga-carto-exp').addEventListener('click',function(){var rows=[].slice.call(body.querySelectorAll('.mga-carto-row'));var txt='Ma cartographie de process\\n\\n'+rows.map(function(r){return '- '+(r.querySelector('.cn').value||'(\u00e9tape)')+' : '+(r.querySelector('.cm').value||0)+' min x '+(r.querySelector('.cf').value||0)+'\/jour';}).join('\\n');var bl=new Blob([txt],{type:'text\/plain'});var a=document.createElement('a');a.href=URL.createObjectURL(bl);a.download='ma-cartographie.txt';a.click();});\n    calc();\n  });\n  document.querySelectorAll('.mga-chunker').forEach(function(el){\n    var ta=el.querySelector('.mga-in'),out=el.querySelector('.mga-chunk-out'),sz=el.querySelector('.mga-ck-size'),ov=el.querySelector('.mga-ck-ov');\n    function run(){var words=ta.value.trim().split(\/\\s+\/).filter(Boolean);var size=Math.max(5,parseInt(sz.value)||25);var ovl=Math.min(size-1,Math.max(0,parseInt(ov.value)||0));\n      var chunks=[],i=0;while(i<words.length){chunks.push(words.slice(i,i+size).join(' '));if(i+size>=words.length)break;i+=(size-ovl);}\n      out.innerHTML='<p style=\"font-weight:700;color:#0F2237;margin:8px 0 4px\">'+words.length+' mots d\u00e9coup\u00e9s en '+chunks.length+' chunks ('+size+' mots, chevauchement '+ovl+') :<\/p>'+chunks.map(function(c,k){return '<div class=\"mga-chunk\"><div class=\"h\">Chunk '+(k+1)+'<\/div>'+esc(c)+'<\/div>';}).join('');}\n    el.querySelector('.mga-ck-run').addEventListener('click',run);el.querySelectorAll('input').forEach(function(i){i.addEventListener('input',run);});run();\n  });\n  document.querySelectorAll('.mga-rag').forEach(function(el){\n    var kb=wdata(el)||[];var ta=el.querySelector('.mga-in'),out=el.querySelector('.mga-rag-out');\n    var STOP={quel:1,quelle:1,quels:1,quelles:1,pour:1,les:1,des:1,une:1,est:1,que:1,qui:1,sont:1,avec:1,dans:1,sur:1,ton:1,tes:1,mon:1,mes:1,the:1,ont:1,vous:1};\n    function toks(s){return (s||'').toLowerCase().normalize('NFD').replace(\/[\u0300-\u036f]\/g,'').split(\/[^a-z0-9]+\/).filter(function(w){return w.length>2&&!STOP[w];});}\n    function retrieve(q){var qt=toks(q);return kb.map(function(c,idx){var ct=toks(c);var sc=0;qt.forEach(function(w){ct.forEach(function(cw){if(cw===w||cw.indexOf(w)===0||w.indexOf(cw)===0)sc++;});});return {c:c,idx:idx,sc:sc};}).sort(function(a,b){return b.sc-a.sc;});}\n    function run(withCtx){var q=ta.value.trim();if(!q){ta.focus();return;}\n      var ranked=retrieve(q);var hits=ranked.filter(function(x){return x.sc>0;});var top=(hits.length?hits:ranked).slice(0,2);\n      var passages=top.map(function(x){return x.c;});\n      var nodes=el.querySelectorAll('.mga-rag-kb');nodes.forEach(function(n){n.classList.remove('on');});\n      if(withCtx){top.forEach(function(x){if(nodes[x.idx])nodes[x.idx].classList.add('on');});}\n      var html=withCtx?passages.map(function(p){return '<div class=\"mga-rag-passage\"><b>Passage retrouv\u00e9 :<\/b> '+esc(p)+'<\/div>';}).join(''):'<div class=\"mga-rag-passage\" style=\"border-left-color:#c0392b\"><b>Sans RAG :<\/b> aucun passage fourni, l\\'IA r\u00e9pond de m\u00e9moire.<\/div>';\n      out.innerHTML=html+'<div class=\"mga-rag-ans\"><span class=\"who\">R\u00e9ponse de l\\'IA<\/span>...<\/div>';\n      var ansBox=out.querySelector('.mga-rag-ans');\n      var input=withCtx?('Contexte:\\n'+passages.join('\\n---\\n')+'\\n\\nQuestion: '+q):('Contexte:\\n(aucun)\\n\\nQuestion: '+q);\n      var bs=el.querySelectorAll('button');bs.forEach(function(b){b.disabled=true;});\n      call('f_rag','libre',input,{maxTokens:200}).then(function(x){ansBox.innerHTML='<span class=\"who\">R\u00e9ponse de l\\'IA'+(withCtx?' (avec RAG)':' (sans RAG)')+'<\/span>'+esc((x.j&&(x.j.output||x.j.error))||'');}).finally(function(){bs.forEach(function(b){b.disabled=false;});});\n    }\n    el.querySelectorAll('.mga-rag-q').forEach(function(b){b.addEventListener('click',function(){ta.value=b.textContent;run(true);});});\n    el.querySelector('.mga-rag-run').addEventListener('click',function(){run(true);});\n    var nb=el.querySelector('.mga-rag-norag');if(nb)nb.addEventListener('click',function(){run(false);});\n  });\n  document.querySelectorAll('.mga-chapters').forEach(function(el){\n    var code=el.getAttribute('data-code'), n=+el.getAttribute('data-n');\n    var tabs=el.querySelectorAll('.mga-chtab'), panels=el.querySelectorAll('.mga-chapter'), bar=el.querySelector('.mga-chprog .bar');\n    var KEY='mga_ch_'+code; var seen={}; try{seen=JSON.parse(localStorage.getItem(KEY)||'{}');}catch(e){}\n    function prog(){var c=Object.keys(seen).filter(function(k){return seen[k];}).length;if(bar)bar.style.width=Math.round(c\/n*100)+'%';tabs.forEach(function(t,i){if(seen[i])t.classList.add('done');});}\n    function mark(i){seen[i]=1;try{localStorage.setItem(KEY,JSON.stringify(seen));}catch(e){}prog();}\n    function show(i,scroll){panels.forEach(function(p,j){p.classList.toggle('hid',j!==i);});tabs.forEach(function(t,j){t.classList.toggle('on',j===i);});mark(i);if(scroll){var top=el.getBoundingClientRect().top+window.pageYOffset-90;window.scrollTo({top:top,behavior:'smooth'});}}\n    tabs.forEach(function(t,i){t.addEventListener('click',function(){show(i,true);});});\n    el.querySelectorAll('.mga-chnext').forEach(function(b){b.addEventListener('click',function(){show(+b.getAttribute('data-go'),true);});});\n    mark(0);prog();\n    function fromHash(){var h=location.hash||'';var mm=h.match(\/sm-(\\d+)\/);if(mm){var i=+mm[1];if(i>=0&&i<n)show(i,true);return;}\n      var am=h.match(\/^#(at-[a-f0-9]{6})$\/);if(am){var target=el.querySelector('#'+am[1]);if(target){var idx=-1;panels.forEach(function(p,j){if(p.contains(target))idx=j;});if(idx>=0)show(idx,false);setTimeout(function(){var top=target.getBoundingClientRect().top+window.pageYOffset-90;window.scrollTo({top:top,behavior:'smooth'});},60);}}}\n    window.addEventListener('hashchange',fromHash);fromHash();\n  });\n})();\n<\/script>\n<\/div><\/div><div class=\"mga-side-scrim\"><\/div><script>(function(){\n  var shell=document.querySelector('.mga-shell'); if(!shell) return;\n  var KEY='mga_nav_open';\n  function getOpen(){try{return JSON.parse(localStorage.getItem(KEY)||'[]');}catch(e){return [];}}\n  function setOpen(a){try{localStorage.setItem(KEY,JSON.stringify(a));}catch(e){}}\n  var open=getOpen();\n  shell.querySelectorAll('.mga-blk').forEach(function(blk){\n    var b=blk.getAttribute('data-bloc');\n    if(open.indexOf(b)>=0) blk.classList.add('mgaon');\n    var h=blk.querySelector('.mga-blk-h');\n    h.addEventListener('click',function(){blk.classList.toggle('mgaon');var o=getOpen();var i=o.indexOf(b);if(blk.classList.contains('mgaon')){if(i<0)o.push(b);}else{if(i>=0)o.splice(i,1);}setOpen(o);});\n  });\n  var done={};try{done=JSON.parse(localStorage.getItem('mga_done')||'{}');}catch(e){}\n  var links=shell.querySelectorAll('.mga-modlink[data-state]');var total=0,doneN=0;\n  links.forEach(function(a){var c=a.getAttribute('data-code');if(a.getAttribute('data-state')!=='soon')total++;if(done[c]){a.classList.add('done');doneN++;}});\n  var bar=shell.querySelector('.mga-side-prog .bar'),lbl=shell.querySelector('.mga-side-prog .lbl');\n  if(bar)bar.style.width=(total?Math.round(doneN\/total*100):0)+'%';\n  if(lbl)lbl.textContent=doneN+' \/ '+total+' modules';\n  var tgl=shell.querySelector('.mga-side-toggle'),scrim=shell.querySelector('.mga-side-scrim');\n  function close(){shell.classList.remove('drawer');}\n  if(tgl)tgl.addEventListener('click',function(){shell.classList.toggle('drawer');});\n  if(scrim)scrim.addEventListener('click',close);\n  shell.querySelectorAll('.mga-badge').forEach(function(el){\n    var mods=(el.getAttribute('data-mods')||'').split(',').filter(Boolean);\n    var done={};try{done=JSON.parse(localStorage.getItem('mga_done')||'{}');}catch(e){}\n    var got=mods.filter(function(m){return done[m];}).length; var lbl=el.querySelector('.lbl');\n    if(mods.length && got>=mods.length){el.classList.add('earned');try{var bd=JSON.parse(localStorage.getItem('mga_badges')||'{}');bd[el.getAttribute('data-bloc')]=1;localStorage.setItem('mga_badges',JSON.stringify(bd));}catch(e){}if(lbl)lbl.textContent='Badge obtenu : Bloc '+el.getAttribute('data-blocname');}\n    else if(lbl){lbl.textContent='Badge du Bloc '+el.getAttribute('data-blocname')+' : '+got+'\/'+mods.length+' modules valid\u00e9s';}\n  });\n  shell.querySelectorAll('.mga-sublink').forEach(function(a){a.addEventListener('click',function(e){var m=(a.getAttribute('href')||'').match(\/sm-(\\d+)\/);if(m){e.preventDefault();var i=m[1];if(location.hash==='#sm-'+i){location.hash='';}location.hash='sm-'+i;close();}});});\n})();<\/script>\n<script>(function(){\n  document.querySelectorAll('.mga-regform').forEach(function(f){\n    if(f.dataset.mgabound) return; f.dataset.mgabound='1';\n    f.addEventListener('submit',function(e){e.preventDefault();\n      if(f.website && f.website.value) return;\n      var msg=f.querySelector('.mga-regmsg'); var btn=f.querySelector('button');\n      var fd={prenom:((f.prenom&&f.prenom.value)||'').trim(),whatsapp:((f.whatsapp&&f.whatsapp.value)||'').trim(),email:((f.email&&f.email.value)||'').trim(),website:''};\n      if(!fd.prenom||fd.whatsapp.replace(\/\\D\/g,'').length<8){if(msg){msg.hidden=false;msg.className='mga-regmsg';msg.textContent='Indique ton pr\u00e9nom et un WhatsApp valide.';}return;}\n      btn.disabled=true;if(msg){msg.hidden=false;msg.className='mga-regmsg';msg.textContent='...';}\n      fetch('\/wp-json\/mga\/v1\/register',{method:'POST',headers:{'Content-Type':'application\/json'},body:JSON.stringify(fd)}).then(function(r){return r.json();}).then(function(j){\n        if(j&&j.code){f.reset();if(msg){msg.className='mga-regmsg ok';msg.hidden=false;msg.innerHTML='Compte cr\u00e9\u00e9. Ton code d\\'acc\u00e8s : <b>'+j.code+'<\/b><br>Note-le bien. \u00c9cris-nous sur WhatsApp avec ce code pour r\u00e9gler ton bloc via Payoneer, on l\\'ouvre aussit\u00f4t.';}}\n        else{if(msg){msg.hidden=false;msg.className='mga-regmsg';msg.textContent=(j&&j.error)||'Erreur, r\u00e9essaie.';}}\n      }).catch(function(){if(msg){msg.hidden=false;msg.className='mga-regmsg';msg.textContent='Erreur r\u00e9seau, r\u00e9essaie.';}}).finally(function(){btn.disabled=false;});\n    });\n  });\n})();<\/script>\n<script>(function(){\n if(window.__mgaTrack) return; window.__mgaTrack=1;\n function E(n,p){ try{ if(typeof gtag==='function'){ gtag('event', n, p||{}); } }catch(e){} }\n window.mgaE=E;\n try{\n   var sh=document.querySelector('.mga-shell');\n   var pg=document.querySelector('.mga.mga-page');\n   if(sh){ var ty=sh.querySelector('.mga-grid')?'bloc':(sh.querySelector('.mga-chapter')?'module':'module'); E('academy_view',{mga_type:ty, mga_code:sh.getAttribute('data-code')||''}); }\n   else if(pg){ E('academy_view',{mga_type:(location.pathname.indexOf('\/formation-ia')>-1?'funnel':'landing')}); }\n }catch(e){}\n document.addEventListener('click', function(ev){\n   var t=ev.target.closest && ev.target.closest('a,button'); if(!t) return;\n   var href=(t.getAttribute && t.getAttribute('href'))||'';\n   var cl=t.classList||{contains:function(){return false;}};\n   if(\/wa\\.me|api\\.whatsapp\/i.test(href)){ E('academy_whatsapp_click',{label:(t.textContent||'').trim().slice(0,40)}); return; }\n   if(cl.contains('mga-try')){ var l=t.closest('.mga-lab'); E('academy_atelier_try',{exercise:l?l.getAttribute('data-ex'):''}); return; }\n   if(cl.contains('mga-guide')){ var l2=t.closest('.mga-lab'); E('academy_atelier_guide',{exercise:l2?l2.getAttribute('data-ex'):''}); return; }\n   if(cl.contains('opt')){ E('academy_quiz_answer',{correct: t.getAttribute('data-good')==='1'?1:0}); return; }\n   if(cl.contains('dopt')){ var el=t; setTimeout(function(){ E('academy_decision_answer',{correct: el.classList.contains('ok')?1:0}); },0); return; }\n   if(cl.contains('mga-opt')){ var el2=t; setTimeout(function(){ E('academy_persona_answer',{correct: el2.classList.contains('ok')?1:0}); },0); return; }\n   if(cl.contains('mga-eval-btn')){ var e=t.closest('.mga-eval'); E('academy_module_complete',{mga_code:e?e.getAttribute('data-code'):''}); return; }\n   if(cl.contains('go')){ E('academy_module_open',{dest:href}); return; }\n   var blk=t.closest && t.closest('.mga-blk'); if(cl.contains('mga-blk')||blk){ E('academy_bloc_open',{dest:(blk||t).getAttribute('href')||href}); return; }\n   var mac=t.closest && t.closest('.mga-macaron'); if(cl.contains('mga-macaron')||mac){ E('academy_macaron_click',{}); return; }\n   if(cl.contains('mga-cta')){ E('academy_cta_click',{label:(t.textContent||'').trim().slice(0,40), dest:href}); return; }\n }, true);\n document.addEventListener('click', function(ev){ var ci=ev.target.closest && ev.target.closest('.mga-checklist .ci'); if(ci){ setTimeout(function(){ E('academy_checklist_toggle',{on: ci.classList.contains('on')?1:0}); },0);} }, true);\n document.addEventListener('play', function(ev){ try{ if(ev.target && ev.target.closest && ev.target.closest('.mga-capsule')){ E('academy_capsule_play',{}); } }catch(e){} }, true);\n document.addEventListener('submit', function(ev){ var fo=ev.target; if(fo && fo.classList){ if(fo.classList.contains('mga-regform')){ E('academy_register_submit',{}); } else if(fo.classList.contains('mga-lead')){ E('academy_lead_submit',{}); } } }, true);\n})();<\/script><\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":0,"featured_media":0,"parent":1966,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1970","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.5 (Yoast SEO v28.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>A4 - Tes premiers prompts - Mogacode<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.mogacode.ma\/en\/academy\/ecrire-son-premier-prompt\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"A4 - Tes premiers prompts\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mogacode.ma\/en\/academy\/ecrire-son-premier-prompt\/\" \/>\n<meta property=\"og:site_name\" content=\"Mogacode\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/mogacode\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-19T16:21:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.mogacode.ma\/wp-content\/uploads\/2026\/09\/og\/og-mod-ecrire-son-premier-prompt.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.mogacode.ma\/wp-content\/uploads\/2026\/09\/og\/og-mod-ecrire-son-premier-prompt.png\" \/>\n<meta name=\"twitter:site\" content=\"@mogacode\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"A4 - Tes premiers prompts - Mogacode","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.mogacode.ma\/en\/academy\/ecrire-son-premier-prompt\/","og_locale":"en_US","og_type":"article","og_title":"A4 - Tes premiers prompts","og_url":"https:\/\/www.mogacode.ma\/en\/academy\/ecrire-son-premier-prompt\/","og_site_name":"Mogacode","article_publisher":"https:\/\/www.facebook.com\/mogacode","article_modified_time":"2026-09-19T16:21:03+00:00","og_image":[{"url":"https:\/\/www.mogacode.ma\/wp-content\/uploads\/2026\/09\/og\/og-mod-ecrire-son-premier-prompt.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_image":"https:\/\/www.mogacode.ma\/wp-content\/uploads\/2026\/09\/og\/og-mod-ecrire-son-premier-prompt.png","twitter_site":"@mogacode","schema":{"@context":"https:\/\/schema.org","@graph":[]}},"_links":{"self":[{"href":"https:\/\/www.mogacode.ma\/en\/wp-json\/wp\/v2\/pages\/1970","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mogacode.ma\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.mogacode.ma\/en\/wp-json\/wp\/v2\/types\/page"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mogacode.ma\/en\/wp-json\/wp\/v2\/comments?post=1970"}],"version-history":[{"count":1,"href":"https:\/\/www.mogacode.ma\/en\/wp-json\/wp\/v2\/pages\/1970\/revisions"}],"predecessor-version":[{"id":1975,"href":"https:\/\/www.mogacode.ma\/en\/wp-json\/wp\/v2\/pages\/1970\/revisions\/1975"}],"up":[{"embeddable":true,"href":"https:\/\/www.mogacode.ma\/en\/wp-json\/wp\/v2\/pages\/1966"}],"wp:attachment":[{"href":"https:\/\/www.mogacode.ma\/en\/wp-json\/wp\/v2\/media?parent=1970"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}