{"id":1976,"date":"2026-09-19T16:21:04","date_gmt":"2026-09-19T16:21:04","guid":{"rendered":"https:\/\/www.mogacode.ma\/academy\/le-prompt-qui-marche-vraiment\/"},"modified":"2026-09-19T16:21:04","modified_gmt":"2026-09-19T16:21:04","slug":"le-prompt-qui-marche-vraiment","status":"publish","type":"page","link":"https:\/\/www.mogacode.ma\/en\/academy\/le-prompt-qui-marche-vraiment\/","title":{"rendered":"Le prompt qui marche vraiment"},"content":{"rendered":"<div class=\"mga-shell\" data-code=\"b1\"><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\" 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\" 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><\/div><div class=\"mga-blk mgaon\" 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 cur\" 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><div class=\"mga-subs\"><a class=\"mga-sublink\" data-ch=\"0\" href=\"#sm-0\"><span class=\"d\"><\/span>Les cinq briques d&#039;une bonne demande<\/a><a class=\"mga-sublink\" data-ch=\"1\" href=\"#sm-1\"><span class=\"d\"><\/span>Montrer plut\u00f4t que dire: la force des exemples<\/a><a class=\"mga-sublink\" data-ch=\"2\" href=\"#sm-2\"><span class=\"d\"><\/span>Le premier jet n&#039;est jamais le bon: it\u00e9rer<\/a><\/div><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\">B1 \u00b7 Niveau 1 \u00b7 1h30 \u00b7 gratuit<\/p><h1>Le prompt qui marche vraiment<\/h1><p>Tu repars avec : Une m\u00e9thode de prompting r\u00e9utilisable, test\u00e9e sur notre IA, plus ta premi\u00e8re bibliotheque de prompts qui t&#039;appartient.<\/p><\/div><div class=\"mga-capsule\"><video controls preload=\"metadata\" playsinline poster=\"\/wp-content\/uploads\/2026\/09\/academy-b1-accroche.jpg\"><source src=\"\/wp-content\/uploads\/2026\/09\/academy-b1-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=\"b1\" data-n=\"3\"><div class=\"mga-chnav\"><button type=\"button\" class=\"mga-chtab on\" data-ch=\"0\"><span class=\"num\">1<\/span>Les cinq briques d&#039;une bonne demande<\/button><button type=\"button\" class=\"mga-chtab\" data-ch=\"1\"><span class=\"num\">2<\/span>Montrer plut\u00f4t que dire: la force des exemples<\/button><button type=\"button\" class=\"mga-chtab\" data-ch=\"2\"><span class=\"num\">3<\/span>Le premier jet n&#039;est jamais le bon: 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>Il est 21h. Tu viens de comprendre qu'on peut \u00ab parler \u00bb \u00e0 une intelligence artificielle, et tu te lances, un peu excit\u00e9. Tu tapes: \u00ab \u00e9cris-moi un texte pour mon commerce \u00bb. Tu appuies sur envoyer. Deux secondes plus tard, un pav\u00e9 appara\u00eet. Il est bien \u00e9crit, les phrases sont propres, il n'y a pas de faute. Et pourtant, tu le relis et quelque chose cloche. \u00c7a pourrait \u00eatre le texte de n'importe qui. \u00c7a parle de \u00ab qualit\u00e9 \u00bb, d'\u00ab \u00e9quipe passionn\u00e9e \u00bb, de \u00ab clients au coeur de nos pr\u00e9occupations \u00bb. \u00c7a ne dit rien de toi, rien de ta rue, rien de ce que tu vends vraiment. Tu refermes l'onglet, un peu d\u00e9\u00e7u, en te disant que finalement, ces outils sont surcot\u00e9s.<\/p><p>Cette sc\u00e8ne, on la voit tous les jours. Et \u00e0 chaque fois, la personne tire la m\u00eame conclusion: l'outil est mauvais. Sauf que non. L'outil a fait exactement ce qu'on lui a demand\u00e9. On lui a demand\u00e9 \u00ab un texte pour mon commerce \u00bb, il a produit \u00ab un texte pour un commerce \u00bb. G\u00e9n\u00e9rique en entr\u00e9e, g\u00e9n\u00e9rique en sortie. Ce n'est pas une panne, c'est un miroir.<\/p><p>Reprenons la m\u00eame personne, un boulanger disons, mais cette fois avec une demande construite. Il \u00e9crit: \u00ab Tu es un boulanger qui \u00e9crit lui-m\u00eame. Je tiens une boulangerie de quartier \u00e0 Essaouira, ouverte depuis huit ans, connue pour son pain au levain cuit au feu de bois. \u00c9cris le texte de pr\u00e9sentation de la page d'accueil de mon site. Trois paragraphes courts, un ton chaleureux mais pas mielleux, \u00e0 la premi\u00e8re personne. Ne parle pas de \u00ab passion \u00bb ni de \u00ab qualit\u00e9 \u00bb, montre-le avec des d\u00e9tails concrets. \u00bb L\u00e0, la r\u00e9ponse change de nature. Elle parle de farine, d'horaires, de l'odeur le matin, du levain qu'on nourrit chaque nuit. Elle te ressemble.<\/p><p>La diff\u00e9rence entre les deux, ce n'est pas la chance. Ce n'est pas non plus un secret d'expert. C'est une structure. La premi\u00e8re demande \u00e9tait une seule phrase vague. La seconde tenait sur cinq briques que tu vas apprendre \u00e0 poser \u00e0 chaque fois. Une fois que tu les as en t\u00eate, tu arr\u00eates de jouer \u00e0 la loterie. Tu demandes, tu re\u00e7ois ce que tu voulais, et si ce n'est pas \u00e7a, tu sais exactement quelle brique corriger. C'est \u00e7a, le vrai passage de d\u00e9butant \u00e0 personne qui sait s'en servir. Pas une formule magique. Une mani\u00e8re de poser la demande.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">2 \u00b7 Le pourquoi<\/div><h3><\/h3><p>Apprendre \u00e0 structurer une demande, ce n'est pas un truc \u00ab pour faire joli \u00bb. C'est ce qui change tout ton rapport \u00e0 l'outil, et concr\u00e8tement, ta journ\u00e9e. Voyons pourquoi \u00e7a compte vraiment pour toi.<\/p><p>D'abord, tu arr\u00eates de perdre du temps. Une demande vague, \u00e7a donne un r\u00e9sultat vague, que tu dois relire, corriger, r\u00e9\u00e9crire \u00e0 moiti\u00e9. Tu passes plus de temps \u00e0 rattraper le texte qu'\u00e0 l'avoir \u00e9crit toi-m\u00eame. Une demande bien pos\u00e9e, \u00e0 l'inverse, sort un r\u00e9sultat que tu retouches \u00e0 peine. Le calcul est simple: trente secondes de plus \u00e0 poser ta demande t'\u00e9conomisent dix minutes de r\u00e9paration derri\u00e8re. Sur une semaine, sur des dizaines de demandes, \u00e7a devient \u00e9norme.<\/p><p>Ensuite, tu reprends le contr\u00f4le. Quand tu ne sais pas structurer, tu es \u00e0 la merci de l'humeur de la machine: parfois \u00e7a marche, parfois non, et tu ne comprends pas pourquoi. C'est frustrant et \u00e7a n'inspire aucune confiance. Quand tu ma\u00eetrises les briques, chaque r\u00e9sultat devient explicable. Trop long? Tu as oubli\u00e9 la contrainte de longueur. Trop g\u00e9n\u00e9rique? Tu as oubli\u00e9 le contexte. Le mauvais format? Tu n'as pas dit la forme voulue. Tu ne subis plus, tu diagnostiques. Et diagnostiquer, c'est d\u00e9j\u00e0 r\u00e9parer.<\/p><p>Il y a aussi un effet moins visible mais tr\u00e8s puissant: tu deviens capable de d\u00e9l\u00e9guer. Une demande structur\u00e9e, tu peux la r\u00e9utiliser, la copier, la donner \u00e0 quelqu'un d'autre, la transformer en mod\u00e8le. C'est exactement ce qui s\u00e9pare une personne qui \u00ab bricole avec l'IA \u00bb d'une personne qui \u00ab fait tourner \u00bb l'IA. La premi\u00e8re recommence de z\u00e9ro \u00e0 chaque fois. La seconde a des demandes pr\u00eates \u00e0 l'emploi qu'elle adapte en trois mots. Chez MogaCode, tout le travail s\u00e9rieux repose l\u00e0-dessus: des demandes solides, \u00e9crites une fois, r\u00e9utilis\u00e9es mille fois, jamais improvis\u00e9es.<\/p><p>Enfin, et c'est le plus important, tu obtiens du sur-mesure au lieu du pr\u00eat-\u00e0-jeter. Le g\u00e9n\u00e9rique ne te sert \u00e0 rien. Personne ne se souvient d'un texte qui pourrait appartenir \u00e0 tout le monde. Ce qui marque, c'est le d\u00e9tail vrai, la pr\u00e9cision, le ton juste. Or ces trois choses ne sortent jamais toutes seules: elles viennent des briques que tu poses. Le contexte donne le d\u00e9tail vrai. La t\u00e2che donne la pr\u00e9cision. La contrainte donne le ton juste. Autrement dit, la qualit\u00e9 de ce que tu re\u00e7ois est presque enti\u00e8rement d\u00e9cid\u00e9e avant que la machine ne r\u00e9ponde, au moment o\u00f9 tu \u00e9cris ta demande. C'est une bonne nouvelle: \u00e7a veut dire que le r\u00e9sultat est entre tes mains, pas dans le hasard.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">3 \u00b7 Le comment<\/div><h3><\/h3><p>Une bonne demande tient sur cinq briques. On peut les r\u00e9sumer en une question chacune: qui parle et pour qui, quoi faire, sous quelle forme, avec quelles limites. On va les poser une par une. Tu n'es pas oblig\u00e9 de toutes les mettre \u00e0 chaque fois, mais d\u00e8s que le r\u00e9sultat compte, mets-les toutes.<\/p><p class='mga-sub'>1. Le r\u00f4le et le contexte: planter le d\u00e9cor<\/p><p>La premi\u00e8re brique r\u00e9pond \u00e0 deux questions coll\u00e9es: qui est cens\u00e9 r\u00e9pondre, et dans quelle situation. Le r\u00f4le, c'est la casquette que tu poses sur la machine. \u00ab Tu es un comptable prudent \u00bb, \u00ab tu es un instituteur qui explique \u00e0 des enfants \u00bb, \u00ab tu es un artisan qui \u00e9crit lui-m\u00eame \u00bb. Ce n'est pas du th\u00e9\u00e2tre gratuit: la casquette oriente le vocabulaire, le niveau de d\u00e9tail, le ton.<\/p><p>Le contexte, c'est tout ce que la machine ne peut pas deviner sur ta situation. Elle ne sait pas o\u00f9 tu es, ce que tu vends, \u00e0 qui tu t'adresses, ce qui s'est pass\u00e9 avant. Si tu ne le dis pas, elle invente une moyenne, et la moyenne est toujours fade. Exemple concret: au lieu de \u00ab r\u00e9ponds \u00e0 ce client m\u00e9content \u00bb, \u00e9cris \u00ab Tu es le g\u00e9rant d'un salon de coiffure. Une cliente se plaint que sa couleur a vir\u00e9 au bout de trois jours. Elle est fid\u00e8le depuis deux ans. R\u00e9ponds-lui. \u00bb La deuxi\u00e8me version a un d\u00e9cor, donc une r\u00e9ponse qui tient debout.<\/p><p class='mga-sub'>2. La t\u00e2che: un seul verbe, pr\u00e9cis<\/p><p>La deuxi\u00e8me brique, c'est le coeur de la demande: qu'est-ce que tu veux qu'il se passe. Et le pi\u00e8ge ici, c'est le flou. \u00ab Aide-moi avec mon site \u00bb n'est pas une t\u00e2che, c'est un soupir. Une t\u00e2che commence par un verbe clair et pr\u00e9cis: \u00ab r\u00e9sume \u00bb, \u00ab traduis \u00bb, \u00ab corrige \u00bb, \u00ab liste \u00bb, \u00ab compare \u00bb, \u00ab r\u00e9\u00e9cris \u00bb, \u00ab propose trois titres \u00bb. Un verbe, une action.<\/p><p>Le second r\u00e9flexe: une t\u00e2che \u00e0 la fois. Si tu demandes en m\u00eame temps de r\u00e9sumer un document, de le traduire et d'en tirer des id\u00e9es de publications, tu obtiens un m\u00e9lange b\u00e2cl\u00e9 des trois. S\u00e9pare. Exemple: plut\u00f4t que \u00ab occupe-toi de ce texte \u00bb, \u00e9cris \u00ab Corrige les fautes de ce texte sans changer le sens ni le style. \u00bb C'est net, la machine sait o\u00f9 s'arr\u00eater, et toi tu sais quoi v\u00e9rifier.<\/p><p class='mga-sub'>3. Le format: dire la forme de la sortie<\/p><p>La troisi\u00e8me brique d\u00e9crit \u00e0 quoi doit ressembler la r\u00e9ponse. C'est la brique que les d\u00e9butants oublient le plus, et c'est dommage, parce que c'est la plus rentable. Une m\u00eame information peut sortir en paragraphe, en liste \u00e0 puces, en tableau, en trois titres, en un seul mot. Si tu ne pr\u00e9cises pas, tu prends ce qui vient, et souvent ce n'est pas exploitable.<\/p><p>Sois concret sur la forme. \u00ab En cinq puces courtes \u00bb, \u00ab en un tableau \u00e0 deux colonnes \u00bb, \u00ab en un paragraphe de trois phrases maximum \u00bb, \u00ab r\u00e9ponds seulement par oui ou non puis explique en une ligne \u00bb. Exemple: au lieu de \u00ab donne-moi des id\u00e9es de menu \u00bb, \u00e9cris \u00ab Propose un menu du jour sous forme de liste: une entr\u00e9e, un plat, un dessert, chacun sur une ligne, sans description. \u00bb Tu obtiens quelque chose que tu peux coller directement sur ton ardoise, pas un pav\u00e9 \u00e0 retravailler.<\/p><p class='mga-sub'>4. La contrainte: poser les limites et le non n\u00e9gociable<\/p><p>La quatri\u00e8me brique, ce sont les garde-fous. C'est l\u00e0 que tu dis ce qu'il ne faut surtout pas faire, et les r\u00e8gles \u00e0 tenir absolument. La longueur (\u00ab pas plus de cent mots \u00bb), le ton (\u00ab s\u00e9rieux, jamais familier \u00bb), les interdits (\u00ab n'invente aucun chiffre \u00bb, \u00ab ne promets pas de r\u00e9sultat \u00bb, \u00ab pas de mots \u00e0 la mode \u00bb), la langue, le public.<\/p><p>La contrainte est ce qui transforme un texte correct en texte juste. C'est aussi ta protection contre les d\u00e9rapages. Exemple v\u00e9cu chez nous: on interdit explicitement \u00e0 nos outils d'\u00e9crire le tiret long, ce petit trait que les machines adorent et qui sent l'IA \u00e0 plein nez. Sans cette contrainte, il revient partout. Avec, il dispara\u00eet. Autre exemple pour toi: \u00ab \u00c9cris cette r\u00e9ponse client. Contrainte: reste courtois et professionnel, n'admets aucune faute juridique, ne propose pas de remboursement, propose seulement un rendez-vous. \u00bb Les limites prot\u00e8gent autant que le contenu informe.<\/p><p>Un dernier r\u00e9flexe pour les contraintes qui comptent vraiment: r\u00e9p\u00e8te-les et mets-les en avant. Si une r\u00e8gle est vitale, ne la glisse pas au milieu d'une phrase, isole-la, nomme-la \u00ab r\u00e8gle absolue \u00bb. Une machine, comme un stagiaire press\u00e9, retient mieux ce qui est clairement signal\u00e9 comme important.<\/p><p class='mga-syn'>En r\u00e9sum\u00e9: pose cinq briques \u00e0 chaque demande s\u00e9rieuse. Le r\u00f4le et le contexte plantent le d\u00e9cor, la t\u00e2che dit l'action pr\u00e9cise avec un seul verbe, le format dit la forme de la sortie, et la contrainte pose les limites et les interdits. Quand un r\u00e9sultat te d\u00e9\u00e7oit, ne recommence pas au hasard: rep\u00e8re la brique manquante et ajoute-la.<\/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>Le meilleur moyen de sentir la diff\u00e9rence entre un prompt faible et un prompt fort, c'est de la voir se produire sous tes yeux. L'Academy met \u00e0 ta disposition une intelligence artificielle qui tourne sur les serveurs de MogaCode, au Maroc: tu peux lui parler directement pour tester, en direct, ce que tu viens d'apprendre. Ne te contente pas de lire cette le\u00e7on, va la mettre \u00e0 l'\u00e9preuve et regarde comment le r\u00e9sultat change quand tu ajoutes les cinq briques.<\/p><div class=\"mga-lab\" data-ex=\"b1_ia\"><p class=\"lh\">Parle a notre IA souveraine<\/p><p class=\"ls\">Le meilleur moyen de sentir la diff\u00e9rence entre un prompt faible et un prompt fort, c&#039;est de la voir se produire sous tes yeux. L&#039;Academy met \u00e0 ta disposition une intelligence artificielle qui tourne <\/p><textarea class=\"mga-in\" maxlength=\"400\" placeholder=\"Pose-lui deux fois la m\u00eame chose et compare. D&#039;abord une demande faible: \u00ab \u00e9cris un texte pour mon commerce \u00bb. Puis une demande forte avec les cinq briques: \u00ab Tu es un artisan qui \u00e9crit lui-m\u00eame. Je tiens une menuiserie de quartier \u00e0 Essaouira, connue pour ses meubles sur mesure en bois local. \u00c9cris la pr\u00e9sentation de ma page d&#039;accueil. Format: trois courts paragraphes \u00e0 la premi\u00e8re personne. Contraintes: ton chaleureux mais sobre, aucun mot creux comme passion ou qualit\u00e9, aucune promesse de r\u00e9sultat, jamais de tiret long. \u00bb Demande-lui ensuite de t&#039;expliquer, brique par brique, ce qui a rendu la deuxi\u00e8me r\u00e9ponse plus juste que la premi\u00e8re.\"><\/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>Prenons un cas r\u00e9el de terrain chez MogaCode: l'autopilote de contenu. C'est un programme qui tourne tout seul, la nuit, sur nos serveurs, et qui fabrique des pages de site. L'id\u00e9e fait un peu peur au d\u00e9but: une machine qui \u00e9crit des pages pendant que tout le monde dort, \u00e7a sent le texte b\u00e2cl\u00e9 \u00e0 la cha\u00eene. Sauf que la r\u00e9alit\u00e9 est l'inverse, et la raison tient exactement au sujet de cette le\u00e7on: la demande est ultra-structur\u00e9e, et rien ne passe sans contr\u00f4le.<\/p><p>Regardons comment les cinq briques y sont pos\u00e9es. Le r\u00f4le est fix\u00e9 une fois pour toutes dans ce qu'on appelle la recette: la machine sait qu'elle \u00e9crit comme un vrai professionnel du secteur concern\u00e9, pas comme un robot. Le contexte n'est pas invent\u00e9: avant d'\u00e9crire une seule ligne, le programme va chercher de vraies donn\u00e9es sur le m\u00e9tier et la ville vis\u00e9s, les vrais volumes de recherche, les vrais concurrents du coin. Il ne brode pas sur du vide, il part du r\u00e9el. La t\u00e2che est pr\u00e9cise: produire une page pour un m\u00e9tier donn\u00e9 dans une ville donn\u00e9e, pas \u00ab faire du contenu \u00bb. Le format est cadr\u00e9: un titre unique, une cascade de sous-titres coh\u00e9rente, des blocs d'information structur\u00e9e bien form\u00e9s. Et les contraintes sont nombreuses et s\u00e9v\u00e8res: un nombre minimum de mots, pas de texte en double avec les autres pages, aucun passage invent\u00e9, aucune promesse de r\u00e9sultat, tous les liens doivent r\u00e9ellement fonctionner, et bien s\u00fbr, aucun tiret long.<\/p><p>Mais le plus int\u00e9ressant, c'est ce qui vient apr\u00e8s l'\u00e9criture: les portes de qualit\u00e9. Une fois la page produite, elle doit passer une s\u00e9rie de contr\u00f4les automatiques avant d'\u00eatre publi\u00e9e. Trop courte? Refus\u00e9e. Un titre en double? Refus\u00e9e. Un lien mort? Refus\u00e9e. Un passage qui ressemble trop \u00e0 une autre page? Refus\u00e9e. Une page qui \u00e9choue \u00e0 une porte n'est pas mise en ligne, point. La machine peut \u00e9crire ce qu'elle veut, elle ne franchit la porte que si le travail est bon.<\/p><p>La le\u00e7on est double, et elle vaut pour toi m\u00eame si tu n'\u00e9cris pas de programme. Premi\u00e8re partie: la qualit\u00e9 d'une production automatique ne vient pas de la magie de la machine, elle vient de la qualit\u00e9 de la demande qu'on lui a pos\u00e9e. Les cinq briques sont l\u00e0, \u00e9crites noir sur blanc, r\u00e9utilis\u00e9es \u00e0 chaque page. Personne n'improvise \u00ab \u00e9cris-moi une page \u00bb chaque nuit. La demande est un objet solide, pens\u00e9 une fois, appliqu\u00e9 toujours. Deuxi\u00e8me partie: m\u00eame une demande parfaite m\u00e9rite un filet. Les portes de qualit\u00e9 sont la version automatis\u00e9e de ce que tu dois faire \u00e0 la main, toi, \u00e0 ta petite \u00e9chelle: relire, v\u00e9rifier, refuser ce qui ne va pas au lieu de l'accepter par flemme. La structure en amont et le contr\u00f4le en aval, c'est le duo qui transforme un outil impr\u00e9visible en outil fiable. Sans les briques, la nuit produirait de la bouillie. Avec les briques et les portes, elle produit du travail qu'on peut regarder en face.<\/p><p>Retiens l'image: la demande structur\u00e9e, c'est le plan de la maison, et les portes de qualit\u00e9, c'est le contr\u00f4leur qui refuse de valider un mur de travers. Les deux ensemble, et seulement les deux ensemble, permettent de construire vite sans construire n'importe quoi.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">6 \u00b7 Le contre-exemple<\/div><h3><\/h3><p>Voyons maintenant l'inverse, un \u00e9chec, parce qu'on apprend souvent plus d'une chose rat\u00e9e que d'une chose r\u00e9ussie. Le contre-exemple le plus parlant chez nous, c'est justement ce qui arrive quand une contrainte manque, et il concerne ce fameux tiret long, celui qui trahit un texte \u00e9crit par une machine.<\/p><p>Au tout d\u00e9but, quand on g\u00e9n\u00e9rait des pages, on avait bien pos\u00e9 le r\u00f4le, le contexte, la t\u00e2che, le format. On pensait avoir une demande solide. Mais on avait oubli\u00e9 une contrainte pr\u00e9cise: interdire ce type de tiret. R\u00e9sultat, la machine, laiss\u00e9e libre, en a mis partout. Dans les titres, dans les phrases, dans les descriptions. C'est un tic bien connu de ces outils, ils adorent ce trait long pour couper leurs phrases. Sauf que pour un lecteur un peu averti, et surtout pour un client, c'est une signature visible: \u00ab ce texte a \u00e9t\u00e9 pondu par une IA \u00bb. Exactement ce qu'on ne veut pas donner \u00e0 voir quand on vend du travail soign\u00e9.<\/p><p>Il a donc fallu repasser derri\u00e8re, sur beaucoup de pages d\u00e9j\u00e0 en ligne, pour nettoyer tous ces tirets un par un. Un travail de r\u00e9paration enti\u00e8rement \u00e9vitable. \u00c9vitable comment? En ajoutant une seule ligne de contrainte d\u00e8s le d\u00e9part: \u00ab n'utilise jamais le tiret long, ponctue avec la virgule, le point ou les deux-points \u00bb. Une phrase. Elle aurait \u00e9pargn\u00e9 des heures de m\u00e9nage.<\/p><p>La le\u00e7on est nette et elle fait mal dans le bon sens: une demande peut avoir quatre briques sur cinq et rater son coup \u00e0 cause de la cinqui\u00e8me. On avait le r\u00f4le, le contexte, la t\u00e2che, le format. Il manquait une contrainte, et c'est pr\u00e9cis\u00e9ment cette absence qui s'est vue, pas les quatre briques bien pos\u00e9es. Personne n'a f\u00e9licit\u00e9 le contexte r\u00e9ussi, tout le monde aurait remarqu\u00e9 le tiret suspect.<\/p><p>Deuxi\u00e8me le\u00e7on, plus profonde: les contraintes ne sont pas un d\u00e9tail de finition, ce sont souvent le coeur du sur-mesure. Ce qui distingue ton texte de celui de tout le monde, c'est autant ce que tu interdis que ce que tu demandes. Interdire les mots creux, interdire les promesses, interdire un ton, imposer une longueur: voil\u00e0 ce qui donne une empreinte. Et retiens aussi le corollaire \u00e9conomique de cette histoire: r\u00e9parer co\u00fbte toujours plus cher que cadrer. Une contrainte oubli\u00e9e ne dispara\u00eet pas, elle se transforme en travail de rattrapage plus tard, souvent au pire moment, quand la chose est d\u00e9j\u00e0 publique. Mieux vaut trente secondes de contrainte en amont que des heures de nettoyage en aval.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">7 \u00b7 Les pi\u00e8ges<\/div><h3><\/h3><ul class='mga-chain'><li><b>Le pi\u00e8ge du d\u00e9cor absent.<\/b> Sympt\u00f4me: la r\u00e9ponse est correcte mais g\u00e9n\u00e9rique, elle pourrait appartenir \u00e0 n'importe qui. Cause: tu as donn\u00e9 une t\u00e2che sans contexte, la machine a combl\u00e9 le vide par une moyenne fade. R\u00e9flexe: ajoute qui tu es, o\u00f9 tu es, \u00e0 qui tu parles, avant de dire quoi faire.<\/li><li><b>Le pi\u00e8ge des deux demandes en une.<\/b> Sympt\u00f4me: la r\u00e9ponse m\u00e9lange plusieurs choses et n'en fait aucune bien. Cause: tu as empil\u00e9 r\u00e9sume, traduis et propose des id\u00e9es dans la m\u00eame phrase. R\u00e9flexe: une t\u00e2che \u00e0 la fois, un seul verbe, quitte \u00e0 encha\u00eener deux demandes s\u00e9par\u00e9es.<\/li><li><b>Le pi\u00e8ge du format oubli\u00e9.<\/b> Sympt\u00f4me: tu re\u00e7ois un pav\u00e9 alors que tu voulais une liste collable, ou l'inverse. Cause: tu n'as pas dit sous quelle forme tu voulais la sortie. R\u00e9flexe: pr\u00e9cise toujours la forme, nombre de puces, tableau, longueur, avant d'envoyer.<\/li><li><b>Le pi\u00e8ge de la contrainte molle.<\/b> Sympt\u00f4me: le ton d\u00e9rape, le texte est trop long, un mot interdit revient. Cause: tu n'as pos\u00e9 aucune limite, ou tu l'as gliss\u00e9e sans la mettre en avant. R\u00e9flexe: isole tes r\u00e8gles importantes, nomme-les r\u00e8gles absolues, r\u00e9p\u00e8te celle qui compte le plus.<\/li><li><b>Le pi\u00e8ge du sans filet.<\/b> Sympt\u00f4me: tu publies ou tu envoies, puis tu d\u00e9couvres l'erreur apr\u00e8s coup. Cause: tu as fait confiance \u00e0 la sortie sans la contr\u00f4ler. R\u00e9flexe: garde une porte de qualit\u00e9 \u00e0 toi, relis avec une petite liste de v\u00e9rification avant de valider quoi que ce soit.<\/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 une r\\u00e9ponse \\u00e0 coller directement sur l'ardoise de ton restaurant, pas un texte \\u00e0 retravailler. Que fais-tu?\",\"options\":[{\"t\":\"Tu pr\\u00e9cises le format attendu: une entr\\u00e9e, un plat, un dessert, chacun sur une ligne, sans description.\",\"ok\":true,\"why\":\"Dire la forme exacte de la sortie, c'est la brique format. Elle te donne un r\\u00e9sultat directement exploitable au lieu d'un pav\\u00e9 \\u00e0 d\\u00e9couper.\"},{\"t\":\"Tu \\u00e9cris \\u00ab donne-moi des id\\u00e9es de menu \\u00bb et tu tries ce qui vient.\",\"ok\":false,\"why\":\"Sans brique format, la machine choisit la forme \\u00e0 ta place, souvent un pav\\u00e9 descriptif. Tu passeras du temps \\u00e0 le reformater toi-m\\u00eame.\"}]},{\"q\":\"Une cliente fid\\u00e8le se plaint d'une prestation. Tu veux une r\\u00e9ponse juste. Quelle demande poses-tu?\",\"options\":[{\"t\":\"\\u00ab R\\u00e9ponds \\u00e0 ce client m\\u00e9content \\u00bb et tu envoies ce qui sort.\",\"ok\":false,\"why\":\"Sans contexte ni contrainte, la r\\u00e9ponse sera une moyenne fade, et elle pourrait m\\u00eame admettre une faute ou promettre un geste que tu ne veux pas faire.\"},{\"t\":\"Tu poses le r\\u00f4le et le contexte (g\\u00e9rante, cliente fid\\u00e8le, nature de la plainte) puis les contraintes (rester courtoise, ne rien admettre, proposer un rendez-vous).\",\"ok\":true,\"why\":\"D\\u00e9cor plus limites: c'est exactement ce qui produit une r\\u00e9ponse qui tient debout et qui te prot\\u00e8ge.\"}]},{\"q\":\"Ton r\\u00e9sultat est bon mais beaucoup trop long. Quel est le bon r\\u00e9flexe?\",\"options\":[{\"t\":\"Tu recommences ta demande de z\\u00e9ro en esp\\u00e9rant que ce soit plus court cette fois.\",\"ok\":false,\"why\":\"Recommencer au hasard, c'est jouer \\u00e0 la loterie. Tu ne sais pas pourquoi c'\\u00e9tait long, donc tu ne sais pas si \\u00e7a se reproduira.\"},{\"t\":\"Tu identifies la brique manquante, la contrainte de longueur, et tu l'ajoutes: \\u00ab pas plus de cent mots \\u00bb.\",\"ok\":true,\"why\":\"Diagnostiquer la brique absente et l'ajouter, c'est corriger en une fois au lieu de tourner en rond.\"}]},{\"q\":\"Tu \\u00e9cris une seule phrase importante \\u00e0 interdire, par exemple ne jamais promettre de r\\u00e9sultat. O\\u00f9 la mets-tu?\",\"options\":[{\"t\":\"Tu l'isoles et tu la signales clairement comme une r\\u00e8gle absolue.\",\"ok\":true,\"why\":\"Une r\\u00e8gle vitale mise en avant est mieux respect\\u00e9e qu'une r\\u00e8gle noy\\u00e9e au milieu d'une phrase, comme pour un humain press\\u00e9.\"},{\"t\":\"Tu la glisses au milieu de ta demande, entre deux autres id\\u00e9es.\",\"ok\":false,\"why\":\"Une contrainte importante noy\\u00e9e dans le texte passe souvent \\u00e0 la trappe. Ce qui compte doit \\u00eatre visible et nomm\\u00e9.\"}]}]<\/script><div class=\"mga-host\"><\/div><\/div><\/div><div class=\"mga-q\" data-q=\"b1a1\"><p style=\"margin:0 0 6px;color:#0F2237\">Quelle demande a le plus de chances de sortir un texte qui te ressemble vraiment?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Une demande qui donne le contexte r\u00e9el: ton m\u00e9tier, ta ville, ce qui te rend diff\u00e9rent.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Une demande tr\u00e8s courte pour laisser la machine libre de tout inventer.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Une demande qui r\u00e9p\u00e8te plusieurs fois le mot qualit\u00e9 pour insister.<\/button><\/div><div class=\"mga-q\" data-q=\"b1a2\"><p style=\"margin:0 0 6px;color:#0F2237\">Qu&#039;est-ce qu&#039;une bonne \u00ab t\u00e2che \u00bb dans une demande?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Une action unique et pr\u00e9cise commen\u00e7ant par un verbe clair.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Une liste de trois ou quatre choses \u00e0 faire en m\u00eame temps.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Un souhait g\u00e9n\u00e9ral du genre aide-moi avec \u00e7a.<\/button><\/div><div class=\"mga-q\" data-q=\"b1a3\"><p style=\"margin:0 0 6px;color:#0F2237\">\u00c0 quoi sert la brique \u00ab format \u00bb?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">\u00c0 dire la forme de la sortie pour recevoir un r\u00e9sultat directement exploitable.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">\u00c0 rendre la demande plus longue pour impressionner la machine.<\/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=\"b1a4\"><p style=\"margin:0 0 6px;color:#0F2237\">Pourquoi la contrainte est-elle souvent le coeur du sur-mesure?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Parce que ce que tu interdis fa\u00e7onne autant l&#039;empreinte du texte que ce que tu demandes.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Parce que les contraintes ralentissent la machine et am\u00e9liorent son humeur.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Parce qu&#039;une contrainte remplace le besoin de relire le r\u00e9sultat.<\/button><\/div><div class=\"mga-q\" data-q=\"b1a5\"><p style=\"margin:0 0 6px;color:#0F2237\">Ton r\u00e9sultat te d\u00e9\u00e7oit. Quelle est la bonne attitude?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Rep\u00e9rer la brique manquante et l&#039;ajouter, au lieu de recommencer au hasard.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Conclure que l&#039;outil est mauvais et abandonner.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Renvoyer exactement la m\u00eame demande en esp\u00e9rant un autre r\u00e9sultat.<\/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 connais s\u00fbrement cette situation, m\u00eame sans IA. Tu expliques \u00e0 quelqu'un comment tu veux que ce soit fait. Tu parles, tu d\u00e9tailles, tu penses avoir \u00e9t\u00e9 clair. La personne revient avec un travail qui n'a rien \u00e0 voir. Tu recommences, tu pr\u00e9cises encore, et \u00e7a se rapproche un peu, mais ce n'est toujours pas \u00e7a. \u00c0 la fin, d\u00e9courag\u00e9, tu finis par dire: \u00ab attends, laisse-moi te montrer \u00bb, et tu lui mets un exemple sous les yeux. Et l\u00e0, d'un coup, la personne comprend. \u00ab Ah, c'est \u00e7a que tu voulais. \u00bb En dix secondes d'exemple, tu as r\u00e9gl\u00e9 ce que dix minutes d'explication n'avaient pas r\u00e9gl\u00e9.<\/p><p>Avec une intelligence artificielle, c'est pareil, et beaucoup de gens ne le savent pas. Ils pensent qu'il faut tout d\u00e9crire avec des mots, de plus en plus de mots, en esp\u00e9rant tomber sur la bonne formule. Ils empilent les adjectifs: \u00ab je veux quelque chose de dynamique, moderne, mais pas trop, chaleureux, s\u00e9rieux quand m\u00eame \u00bb. Et le r\u00e9sultat reste \u00e0 c\u00f4t\u00e9, parce que \u00ab dynamique \u00bb ne veut pas dire la m\u00eame chose pour toi et pour la machine.<\/p><p>Imagine un cas concret. Tu tiens un petit h\u00f4tel et tu veux r\u00e9pondre aux avis en ligne dans un style bien \u00e0 toi: court, reconnaissant, avec une petite touche personnelle, jamais robotique. Tu peux passer un quart d'heure \u00e0 essayer de d\u00e9crire ce style avec des mots. Ou tu peux faire autrement: coller deux ou trois r\u00e9ponses que tu as d\u00e9j\u00e0 \u00e9crites toi-m\u00eame et que tu aimes, puis dire \u00ab r\u00e9ponds \u00e0 ce nouvel avis dans le m\u00eame esprit que ces exemples \u00bb. La machine n'a plus \u00e0 deviner ton style \u00e0 partir d'adjectifs vagues, elle l'a devant elle. Elle le copie, elle l'adapte, elle te le rend.<\/p><p>C'est \u00e7a, la bascule de cette le\u00e7on: arr\u00eater de tout d\u00e9crire, et commencer \u00e0 montrer. Un bon exemple vaut mieux qu'un paragraphe de consignes. Ce n'est pas de la triche ni un raccourci de fain\u00e9ant, c'est la mani\u00e8re la plus efficace de faire comprendre exactement ce que tu veux. Et une fois que tu as ce r\u00e9flexe, tu obtiens une r\u00e9gularit\u00e9 impressionnante: la machine ne d\u00e9rive plus, elle reste align\u00e9e sur ton mod\u00e8le, r\u00e9ponse apr\u00e8s r\u00e9ponse.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">2 \u00b7 Le pourquoi<\/div><h3><\/h3><p>Comprendre la force des exemples, \u00e7a change ta mani\u00e8re de travailler bien au-del\u00e0 d'un simple gain de temps. Voyons ce que \u00e7a t'apporte concr\u00e8tement.<\/p><p>Le premier b\u00e9n\u00e9fice, c'est la pr\u00e9cision sans la douleur. D\u00e9crire un style ou une forme avec des mots, c'est difficile, m\u00eame pour des professionnels. Comment tu expliques \u00ab mon ton \u00bb? Tu tournes autour, tu approximes, et la machine approxime \u00e0 son tour. Un exemple, lui, ne laisse aucune place \u00e0 l'interpr\u00e9tation. Il montre le r\u00e9sultat voulu tel quel. Tu passes de \u00ab essaie de deviner ce que je veux dire \u00bb \u00e0 \u00ab fais comme \u00e7a \u00bb. C'est une \u00e9norme diff\u00e9rence de fiabilit\u00e9.<\/p><p>Le deuxi\u00e8me b\u00e9n\u00e9fice, c'est la r\u00e9gularit\u00e9. Si tu fais une t\u00e2che r\u00e9p\u00e9titive, r\u00e9pondre \u00e0 des messages, r\u00e9diger des fiches, classer des demandes, tu ne veux pas un r\u00e9sultat diff\u00e9rent \u00e0 chaque fois. Tu veux que ce soit toujours dans le m\u00eame moule. Les exemples sont exactement \u00e7a: un moule. Tu montres deux ou trois cas d\u00e9j\u00e0 faits, et tout ce qui suit ressort dans la m\u00eame forme. Pour un commerce, cette r\u00e9gularit\u00e9 vaut de l'or: c'est ce qui donne une identit\u00e9 reconnaissable au lieu d'un patchwork.<\/p><p>Le troisi\u00e8me b\u00e9n\u00e9fice, c'est que tu apprends \u00e0 voir ta propre exigence. Pour donner un bon exemple, tu dois d'abord savoir ce qui est bon selon toi. Et souvent, en cherchant l'exemple \u00e0 montrer, tu clarifies ta propre id\u00e9e. Beaucoup de gens d\u00e9couvrent ce qu'ils veulent vraiment au moment o\u00f9 ils choisissent l'exemple \u00e0 coller. C'est un effet secondaire pr\u00e9cieux: la d\u00e9marche te force \u00e0 d\u00e9cider.<\/p><p>Le quatri\u00e8me b\u00e9n\u00e9fice, plus subtil, c'est que tu deviens capable de montrer aussi le mauvais. Un exemple, ce n'est pas seulement \u00ab voil\u00e0 ce que je veux \u00bb. C'est parfois \u00ab voil\u00e0 ce que je ne veux surtout pas \u00bb. Montrer un contre-exemple, une r\u00e9ponse rat\u00e9e, et dire \u00ab ne fais jamais comme \u00e7a \u00bb, c'est souvent aussi puissant que montrer le bon. Tu bornes le terrain des deux c\u00f4t\u00e9s.<\/p><p>Enfin, et c'est ce qui relie cette le\u00e7on \u00e0 toute la suite, les exemples te font gagner en autonomie. Une fois que tu as un jeu d'exemples que tu aimes, tu as en r\u00e9alit\u00e9 construit un petit mod\u00e8le r\u00e9utilisable. Tu peux le ressortir demain, la semaine prochaine, le donner \u00e0 un coll\u00e8gue. Tu ne repars plus jamais de z\u00e9ro. C'est le d\u00e9but du passage de l'utilisateur qui t\u00e2tonne \u00e0 la personne qui a ses propres outils pr\u00eats \u00e0 l'emploi. Et \u00e7a, personne ne peut te le retirer: ce sont tes exemples, tir\u00e9s de ton vrai travail.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">3 \u00b7 Le comment<\/div><h3><\/h3><p>Montrer plut\u00f4t que dire, \u00e7a s'apprend en quelques r\u00e9flexes simples. La technique porte un nom qu'on entend parfois, donner des exemples dans la demande, mais l'id\u00e9e est plus importante que le nom. Voyons comment faire, \u00e9tape par \u00e9tape.<\/p><p class='mga-sub'>1. Choisir un ou deux exemples vraiment bons<\/p><p>Le premier r\u00e9flexe, c'est de s\u00e9lectionner des exemples de qualit\u00e9, pas n'importe lesquels. La machine va imiter ce que tu lui montres, fid\u00e8lement, y compris les d\u00e9fauts. Si tu colles un exemple m\u00e9diocre, tu obtiendras du m\u00e9diocre en s\u00e9rie. Choisis donc des cas que tu consid\u00e8res comme r\u00e9ussis, repr\u00e9sentatifs de ce que tu veux.<\/p><p>Combien? Un seul exemple suffit souvent \u00e0 donner la direction. Deux ou trois valent mieux si tu veux montrer que le style tient sur des cas diff\u00e9rents. Au-del\u00e0, tu compliques sans gagner grand-chose. Exemple concret: pour tes r\u00e9ponses aux avis, prends une r\u00e9ponse \u00e0 un avis tr\u00e8s positif et une r\u00e9ponse \u00e0 un avis mitig\u00e9. Deux cas, deux tonalit\u00e9s, et la machine comprend que ton style s'adapte au fond mais garde la m\u00eame signature.<\/p><p class='mga-sub'>2. Montrer l'entr\u00e9e et la sortie ensemble<\/p><p>Le deuxi\u00e8me r\u00e9flexe, c'est de ne pas montrer seulement le r\u00e9sultat, mais aussi ce qui l'a d\u00e9clench\u00e9. Un exemple utile, c'est une paire: voil\u00e0 la situation de d\u00e9part, et voil\u00e0 ce que j'en ai fait. Si tu montres seulement la belle r\u00e9ponse sans l'avis auquel elle r\u00e9pondait, la machine voit la forme mais pas le lien.<\/p><p>Concr\u00e8tement, pr\u00e9sente tes exemples en paires claires. \u00ab Avis re\u00e7u: la chambre \u00e9tait propre mais le petit-d\u00e9jeuner d\u00e9cevant. Ma r\u00e9ponse: ... \u00bb Puis un deuxi\u00e8me couple pareil. Ensuite seulement, tu donnes le nouvel avis \u00e0 traiter. La machine a vu deux fois comment on passe de l'entr\u00e9e \u00e0 la sortie, elle refait le m\u00eame chemin sur ton nouveau cas. C'est comme montrer \u00e0 quelqu'un deux exercices corrig\u00e9s avant de lui donner le troisi\u00e8me \u00e0 faire.<\/p><p class='mga-sub'>3. Nommer ce que l'exemple illustre<\/p><p>Le troisi\u00e8me r\u00e9flexe, c'est d'accompagner tes exemples d'un mot d'explication. L'exemple montre, mais un petit commentaire aide la machine \u00e0 comprendre pourquoi c'est un bon exemple. Sinon, elle risque de copier le mauvais d\u00e9tail, la longueur au lieu du ton, ou l'inverse.<\/p><p>Dis explicitement ce qui compte dans tes exemples. \u00ab Remarque que mes r\u00e9ponses sont courtes, qu'elles remercient toujours d'abord, qu'elles ne se justifient jamais longuement, et qu'elles finissent par une invitation \u00e0 revenir. \u00bb L\u00e0, tu as point\u00e9 du doigt les traits \u00e0 reproduire. Exemple d'erreur inverse: si tes deux exemples font par hasard exactement quatre lignes, la machine pourrait croire que la r\u00e8gle, c'est quatre lignes, alors que tu t'en fiches. Nommer l'intention \u00e9vite ce malentendu.<\/p><p class='mga-sub'>4. Montrer aussi le contre-exemple<\/p><p>Le quatri\u00e8me r\u00e9flexe, souvent oubli\u00e9, c'est de borner le mauvais c\u00f4t\u00e9. Tu peux montrer un exemple de ce qu'il ne faut pas faire, en le d\u00e9signant clairement comme repoussoir. \u00c7a encadre le terrain: voil\u00e0 la bonne direction, et voil\u00e0 la direction interdite.<\/p><p>C'est particuli\u00e8rement utile quand un d\u00e9faut revient tout le temps. Exemple: \u00ab Voici une r\u00e9ponse \u00e0 ne jamais imiter, elle est trop longue, elle se justifie, elle emploie des mots creux. \u00bb En montrant le rat\u00e9 et en le nommant rat\u00e9, tu apprends \u00e0 la machine \u00e0 s'en \u00e9carter. Attention toutefois: mets un seul contre-exemple, bien \u00e9tiquet\u00e9, sinon tu risques l'effet inverse et la machine s'en inspire. Le contre-exemple doit toujours \u00eatre clairement pr\u00e9sent\u00e9 comme ce qu'il faut fuir.<\/p><p class='mga-syn'>En r\u00e9sum\u00e9: pour obtenir exactement ton style, ne le d\u00e9cris pas, montre-le. Choisis un ou deux exemples vraiment bons, pr\u00e9sente-les en paires entr\u00e9e puis sortie, nomme ce qu'ils illustrent pour \u00e9viter que la machine copie le mauvais d\u00e9tail, et ajoute au besoin un seul contre-exemple bien \u00e9tiquet\u00e9 pour borner ce qu'il ne faut pas faire.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">4 \u00b7 Le cas r\u00e9el<\/div><h3><\/h3><p>Un cas r\u00e9el de chez MogaCode illustre parfaitement la force de l'exemple montr\u00e9: l'assistant WhatsApp. C'est un syst\u00e8me qui aide \u00e0 g\u00e9rer les messages, et pour \u00e7a, il dispose de deux capacit\u00e9s bien nomm\u00e9es: un outil pour lire les messages, et un outil pour en envoyer. Ces deux outils, on va y revenir en d\u00e9tail dans un autre module, mais ce qui nous int\u00e9resse ici, c'est le style des r\u00e9ponses qu'il pr\u00e9pare.<\/p><p>Le probl\u00e8me de d\u00e9part \u00e9tait simple \u00e0 comprendre. Les communications vers un client doivent avoir un ton bien pr\u00e9cis: professionnel, courtois, sobre, jamais familier. Pas de \u00ab coucou \u00bb, pas de familiarit\u00e9s, pas de tournures rel\u00e2ch\u00e9es. Or ce ton-l\u00e0, si tu essaies de le d\u00e9crire uniquement avec des adjectifs, tu n'y arrives jamais tout \u00e0 fait. \u00ab Professionnel \u00bb est trop vague. Deux personnes n'\u00e9criront pas la m\u00eame chose sous cette consigne. La machine non plus.<\/p><p>La solution qui marche, c'est de montrer. Au lieu de multiplier les adjectifs, on donne \u00e0 voir de vraies r\u00e9ponses dans le bon ton, et on pointe explicitement ce qui les rend justes: le vouvoiement par d\u00e9faut, l'absence de salutations trop famili\u00e8res, la sobri\u00e9t\u00e9, le fait d'aller au fait sans se r\u00e9pandre. On borne aussi le mauvais c\u00f4t\u00e9, en montrant ce qu'on ne veut jamais: le message trop chaleureux, la blague d\u00e9plac\u00e9e, l'emoji l\u00e2ch\u00e9 \u00e0 la l\u00e9g\u00e8re. Le repoussoir est aussi utile que le mod\u00e8le.<\/p><p>Et il y a une deuxi\u00e8me couche dans ce cas, qui prolonge la le\u00e7on: la v\u00e9rification avant l'envoi. Un message client, une fois qu'il part, on ne peut pas le rattraper. C'est une action qu'on ne peut pas d\u00e9faire. Donc la r\u00e8gle chez nous est claire: quand un message sortant est un peu sensible, on le relit, et dans le doute on le fait valider avant d'appuyer sur envoyer. Les exemples cadrent le style en amont, la relecture prot\u00e8ge en aval. On retrouve exactement le m\u00eame duo que dans la le\u00e7on pr\u00e9c\u00e9dente: montrer le mod\u00e8le pour bien produire, garder un contr\u00f4le pour ne pas se tromper au moment irr\u00e9versible.<\/p><p>La le\u00e7on \u00e0 tirer pour toi est directe. D'abord, quand tu veux un ton pr\u00e9cis et r\u00e9gulier, tes propres messages r\u00e9ussis sont ta meilleure mati\u00e8re premi\u00e8re. Tu n'as pas besoin d'inventer une description parfaite de ton style, tu as juste besoin de retrouver deux ou trois messages que tu as aim\u00e9 \u00e9crire, et de les montrer. Ensuite, plus l'action est irr\u00e9versible, plus le filet de relecture est important. Un texte de blog, tu peux le corriger apr\u00e8s. Un message envoy\u00e9 \u00e0 un client, non. Le style se montre, mais l'envoi se v\u00e9rifie. C'est ce m\u00e9lange qui fait qu'un assistant peut pr\u00e9parer des r\u00e9ponses sans jamais mettre ta r\u00e9putation en danger.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">5 \u00b7 Le contre-exemple<\/div><h3><\/h3><p>Passons au contre-exemple, une erreur classique et instructive: le pi\u00e8ge de l'exemple trop rigide, celui qui produit du copier-coller d\u00e9guis\u00e9 au lieu d'un vrai sur-mesure.<\/p><p>Voici la situation typique. Quelqu'un d\u00e9couvre la force des exemples, il est ravi, il colle un mod\u00e8le qu'il aime, et il obtient une premi\u00e8re r\u00e9ponse impeccable. G\u00e9nial. Alors il garde exactement le m\u00eame exemple pour tous les cas suivants, sans jamais le varier. Au d\u00e9but, personne ne remarque rien. Mais tr\u00e8s vite, un d\u00e9faut appara\u00eet: toutes les r\u00e9ponses se ressemblent trop. Elles reprennent la m\u00eame formule d'ouverture, la m\u00eame tournure de fin, parfois les m\u00eames mots exacts. La machine n'a pas compris l'esprit du style, elle a recopi\u00e9 la lettre de l'unique exemple qu'on lui a montr\u00e9, encore et encore.<\/p><p>C'est particuli\u00e8rement visible et g\u00eanant dans le public. Imagine un commerce qui r\u00e9pond \u00e0 tous ses avis en ligne avec, \u00e0 chaque fois, la m\u00eame premi\u00e8re phrase mot pour mot. N'importe quel lecteur le rep\u00e8re en faisant d\u00e9filer la page. L'effet est catastrophique: au lieu de para\u00eetre attentif, le commerce para\u00eet automatique, indiff\u00e9rent, presque irrespectueux. On voulait un style reconnaissable, on obtient une r\u00e9ponse toute faite et impersonnelle. L'outil cens\u00e9 humaniser produit l'inverse.<\/p><p>O\u00f9 est l'erreur exactement? Elle est double. Premi\u00e8re erreur: n'avoir montr\u00e9 qu'un seul exemple, et toujours le m\u00eame, donc n'avoir jamais montr\u00e9 que le style peut s'adapter au cas. Deuxi\u00e8me erreur: ne pas avoir nomm\u00e9 ce qui, dans l'exemple, doit \u00eatre imit\u00e9 (l'esprit, le ton) et ce qui doit changer (les d\u00e9tails, l'ouverture, le contenu propre \u00e0 chaque situation). Sans cette distinction, la machine ne peut pas savoir ce qui est signature et ce qui est circonstance.<\/p><p>La le\u00e7on est riche. D'abord, un exemple est un guide, pas un gabarit \u00e0 d\u00e9calquer. Varie tes exemples, montres-en deux ou trois diff\u00e9rents pour que la machine comprenne ce qui reste stable d'un cas \u00e0 l'autre, c'est-\u00e0-dire ton style, et ce qui doit bouger, c'est-\u00e0-dire le contenu. Ensuite, dis-le clairement: \u00ab garde ce ton, mais ne r\u00e9utilise jamais les m\u00eames phrases d'ouverture, adapte chaque r\u00e9ponse au message pr\u00e9cis. \u00bb Enfin, garde toujours ta porte de qualit\u00e9, ici un simple coup d'oeil: est-ce que \u00e7a sonne comme un vrai message unique, ou comme un mod\u00e8le recycl\u00e9? Le sur-mesure demande un peu de vari\u00e9t\u00e9, sinon ce n'est plus du sur-mesure, c'est du pr\u00eat-\u00e0-porter mal cach\u00e9.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">6 \u00b7 Les pi\u00e8ges<\/div><h3><\/h3><ul class='mga-chain'><li><b>Le pi\u00e8ge de l'exemple m\u00e9diocre.<\/b> Sympt\u00f4me: la s\u00e9rie de r\u00e9sultats est correcte mais sans \u00e9clat, elle reproduit un travail moyen. Cause: tu as montr\u00e9 un exemple bof, et la machine imite fid\u00e8lement, d\u00e9fauts compris. R\u00e9flexe: ne montre que des exemples que tu consid\u00e8res vraiment r\u00e9ussis.<\/li><li><b>Le pi\u00e8ge du r\u00e9sultat sans sa situation.<\/b> Sympt\u00f4me: la machine reproduit la forme mais rate le lien avec le cas \u00e0 traiter. Cause: tu as montr\u00e9 la belle sortie sans montrer l'entr\u00e9e qui l'avait d\u00e9clench\u00e9e. R\u00e9flexe: pr\u00e9sente tes exemples en paires, la situation de d\u00e9part puis la r\u00e9ponse.<\/li><li><b>Le pi\u00e8ge du d\u00e9tail mal copi\u00e9.<\/b> Sympt\u00f4me: la machine s'accroche \u00e0 la longueur ou \u00e0 un mot pr\u00e9cis alors que tu voulais le ton. Cause: tu n'as pas dit ce que l'exemple \u00e9tait cens\u00e9 illustrer. R\u00e9flexe: nomme explicitement ce qui compte dans l'exemple, ton, structure, ce qui est libre.<\/li><li><b>Le pi\u00e8ge du contre-exemple contagieux.<\/b> Sympt\u00f4me: tu montres ce qu'il ne faut pas faire, et la machine s'en inspire quand m\u00eame. Cause: le repoussoir n'\u00e9tait pas clairement \u00e9tiquet\u00e9 comme interdit, ou tu en as mis trop. R\u00e9flexe: un seul contre-exemple, bien d\u00e9sign\u00e9 comme \u00e0 ne jamais imiter.<\/li><li><b>Le pi\u00e8ge du gabarit fig\u00e9.<\/b> Sympt\u00f4me: toutes tes r\u00e9ponses se ressemblent trop, m\u00eame ouverture, m\u00eames formules. Cause: un exemple unique recopi\u00e9 \u00e0 la lettre au lieu d'un esprit adapt\u00e9. R\u00e9flexe: varie tes exemples et demande d'adapter chaque cas, jamais de r\u00e9utiliser les m\u00eames phrases.<\/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 que tes r\\u00e9ponses aux avis aient toujours ta signature de style. Quelle approche choisis-tu?\",\"options\":[{\"t\":\"Tu colles deux ou trois de tes meilleures r\\u00e9ponses pass\\u00e9es et tu demandes de traiter le nouvel avis dans le m\\u00eame esprit.\",\"ok\":true,\"why\":\"Montrer de vrais exemples r\\u00e9ussis donne \\u00e0 la machine ton style tel quel, sans qu'elle ait \\u00e0 le deviner \\u00e0 partir d'adjectifs.\"},{\"t\":\"Tu empiles les adjectifs: chaleureux, pro, dynamique, sinc\\u00e8re, moderne mais sobre.\",\"ok\":false,\"why\":\"Les adjectifs restent ouverts \\u00e0 interpr\\u00e9tation. Chacun les comprend diff\\u00e9remment, et la machine aussi, donc le r\\u00e9sultat d\\u00e9rive.\"}]},{\"q\":\"Tu pr\\u00e9pares tes exemples pour montrer un style de r\\u00e9ponse. Comment les pr\\u00e9sentes-tu?\",\"options\":[{\"t\":\"Tu montres seulement les belles r\\u00e9ponses finales, sans le message auquel elles r\\u00e9pondaient.\",\"ok\":false,\"why\":\"Sans la situation de d\\u00e9part, la machine voit la forme mais pas le lien. Elle ne sait pas comment passer d'un cas donn\\u00e9 \\u00e0 la bonne r\\u00e9ponse.\"},{\"t\":\"Tu montres des paires: le message re\\u00e7u, puis ta r\\u00e9ponse, deux fois, avant de donner le nouveau cas.\",\"ok\":true,\"why\":\"Montrer l'entr\\u00e9e et la sortie ensemble, comme des exercices corrig\\u00e9s, permet \\u00e0 la machine de refaire le m\\u00eame chemin sur ton nouveau cas.\"}]},{\"q\":\"Tes deux exemples font par hasard exactement quatre lignes, mais la longueur t'est \\u00e9gale. Que fais-tu?\",\"options\":[{\"t\":\"Tu pr\\u00e9cises ce qui compte vraiment (le ton, remercier d'abord) et tu dis que la longueur est libre.\",\"ok\":true,\"why\":\"Nommer l'intention \\u00e9vite que la machine copie le mauvais d\\u00e9tail, ici la longueur, en la prenant pour une r\\u00e8gle.\"},{\"t\":\"Tu ne dis rien, la machine comprendra bien toute seule ce qui compte.\",\"ok\":false,\"why\":\"Sans indication, la machine peut prendre un d\\u00e9tail accidentel comme la longueur pour une r\\u00e8gle et le reproduire partout.\"}]},{\"q\":\"Tu veux r\\u00e9pondre \\u00e0 tous tes avis avec un exemple que tu adores. Quel risque dois-tu \\u00e9viter?\",\"options\":[{\"t\":\"R\\u00e9utiliser le m\\u00eame exemple \\u00e0 l'identique, ce qui donne des r\\u00e9ponses toutes pareilles et impersonnelles.\",\"ok\":true,\"why\":\"Un gabarit fig\\u00e9 produit du copier-coller visible. Il faut varier les exemples et demander d'adapter chaque r\\u00e9ponse au cas.\"},{\"t\":\"Varier tes exemples et demander d'adapter chaque r\\u00e9ponse au message pr\\u00e9cis.\",\"ok\":false,\"why\":\"C'est justement la bonne pratique, pas un risque. La question demandait le risque \\u00e0 \\u00e9viter, or celui-ci est la solution.\"}]}]<\/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'utiliser des exemples dans une demande, v\u00e9rifie ces points. C'est ta m\u00e9thode pour montrer au lieu de d\u00e9crire.<\/p><div class=\"mga-checklist\"><script type=\"application\/json\" class=\"mga-data\">{\"ck\":\"b1_b\",\"items\":[\"J'ai choisi un ou deux exemples que je consid\\u00e8re vraiment r\\u00e9ussis, pas des cas moyens.\",\"J'ai pr\\u00e9sent\\u00e9 chaque exemple en paire: la situation de d\\u00e9part, puis le r\\u00e9sultat voulu.\",\"J'ai nomm\\u00e9 ce que l'exemple illustre (ton, structure) et ce qui reste libre (longueur, contenu).\",\"Si un d\\u00e9faut revient souvent, j'ai ajout\\u00e9 un seul contre-exemple clairement \\u00e9tiquet\\u00e9 comme \\u00e0 ne jamais imiter.\",\"Je demande d'adapter chaque cas au lieu de recopier les m\\u00eames phrases, pour \\u00e9viter l'effet gabarit.\"]}<\/script><div class=\"mga-host\"><\/div><\/div><\/div><div class=\"mga-q\" data-q=\"b1b1\"><p style=\"margin:0 0 6px;color:#0F2237\">Pourquoi montrer un exemple vaut souvent mieux que d\u00e9crire avec des mots?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Parce qu&#039;un exemple ne laisse aucune place \u00e0 l&#039;interpr\u00e9tation, il montre le r\u00e9sultat voulu tel quel.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Parce que les mots sont interdits dans une demande \u00e0 la machine.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Parce que la machine refuse de travailler sans exemple.<\/button><\/div><div class=\"mga-q\" data-q=\"b1b2\"><p style=\"margin:0 0 6px;color:#0F2237\">Combien d&#039;exemples suffisent en g\u00e9n\u00e9ral pour donner une direction claire?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Un seul suffit souvent, deux ou trois valent mieux pour montrer que le style tient sur des cas diff\u00e9rents.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Au moins dix, sinon la machine ne peut pas comprendre.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Aucun, il vaut mieux tout d\u00e9crire en adjectifs.<\/button><\/div><div class=\"mga-q\" data-q=\"b1b3\"><p style=\"margin:0 0 6px;color:#0F2237\">Qu&#039;est-ce qu&#039;un bon exemple \u00e0 montrer, dans sa forme?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Une paire qui montre la situation de d\u00e9part et le r\u00e9sultat qu&#039;on en a tir\u00e9.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Uniquement le r\u00e9sultat final, sans son contexte.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Une longue description sans aucun exemple concret.<\/button><\/div><div class=\"mga-q\" data-q=\"b1b4\"><p style=\"margin:0 0 6px;color:#0F2237\">Quel est le danger d&#039;un contre-exemple mal pr\u00e9sent\u00e9?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">La machine peut s&#039;en inspirer au lieu de l&#039;\u00e9viter s&#039;il n&#039;est pas clairement \u00e9tiquet\u00e9 comme interdit.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Il rend la machine plus lente pour toujours.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Il efface les bons exemples de la demande.<\/button><\/div><div class=\"mga-q\" data-q=\"b1b5\"><p style=\"margin:0 0 6px;color:#0F2237\">Pourquoi faut-il varier ses exemples plut\u00f4t que recopier toujours le m\u00eame?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Pour que la machine imite l&#039;esprit du style et non la lettre d&#039;un unique mod\u00e8le, \u00e9vitant des r\u00e9ponses toutes pareilles.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Pour rallonger la demande et occuper la machine plus longtemps.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Parce qu&#039;un exemple ne peut jamais \u00eatre r\u00e9utilis\u00e9 deux fois.<\/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 tr\u00e8s r\u00e9pandue chez les d\u00e9butants, et elle bloque plus de gens qu'on ne l'imagine: l'id\u00e9e que la bonne demande doit marcher du premier coup. Tu tapes ta demande, tu re\u00e7ois une r\u00e9ponse imparfaite, et tu te dis: \u00ab voil\u00e0, je n'y arrive pas, ce n'est pas fait pour moi \u00bb. Tu abandonnes apr\u00e8s un seul essai. Comme si un plat devait \u00eatre parfait d\u00e8s la premi\u00e8re cuisson, sans jamais go\u00fbter et rectifier l'assaisonnement.<\/p><p>Pense \u00e0 comment tu travailles dans la vraie vie. Tu \u00e9cris un message important \u00e0 un client, un devis, une lettre un peu d\u00e9licate. Est-ce que tu l'envoies d\u00e8s la premi\u00e8re phrase pos\u00e9e? Non. Tu \u00e9cris, tu relis, tu rayes un mot, tu d\u00e9places une id\u00e9e, tu adoucis une tournure. Tu fais plusieurs passages avant d'\u00eatre content. C'est normal, c'est m\u00eame le signe d'un travail soign\u00e9. Personne ne trouve \u00e7a bizarre.<\/p><p>Avec une intelligence artificielle, c'est exactement la m\u00eame chose, sauf que les passages sont beaucoup plus rapides. Tu n'as pas \u00e0 tout r\u00e9\u00e9crire toi-m\u00eame, tu ajustes ta demande et tu relances. Prenons un exemple. Tu demandes un texte de pr\u00e9sentation, tu le re\u00e7ois, il est trop long et trop formel. Tu ne repars pas de z\u00e9ro et tu ne r\u00e2les pas. Tu dis simplement: \u00ab c'est trop long et trop guind\u00e9, refais-le deux fois plus court, avec un ton plus proche des gens \u00bb. En quelques secondes, tu as une version meilleure. Encore un peu trop de jargon? \u00ab Enl\u00e8ve les mots compliqu\u00e9s, parle comme \u00e0 un voisin. \u00bb Et ainsi de suite, jusqu'\u00e0 ce que ce soit juste.<\/p><p>Cette mani\u00e8re de faire, avancer par petites retouches successives, c'est le vrai secret des gens qui obtiennent d'excellents r\u00e9sultats. Ce n'est pas qu'ils \u00e9crivent la demande parfaite du premier coup. C'est qu'ils savent lire ce qui cloche dans une r\u00e9ponse et le corriger en une phrase. Le premier jet n'est qu'un point de d\u00e9part, une mati\u00e8re brute qu'on affine. Une fois que tu acceptes \u00e7a, tout devient plus facile, et surtout, tu arr\u00eates d'abandonner trop t\u00f4t. La bonne demande, tr\u00e8s souvent, n'est pas celle que tu \u00e9cris, c'est celle que tu obtiens au troisi\u00e8me essai.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">2 \u00b7 Le pourquoi<\/div><h3><\/h3><p>Adopter l'\u00e9tat d'esprit de l'it\u00e9ration, c'est-\u00e0-dire am\u00e9liorer par petits pas au lieu d'exiger la perfection imm\u00e9diate, change profond\u00e9ment ce que tu peux accomplir. Regardons pourquoi c'est d\u00e9cisif pour toi.<\/p><p>Premier changement: tu cesses d'abandonner. La plupart des gens qui disent \u00ab l'IA ne marche pas pour moi \u00bb ont en r\u00e9alit\u00e9 arr\u00eat\u00e9 apr\u00e8s un ou deux essais. Ils ont pris le premier jet imparfait pour un verdict d\u00e9finitif. Quand tu comprends que le premier jet est juste une \u00e9bauche, tu ne baisses plus les bras. Tu sais qu'il y a une version deux, une version trois, et que chacune se rapproche. Cette pers\u00e9v\u00e9rance-l\u00e0 fait toute la diff\u00e9rence entre ceux qui obtiennent des r\u00e9sultats et ceux qui renoncent.<\/p><p>Deuxi\u00e8me changement: tu produis mieux, sans y passer plus de temps. Corriger une r\u00e9ponse en une phrase, c'est infiniment plus rapide que de tout \u00e9crire soi-m\u00eame, et souvent plus rapide aussi que de chercher la demande parfaite du premier coup. Tu pars d'une base correcte, tu la sculptes. Trois retouches rapides valent mieux qu'une heure \u00e0 peaufiner une demande initiale qui, de toute fa\u00e7on, ne tombera pas pile juste.<\/p><p>Troisi\u00e8me changement: tu apprends \u00e0 voir ce qui cloche, et c'est une comp\u00e9tence qui te sert partout. Pour bien it\u00e9rer, il faut savoir nommer le probl\u00e8me. Trop long? Trop formel? Pas assez concret? Mauvais angle? \u00c0 force d'it\u00e9rer, tu aff\u00fbtes ton oeil critique. Tu deviens meilleur juge de ce qui est bon, et \u00e7a d\u00e9teint sur tout ton travail, m\u00eame celui que tu fais sans machine.<\/p><p>Quatri\u00e8me changement: tu gardes la main. L'it\u00e9ration, c'est toi qui diriges. Tu regardes, tu d\u00e9cides ce qui ne va pas, tu ordonnes la correction. Tu n'es pas spectateur d'un r\u00e9sultat qui tombe du ciel, tu es le chef qui go\u00fbte et rectifie. Ce rapport-l\u00e0, actif et exigeant, est exactement celui qu'il faut avoir avec ces outils. Ils proposent, tu disposes.<\/p><p>Enfin, l'it\u00e9ration prot\u00e8ge contre une illusion dangereuse: croire qu'un beau premier r\u00e9sultat est forc\u00e9ment un bon r\u00e9sultat. Une r\u00e9ponse peut sonner bien et contenir une erreur, un chiffre faux, une promesse qu'il ne fallait pas faire. It\u00e9rer, c'est aussi prendre le temps de v\u00e9rifier et de faire corriger ce qui pose probl\u00e8me, au lieu de gober la premi\u00e8re version parce qu'elle est jolie. Tu ne juges pas sur l'emballage, tu juges sur le fond, et si le fond cloche, tu le fais reprendre. C'est cette discipline qui rend le travail digne de confiance.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">3 \u00b7 Le comment<\/div><h3><\/h3><p>Bien it\u00e9rer, ce n'est pas relancer au hasard en esp\u00e9rant mieux. C'est une m\u00e9thode. Voici comment proc\u00e9der pour que chaque passage rapproche du but au lieu de tourner en rond.<\/p><p class='mga-sub'>1. Lire la r\u00e9ponse et nommer pr\u00e9cis\u00e9ment ce qui cloche<\/p><p>Le premier r\u00e9flexe, avant toute relance, c'est de diagnostiquer. Ne dis pas juste \u00ab ce n'est pas bien \u00bb. Ce n'est pas bien comment? Trop long, trop court, trop formel, trop vague, mauvais ton, information fausse, hors sujet? Tant que tu n'as pas mis un mot pr\u00e9cis sur le d\u00e9faut, tu ne peux pas le corriger, tu peux seulement r\u00e2ler.<\/p><p>Prends l'habitude de formuler le probl\u00e8me en une phrase claire, pour toi d'abord. Exemple: tu re\u00e7ois une fiche produit et ton diagnostic est \u00ab c'est correct mais \u00e7a ne parle que des caract\u00e9ristiques techniques, pas de ce que \u00e7a apporte au client \u00bb. Voil\u00e0, tu as nomm\u00e9 le vrai d\u00e9faut. Maintenant tu sais quoi demander. Sans ce diagnostic, tu aurais relanc\u00e9 \u00ab refais mieux \u00bb, et la machine aurait refait autre chose, au hasard.<\/p><p class='mga-sub'>2. Corriger une chose \u00e0 la fois<\/p><p>Le deuxi\u00e8me r\u00e9flexe, c'est de ne pas tout changer d'un coup. La tentation est grande, quand une r\u00e9ponse a trois d\u00e9fauts, de tout demander en m\u00eame temps: plus court, autre ton, autre angle. Le probl\u00e8me, c'est que si le r\u00e9sultat suivant te d\u00e9\u00e7oit encore, tu ne sais plus quelle correction a rat\u00e9. Tu avances \u00e0 l'aveugle.<\/p><p>Corrige plut\u00f4t par \u00e9tapes, un probl\u00e8me par relance quand tu peux. \u00ab D'abord, raccourcis de moiti\u00e9. \u00bb Tu regardes. \u00ab Bien. Maintenant, rends le ton plus proche des gens. \u00bb Tu regardes. \u00ab Bien. Maintenant, ajoute un exemple concret. \u00bb \u00c0 chaque \u00e9tape, tu vois l'effet de ta demande, tu gardes le contr\u00f4le, et tu construis vers le r\u00e9sultat au lieu de secouer le tout en esp\u00e9rant. C'est plus lent en apparence, plus s\u00fbr en r\u00e9alit\u00e9.<\/p><p class='mga-sub'>3. R\u00e9injecter la bonne version comme nouvelle base<\/p><p>Le troisi\u00e8me r\u00e9flexe, c'est de t'appuyer sur ce qui marche d\u00e9j\u00e0. Quand une version est presque bonne, ne repars pas de la demande de d\u00e9part. Prends cette version-l\u00e0 et demande de l'am\u00e9liorer \u00e0 partir d'elle. Tu capitalises sur les progr\u00e8s au lieu de les perdre.<\/p><p>Concr\u00e8tement: \u00ab Voici la version que je garde. Change seulement la derni\u00e8re phrase, elle est trop s\u00e8che, rends-la plus accueillante, ne touche \u00e0 rien d'autre. \u00bb Cette pr\u00e9cision, ne touche \u00e0 rien d'autre, est tr\u00e8s utile: elle emp\u00eache la machine de tout r\u00e9\u00e9crire et de casser ce qui allait bien. Sans elle, tu risques de perdre au deuxi\u00e8me tour ce que tu avais gagn\u00e9 au premier. Exemple d'erreur \u00e0 \u00e9viter: relancer \u00ab refais-le mieux \u00bb alors que la version \u00e9tait \u00e0 quatre-vingt-dix pour cent bonne, et r\u00e9cup\u00e9rer une version enti\u00e8rement diff\u00e9rente, peut-\u00eatre pire.<\/p><p class='mga-sub'>4. V\u00e9rifier le fond avant de conclure<\/p><p>Le quatri\u00e8me r\u00e9flexe, c'est de ne jamais confondre \u00ab \u00e7a me pla\u00eet \u00bb et \u00ab c'est juste \u00bb. Une belle version peut contenir une erreur de fond. Avant de dire termin\u00e9, passe le r\u00e9sultat au crible de la r\u00e9alit\u00e9: les faits sont-ils exacts, les chiffres r\u00e9els, aucune promesse de trop, rien d'invent\u00e9. Si un point cloche, it\u00e8re encore, cette fois sur le fond.<\/p><p>Exemple: une r\u00e9ponse te propose un texte qui affirme \u00ab nous sommes num\u00e9ro un de la r\u00e9gion \u00bb. \u00c7a sonne bien, mais est-ce vrai et peux-tu le prouver? Si non, tu fais corriger: \u00ab retire toute affirmation que je ne peux pas prouver, reste sur ce qui est v\u00e9rifiable \u00bb. L'it\u00e9ration sur le fond est la plus importante de toutes, parce que c'est celle qui prot\u00e8ge ta cr\u00e9dibilit\u00e9. Une jolie phrase fausse te co\u00fbtera toujours plus cher qu'une phrase modeste et vraie.<\/p><p class='mga-syn'>En r\u00e9sum\u00e9: n'attends pas la perfection au premier jet, avance par retouches. Nomme pr\u00e9cis\u00e9ment ce qui cloche avant de relancer, corrige une chose \u00e0 la fois pour garder le contr\u00f4le, r\u00e9injecte la bonne version comme nouvelle base en prot\u00e9geant ce qui marchait d\u00e9j\u00e0, et v\u00e9rifie toujours le fond, faits et promesses, avant de consid\u00e9rer que c'est termin\u00e9.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">4 \u00b7 Le cas r\u00e9el<\/div><h3><\/h3><p>Le meilleur cas de terrain pour parler d'it\u00e9ration et de contr\u00f4le, c'est notre bo\u00eete \u00e0 outils de r\u00e9f\u00e9rencement, qu'on appelle gsc-connect. Derri\u00e8re ce nom un peu technique, l'id\u00e9e est simple: c'est une trousse remplie de dizaines d'outils, chacun avec un nom clair et une fonction pr\u00e9cise, qu'une intelligence artificielle peut appeler pour faire son travail. Un outil pour mesurer les positions sur un moteur de recherche, un autre pour analyser une page, un autre pour comparer des concurrents, un autre pour v\u00e9rifier des donn\u00e9es structur\u00e9es, et ainsi de suite. La machine ne fait pas tout dans sa t\u00eate, elle se sert d'outils, comme un artisan pioche dans sa caisse selon la t\u00e2che.<\/p><p>O\u00f9 est l'it\u00e9ration l\u00e0-dedans? Elle est partout, parce qu'une analyse s\u00e9rieuse ne se fait jamais en un seul geste. On mesure, on regarde le r\u00e9sultat, on ajuste, on remesure. Un premier outil donne une image, elle soul\u00e8ve une question, on appelle un deuxi\u00e8me outil pour creuser, ce qu'il r\u00e9v\u00e8le change la lecture du premier. C'est un dialogue par petits pas, exactement comme les retouches successives d'un texte. Le premier r\u00e9sultat n'est jamais la conclusion, c'est le d\u00e9but de l'enqu\u00eate.<\/p><p>Mais le point le plus important de ce cas concerne le contr\u00f4le du fond, et il vient d'une r\u00e8gle stricte qu'on s'est donn\u00e9e: l'honn\u00eatet\u00e9 avant la belle histoire. On a appris, parfois \u00e0 nos d\u00e9pens, qu'un chiffre qui sort d'un outil doit toujours \u00eatre lu avec sa source et sa limite. Un exemple pr\u00e9cis nous a marqu\u00e9s. Certains outils qui estiment des positions sur un moteur de recherche ne consultent pas vraiment le vrai moteur, ils passent par des sources approch\u00e9es. Un jour, un de ces outils a affirm\u00e9 qu'un site client \u00e9tait tr\u00e8s mal plac\u00e9 sur son propre nom. C'\u00e9tait faux. Sur le vrai moteur, ce site sortait tout en haut. Si on avait gob\u00e9 le premier r\u00e9sultat sans le v\u00e9rifier, on aurait annonc\u00e9 une b\u00eatise \u00e0 un client qui l'aurait constat\u00e9e en deux secondes, et on aurait perdu toute cr\u00e9dibilit\u00e9.<\/p><p>La r\u00e8gle qu'on en a tir\u00e9e est devenue un r\u00e9flexe: on ne conclut jamais sur une seule mesure, surtout quand la source est approximative. On croise, on v\u00e9rifie sur la vraie source quand c'est possible, et on nomme toujours d'o\u00f9 vient un chiffre et ce qu'il ne dit pas. C'est de l'it\u00e9ration sur le fond: on ne s'arr\u00eate pas \u00e0 la premi\u00e8re r\u00e9ponse jolie, on la teste avant de s'y fier.<\/p><p>La le\u00e7on pour toi est directe, m\u00eame si tu n'analyses pas de site. D'abord, un travail s\u00e9rieux se fait par passages successifs, mesure puis ajustement, jamais d'un coup. Ensuite, et surtout, ne prends jamais une premi\u00e8re r\u00e9ponse pour argent comptant, aussi convaincante soit-elle. Demande-toi d'o\u00f9 vient l'information et si elle est v\u00e9rifiable. Une machine peut affirmer une chose fausse avec un aplomb parfait. Ton r\u00f4le, c'est de v\u00e9rifier avant de transmettre. C'est ce doute m\u00e9thodique, appliqu\u00e9 \u00e0 chaque it\u00e9ration, qui s\u00e9pare le travail fiable du travail b\u00e2cl\u00e9 qui a l'air propre.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">5 \u00b7 Le contre-exemple<\/div><h3><\/h3><p>Le contre-exemple de cette le\u00e7on est le plus dangereux de tout le module, parce qu'il ne ressemble pas \u00e0 un \u00e9chec: il ressemble \u00e0 une r\u00e9ussite. C'est le pi\u00e8ge du premier jet qui sonne bien et qu'on accepte sans v\u00e9rifier.<\/p><p>Voici comment \u00e7a se passe. Tu poses une demande, tu re\u00e7ois une r\u00e9ponse. Elle est fluide, bien tourn\u00e9e, confiante. Elle a l'air juste. S\u00e9duit par la forme, tu la prends telle quelle et tu l'utilises: tu la publies, tu l'envoies, tu la montres. Et c'est plus tard, parfois beaucoup plus tard, que le probl\u00e8me \u00e9clate: un chiffre \u00e9tait faux, une affirmation \u00e9tait inv\u00e9rifiable, une promesse ne pouvait pas \u00eatre tenue. La belle r\u00e9ponse contenait une bombe, et tu ne l'as pas d\u00e9samorc\u00e9e parce que tu as jug\u00e9 sur l'emballage.<\/p><p>Ce pi\u00e8ge a un nom simple: confondre l'aisance avec l'exactitude. Une machine peut \u00e9crire une phrase parfaitement construite et compl\u00e8tement fausse, avec le m\u00eame aplomb que pour une phrase vraie. Rien dans le ton ne te pr\u00e9vient. C'est justement ce qui rend le pi\u00e8ge redoutable: plus la r\u00e9ponse est belle, plus tu baisses la garde. Et le domaine o\u00f9 \u00e7a co\u00fbte le plus cher, c'est celui des affirmations sur soi ou sur le march\u00e9. Une r\u00e9ponse qui te fait dire \u00ab nous sommes les meilleurs \u00bb ou \u00ab ce produit garantit tel r\u00e9sultat \u00bb peut te mettre en porte-\u00e0-faux, voire en difficult\u00e9, si tu ne peux pas le prouver.<\/p><p>O\u00f9 est l'erreur? Elle est dans l'absence d'it\u00e9ration sur le fond. La personne a fait z\u00e9ro passage de v\u00e9rification. Elle a trait\u00e9 le premier jet comme un r\u00e9sultat final, alors que par d\u00e9finition un premier jet est une mati\u00e8re brute. Elle a saut\u00e9 l'\u00e9tape la plus importante: se demander \u00ab est-ce vrai, est-ce v\u00e9rifiable, est-ce prudent \u00bb. Et souvent, elle a aussi saut\u00e9 l'\u00e9tape du contr\u00f4le avant une action irr\u00e9versible, publier ou envoyer, exactement le moment o\u00f9 une erreur devient tr\u00e8s difficile \u00e0 rattraper.<\/p><p>La le\u00e7on est claire et elle vaut comme r\u00e8gle de vie avec ces outils. Ne juge jamais une r\u00e9ponse sur sa beaut\u00e9, juge-la sur son fond. Avant de consid\u00e9rer qu'un r\u00e9sultat est termin\u00e9, fais au minimum un passage de v\u00e9rification: les faits sont-ils exacts, les chiffres r\u00e9els et non invent\u00e9s, les promesses tenables, rien d'affirm\u00e9 que tu ne puisses prouver. Si un doute subsiste, it\u00e8re: \u00ab retire tout ce que je ne peux pas prouver \u00bb. Et garde la r\u00e8gle d'or des actions qu'on ne peut pas d\u00e9faire: on relit, et dans le doute on fait valider, avant d'appuyer. Le premier jet n'est pas le coupable, l'absence de v\u00e9rification l'est. Une belle r\u00e9ponse non v\u00e9rifi\u00e9e n'est pas un gain de temps, c'est une dette qui tombe au pire moment.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">6 \u00b7 Les pi\u00e8ges<\/div><h3><\/h3><ul class='mga-chain'><li><b>Le pi\u00e8ge de l'abandon apr\u00e8s un essai.<\/b> Sympt\u00f4me: tu conclus que l'outil ne marche pas parce que le premier r\u00e9sultat est imparfait. Cause: tu prends le premier jet pour un verdict au lieu d'une \u00e9bauche. R\u00e9flexe: pr\u00e9vois toujours une version deux et trois, un premier jet se retouche.<\/li><li><b>Le pi\u00e8ge du diagnostic flou.<\/b> Sympt\u00f4me: tu relances refais mieux et tu obtiens autre chose, pas mieux. Cause: tu n'as pas nomm\u00e9 pr\u00e9cis\u00e9ment ce qui clochait. R\u00e9flexe: mets un mot exact sur le d\u00e9faut, trop long, trop formel, faux, avant de relancer.<\/li><li><b>Le pi\u00e8ge du tout changer d'un coup.<\/b> Sympt\u00f4me: le r\u00e9sultat suivant te d\u00e9\u00e7oit encore et tu ne sais pas pourquoi. Cause: tu as corrig\u00e9 trois choses en m\u00eame temps, impossible de savoir ce qui a rat\u00e9. R\u00e9flexe: corrige un probl\u00e8me par relance pour voir l'effet de chaque demande.<\/li><li><b>Le pi\u00e8ge de la base perdue.<\/b> Sympt\u00f4me: une version presque bonne devient enti\u00e8rement diff\u00e9rente et parfois pire apr\u00e8s relance. Cause: tu as relanc\u00e9 sans dire de garder ce qui marchait. R\u00e9flexe: r\u00e9injecte la bonne version et pr\u00e9cise ne touche qu'\u00e0 ce point, \u00e0 rien d'autre.<\/li><li><b>Le pi\u00e8ge du beau mais faux.<\/b> Sympt\u00f4me: tu d\u00e9couvres apr\u00e8s coup un chiffre faux ou une promesse intenable dans une r\u00e9ponse qui semblait parfaite. Cause: tu as jug\u00e9 sur la forme sans v\u00e9rifier le fond. R\u00e9flexe: avant de conclure, v\u00e9rifie faits, chiffres et promesses, et fais valider avant toute action irr\u00e9versible.<\/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\":\"Ton premier r\\u00e9sultat est imparfait: trop long et trop formel. Quelle est la meilleure r\\u00e9action?\",\"options\":[{\"t\":\"Tu conclus que l'outil n'est pas fait pour toi et tu abandonnes.\",\"ok\":false,\"why\":\"Abandonner apr\\u00e8s un essai, c'est prendre une \\u00e9bauche pour un verdict. Le premier jet se retouche presque toujours.\"},{\"t\":\"Tu relances en corrigeant: d'abord raccourcis de moiti\\u00e9, puis tu ajusteras le ton.\",\"ok\":true,\"why\":\"It\\u00e9rer par petites retouches successives est exactement la m\\u00e9thode des gens qui obtiennent de bons r\\u00e9sultats.\"}]},{\"q\":\"Une r\\u00e9ponse a trois d\\u00e9fauts \\u00e0 la fois. Comment corriges-tu?\",\"options\":[{\"t\":\"Tu demandes de tout changer en une seule relance, plus court, autre ton, autre angle.\",\"ok\":false,\"why\":\"Si le r\\u00e9sultat suivant d\\u00e9\\u00e7oit, tu ne sais pas quelle correction a rat\\u00e9. Tu avances \\u00e0 l'aveugle.\"},{\"t\":\"Tu corriges un probl\\u00e8me par relance, en regardant l'effet de chaque demande.\",\"ok\":true,\"why\":\"Une chose \\u00e0 la fois te garde le contr\\u00f4le et te permet de construire vers le r\\u00e9sultat au lieu de secouer le tout.\"}]},{\"q\":\"Une version est \\u00e0 quatre-vingt-dix pour cent bonne, seule la derni\\u00e8re phrase cloche. Que fais-tu?\",\"options\":[{\"t\":\"Tu r\\u00e9injectes cette version et tu demandes de changer seulement la derni\\u00e8re phrase, sans toucher au reste.\",\"ok\":true,\"why\":\"S'appuyer sur la bonne base et prot\\u00e9ger ce qui marche \\u00e9vite de perdre au deuxi\\u00e8me tour ce que tu avais gagn\\u00e9.\"},{\"t\":\"Tu relances refais-le mieux depuis ta demande de d\\u00e9part.\",\"ok\":false,\"why\":\"Repartir de z\\u00e9ro risque de te rendre une version enti\\u00e8rement diff\\u00e9rente, peut-\\u00eatre pire, et tu perds tes progr\\u00e8s.\"}]},{\"q\":\"Une r\\u00e9ponse superbe affirme nous sommes num\\u00e9ro un de la r\\u00e9gion. Quel r\\u00e9flexe as-tu?\",\"options\":[{\"t\":\"Tu la publies telle quelle, elle est bien \\u00e9crite et \\u00e7a sonne fort.\",\"ok\":false,\"why\":\"Juger sur la forme sans v\\u00e9rifier le fond est le pi\\u00e8ge le plus co\\u00fbteux. Une belle phrase inv\\u00e9rifiable te met en porte-\\u00e0-faux.\"},{\"t\":\"Tu v\\u00e9rifies si c'est vrai et prouvable, et sinon tu fais retirer toute affirmation que tu ne peux pas prouver.\",\"ok\":true,\"why\":\"L'it\\u00e9ration sur le fond prot\\u00e8ge ta cr\\u00e9dibilit\\u00e9. Une phrase modeste et vraie vaut mieux qu'une jolie phrase fausse.\"}]}]<\/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 de consid\u00e9rer un r\u00e9sultat comme termin\u00e9, d\u00e9roule cette boucle d'it\u00e9ration. C'est ta m\u00e9thode pour transformer un premier jet en travail juste.<\/p><div class=\"mga-checklist\"><script type=\"application\/json\" class=\"mga-data\">{\"ck\":\"b1_c\",\"items\":[\"Je ne prends pas le premier jet pour un verdict: je pr\\u00e9vois de le retoucher.\",\"J'ai nomm\\u00e9 pr\\u00e9cis\\u00e9ment ce qui cloche (trop long, trop formel, faux) avant de relancer.\",\"Je corrige un probl\\u00e8me \\u00e0 la fois pour voir l'effet de chaque relance.\",\"Quand une version est presque bonne, je la r\\u00e9injecte comme base et je pr\\u00e9cise de ne pas toucher au reste.\",\"Avant de conclure, je v\\u00e9rifie le fond: faits exacts, chiffres r\\u00e9els, aucune promesse intenable, rien d'inv\\u00e9rifiable.\"]}<\/script><div class=\"mga-host\"><\/div><\/div><\/div><div class=\"mga-q\" data-q=\"b1c1\"><p style=\"margin:0 0 6px;color:#0F2237\">Pourquoi ne faut-il pas prendre le premier jet pour un r\u00e9sultat final?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Parce qu&#039;un premier jet est une mati\u00e8re brute qu&#039;on affine par retouches successives.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Parce que le premier jet est toujours volontairement mauvais.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Parce qu&#039;il est interdit d&#039;utiliser une premi\u00e8re r\u00e9ponse.<\/button><\/div><div class=\"mga-q\" data-q=\"b1c2\"><p style=\"margin:0 0 6px;color:#0F2237\">Que faut-il faire avant de relancer une demande?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Nommer pr\u00e9cis\u00e9ment ce qui cloche, avec un mot exact sur le d\u00e9faut.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Relancer aussit\u00f4t en disant simplement refais mieux.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Changer compl\u00e8tement de sujet.<\/button><\/div><div class=\"mga-q\" data-q=\"b1c3\"><p style=\"margin:0 0 6px;color:#0F2237\">Pourquoi corriger un probl\u00e8me \u00e0 la fois?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Pour voir l&#039;effet de chaque relance et garder le contr\u00f4le au lieu d&#039;avancer \u00e0 l&#039;aveugle.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Pour rendre le travail plus lent volontairement.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Parce que la machine n&#039;accepte qu&#039;une correction dans sa vie.<\/button><\/div><div class=\"mga-q\" data-q=\"b1c4\"><p style=\"margin:0 0 6px;color:#0F2237\">Quand une version est presque bonne, quelle est la bonne fa\u00e7on de l&#039;am\u00e9liorer?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">La r\u00e9injecter comme base et demander de ne changer que le point pr\u00e9cis qui cloche.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Repartir de la demande de d\u00e9part comme si de rien n&#039;\u00e9tait.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">La jeter et tout recommencer de z\u00e9ro.<\/button><\/div><div class=\"mga-q\" data-q=\"b1c5\"><p style=\"margin:0 0 6px;color:#0F2237\">Quel est le pi\u00e8ge le plus co\u00fbteux avec une r\u00e9ponse bien \u00e9crite?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Confondre l&#039;aisance avec l&#039;exactitude et l&#039;accepter sans v\u00e9rifier le fond.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">La trouver trop courte pour \u00eatre utile.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">La corriger alors qu&#039;elle \u00e9tait d\u00e9j\u00e0 parfaite.<\/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>Contrainte<\/b><div class=\"df\">Les limites et les interdits que tu poses: longueur, ton, r\u00e8gles \u00e0 tenir absolument, choses \u00e0 ne surtout pas faire.<\/div><div class=\"an\">Comme les bords d&#039;un terrain de sport: ils ne g\u00eanent pas le jeu, ils l&#039;emp\u00eachent de partir n&#039;importe o\u00f9.<\/div><\/div><div class=\"mga-mot\"><b>Exemple dans la demande<\/b><div class=\"df\">Montrer un cas d\u00e9j\u00e0 fait, entr\u00e9e et sortie, pour que la machine imite ta mani\u00e8re au lieu de la deviner \u00e0 partir de mots vagues.<\/div><div class=\"an\">Comme dire attends, laisse-moi te montrer plut\u00f4t que de longuement expliquer.<\/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>Porte de qualit\u00e9<\/b><div class=\"df\">Un contr\u00f4le qu&#039;on met avant de valider un travail, qui refuse ce qui ne respecte pas les r\u00e8gles.<\/div><div class=\"an\">Comme le videur \u00e0 l&#039;entr\u00e9e: si tu ne remplis pas les conditions, tu ne passes pas.<\/div><\/div><div class=\"mga-mot\"><b>Action irr\u00e9versible<\/b><div class=\"df\">Une action qu&#039;on ne peut pas d\u00e9faire une fois faite, comme envoyer un message \u00e0 un client ou publier une page.<\/div><div class=\"an\">Comme l\u00e2cher une assiette: une fois partie, on ne la rattrape plus, alors on tient bien avant.<\/div><\/div><\/div><div class=\"mga-reflexe\">Structure ta demande, montre un exemple, puis it\u00e8re et v\u00e9rifie le fond: un bon r\u00e9sultat ne se devine pas, il se construit.<\/div><div class=\"mga-liv\"><h3>Ton livrable<\/h3><p>\u00c0 la fin de ce module, tu repars avec ta propre fiche de prompts r\u00e9utilisables. Concr\u00e8tement: un mod\u00e8le de demande \u00e0 cinq briques (r\u00f4le et contexte, t\u00e2che, format, contrainte) que tu remplis en changeant trois mots, deux ou trois de tes meilleurs exemples r\u00e9els pr\u00eats \u00e0 coller pour imposer ton style, et ta petite porte de qualit\u00e9 personnelle, la courte liste de v\u00e9rification que tu passes avant de valider ou d'envoyer quoi que ce soit. Garde ce document, il devient ton outil de travail: tu ne repars plus jamais d'une page blanche.<\/div><div class=\"mga-eval\" data-code=\"b1\"><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 B1<\/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>Prochaine \u00e9tape &middot; B2<\/h3><p>Quel outil IA choisir, et pour quoi faire<\/p><a class=\"mga-cta\" href=\"\/academy\/quel-outil-ia-choisir\/\">Continuer vers B2<\/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-1976","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>Le prompt qui marche vraiment - 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\/le-prompt-qui-marche-vraiment\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Le prompt qui marche vraiment\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mogacode.ma\/en\/academy\/le-prompt-qui-marche-vraiment\/\" \/>\n<meta property=\"og:site_name\" content=\"Mogacode\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/mogacode\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.mogacode.ma\/wp-content\/uploads\/2026\/09\/og\/og-mod-le-prompt-qui-marche-vraiment.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-le-prompt-qui-marche-vraiment.png\" \/>\n<meta name=\"twitter:site\" content=\"@mogacode\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Le prompt qui marche vraiment - 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\/le-prompt-qui-marche-vraiment\/","og_locale":"en_US","og_type":"article","og_title":"Le prompt qui marche vraiment","og_url":"https:\/\/www.mogacode.ma\/en\/academy\/le-prompt-qui-marche-vraiment\/","og_site_name":"Mogacode","article_publisher":"https:\/\/www.facebook.com\/mogacode","og_image":[{"url":"https:\/\/www.mogacode.ma\/wp-content\/uploads\/2026\/09\/og\/og-mod-le-prompt-qui-marche-vraiment.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_image":"https:\/\/www.mogacode.ma\/wp-content\/uploads\/2026\/09\/og\/og-mod-le-prompt-qui-marche-vraiment.png","twitter_site":"@mogacode","schema":{"@context":"https:\/\/schema.org","@graph":[]}},"_links":{"self":[{"href":"https:\/\/www.mogacode.ma\/en\/wp-json\/wp\/v2\/pages\/1976","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=1976"}],"version-history":[{"count":0,"href":"https:\/\/www.mogacode.ma\/en\/wp-json\/wp\/v2\/pages\/1976\/revisions"}],"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=1976"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}