{"id":1979,"date":"2026-09-19T16:21:06","date_gmt":"2026-09-19T16:21:06","guid":{"rendered":"https:\/\/www.mogacode.ma\/academy\/verifier-et-corriger-l-ia\/"},"modified":"2026-09-19T16:21:06","modified_gmt":"2026-09-19T16:21:06","slug":"verifier-et-corriger-l-ia","status":"publish","type":"page","link":"https:\/\/www.mogacode.ma\/en\/academy\/verifier-et-corriger-l-ia\/","title":{"rendered":"Verifier, corriger, assumer"},"content":{"rendered":"<div class=\"mga-shell\" data-code=\"b4\"><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\" data-code=\"b1\" data-state=\"open\" href=\"\/academy\/le-prompt-qui-marche-vraiment\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"3.2\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">B1<\/span><span class=\"mt\">Le prompt qui marche vraiment<\/span><\/a><a class=\"mga-modlink\" data-code=\"b2\" data-state=\"open\" href=\"\/academy\/quel-outil-ia-choisir\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"3.2\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">B2<\/span><span class=\"mt\">Quel outil IA choisir, et pour quoi faire<\/span><\/a><a class=\"mga-modlink\" data-code=\"b3\" data-state=\"open\" href=\"\/academy\/gagner-du-temps-avec-l-ia\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"3.2\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">B3<\/span><span class=\"mt\">Gagner du temps au quotidien<\/span><\/a><a class=\"mga-modlink cur\" 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><div class=\"mga-subs\"><a class=\"mga-sublink\" data-ch=\"0\" href=\"#sm-0\"><span class=\"d\"><\/span>Relire avant de croire<\/a><a class=\"mga-sublink\" data-ch=\"1\" href=\"#sm-1\"><span class=\"d\"><\/span>Recouper et corriger<\/a><a class=\"mga-sublink\" data-ch=\"2\" href=\"#sm-2\"><span class=\"d\"><\/span>Assumer ce que tu publies<\/a><\/div><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=\"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\">B4 \u00b7 Niveau 1 \u00b7 1h15 \u00b7 gratuit<\/p><h1>V\u00e9rifier, corriger, assumer<\/h1><p>Tu repars avec : Un protocole de contr\u00f4le qualit\u00e9, et l&#039;oeil pour rep\u00e9rer une erreur ou un chiffre invent\u00e9 avant qu&#039;il ne parte chez un client.<\/p><\/div><div class=\"mga-capsule\"><video controls preload=\"metadata\" playsinline poster=\"\/wp-content\/uploads\/2026\/09\/academy-b4-accroche.jpg\"><source src=\"\/wp-content\/uploads\/2026\/09\/academy-b4-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=\"b4\" data-n=\"3\"><div class=\"mga-chnav\"><button type=\"button\" class=\"mga-chtab on\" data-ch=\"0\"><span class=\"num\">1<\/span>Relire avant de croire<\/button><button type=\"button\" class=\"mga-chtab\" data-ch=\"1\"><span class=\"num\">2<\/span>Recouper et corriger<\/button><button type=\"button\" class=\"mga-chtab\" data-ch=\"2\"><span class=\"num\">3<\/span>Assumer ce que tu publies<\/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 dix-huit heures et tu veux boucler ta journ\u00e9e. Un client t'a pos\u00e9 une question pr\u00e9cise ce matin: est-ce que tel d\u00e9tail est correct, est-ce que telle information est bien \u00e0 jour. Tu ouvres l'assistant, tu poses la question, et en trois secondes une r\u00e9ponse tombe sur ton \u00e9cran. Elle a l'air s\u00fbre d'elle. Les phrases sont nettes, bien tourn\u00e9es, il y a m\u00eame des petits d\u00e9tails qui donnent l'impression que la machine conna\u00eet le dossier par coeur. Tu copies, tu colles, tu envoies. Soulagement. Tu passes \u00e0 autre chose.<\/p><p>Le lendemain matin, le client r\u00e9pond: ce n'est pas \u00e7a du tout. Le d\u00e9tail \u00e9tait faux. Pas un peu approximatif, faux. Et le pire, c'est que tu ne peux m\u00eame pas dire d'o\u00f9 \u00e7a sort, parce que tu n'as rien v\u00e9rifi\u00e9. Tu as fait confiance au ton. Tu t'es dit: \u00e7a a l'air juste, donc c'est juste. Et c'est exactement l\u00e0 que tout se joue.<\/p><p>Voil\u00e0 la chose la plus importante \u00e0 comprendre au tout d\u00e9but: une intelligence artificielle qui \u00e9crit ne sait pas quand elle a raison et quand elle se trompe. Elle produit toujours le m\u00eame genre de phrases, propres et assur\u00e9es, que le contenu soit exact ou compl\u00e8tement invent\u00e9. Elle n'a pas de petite voix int\u00e9rieure qui dit h\u00e9site, l\u00e0 je ne suis pas s\u00fbre. Un humain, quand il ne sait pas, \u00e7a se voit: il bafouille, il dit peut-\u00eatre, il te regarde de travers. La machine, non. Elle \u00e9crit une b\u00eatise avec la m\u00eame belle assurance qu'une v\u00e9rit\u00e9.<\/p><p>Alors la premi\u00e8re tension du m\u00e9tier, celle qu'on rencontre d\u00e8s le premier jour, c'est celle-ci: le ton confiant de la r\u00e9ponse te pousse \u00e0 croire, et ta fatigue de fin de journ\u00e9e te pousse \u00e0 envoyer vite. Deux forces qui te disent vas-y, fais confiance. Et une seule habitude, une seule, qui te prot\u00e8ge: relire avant de croire. Pas relire pour corriger la grammaire. Relire pour te demander, mot apr\u00e8s mot, est-ce que \u00e7a, je le tiens pour vrai, et sur quoi. Tant que tu n'as pas install\u00e9 ce r\u00e9flexe dans ta main, tu es \u00e0 la merci de la premi\u00e8re r\u00e9ponse bien \u00e9crite qui passe. Cette le\u00e7on, on va la d\u00e9monter ensemble, tranquillement, pour qu'\u00e0 la fin relire ne soit plus une corv\u00e9e mais le premier geste, celui que tu fais sans m\u00eame y penser.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">2 \u00b7 Le pourquoi<\/div><h3><\/h3><p>Installer ce r\u00e9flexe change trois choses tr\u00e8s concr\u00e8tes dans ta vie de tous les jours, et aucune n'est th\u00e9orique.<\/p><p>La premi\u00e8re: tu arr\u00eates de renvoyer tes erreurs aux autres. Quand tu envoies sans relire, ce n'est plus toi qui contr\u00f4les ce qui sort de ton clavier, c'est la machine. Ton nom est en bas du message, mais le contenu, tu ne l'as pas vraiment choisi, tu l'as juste laiss\u00e9 passer. Le jour o\u00f9 tu relis d'abord, tu redeviens l'auteur. Ce qui part, tu l'as regard\u00e9, tu l'as tenu dans ta main, tu peux l'expliquer. C'est une diff\u00e9rence \u00e9norme dans la t\u00eate: tu passes de je transmets ce que la machine a dit \u00e0 je dis ce que je sais et ce que j'ai v\u00e9rifi\u00e9.<\/p><p>La deuxi\u00e8me: tu gagnes du temps, \u00e0 l'envers de ce que tu crois. Au d\u00e9but tu te dis que relire ralentit. C'est vrai \u00e0 la minute pr\u00e8s, faux \u00e0 la journ\u00e9e. Une r\u00e9ponse fausse envoy\u00e9e, c'est un client qui revient, une correction, une excuse, parfois un dossier \u00e0 reprendre depuis le d\u00e9but, et surtout une petite fissure dans la confiance. Trois minutes de relecture t'\u00e9conomisent souvent une heure de rattrapage et une conversation d\u00e9sagr\u00e9able. Le r\u00e9flexe n'est pas un frein, c'est une assurance.<\/p><p>La troisi\u00e8me, la plus profonde: tu deviens quelqu'un sur qui on peut compter. Dans un monde o\u00f9 tout le monde a acc\u00e8s aux m\u00eames outils, o\u00f9 n'importe qui peut sortir un texte propre en trois secondes, la valeur ne vient plus du fait d'aller vite. Elle vient du fait que ce que tu dis est fiable. Le coll\u00e8gue qui relit, dont on sait que quand il dit c'est bon, c'est vraiment bon, devient la personne \u00e0 qui on confie les choses qui comptent. Celui qui balance sans regarder devient celui qu'on recontrole tout le temps, donc celui qui ralentit tout le monde.<\/p><p>Il y a aussi un changement de regard sur la machine elle-m\u00eame. Tant que tu crois qu'elle sait, tu es un peu son otage: si elle se trompe, tu tombes avec elle. Le jour o\u00f9 tu comprends qu'elle propose, et que c'est toi qui d\u00e9cides ce qui est vrai, le rapport s'inverse. Elle redevient ce qu'elle est: un outil formidable pour aller vite sur le brouillon, et un outil dangereux si tu lui donnes le dernier mot. Relire avant de croire, ce n'est pas se m\u00e9fier de la technologie par principe. C'est reprendre ta place. La machine avance une r\u00e9ponse, et toi tu restes la personne qui dit oui, \u00e7a je le valide, ou non, \u00e7a je ne le tiens pas encore.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">3 \u00b7 Le comment<\/div><h3><\/h3><p class=\"mga-sub\">1. Lire deux fois, avec deux paires d'yeux diff\u00e9rentes<\/p><p>La premi\u00e8re lecture, tu la fais toujours en mode s\u00e9duit. Le texte est bien \u00e9crit, tu hoches la t\u00eate, \u00e7a coule. C'est normal et c'est un pi\u00e8ge. Il faut donc une deuxi\u00e8me lecture, compl\u00e8tement diff\u00e9rente, o\u00f9 tu changes de casquette. \u00c0 la premi\u00e8re tu lisais comme un lecteur press\u00e9. \u00c0 la deuxi\u00e8me tu lis comme un contr\u00f4leur m\u00e9fiant, celui qui cherche la faille.<\/p><p>Concr\u00e8tement, \u00e0 la deuxi\u00e8me lecture, tu ralentis. Tu passes sur chaque affirmation en te posant une seule question \u00e0 chaque fois: est-ce que je sais que c'est vrai. Pas est-ce que \u00e7a sonne vrai. Est-ce que je le sais. Prends un exemple simple: la machine \u00e9crit que tel \u00e9tablissement ouvre \u00e0 neuf heures. \u00c0 la premi\u00e8re lecture, tu ne t'arr\u00eates pas, c'est plausible. \u00c0 la deuxi\u00e8me, tu te demandes: neuf heures, je le tiens d'o\u00f9, moi. Si la r\u00e9ponse est de nulle part, c'est la machine qui l'a dit, alors ce n'est pas v\u00e9rifi\u00e9, c'est juste \u00e9crit.<\/p><p class=\"mga-sub\">2. S\u00e9parer trois natures de phrases<\/p><p>Toutes les phrases d'une r\u00e9ponse ne se valent pas, et les traiter pareil est une erreur. Il y a trois familles \u00e0 distinguer, et apprendre \u00e0 les rep\u00e9rer d'un coup d'oeil est ce qui te fera gagner le plus de s\u00e9curit\u00e9.<\/p><p>La premi\u00e8re famille: les faits v\u00e9rifiables. Un chiffre, une date, un horaire, un nom, un prix, une adresse, une loi, une citation. Tout ce qui peut \u00eatre vrai ou faux dans le monde r\u00e9el. Ce sont les phrases les plus dangereuses, parce qu'une machine peut les inventer avec un aplomb total. Un fait doit toujours pouvoir remonter \u00e0 une source. S'il ne remonte \u00e0 rien, il est suspect jusqu'\u00e0 preuve du contraire.<\/p><p>La deuxi\u00e8me famille: les formulations et les tournures. La machine reformule bien, elle trouve des mots, elle structure. L\u00e0, le risque n'est pas la fausset\u00e9, c'est le ton: trop commercial, trop lourd, pas dans ta voix. \u00c7a se corrige, \u00e7a ne se v\u00e9rifie pas contre une source.<\/p><p>La troisi\u00e8me famille: les jugements et les recommandations. La machine te dit il vaudrait mieux faire ceci. Ce n'est ni vrai ni faux, c'est un avis. Et un avis de machine ne vaut pas mieux qu'un autre avis: c'est \u00e0 toi, avec ton exp\u00e9rience du terrain, de d\u00e9cider si tu le suis. Exemple concret: si la machine te conseille une tournure agressive pour un message client, ce n'est pas un fait \u00e0 v\u00e9rifier, c'est une d\u00e9cision \u00e0 prendre, et tu connais tes clients mieux qu'elle.<\/p><p class=\"mga-sub\">3. Traquer les signaux de fum\u00e9e<\/p><p>Avec l'habitude, tu apprends \u00e0 sentir les endroits o\u00f9 la machine est le plus susceptible d'avoir invent\u00e9. Ce sont des signaux \u00e0 conna\u00eetre. La pr\u00e9cision excessive en est un: quand une r\u00e9ponse te sort un chiffre tr\u00e8s pr\u00e9cis sur un sujet pointu, m\u00e9fie-toi, la fausse pr\u00e9cision est une signature classique. Les d\u00e9tails trop ronds ou trop parfaits en sont un autre. Les affirmations sur des choses tr\u00e8s r\u00e9centes aussi, parce que la machine peut ne pas les conna\u00eetre et combler le trou en inventant plut\u00f4t qu'en disant je ne sais pas.<\/p><p>Un autre signal: quand tu ne peux pas, toi, expliquer d'o\u00f9 vient l'information. Si tu es incapable de dire \u00e0 un coll\u00e8gue voil\u00e0 pourquoi je pense que c'est vrai, alors ce n'est pas encore une information, c'est une phrase. Note mentalement ces zones rouges pendant ta relecture, ce sont elles qui iront \u00e0 l'\u00e9tape de recoupement du sous-module suivant.<\/p><p class=\"mga-sub\">4. Lire \u00e0 voix haute les passages sensibles<\/p><p>\u00c7a a l'air b\u00eate et c'est redoutablement efficace. Un message important, une phrase qui engage, un chiffre qui compte: lis-le \u00e0 voix haute, lentement. Ta bouche attrape ce que ton oeil laisse filer. Les tournures fausses, les mots qui ne sont pas \u00e0 toi, les affirmations que tu n'assumes pas vraiment, tout \u00e7a devient bizarre quand tu l'entends. Beaucoup d'erreurs qu'on aurait envoy\u00e9es les yeux ferm\u00e9s meurent au moment o\u00f9 on les prononce. C'est ta derni\u00e8re barri\u00e8re avant l'envoi, et elle ne co\u00fbte rien.<\/p><p class=\"mga-syn\">En r\u00e9sum\u00e9 : ne lis jamais une sortie d'IA une seule fois. Lis-la deux fois, la deuxi\u00e8me en contr\u00f4leur m\u00e9fiant, en triant les faits v\u00e9rifiables (dangereux), les formulations (\u00e0 ajuster) et les avis (\u00e0 d\u00e9cider), en rep\u00e9rant les signaux de fum\u00e9e, et en pronon\u00e7ant \u00e0 voix haute ce qui engage. Tant que tu ne peux pas dire d'o\u00f9 vient une info, ce n'est pas une info, c'est juste une phrase bien \u00e9crite.<\/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>Tu veux voir de tes propres yeux ce dont parle ce module, plut\u00f4t que de me croire sur parole. Parfait, c'est exactement l'esprit du r\u00e9flexe qu'on t'apprend. Va poser une question \u00e0 l'IA souveraine de l'Academy, celle qui tourne sur les serveurs de MogaCode, et observe non pas si sa r\u00e9ponse est jolie, mais si tu serais capable, toi, de dire d'o\u00f9 elle sort chaque affirmation. Tu vas sentir en direct la diff\u00e9rence entre une phrase bien \u00e9crite et une phrase que tu peux tenir pour vraie.<\/p><div class=\"mga-lab\" data-ex=\"b4_ia\"><p class=\"lh\">Parle a notre IA souveraine<\/p><p class=\"ls\">Tu veux voir de tes propres yeux ce dont parle ce module, plut\u00f4t que de me croire sur parole. Parfait, c&#039;est exactement l&#039;esprit du r\u00e9flexe qu&#039;on t&#039;apprend. Va poser une question \u00e0 l&#039;IA souveraine de <\/p><textarea class=\"mga-in\" maxlength=\"400\" placeholder=\"Pose-lui exactement ceci: Donne-moi trois faits pr\u00e9cis sur ma ville, avec pour chacun sa source, et dis-moi clairement lesquels tu n&#039;es pas s\u00fbr de pouvoir v\u00e9rifier. Puis regarde comment elle s\u00e9pare ce qu&#039;elle affirme de ce qu&#039;elle ne peut pas garantir, et demande-toi ce que tu devrais aller recouper avant d&#039;utiliser ces faits.\"><\/textarea><div class=\"row\"><button type=\"button\" class=\"b1 mga-try\">Essaie<\/button><button type=\"button\" class=\"b2 mga-guide\">Puis teste une limite<\/button><span class=\"cc\"><span class=\"n\">0<\/span>\/400<\/span><\/div><div class=\"mga-out mga-o1\" hidden><\/div><div class=\"mga-note mga-n1\" hidden><\/div><p class=\"warn\">Mod\u00e8le local souverain, a but pedagogique. Il peut se tromper : c'est justement la le\u00e7on.<\/p><\/div><\/div><div class=\"mga-step\"><div class=\"n\">5 \u00b7 Le cas r\u00e9el<\/div><h3><\/h3><p>Chez MogaCode, il existe une machine qui fabrique des pages de site pendant la nuit, toute seule. On l'appelle l'autopilote de contenu. Pendant que tout le monde dort, elle prend un sujet, une ville, un m\u00e9tier, et elle r\u00e9dige une page compl\u00e8te. Au r\u00e9veil, il y a du travail neuf. Dit comme \u00e7a, \u00e7a ressemble au r\u00eave: la machine bosse, l'humain n'a plus qu'\u00e0 ramasser. Sauf que la premi\u00e8re question qu'on s'est pos\u00e9e en la construisant, c'est justement celle de ce sous-module: comment on \u00e9vite de croire aveugl\u00e9ment ce qu'elle produit.<\/p><p>Parce que si on publiait tel quel tout ce qu'elle \u00e9crit, on publierait aussi ses rat\u00e9s. Une page trop courte, un titre b\u00e2cl\u00e9, une information douteuse, un texte qui se r\u00e9p\u00e8te, une page qui ressemble trop \u00e0 une autre. Une IA qui \u00e9crit vite \u00e9crit aussi des choses m\u00e9diocres, et elle le fait avec le m\u00eame aplomb que quand elle \u00e9crit bien. Publier sans relire, ce serait mettre en ligne, \u00e0 notre nom, des pages qu'on n'a jamais regard\u00e9es.<\/p><p>Alors on a mis en place ce qu'on appelle des portes de qualit\u00e9. Ce sont des contr\u00f4les automatiques que chaque page doit franchir avant d'avoir le droit d'exister. C'est la version machine de relire avant de croire. Une porte v\u00e9rifie que la page est assez fournie, qu'elle n'est pas creuse. Une autre v\u00e9rifie qu'elle est bien structur\u00e9e, avec un titre principal unique et des sous-parties logiques, pas un escalier de titres artificiels. Une autre traque les phrases vides, les placeholders, les endroits o\u00f9 la machine aurait mis du remplissage au lieu de vraie mati\u00e8re. Une autre compare la page aux pages d\u00e9j\u00e0 existantes pour \u00e9carter les quasi-doublons. Une autre encore va tester les liens: si un lien pointe vers une page morte, on le retire, on ne garde pas un lien cass\u00e9 sous pr\u00e9texte que la machine l'a \u00e9crit.<\/p><p>Le point cl\u00e9, c'est le verdict: si une page ne passe pas une porte, elle est \u00e9cart\u00e9e. Pas r\u00e9\u00e9crite en douce, pas publi\u00e9e quand m\u00eame parce que c'est presque bon. \u00c9cart\u00e9e. La machine a le droit de proposer autant de pages qu'elle veut, mais elle n'a pas le droit d'en publier une seule sans l'avoir fait valider par ces contr\u00f4les. La production est libre, la publication est sous condition.<\/p><p>La le\u00e7on est directe et elle vaut pour toi, \u00e0 ta petite \u00e9chelle, sans machine. Ce que l'autopilote fait avec ses portes, tu dois le faire avec tes yeux. La quantit\u00e9 que produit une IA n'est pas de la qualit\u00e9. Entre le moment o\u00f9 une r\u00e9ponse est g\u00e9n\u00e9r\u00e9e et le moment o\u00f9 elle sort \u00e0 ton nom, il doit toujours y avoir une \u00e9tape de contr\u00f4le qui a le pouvoir de dire non, celle-l\u00e0 ne passe pas. Si cette \u00e9tape n'existe pas, tu ne publies pas ton travail, tu publies le brouillon d'une machine. Et un brouillon, m\u00eame bien \u00e9crit, reste un brouillon tant que personne ne l'a relu pour de vrai.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">6 \u00b7 Le contre-exemple<\/div><h3><\/h3><p>Prenons maintenant un \u00e9chec, parce qu'on apprend souvent mieux d'un ratage que d'une r\u00e9ussite. Chez MogaCode, une le\u00e7on est rest\u00e9e grav\u00e9e: un automatisme qui devait tourner tous les jours avait \u00e9t\u00e9 install\u00e9 sur un ordinateur portable, un mac. Le principe \u00e9tait simple, la machine se r\u00e9veillait \u00e0 une heure fixe, faisait son travail, et voil\u00e0. Sauf qu'un jour, le mac \u00e9tait \u00e9teint. Personne n'avait rien fait de mal, l'ordinateur \u00e9tait juste ferm\u00e9, comme un ordinateur peut l'\u00eatre. Et ce jour-l\u00e0, l'automatisme n'a pas tourn\u00e9. Le travail attendu n'a pas eu lieu. Et surtout, personne ne s'en est rendu compte tout de suite, parce qu'on partait du principe que c'\u00e9tait fait.<\/p><p>Voil\u00e0 le coeur de l'erreur, et il colle parfaitement \u00e0 ce sous-module: on avait fait confiance \u00e0 un \u00e7a marche sans jamais v\u00e9rifier que \u00e7a avait r\u00e9ellement march\u00e9. On croyait, on ne relisait pas. On supposait que puisque c'\u00e9tait cens\u00e9 se faire, c'\u00e9tait fait. C'est exactement le m\u00eame m\u00e9canisme que croire une r\u00e9ponse d'IA parce qu'elle a l'air juste. Dans les deux cas, la confiance remplace la v\u00e9rification, et la confiance seule ne prouve jamais rien.<\/p><p>La correction a \u00e9t\u00e9 double, et les deux moiti\u00e9s sont instructives. La premi\u00e8re: on a d\u00e9plac\u00e9 l'automatisme sur un serveur qui reste toujours allum\u00e9, un serveur souverain que MogaCode contr\u00f4le de bout en bout. Un ordinateur portable, \u00e7a se ferme, \u00e7a se d\u00e9place, \u00e7a manque de r\u00e9seau, \u00e7a vit sa vie. Un serveur fait pour \u00e7a reste debout. On a supprim\u00e9 la cause mat\u00e9rielle du rat\u00e9.<\/p><p>Mais la deuxi\u00e8me moiti\u00e9 est celle qui compte le plus ici: on a arr\u00eat\u00e9 de supposer que c'\u00e9tait fait. On a mis en place un contr\u00f4le qui v\u00e9rifie r\u00e9ellement que le travail a eu lieu, et qui pr\u00e9vient si ce n'est pas le cas. Autrement dit, on est pass\u00e9 de je crois que \u00e7a a tourn\u00e9 \u00e0 je v\u00e9rifie que \u00e7a a tourn\u00e9. Le d\u00e9m\u00e9nagement sur le serveur a r\u00e9gl\u00e9 le pourquoi de la panne. Le contr\u00f4le de v\u00e9rification a r\u00e9gl\u00e9 le vrai probl\u00e8me de fond, celui qui aurait resurgi sous une autre forme: l'habitude de croire au lieu de regarder.<\/p><p>Retiens ceci. Un r\u00e9sultat qu'on n'a pas v\u00e9rifi\u00e9 n'existe pas encore vraiment, il est seulement probable. Une t\u00e2che cens\u00e9e \u00eatre faite n'est pas une t\u00e2che faite. Une r\u00e9ponse cens\u00e9e \u00eatre juste n'est pas une r\u00e9ponse juste. Tant que ton oeil, ou un contr\u00f4le, n'a pas confirm\u00e9, tu es dans le pari, pas dans la certitude. Et un m\u00e9tier s\u00e9rieux ne se construit pas sur des paris silencieux qu'on d\u00e9couvre trop tard.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">7 \u00b7 Les pi\u00e8ges<\/div><h3><\/h3><ul class=\"mga-chain\"><li><b>La belle assurance.<\/b> Sympt\u00f4me : tu envoies parce que la r\u00e9ponse est bien \u00e9crite et sonne juste. Cause : tu confonds la qualit\u00e9 du ton avec la v\u00e9rit\u00e9 du contenu, alors que la machine \u00e9crit le vrai et le faux avec le m\u00eame aplomb. R\u00e9flexe : relis en te demandant, sur chaque fait, est-ce que je sais que c'est vrai, pas est-ce que \u00e7a a l'air vrai.<\/li><li><b>La lecture unique.<\/b> Sympt\u00f4me : tu lis une seule fois, en diagonale, et tu valides. Cause : la premi\u00e8re lecture est toujours indulgente, tu es port\u00e9 par le texte. R\u00e9flexe : impose-toi une deuxi\u00e8me lecture en contr\u00f4leur m\u00e9fiant, lente, phrase par phrase.<\/li><li><b>La fausse pr\u00e9cision.<\/b> Sympt\u00f4me : un chiffre tr\u00e8s pr\u00e9cis sur un sujet pointu te rassure et tu le gardes. Cause : la pr\u00e9cision excessive est une signature d'invention, la machine comble un trou avec un d\u00e9tail net pour para\u00eetre s\u00fbre. R\u00e9flexe : traite tout chiffre pr\u00e9cis comme suspect tant qu'il ne remonte pas \u00e0 une source.<\/li><li><b>Le tout au m\u00eame niveau.<\/b> Sympt\u00f4me : tu traites un fait v\u00e9rifiable et une simple tournure avec la m\u00eame attention. Cause : tu n'as pas tri\u00e9 les phrases par nature. R\u00e9flexe : s\u00e9pare les faits (\u00e0 v\u00e9rifier), les formulations (\u00e0 ajuster), les avis (\u00e0 d\u00e9cider) et concentre ta m\u00e9fiance sur les faits.<\/li><li><b>Le c'est cens\u00e9 \u00eatre bon.<\/b> Sympt\u00f4me : tu supposes qu'une r\u00e9ponse ou une t\u00e2che est correcte parce qu'elle devait l'\u00eatre. Cause : tu remplaces la v\u00e9rification par la confiance. R\u00e9flexe : ne consid\u00e8re jamais fait ce que tu n'as pas confirm\u00e9, m\u00eame quand tout devrait aller bien.<\/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\":\"Une IA te donne une r\\u00e9ponse tr\\u00e8s bien \\u00e9crite, fluide, avec un chiffre pr\\u00e9cis \\u00e0 l'appui. Tu dois l'envoyer \\u00e0 un client dans dix minutes.\",\"options\":[{\"t\":\"Tu l'envoies, la qualit\\u00e9 de l'\\u00e9criture et la pr\\u00e9cision du chiffre montrent qu'elle ma\\u00eetrise le sujet.\",\"ok\":false,\"why\":\"Le ton assur\\u00e9 et la pr\\u00e9cision d'un chiffre ne prouvent rien: une IA \\u00e9crit le faux avec le m\\u00eame aplomb que le vrai, et la fausse pr\\u00e9cision est justement un signal d'invention.\"},{\"t\":\"Tu relis en isolant le chiffre comme un fait \\u00e0 v\\u00e9rifier avant d'envoyer.\",\"ok\":true,\"why\":\"Le chiffre est un fait v\\u00e9rifiable, donc la phrase la plus dangereuse: tant qu'il ne remonte pas \\u00e0 une source, il reste suspect.\"}]},{\"q\":\"En relisant une r\\u00e9ponse, tu tombes sur la phrase il vaudrait mieux adopter un ton plus direct avec ce client.\",\"options\":[{\"t\":\"Tu cherches une source pour v\\u00e9rifier si cette recommandation est vraie.\",\"ok\":false,\"why\":\"Ce n'est pas un fait v\\u00e9rifiable, c'est un avis: il ne se v\\u00e9rifie pas contre une source, il se d\\u00e9cide avec ton exp\\u00e9rience du terrain.\"},{\"t\":\"Tu la traites comme un avis \\u00e0 d\\u00e9cider toi-m\\u00eame, en te fiant \\u00e0 ta connaissance du client.\",\"ok\":true,\"why\":\"Un jugement de machine ne vaut pas mieux qu'un autre avis: c'est \\u00e0 toi de choisir de le suivre ou non.\"}]},{\"q\":\"Un automatisme devait produire un r\\u00e9sultat cette nuit. Ce matin, tu pars du principe que c'est fait.\",\"options\":[{\"t\":\"Tu v\\u00e9rifies r\\u00e9ellement que le r\\u00e9sultat existe avant de t'appuyer dessus.\",\"ok\":true,\"why\":\"Une t\\u00e2che cens\\u00e9e \\u00eatre faite n'est pas une t\\u00e2che faite: tant que tu n'as pas confirm\\u00e9, tu es dans le pari, comme le mac \\u00e9teint qui n'avait rien produit.\"},{\"t\":\"Tu continues ta journ\\u00e9e, l'automatisme est fiable donc c'est forc\\u00e9ment bon.\",\"ok\":false,\"why\":\"C'est exactement l'erreur du mac \\u00e9teint: supposer que c'\\u00e9tait fait au lieu de v\\u00e9rifier, et le d\\u00e9couvrir trop tard.\"}]},{\"q\":\"Tu es fatigu\\u00e9 en fin de journ\\u00e9e et une r\\u00e9ponse d'IA a l'air parfaite du premier coup.\",\"options\":[{\"t\":\"Tu la valides tout de suite, une deuxi\\u00e8me lecture ferait perdre du temps.\",\"ok\":false,\"why\":\"La premi\\u00e8re lecture est toujours indulgente, surtout fatigu\\u00e9: c'est l\\u00e0 que passent les erreurs qu'on paie ensuite en heures de rattrapage.\"},{\"t\":\"Tu t'imposes quand m\\u00eame la deuxi\\u00e8me lecture, \\u00e0 voix haute pour les passages qui engagent.\",\"ok\":true,\"why\":\"La relecture \\u00e0 voix haute attrape ce que l'oeil laisse filer, et trois minutes de contr\\u00f4le \\u00e9vitent souvent une heure de correction.\"}]}]<\/script><div class=\"mga-host\"><\/div><\/div><\/div><div class=\"mga-q\" data-q=\"b4a1\"><p style=\"margin:0 0 6px;color:#0F2237\">Pourquoi le ton assur\u00e9 d&#039;une r\u00e9ponse d&#039;IA n&#039;est-il pas une preuve qu&#039;elle est juste ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Parce qu&#039;une IA \u00e9crit le vrai et le faux avec la m\u00eame belle assurance, sans savoir quand elle se trompe.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Parce que les IA sont programm\u00e9es pour toujours douter de leurs r\u00e9ponses.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Parce que le ton assur\u00e9 signifie en r\u00e9alit\u00e9 que la r\u00e9ponse est presque toujours fausse.<\/button><\/div><div class=\"mga-q\" data-q=\"b4a2\"><p style=\"margin:0 0 6px;color:#0F2237\">Quelle famille de phrases est la plus dangereuse dans une sortie d&#039;IA ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Les faits v\u00e9rifiables comme les chiffres, dates, noms et horaires.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Les tournures et reformulations qui donnent le ton du texte.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Les avis et recommandations que la machine te propose.<\/button><\/div><div class=\"mga-q\" data-q=\"b4a3\"><p style=\"margin:0 0 6px;color:#0F2237\">Que faut-il faire quand tu es incapable d&#039;expliquer d&#039;o\u00f9 vient une information \u00e9crite par l&#039;IA ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">La consid\u00e9rer comme non v\u00e9rifi\u00e9e, ce n&#039;est pas encore une info mais juste une phrase.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">La garder telle quelle puisque la machine ne se trompe presque jamais.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">La supprimer compl\u00e8tement du texte car elle est forc\u00e9ment fausse.<\/button><\/div><div class=\"mga-q\" data-q=\"b4a4\"><p style=\"margin:0 0 6px;color:#0F2237\">Quelle est la vraie le\u00e7on de l&#039;automatisme qui n&#039;a pas tourn\u00e9 sur un mac \u00e9teint ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">On avait cru que c&#039;\u00e9tait fait au lieu de v\u00e9rifier que \u00e7a avait r\u00e9ellement eu lieu.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Les ordinateurs portables sont interdits chez MogaCode depuis cet incident.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">L&#039;automatisme \u00e9tait mal \u00e9crit et produisait des r\u00e9sultats faux.<\/button><\/div><div class=\"mga-q\" data-q=\"b4a5\"><p style=\"margin:0 0 6px;color:#0F2237\">\u00c0 quoi servent les portes de qualit\u00e9 de l&#039;autopilote de contenu ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">\u00c9carter les pages qui ne passent pas les contr\u00f4les avant qu&#039;elles soient publi\u00e9es.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">R\u00e9\u00e9crire automatiquement les pages rat\u00e9es pour les publier quand m\u00eame.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Acc\u00e9l\u00e9rer la machine pour qu&#039;elle produise encore plus de pages par nuit.<\/button><\/div><div class=\"mga-chfoot\"><button type=\"button\" class=\"mga-cta mga-chnext\" data-go=\"1\">Sous-module suivant &rarr;<\/button><\/div><\/div><div class=\"mga-chapter hid\" data-ch=\"1\"><div class=\"mga-atlist\"><b>Ateliers de ce sous-module<\/b><a href=\"#at-4627e7\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M12 3l1.7 5.2a2 2 0 0 0 1.1 1.1L20 11l-5.2 1.7a2 2 0 0 0-1.1 1.1L12 19l-1.7-5.2a2 2 0 0 0-1.1-1.1L4 11l5.2-1.7a2 2 0 0 0 1.1-1.1z\"\/><\/svg>\u00c0 toi : la bonne d\u00e9cision<\/a><a href=\"#at-d12e6e\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M12 3l1.7 5.2a2 2 0 0 0 1.1 1.1L20 11l-5.2 1.7a2 2 0 0 0-1.1 1.1L12 19l-1.7-5.2a2 2 0 0 0-1.1-1.1L4 11l5.2-1.7a2 2 0 0 0 1.1-1.1z\"\/><\/svg>\u00c0 toi : ton playbook<\/a><\/div><div class=\"mga-step\"><div class=\"n\">1 \u00b7 L&#039;accroche<\/div><h3><\/h3><p>Tu as pris le r\u00e9flexe de relire, bravo, c'est d\u00e9j\u00e0 \u00e9norme. Mais tr\u00e8s vite tu tombes sur un mur. Tu relis, tu tombes sur une affirmation, disons un chiffre ou une information factuelle, et tu sens que c'est le genre de phrase \u00e0 v\u00e9rifier. Sauf que tu la regardes, et elle a toujours l'air juste. Elle est plausible. Tu ne peux pas la confirmer, mais tu ne peux pas l'infirmer non plus. Et l\u00e0, tu es coinc\u00e9: relire t'a permis de rep\u00e9rer le doute, mais relire ne suffit pas \u00e0 le lever. Regarder plus fort la m\u00eame phrase ne la rend pas plus vraie.<\/p><p>Imagine que tu pr\u00e9pares une information importante pour un client. La machine t'affirme quelque chose de pr\u00e9cis sur son secteur. Tu la relis dix fois, elle reste identique, tranquille, s\u00fbre d'elle. Tu peux la fixer une heure, elle ne t'avouera jamais qu'elle l'a invent\u00e9e. Parce qu'une IA ne se d\u00e9dit pas quand tu la regardes: elle attend juste que tu d\u00e9cides. La v\u00e9rit\u00e9 d'une phrase ne se trouve pas dans la phrase elle-m\u00eame. Elle se trouve dehors, dans le monde r\u00e9el, dans une autre source que tu vas aller chercher.<\/p><p>C'est \u00e7a, recouper. C'est le geste qui transforme un doute en certitude, ou en rejet. Tu prends l'affirmation suspecte, et tu vas la confronter \u00e0 autre chose: le site officiel du client, un document que tu as sous la main, une deuxi\u00e8me source ind\u00e9pendante, l'avis d'une personne qui sait. Si \u00e7a concorde, tu tiens quelque chose. Si \u00e7a ne concorde pas, tu viens d'\u00e9viter une b\u00eatise. Et parfois, la source dit une troisi\u00e8me chose, diff\u00e9rente des deux, et l\u00e0 tu creuses encore.<\/p><p>La tension de ce sous-module, c'est celle-ci. Recouper prend du temps et de l'effort, et il y a toujours une petite voix qui murmure: allez, \u00e7a a l'air bon, envoie. Cette voix est ton ennemie sur les sujets qui comptent. Parce que la diff\u00e9rence entre un amateur et un professionnel ne tient pas \u00e0 qui \u00e9crit le plus vite, ni \u00e0 qui a le meilleur outil. Elle tient \u00e0 qui prend la peine d'aller v\u00e9rifier dehors ce que la machine affirme dedans. Le premier fait confiance \u00e0 l'\u00e9cran. Le second fait confiance \u00e0 ce qu'il a recoup\u00e9. On va apprendre \u00e0 le faire vite, bien, et sans se noyer.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">2 \u00b7 Le pourquoi<\/div><h3><\/h3><p>Savoir recouper change ton m\u00e9tier en profondeur, parce que \u00e7a r\u00e8gle le seul vrai probl\u00e8me de fond de l'IA: elle peut inventer sans le savoir, et sans le dire. Tant que tu ne sais pas v\u00e9rifier dehors, tu es condamn\u00e9 soit \u00e0 tout croire, soit \u00e0 tout rejeter par peur. Recouper te donne une troisi\u00e8me voie, la seule tenable: garder ce qui r\u00e9siste \u00e0 la v\u00e9rification, jeter le reste.<\/p><p>Le premier changement concret: tu peux enfin utiliser l'IA sur des sujets s\u00e9rieux sans trembler. Avant, sur un dossier qui compte, tu h\u00e9sitais \u00e0 t'appuyer sur elle, parce qu'une erreur aurait des cons\u00e9quences. Une fois que tu sais recouper, la machine redevient utilisable partout: elle fait le brouillon vite, et toi tu v\u00e9rifies les points sensibles avant de valider. Tu gagnes la vitesse sans perdre la fiabilit\u00e9. C'est le meilleur des deux mondes, mais il n'existe que si tu ma\u00eetrises le recoupement.<\/p><p>Le deuxi\u00e8me changement: tu deviens capable de corriger, pas seulement de rejeter. Relire te fait dire \u00e7a, je ne le sens pas. Recouper te fait d\u00e9couvrir la vraie information. Et une fois que tu la tiens, tu remplaces le faux par le vrai, dans tes mots. Tu passes de censeur \u00e0 auteur: tu ne te contentes pas de barrer, tu r\u00e9pares. Une r\u00e9ponse d'IA \u00e0 moiti\u00e9 fausse devient, entre tes mains, une r\u00e9ponse enti\u00e8rement juste, parce que tu as v\u00e9rifi\u00e9 le point qui clochait et corrig\u00e9.<\/p><p>Le troisi\u00e8me changement est une question d'honn\u00eatet\u00e9, et c'est un pilier chez MogaCode. Recouper te permet de ne jamais transmettre un chiffre ou une affirmation que tu n'as pas confirm\u00e9. \u00c7a veut dire que quand tu dis quelque chose, tu peux dire d'o\u00f9 \u00e7a vient. Et quand tu ne trouves pas, tu apprends \u00e0 dire je n'ai pas pu v\u00e9rifier ce point plut\u00f4t qu'\u00e0 combler le trou par une invention rassurante. Cette phrase, je n'ai pas pu v\u00e9rifier, vaut de l'or: elle te distingue imm\u00e9diatement de tous ceux qui inventent pour ne pas avoir l'air de ne pas savoir.<\/p><p>Enfin, recouper t'apprend \u00e0 te m\u00e9fier des sources elles-m\u00eames, ce qui est une comp\u00e9tence en or. Tout ce qui est \u00e9crit quelque part n'est pas vrai pour autant. Une source peut \u00eatre vieille, biais\u00e9e, ou elle-m\u00eame \u00e9crite par une IA. En apprenant \u00e0 recouper, tu apprends aussi \u00e0 hi\u00e9rarchiser: une source officielle vaut mieux qu'un forum, une donn\u00e9e dat\u00e9e vaut mieux qu'une donn\u00e9e sans date, deux sources ind\u00e9pendantes qui concordent valent mieux qu'une seule. Tu ne deviens pas seulement quelqu'un qui v\u00e9rifie: tu deviens quelqu'un qui sait o\u00f9 et comment v\u00e9rifier. Et \u00e7a, aucun outil ne te le donnera \u00e0 ta place.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">3 \u00b7 Le comment<\/div><h3><\/h3><p class=\"mga-sub\">1. Isoler l'affirmation exacte \u00e0 v\u00e9rifier<\/p><p>On ne recoupe pas un texte entier, on recouperait toute la journ\u00e9e. On recoupe des affirmations pr\u00e9cises. La premi\u00e8re \u00e9tape est donc de d\u00e9couper: prends la phrase suspecte et r\u00e9duis-la \u00e0 son noyau v\u00e9rifiable. Pas ce restaurant est appr\u00e9ci\u00e9 et propose de bons horaires, mais ce restaurant ouvre \u00e0 midi. Le noyau, c'est ouvre \u00e0 midi. C'est \u00e7a, et rien d'autre, que tu vas aller confronter au monde. Plus ton affirmation est nette, plus la v\u00e9rification est rapide et sans ambigu\u00eft\u00e9. Une affirmation floue est inv\u00e9rifiable, donc commence toujours par la rendre pr\u00e9cise.<\/p><p class=\"mga-sub\">2. Choisir la bonne source, et en prendre deux si l'enjeu est fort<\/p><p>Toutes les sources ne se valent pas, on l'a dit. Pour un fait sur une entreprise, la source reine c'est l'entreprise elle-m\u00eame: son site officiel, ses documents, sa fiche. Pour un fait g\u00e9n\u00e9ral, tu vises une source de r\u00e9f\u00e9rence, stable, dat\u00e9e. La r\u00e8gle simple: rapproche-toi le plus possible de l'origine de l'information. Une info recopi\u00e9e trois fois s'est peut-\u00eatre d\u00e9form\u00e9e en route, comme dans le jeu du t\u00e9l\u00e9phone.<\/p><p>Et sur un sujet \u00e0 fort enjeu, une seule source ne suffit pas. Tu en prends deux, ind\u00e9pendantes l'une de l'autre, et tu v\u00e9rifies qu'elles disent la m\u00eame chose. Si elles concordent, ta confiance monte fort. Si elles se contredisent, tu ne choisis pas au hasard: tu regardes laquelle est la plus proche de l'origine, la plus r\u00e9cente, la plus officielle. Exemple concret: pour un horaire d'ouverture, le site officiel du commerce et sa fiche publique doivent dire pareil. S'ils divergent, tu ne devines pas, tu signales la contradiction ou tu demandes directement.<\/p><p class=\"mga-sub\">3. Nommer la source ET sa limite<\/p><p>Recouper ne s'arr\u00eate pas \u00e0 trouver. Il faut savoir ce que ta source vaut vraiment, et ne jamais lui faire dire plus qu'elle ne dit. C'est une discipline centrale chez MogaCode. Un exemple parlant, tir\u00e9 de la bo\u00eete \u00e0 outils SEO: certains outils donnent une id\u00e9e de ce qui ressort sur une recherche, mais ce ne sont pas Google lui-m\u00eame, juste un reflet approximatif. Les prendre pour la v\u00e9rit\u00e9 exacte de Google, c'est se tromper de source. De m\u00eame, un outil peut te donner une difficult\u00e9 de contenu sans mesurer la notori\u00e9t\u00e9 d'un site: il t'aide \u00e0 trier, il ne pr\u00e9dit pas un classement.<\/p><p>La r\u00e8gle qui en d\u00e9coule est simple: \u00e0 chaque fait recoup\u00e9, dis-toi d'o\u00f9 il vient et ce que cette provenance ne garantit pas. Une donn\u00e9e sans date ne prouve pas l'actualit\u00e9. Un chiffre publicitaire ne dit pas le budget r\u00e9el. Un seul avis ne fait pas la moyenne. Tu ne transmets jamais un fait tout nu: tu le transmets avec sa source dans un coin de ta t\u00eate, pr\u00eat \u00e0 r\u00e9pondre si on te demande tu tiens \u00e7a d'o\u00f9.<\/p><p class=\"mga-sub\">4. Corriger dans tes mots, puis re-v\u00e9rifier ta correction<\/p><p>Une fois la vraie information trouv\u00e9e, tu remplaces le faux par le vrai. Attention \u00e0 un pi\u00e8ge: ne te contente pas de coller la bonne donn\u00e9e \u00e0 la place de la mauvaise. Relis la phrase enti\u00e8re apr\u00e8s correction, parce qu'un chiffre chang\u00e9 peut rendre le reste de la phrase bancal ou faux. Si la machine disait ouvre \u00e0 midi ce qui explique l'affluence du soir, et que le vrai horaire est le matin, ta correction doit toucher toute la logique, pas juste l'heure.<\/p><p>Et un dernier geste, souvent oubli\u00e9: quand un fait varie ou d\u00e9pend du contexte, ne te fie pas \u00e0 un seul essai. Si tu poses une m\u00eame question deux fois \u00e0 une IA et qu'elle te r\u00e9pond deux choses diff\u00e9rentes, c'est un signal fort qu'elle n'en sait rien. Sur ce qui compte, teste plusieurs fois, et m\u00e9fie-toi d'une r\u00e9ponse qui change \u00e0 chaque fois: une info instable est une info non fiable.<\/p><p class=\"mga-syn\">En r\u00e9sum\u00e9 : la v\u00e9rit\u00e9 d'une affirmation ne se trouve pas dans la phrase mais dehors. Isole le noyau v\u00e9rifiable, va le confronter \u00e0 la bonne source (deux si l'enjeu est fort), nomme toujours la source et sa limite sans lui faire dire plus qu'elle ne dit, puis corrige dans tes mots et relis la phrase enti\u00e8re. Et quand tu ne peux pas v\u00e9rifier, dis je n'ai pas pu v\u00e9rifier, jamais une invention rassurante.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">4 \u00b7 Le cas r\u00e9el<\/div><h3><\/h3><p>Chez MogaCode, il existe un ensemble d'outils qu'on utilise tous les jours pour le r\u00e9f\u00e9rencement, une sorte de grande bo\u00eete \u00e0 outils qu'on appelle gsc-connect. \u00c0 l'int\u00e9rieur, il n'y a pas un gros bouton magique, il y a des dizaines de petits outils, chacun avec un nom et une t\u00e2che unique. Un outil va chercher les vraies statistiques d'un site sur le moteur de recherche. Un autre mesure la vitesse d'une page. Un autre estime la difficult\u00e9 d'un mot-cl\u00e9. Un autre regarde ce que fait la concurrence. Un autre encore va lire la fiche d'un commerce. Une intelligence artificielle peut appeler ces outils l'un apr\u00e8s l'autre pour construire une analyse.<\/p><p>Ce qui est int\u00e9ressant ici, c'est pourquoi on a construit les choses comme \u00e7a, avec des dizaines d'outils pr\u00e9cis plut\u00f4t qu'une seule IA qui r\u00e9pondrait de t\u00eate. La raison, c'est exactement le sujet de ce sous-module: recouper. Une IA seule, si tu lui demandes quelle est la position de ce site sur Google, va te sortir une r\u00e9ponse plausible, bien tourn\u00e9e, et potentiellement invent\u00e9e. Elle ne sait pas vraiment, elle devine \u00e0 partir de ce qu'elle a vu ailleurs. En la branchant sur un outil qui va chercher la vraie donn\u00e9e \u00e0 la source, on remplace la devinette par un fait v\u00e9rifi\u00e9. La machine ne dit plus ce qu'elle croit, elle rapporte ce que l'outil a mesur\u00e9.<\/p><p>Et il y a une deuxi\u00e8me couche, encore plus proche de la le\u00e7on. Dans cette bo\u00eete \u00e0 outils, on sait que toutes les sources ne se valent pas, et on l'a \u00e9crit noir sur blanc dans nos r\u00e8gles de travail. Certains outils donnent un reflet approximatif de ce qui ressort sur une recherche: pratiques pour voir qui est pr\u00e9sent, mais ce ne sont pas Google en personne. D'autres outils, eux, donnent la v\u00e9rit\u00e9 officielle, parce qu'ils lisent nos propres donn\u00e9es valid\u00e9es. La discipline, c'est de ne jamais pr\u00e9senter l'approximatif comme de l'exact. Quand on parle d'une position r\u00e9elle, on la tire de la source qui fait foi, pas d'un outil qui ne fait qu'estimer.<\/p><p>La le\u00e7on pour toi est limpide, m\u00eame si tu ne toucheras jamais \u00e0 cette bo\u00eete \u00e0 outils. La bonne fa\u00e7on d'utiliser une IA sur des faits, ce n'est pas de lui demander de savoir, c'est de la brancher sur des sources qui savent, et de conna\u00eetre la valeur de chaque source. Quand tu recoupes une info \u00e0 la main, tu fais exactement ce que fait cette machine: tu vas chercher la donn\u00e9e l\u00e0 o\u00f9 elle est vraie, et tu sais si la source que tu regardes donne de l'exact ou juste une estimation. Une analyse qui m\u00e9lange des chiffres r\u00e9els et des chiffres devin\u00e9s, sans dire lesquels sont lesquels, n'est pas une analyse, c'est un pi\u00e8ge. S\u00e9parer ce qui est mesur\u00e9 de ce qui est suppos\u00e9, et nommer la source de chaque chose, c'est la base du travail s\u00e9rieux, avec ou sans outils.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">5 \u00b7 Le contre-exemple<\/div><h3><\/h3><p>Voici un \u00e9chec pr\u00e9cis, document\u00e9 chez MogaCode, et il est douloureux justement parce qu'il vient d'une n\u00e9gligence de recoupement. Sur un dossier client, on s'est appuy\u00e9 sur un de ces outils qui donnent un reflet approximatif des r\u00e9sultats d'une recherche, et on a pris ce reflet pour la v\u00e9rit\u00e9 de Google. L'outil laissait entendre que le site du client \u00e9tait tr\u00e8s mal plac\u00e9, quasiment introuvable sur son propre nom. On l'a cru. On a b\u00e2ti un raisonnement l\u00e0-dessus.<\/p><p>Le probl\u00e8me, c'est que c'\u00e9tait faux. Sur le vrai Google, celui que le client ouvre en deux secondes sur son t\u00e9l\u00e9phone, le site ressortait tr\u00e8s bien. L'outil approximatif s'\u00e9tait tromp\u00e9, et nous, en le prenant pour argent comptant, on s'est tromp\u00e9 avec lui. Le client, lui, n'avait pas besoin d'outils sophistiqu\u00e9s: il a tap\u00e9 son nom, il a vu la r\u00e9alit\u00e9, et il a vu qu'on racontait le contraire. C'est le pire sc\u00e9nario. Se tromper sur un fait que la personne en face peut v\u00e9rifier en un geste, \u00e7a ne d\u00e9truit pas seulement l'analyse, \u00e7a ab\u00eeme la confiance dans tout le reste.<\/p><p>O\u00f9 \u00e9tait l'erreur exactement. Pas dans l'outil: un outil approximatif a le droit d'\u00eatre approximatif, c'est son m\u00e9tier. L'erreur \u00e9tait dans l'usage. On a confondu la source. On a pris un reflet pour l'original. On n'a pas fait le geste \u00e9vident de recouper avec la source qui fait foi, c'est-\u00e0-dire soit les vraies donn\u00e9es de position, soit une simple v\u00e9rification manuelle sur le moteur r\u00e9el. Une source approximative ne doit jamais servir \u00e0 affirmer une position pr\u00e9cise. Elle sert \u00e0 voir la composition d'un paysage, pas \u00e0 situer quelqu'un dedans au centim\u00e8tre.<\/p><p>La correction est devenue une r\u00e8gle grav\u00e9e: on n'affirme jamais une position \u00e0 partir d'un outil qui n'est qu'un reflet. On l'affirme uniquement \u00e0 partir de la donn\u00e9e officielle, ou d'une v\u00e9rification directe sur le vrai moteur. Et cette r\u00e8gle est rappel\u00e9e \u00e0 chaque analyste, humain ou machine, avant de travailler, pour que personne ne retombe dans le panneau.<\/p><p>La le\u00e7on d\u00e9passe largement le r\u00e9f\u00e9rencement. Chaque fois que tu recoupes, demande-toi si la source que tu consultes est bien la source qui fait autorit\u00e9 sur cette question pr\u00e9cise. Une source proche du sujet, une source approximative, une source dat\u00e9e peuvent toutes te donner une r\u00e9ponse. Mais seule la bonne source te donne le droit d'affirmer. Confondre les deux, c'est b\u00e2tir sur du sable, et le sable s'effondre toujours au pire moment, devant la personne qui, elle, conna\u00eet la v\u00e9rit\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 doute qui tourne en rond.<\/b> Sympt\u00f4me : tu relis dix fois la m\u00eame phrase suspecte en esp\u00e9rant qu'elle t'avoue si elle est vraie. Cause : tu cherches la v\u00e9rit\u00e9 dans la phrase alors qu'elle est dehors. R\u00e9flexe : arr\u00eate de fixer l'\u00e9cran, va confronter l'affirmation \u00e0 une source ext\u00e9rieure.<\/li><li><b>La source approximative prise pour exacte.<\/b> Sympt\u00f4me : tu affirmes un fait pr\u00e9cis \u00e0 partir d'un outil qui ne donne qu'un reflet. Cause : tu n'as pas identifi\u00e9 la source qui fait vraiment autorit\u00e9 sur la question. R\u00e9flexe : pour affirmer, remonte \u00e0 la source officielle ou v\u00e9rifie directement, jamais sur un simple reflet.<\/li><li><b>La source unique.<\/b> Sympt\u00f4me : tu valides un fait \u00e0 fort enjeu sur une seule source et tu passes \u00e0 la suite. Cause : tu confonds une source qui te donne une r\u00e9ponse avec une r\u00e9ponse confirm\u00e9e. R\u00e9flexe : sur ce qui compte, croise deux sources ind\u00e9pendantes et v\u00e9rifie qu'elles concordent.<\/li><li><b>L'invention rassurante.<\/b> Sympt\u00f4me : tu ne trouves pas la vraie info alors tu gardes celle de l'IA plut\u00f4t que d'avoir l'air de ne pas savoir. Cause : tu as peur du vide plus que du faux. R\u00e9flexe : assume je n'ai pas pu v\u00e9rifier ce point, c'est toujours mieux qu'une donn\u00e9e invent\u00e9e.<\/li><li><b>La correction en surface.<\/b> Sympt\u00f4me : tu remplaces juste le chiffre faux par le bon sans relire la phrase enti\u00e8re. Cause : tu traites la donn\u00e9e isol\u00e9ment alors qu'elle porte le sens de tout le passage. R\u00e9flexe : apr\u00e8s correction, relis la phrase compl\u00e8te pour que la logique tienne encore.<\/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\":\"Une IA affirme un horaire pr\\u00e9cis pour le commerce d'un client. Tu as un doute mais la phrase reste plausible en la relisant.\",\"options\":[{\"t\":\"Tu la relis encore plusieurs fois jusqu'\\u00e0 te sentir s\\u00fbr.\",\"ok\":false,\"why\":\"La v\\u00e9rit\\u00e9 d'une affirmation n'est pas dans la phrase: la fixer ne la rendra jamais plus vraie, il faut sortir la v\\u00e9rifier.\"},{\"t\":\"Tu vas confronter l'horaire au site officiel du commerce.\",\"ok\":true,\"why\":\"Recouper, c'est confronter l'affirmation suspecte \\u00e0 une source ext\\u00e9rieure qui fait autorit\\u00e9, ici le commerce lui-m\\u00eame.\"}]},{\"q\":\"Un outil qui donne un reflet approximatif des r\\u00e9sultats indique que le site du client est introuvable sur son nom.\",\"options\":[{\"t\":\"Tu l'annonces au client, l'outil est un logiciel donc c'est fiable.\",\"ok\":false,\"why\":\"C'est exactement l'\\u00e9chec document\\u00e9: un reflet approximatif pris pour la v\\u00e9rit\\u00e9 de Google, que le client d\\u00e9ment en deux secondes sur son t\\u00e9l\\u00e9phone.\"},{\"t\":\"Tu v\\u00e9rifies sur le vrai moteur ou la donn\\u00e9e officielle avant d'affirmer quoi que ce soit.\",\"ok\":true,\"why\":\"Une source approximative ne donne jamais le droit d'affirmer une position: pour \\u00e7a, il faut la source qui fait foi.\"}]},{\"q\":\"Sur un dossier \\u00e0 fort enjeu, tu as trouv\\u00e9 une seule source qui confirme l'information de l'IA.\",\"options\":[{\"t\":\"Tu croises avec une deuxi\\u00e8me source ind\\u00e9pendante avant de valider.\",\"ok\":true,\"why\":\"Sur un sujet \\u00e0 fort enjeu, deux sources ind\\u00e9pendantes qui concordent valent bien plus qu'une seule.\"},{\"t\":\"Une source suffit puisqu'elle confirme, tu valides.\",\"ok\":false,\"why\":\"Une source qui te donne une r\\u00e9ponse n'est pas une r\\u00e9ponse confirm\\u00e9e: elle peut \\u00eatre dat\\u00e9e, biais\\u00e9e ou elle-m\\u00eame erron\\u00e9e.\"}]},{\"q\":\"Tu as cherch\\u00e9 partout mais tu n'arrives pas \\u00e0 confirmer un chiffre que l'IA affirme.\",\"options\":[{\"t\":\"Tu gardes le chiffre de l'IA, \\u00e7a fait plus s\\u00e9rieux que d'avouer un trou.\",\"ok\":false,\"why\":\"C'est l'invention rassurante: transmettre un chiffre non v\\u00e9rifi\\u00e9 pour ne pas avoir l'air de ne pas savoir est exactement ce qu'il faut bannir.\"},{\"t\":\"Tu signales honn\\u00eatement que ce point n'a pas pu \\u00eatre v\\u00e9rifi\\u00e9.\",\"ok\":true,\"why\":\"Dire je n'ai pas pu v\\u00e9rifier vaut de l'or: c'est toujours mieux qu'une donn\\u00e9e invent\\u00e9e pr\\u00e9sent\\u00e9e comme s\\u00fbre.\"}]}]<\/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>Quand tu tombes sur une affirmation \u00e0 v\u00e9rifier, d\u00e9roule ces cinq gestes. C'est ta m\u00e9thode de recoupement, celle qui transforme un doute en certitude ou en rejet, sans jamais inventer pour boucher un trou.<\/p><div class=\"mga-checklist\"><script type=\"application\/json\" class=\"mga-data\">{\"ck\":\"b4_b\",\"items\":[\"J'ai r\\u00e9duit l'affirmation \\u00e0 son noyau v\\u00e9rifiable, pr\\u00e9cis et sans ambigu\\u00eft\\u00e9.\",\"Je suis remont\\u00e9 \\u00e0 la source qui fait autorit\\u00e9 sur cette question, pas \\u00e0 un simple reflet.\",\"Sur les points \\u00e0 fort enjeu, j'ai crois\\u00e9 deux sources ind\\u00e9pendantes et v\\u00e9rifi\\u00e9 qu'elles concordent.\",\"Pour chaque fait retenu, je sais d'o\\u00f9 il vient et ce que cette source ne garantit pas.\",\"Quand je n'ai pas pu confirmer, je l'ai dit clairement au lieu d'inventer une donn\\u00e9e rassurante.\"]}<\/script><div class=\"mga-host\"><\/div><\/div><\/div><div class=\"mga-q\" data-q=\"b4b1\"><p style=\"margin:0 0 6px;color:#0F2237\">O\u00f9 se trouve la v\u00e9rit\u00e9 d&#039;une affirmation faite par une IA ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Dehors, dans une source ext\u00e9rieure du monde r\u00e9el, pas dans la phrase elle-m\u00eame.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Dans la phrase, si on la relit assez de fois avec attention.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Dans le ton de la r\u00e9ponse, une phrase assur\u00e9e \u00e9tant g\u00e9n\u00e9ralement vraie.<\/button><\/div><div class=\"mga-q\" data-q=\"b4b2\"><p style=\"margin:0 0 6px;color:#0F2237\">Pourquoi la bo\u00eete \u00e0 outils SEO branche-t-elle l&#039;IA sur des dizaines d&#039;outils pr\u00e9cis ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Pour remplacer la devinette de l&#039;IA par des faits mesur\u00e9s \u00e0 la vraie source.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Pour que l&#039;IA travaille plus vite en \u00e9vitant de r\u00e9fl\u00e9chir.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Pour rendre l&#039;IA capable de r\u00e9pondre sans jamais consulter aucune source.<\/button><\/div><div class=\"mga-q\" data-q=\"b4b3\"><p style=\"margin:0 0 6px;color:#0F2237\">Quelle a \u00e9t\u00e9 la vraie erreur dans l&#039;\u00e9chec de la position mal \u00e9valu\u00e9e d&#039;un client ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Avoir pris un outil approximatif pour la source qui fait autorit\u00e9 sur la position.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Avoir utilis\u00e9 un outil qui \u00e9tait d\u00e9fectueux et devait \u00eatre supprim\u00e9.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Avoir v\u00e9rifi\u00e9 la position sur le vrai moteur au lieu de faire confiance \u00e0 l&#039;outil.<\/button><\/div><div class=\"mga-q\" data-q=\"b4b4\"><p style=\"margin:0 0 6px;color:#0F2237\">Que faire quand deux sources se contredisent sur un m\u00eame fait ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Regarder laquelle est la plus proche de l&#039;origine, la plus r\u00e9cente et la plus officielle.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Choisir au hasard l&#039;une des deux puisque tu ne peux pas trancher.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Garder les deux versions et laisser le client d\u00e9cider laquelle est vraie.<\/button><\/div><div class=\"mga-q\" data-q=\"b4b5\"><p style=\"margin:0 0 6px;color:#0F2237\">Que vaut la phrase je n&#039;ai pas pu v\u00e9rifier ce point ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Elle vaut de l&#039;or, car elle est toujours meilleure qu&#039;une donn\u00e9e invent\u00e9e pr\u00e9sent\u00e9e comme s\u00fbre.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Elle est \u00e0 \u00e9viter, car avouer un doute fait perdre toute cr\u00e9dibilit\u00e9.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Elle est inutile, car une IA finit toujours par trouver la bonne r\u00e9ponse.<\/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>Tu as relu. Tu as recoup\u00e9. Il reste le moment le plus simple en apparence et le plus lourd en vrai: appuyer sur le bouton. Envoyer le message. Publier la page. Valider l'action. Une fraction de seconde, un clic, et c'est parti dans le monde, au nom de qui. Pas au nom de la machine. \u00c0 ton nom. \u00c0 celui de ton entreprise. La machine a propos\u00e9, mais c'est ta main qui a cliqu\u00e9, et donc c'est toi qui as dit oui, \u00e7a, je le prends \u00e0 mon compte.<\/p><p>Il y a une phrase qui r\u00e9sume tout le m\u00e9tier, une phrase \u00e0 graver: l'IA propose, l'humain dispose. La machine peut sugg\u00e9rer mille choses, r\u00e9diger, calculer, pr\u00e9parer. Mais le dernier mot, celui qui engage, celui qui a des cons\u00e9quences irr\u00e9versibles, appartient toujours \u00e0 un humain. Toujours. Pas parce que la machine serait b\u00eate, elle est souvent tr\u00e8s dou\u00e9e. Mais parce qu'une machine ne peut pas porter la responsabilit\u00e9 de ce qu'elle produit. Elle ne perd rien si \u00e7a se passe mal. Toi si. C'est toi qui r\u00e9ponds au client m\u00e9content, toi dont le nom est en bas, toi qui vis avec les cons\u00e9quences. La responsabilit\u00e9 ne se d\u00e9l\u00e8gue pas \u00e0 un outil, jamais.<\/p><p>Imagine deux boutons devant toi. Un bouton lire, qui ne fait que consulter, regarder, rapporter. Et un bouton envoyer, qui agit, qui part, qu'on ne peut pas rattraper. Ces deux boutons ne se valent pas du tout. Lire, tu peux le faire les yeux ferm\u00e9s, \u00e7a ne casse rien. Envoyer, jamais sans avoir regard\u00e9, parce que ce qui est parti est parti. Un message effac\u00e9 a d\u00e9j\u00e0 \u00e9t\u00e9 lu. Une page publi\u00e9e a d\u00e9j\u00e0 \u00e9t\u00e9 vue. Une action irr\u00e9versible n'a pas de retour en arri\u00e8re.<\/p><p>La tension de ce dernier sous-module, c'est celle-ci: la machine te rend tellement fluide, tellement rapide, que tu es tent\u00e9 de la laisser aussi appuyer sur envoyer \u00e0 ta place, ou d'appuyer toi-m\u00eame sans vraiment regarder, dans l'\u00e9lan. Et c'est exactement l\u00e0 que se joue la diff\u00e9rence entre un outil qui te sert et un outil qui te met en danger. Assumer, ce n'est pas ralentir par peur. C'est reconna\u00eetre qu'il existe des gestes qu'aucune machine ne doit faire seule, et rester, \u00e0 cet instant pr\u00e9cis, pleinement pr\u00e9sent. On va apprendre \u00e0 identifier ces gestes, et \u00e0 garder la main l\u00e0 o\u00f9 elle doit rester.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">2 \u00b7 Le pourquoi<\/div><h3><\/h3><p>Comprendre que tu es le responsable final change ta posture enti\u00e8re face \u00e0 la technologie, et \u00e7a te prot\u00e8ge d'une mani\u00e8re que rien d'autre ne fait.<\/p><p>Le premier changement: tu arr\u00eates d'avoir peur de la machine, et tu arr\u00eates aussi de trop lui faire confiance. Les deux extr\u00eames viennent de la m\u00eame confusion, croire que la machine d\u00e9cide. Le jour o\u00f9 tu sais que c'est toi qui d\u00e9cides, la peur tombe, parce que rien ne t'\u00e9chappe: la machine ne fera que ce que tu valides. Et l'exc\u00e8s de confiance tombe aussi, parce que tu sais que si tu valides sans regarder, c'est ta faute, pas la sienne. Tu deviens calme et lucide au lieu d'\u00eatre soit paralys\u00e9, soit imprudent.<\/p><p>Le deuxi\u00e8me changement, tr\u00e8s concret: tu prot\u00e8ges les gestes qui ne pardonnent pas. Tout n'a pas le m\u00eame poids. Consulter une info, pr\u00e9parer un brouillon, explorer une id\u00e9e, \u00e7a ne co\u00fbte rien si c'est rat\u00e9, tu recommences. Mais envoyer un message \u00e0 un client, publier quelque chose en public, valider un paiement, changer un r\u00e9glage important, effacer des donn\u00e9es: \u00e7a, ce sont des gestes \u00e0 cons\u00e9quence, parfois sans retour. En apprenant \u00e0 rep\u00e9rer ces gestes-l\u00e0 et \u00e0 toujours y mettre un humain, tu construis une barri\u00e8re exactement l\u00e0 o\u00f9 le danger est r\u00e9el, sans t'\u00e9puiser \u00e0 tout contr\u00f4ler partout.<\/p><p>Le troisi\u00e8me changement touche \u00e0 ta valeur professionnelle et \u00e0 ta tranquillit\u00e9. Quelqu'un qui assume, on peut lui confier des choses importantes, parce qu'on sait que rien ne partira \u00e0 l'aveugle sous sa responsabilit\u00e9. Il devient un point de confiance. \u00c0 l'inverse, quelqu'un qui laisse la machine agir seule sur des gestes lourds est une bombe \u00e0 retardement: un jour, l'automatisme fera une b\u00eatise que personne n'aura relue, et ce sera trop tard. Assumer, c'est aussi bien dormir la nuit, parce que tu sais que rien d'irr\u00e9versible ne t'a \u00e9chapp\u00e9.<\/p><p>Enfin, il y a une le\u00e7on plus large, qui touche \u00e0 ta libert\u00e9. Assumer ce que tu publies, \u00e7a implique de contr\u00f4ler les outils que tu utilises, et pas seulement leurs sorties. Si tu d\u00e9pends d'un service que tu ne ma\u00eetrises pas, tu ne peux pas vraiment assumer, parce qu'une partie de ce qui sort \u00e0 ton nom \u00e9chappe \u00e0 ton contr\u00f4le. C'est pour \u00e7a que la responsabilit\u00e9 finale et la souverainet\u00e9 vont ensemble: assumer pleinement, c'est aussi choisir de s'appuyer sur ce qu'on ma\u00eetrise, pour que le dernier mot te revienne vraiment, jusqu'au bout de la cha\u00eene. On va voir concr\u00e8tement comment ces deux id\u00e9es se tiennent.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">3 \u00b7 Le comment<\/div><h3><\/h3><p class=\"mga-sub\">1. Classer chaque geste: consultation ou action<\/p><p>Le tri le plus important de tout ce module tient en deux cat\u00e9gories. Il y a les gestes de consultation, qui ne font que regarder, lire, pr\u00e9parer, sans rien changer dans le monde. Et il y a les gestes d'action, qui modifient quelque chose de r\u00e9el: un message part, une page se publie, un fichier dispara\u00eet, un r\u00e9glage change, de l'argent bouge. La premi\u00e8re cat\u00e9gorie est l\u00e9g\u00e8re, tu peux y aller vite. La seconde est lourde, elle m\u00e9rite toujours un temps d'arr\u00eat et un regard humain.<\/p><p>Un exemple simple: demander \u00e0 une IA de te pr\u00e9parer un brouillon de r\u00e9ponse \u00e0 un client, c'est de la consultation, aucun risque, elle pr\u00e9pare et toi tu regardes. Mais laisser cette m\u00eame IA envoyer le message directement au client, c'est une action, et une action irr\u00e9versible. Le brouillon, tu le laisses faire seule. L'envoi, jamais sans ta validation. Apprends \u00e0 sentir, pour chaque t\u00e2che, dans quelle cat\u00e9gorie tu es. Si un geste change quelque chose dehors qu'on ne peut pas d\u00e9faire, il est dans la cat\u00e9gorie lourde, point.<\/p><p class=\"mga-sub\">2. Mettre un humain sur tout ce qui est irr\u00e9versible<\/p><p>La r\u00e8gle d'or: une action irr\u00e9versible ne se fait jamais toute seule, un humain valide toujours, en pleine conscience, juste avant. Irr\u00e9versible veut dire qu'on ne peut pas rattraper: envoyer, publier, supprimer, payer, engager. Pour ces gestes, la machine a le droit de tout pr\u00e9parer, de tout mettre \u00e0 un clic, mais c'est toi qui donnes le dernier coup.<\/p><p>Et attention \u00e0 la mani\u00e8re de valider. Valider ne veut pas dire cliquer machinalement sur oui parce que la fen\u00eatre s'affiche. \u00c7a veut dire regarder ce qu'on est sur le point de faire, \u00e0 qui \u00e7a part, ce que \u00e7a contient, et se dire oui, je le prends \u00e0 mon compte. La validation qui ne regarde rien ne prot\u00e8ge de rien, c'est un tampon vide. Exemple: avant d'envoyer un document \u00e0 un contact, tu v\u00e9rifies le destinataire autant que le contenu, parce que le bon fichier au mauvais destinataire est une catastrophe aussi grande que le mauvais fichier au bon destinataire.<\/p><p class=\"mga-sub\">3. Enfermer le pouvoir d'agir dans des limites \u00e9troites<\/p><p>Quand on laisse une machine agir, m\u00eame sous supervision, on ne lui donne pas les pleins pouvoirs. On lui donne un p\u00e9rim\u00e8tre \u00e9troit et fixe: elle peut faire ceci, pr\u00e9cis\u00e9ment, et rien d'autre. C'est un principe de s\u00e9curit\u00e9 fondamental. Une machine qui peut tout faire est un danger, parce que le jour o\u00f9 elle se trompe, ou le jour o\u00f9 quelqu'un la d\u00e9tourne, les d\u00e9g\u00e2ts sont sans limite. Une machine dont le pouvoir est r\u00e9duit au strict n\u00e9cessaire ne peut faire de mal que dans ce petit couloir.<\/p><p>Concr\u00e8tement, \u00e7a veut dire qu'on ne branche jamais une IA sur un outil puissant sans r\u00e9fl\u00e9chir \u00e0 ce qui se passe si elle l'utilise mal. On lui donne l'outil lire largement, parce que lire ne casse rien. On lui donne l'outil qui agit avec parcimonie, encadr\u00e9, avec un humain au bout. Transpose \u00e7a \u00e0 ton usage: quand tu utilises un outil qui agit, demande-toi toujours quel est le pire qui puisse arriver s'il part de travers, et assure-toi qu'un humain se tient entre l'outil et ce pire.<\/p><p class=\"mga-sub\">4. Assumer jusqu'au bout de la cha\u00eene, donc ma\u00eetriser ses outils<\/p><p>Assumer une sortie, ce n'est pas seulement valider la derni\u00e8re phrase. C'est aussi r\u00e9pondre de tout ce qui a servi \u00e0 la produire. Si un des maillons de ta cha\u00eene t'\u00e9chappe, une partie de ta responsabilit\u00e9 t'\u00e9chappe avec. C'est pour \u00e7a que la ma\u00eetrise de tes outils compte autant que la relecture. Un outil que tu contr\u00f4les, tu peux le corriger, l'arr\u00eater, le comprendre. Un outil qui appartient \u00e0 quelqu'un d'autre peut changer, tomber, ou se retourner contre toi sans que tu puisses rien faire.<\/p><p>La bonne posture, c'est de garder la main sur ce qui compte: l\u00e0 o\u00f9 tes donn\u00e9es passent, l\u00e0 o\u00f9 tes actions partent, l\u00e0 o\u00f9 ton nom s'engage. Plus la brique est proche de la responsabilit\u00e9 finale, plus tu dois pouvoir la ma\u00eetriser toi-m\u00eame. Assumer, au fond, c'est refuser que le dernier mot t'\u00e9chappe, ni au moment du clic, ni dans la machinerie qui a men\u00e9 jusqu'\u00e0 lui.<\/p><p class=\"mga-syn\">En r\u00e9sum\u00e9 : l'IA propose, l'humain dispose. Trie chaque geste entre consultation (l\u00e9ger, rapide) et action irr\u00e9versible (lourde, toujours valid\u00e9e par un humain qui regarde vraiment). Enferme le pouvoir d'agir des machines dans un p\u00e9rim\u00e8tre \u00e9troit, demande-toi toujours quel est le pire cas, et assume jusqu'au bout de la cha\u00eene en gardant la main sur les outils qui portent ton nom.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">4 \u00b7 Le cas r\u00e9el<\/div><h3><\/h3><p>Chez MogaCode, il y a un assistant qui vit sur WhatsApp. Il est branch\u00e9 sur les vraies conversations, et il sait faire deux grandes familles de choses, mat\u00e9rialis\u00e9es par deux outils bien distincts. Un outil lire, qui parcourt les messages, retrouve un contact, r\u00e9sume un \u00e9change, ram\u00e8ne une information. Et un outil envoyer, qui \u00e9crit un message et le fait partir pour de vrai vers un vrai destinataire. Ces deux outils portent sur le m\u00eame canal, WhatsApp, mais ils n'ont absolument pas le m\u00eame poids, et c'est tout l'int\u00e9r\u00eat du cas.<\/p><p>L'outil lire, on le laisse travailler largement, parce que lire ne casse rien. Que l'assistant relise cent conversations pour retrouver un num\u00e9ro, tant mieux, \u00e7a fait gagner du temps et il n'y a aucun risque: consulter, c'est r\u00e9versible par nature, tu peux relire autant que tu veux, le monde ne bouge pas. C'est un geste de la cat\u00e9gorie l\u00e9g\u00e8re.<\/p><p>L'outil envoyer, c'est une tout autre histoire. Un message envoy\u00e9 \u00e0 un client, c'est irr\u00e9versible. Une fois parti, il est lu, il ne se rattrape pas. Et un message, \u00e7a peut se tromper de destinataire, contenir une erreur, avoir le mauvais ton, engager l'entreprise sur quelque chose. C'est un geste de la cat\u00e9gorie lourde, avec cons\u00e9quence. Alors le principe, c'est que ce pouvoir d'envoyer reste \u00e9troit et sous contr\u00f4le: le p\u00e9rim\u00e8tre est fig\u00e9, le destinataire est cadr\u00e9, et surtout la d\u00e9cision d'envoyer quelque chose de sensible reste une d\u00e9cision humaine. La machine peut pr\u00e9parer le message parfait, mais l'humain garde le dernier mot sur ce qui part vraiment vers un client.<\/p><p>Il y a une le\u00e7on MogaCode tr\u00e8s parlante autour de \u00e7a: avant d'envoyer un document \u00e0 quelqu'un, on v\u00e9rifie l'identit\u00e9 exacte du destinataire, parce qu'il est d\u00e9j\u00e0 arriv\u00e9 qu'on manque d'envoyer \u00e0 un homonyme, la bonne chose \u00e0 la mauvaise personne. Deux personnes portent le m\u00eame pr\u00e9nom dans deux conversations diff\u00e9rentes, et sans v\u00e9rification, le message part au mauvais. Aucune machine ne rattrape cette erreur, seul un humain qui regarde \u00e0 qui il parle peut l'\u00e9viter. Et on a aussi une r\u00e8gle simple: un document ne part jamais tout nu, il part toujours avec un message qui explique ce que c'est. \u00c7a, c'est un jugement humain sur ce qui est correct, pas un r\u00e9flexe de machine.<\/p><p>La le\u00e7on pour toi tient dans la s\u00e9paration de ces deux outils. Dans tout ce que tu fais avec une IA, distingue le lire et le envoyer. Le lire, laisse-le couler. Le envoyer, mets-toi dessus, \u00e0 chaque fois, comme la derni\u00e8re barri\u00e8re humaine avant l'irr\u00e9versible. La puissance d'un assistant ne doit jamais te faire oublier que le geste qui engage reste le tien. C'est la traduction concr\u00e8te de l'IA propose, l'humain dispose: la machine lit tant qu'elle veut, mais c'est l'humain qui envoie.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">5 \u00b7 Le contre-exemple<\/div><h3><\/h3><p>Voici maintenant un \u00e9chec qui a co\u00fbt\u00e9 cher, et qui \u00e9claire l'autre moiti\u00e9 de ce sous-module: assumer jusqu'au bout de la cha\u00eene, donc ma\u00eetriser ses outils. Beaucoup de sites construits avec le syst\u00e8me WordPress s'appuient sur des extensions, des petits modules ajout\u00e9s pour gagner des fonctions. Pratique, mais chacun de ces modules est du code \u00e9crit par quelqu'un d'autre, h\u00e9berg\u00e9 et maintenu par quelqu'un d'autre. Tu l'installes, il marche, tu l'oublies. Et tu lui as, sans y penser, donn\u00e9 un pouvoir \u00e9norme sur ton site.<\/p><p>Un jour, une de ces extensions tr\u00e8s r\u00e9pandues, appel\u00e9e Unlimited Elements, a \u00e9t\u00e9 touch\u00e9e par une faille de s\u00e9curit\u00e9. Ce n'\u00e9tait pas un probl\u00e8me dans les sites eux-m\u00eames, ni dans le travail fait dessus. C'\u00e9tait le module tiers, celui qu'on ne contr\u00f4lait pas, qui portait le trou. Et par ce trou, des sites qui l'utilisaient ont \u00e9t\u00e9 pirat\u00e9s. Le danger n'\u00e9tait pas venu de l'int\u00e9rieur, il \u00e9tait venu d'une brique qu'on avait laiss\u00e9e entrer sans pouvoir la surveiller vraiment.<\/p><p>La le\u00e7on a \u00e9t\u00e9 tranch\u00e9e: cette extension a \u00e9t\u00e9 bannie de tous nos sites, d\u00e9finitivement, interdiction de la r\u00e9installer. Mais la vraie le\u00e7on d\u00e9passe ce module pr\u00e9cis. Elle dit ceci: quand une partie de ce qui te fait fonctionner appartient \u00e0 quelqu'un d'autre, tu ne peux pas pleinement en assumer les cons\u00e9quences, parce que tu n'as pas la main dessus. Tu subis ses failles, ses changements, ses pannes. Le jour o\u00f9 le module se casse ou se retourne, tu es spectateur de ton propre probl\u00e8me. Assumer devient impossible quand une part du contr\u00f4le t'\u00e9chappe.<\/p><p>C'est exactement pour \u00e7a que MogaCode s'appuie sur ses propres serveurs, un serveur souverain qu'on ma\u00eetrise de bout en bout, et sur une IA souveraine qui tourne sur ces m\u00eames serveurs plut\u00f4t que sur un service ext\u00e9rieur qu'on ne contr\u00f4lerait pas. Ce n'est pas une lubie technique. C'est la cons\u00e9quence directe de la responsabilit\u00e9 finale. Si le dernier mot doit m'appartenir, alors la machinerie qui m\u00e8ne \u00e0 ce dernier mot doit m'appartenir aussi, autant que possible. Sinon, une partie de ce qui sort \u00e0 mon nom d\u00e9pend du bon vouloir d'un autre.<\/p><p>Retiens le lien, parce qu'il est le coeur de ce module. V\u00e9rifier et corriger une sortie, c'est n\u00e9cessaire, mais \u00e7a ne suffit pas si l'outil lui-m\u00eame t'\u00e9chappe. La cha\u00eene compl\u00e8te compte: l'outil, la donn\u00e9e, l'action, le clic final. Plus tu ma\u00eetrises cette cha\u00eene, plus tu peux vraiment assumer. D\u00e9pendre aveugl\u00e9ment d'un service qu'on ne contr\u00f4le pas, c'est d\u00e9l\u00e9guer sans le savoir une part de sa responsabilit\u00e9 \u00e0 un inconnu. Et le jour o\u00f9 l'inconnu te l\u00e2che, c'est toi, pas lui, qui r\u00e9ponds des d\u00e9g\u00e2ts.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">6 \u00b7 Les pi\u00e8ges<\/div><h3><\/h3><ul class=\"mga-chain\"><li><b>La d\u00e9l\u00e9gation du dernier mot.<\/b> Sympt\u00f4me : tu laisses une IA envoyer, publier ou valider une action seule, sans humain au bout. Cause : tu as pris la fluidit\u00e9 de la machine pour une autorisation de d\u00e9cider \u00e0 ta place. R\u00e9flexe : sur tout geste irr\u00e9versible, garde la validation finale entre tes mains, l'IA propose mais l'humain dispose.<\/li><li><b>Le clic machinal.<\/b> Sympt\u00f4me : tu valides en cliquant oui d\u00e8s que la fen\u00eatre s'affiche, sans regarder. Cause : tu confonds valider avec confirmer vite. R\u00e9flexe : avant de valider, regarde vraiment le contenu et le destinataire, et dis-toi je le prends \u00e0 mon compte.<\/li><li><b>Le m\u00eame poids pour tout.<\/b> Sympt\u00f4me : tu traites une consultation et une action irr\u00e9versible avec la m\u00eame d\u00e9sinvolture. Cause : tu n'as pas tri\u00e9 le geste l\u00e9ger du geste lourd. R\u00e9flexe : classe chaque action en consultation (rapide) ou action irr\u00e9versible (toujours valid\u00e9e par un humain).<\/li><li><b>Le mauvais destinataire.<\/b> Sympt\u00f4me : tu envoies la bonne chose \u00e0 la mauvaise personne, souvent un homonyme. Cause : tu as v\u00e9rifi\u00e9 le contenu mais pas l'identit\u00e9 exacte du destinataire. R\u00e9flexe : avant tout envoi, confirme \u00e0 qui \u00e7a part autant que ce qui part.<\/li><li><b>La d\u00e9pendance aveugle.<\/b> Sympt\u00f4me : tu t'appuies sur un outil tiers que tu ne contr\u00f4les pas pour une brique critique. Cause : il marchait, donc tu as oubli\u00e9 qu'il pouvait faillir, changer ou se retourner. R\u00e9flexe : garde la main sur ce qui porte ton nom, privil\u00e9gie ce que tu ma\u00eetrises de bout en bout.<\/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\":\"Une IA a pr\\u00e9par\\u00e9 un excellent message de r\\u00e9ponse pour un client. Elle propose de l'envoyer directement pour te faire gagner du temps.\",\"options\":[{\"t\":\"Tu la laisses envoyer, le message est tr\\u00e8s bon et \\u00e7a t'\\u00e9vite un clic.\",\"ok\":false,\"why\":\"Envoyer est une action irr\\u00e9versible: elle ne se d\\u00e9l\\u00e8gue jamais \\u00e0 une machine, l'IA propose mais l'humain dispose sur le geste qui engage.\"},{\"t\":\"Tu relis le message et le destinataire, puis c'est toi qui envoies.\",\"ok\":true,\"why\":\"La machine pr\\u00e9pare tant qu'elle veut, mais le dernier mot sur un envoi irr\\u00e9versible reste entre tes mains, en pleine conscience.\"}]},{\"q\":\"Tu dois choisir quel pouvoir donner \\u00e0 un assistant branch\\u00e9 sur tes conversations.\",\"options\":[{\"t\":\"Tu lui donnes largement l'outil lire, mais tu encadres strictement l'outil envoyer.\",\"ok\":true,\"why\":\"Lire ne casse rien et peut \\u00eatre large, tandis qu'envoyer est irr\\u00e9versible et doit rester \\u00e9troit avec un humain au bout.\"},{\"t\":\"Tu lui donnes les deux outils sans limite, \\u00e7a ira plus vite.\",\"ok\":false,\"why\":\"Une machine qui peut tout faire est un danger: le jour o\\u00f9 elle se trompe ou est d\\u00e9tourn\\u00e9e, les d\\u00e9g\\u00e2ts d'un envoi libre sont sans limite.\"}]},{\"q\":\"Une fen\\u00eatre te demande de confirmer une action importante et tu es dans l'\\u00e9lan de ta journ\\u00e9e.\",\"options\":[{\"t\":\"Tu cliques oui tout de suite, c'est juste une confirmation de routine.\",\"ok\":false,\"why\":\"La validation qui ne regarde rien est un tampon vide: elle ne prot\\u00e8ge de rien, c'est le clic machinal.\"},{\"t\":\"Tu t'arr\\u00eates une seconde pour regarder ce que tu vas vraiment d\\u00e9clencher.\",\"ok\":true,\"why\":\"Valider, c'est regarder le contenu et les cons\\u00e9quences puis dire je le prends \\u00e0 mon compte, pas confirmer vite.\"}]},{\"q\":\"Un module tiers pratique, \\u00e9crit et maintenu par quelqu'un d'autre, g\\u00e9rerait une fonction critique de ton site.\",\"options\":[{\"t\":\"Tu l'installes sans r\\u00e9serve, s'il est populaire c'est qu'il est s\\u00fbr.\",\"ok\":false,\"why\":\"C'est l'erreur de l'extension pirat\\u00e9e: d\\u00e9pendre aveugl\\u00e9ment d'un service qu'on ne contr\\u00f4le pas, dont la faille devient la tienne.\"},{\"t\":\"Tu privil\\u00e9gies une solution que tu peux ma\\u00eetriser de bout en bout pour une brique critique.\",\"ok\":true,\"why\":\"Assumer jusqu'au bout de la cha\\u00eene suppose de garder la main sur ce qui porte ton nom, comme le serveur et l'IA souverains.\"}]}]<\/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 tout geste qui engage, passe ces cinq points. C'est ta barri\u00e8re humaine devant l'irr\u00e9versible, la traduction concr\u00e8te de l'IA propose, l'humain dispose.<\/p><div class=\"mga-checklist\"><script type=\"application\/json\" class=\"mga-data\">{\"ck\":\"b4_c\",\"items\":[\"J'ai class\\u00e9 ce geste: simple consultation, ou action irr\\u00e9versible qui exige ma validation.\",\"Pour toute action irr\\u00e9versible, c'est bien un humain, moi, qui donne le dernier clic.\",\"J'ai regard\\u00e9 vraiment le contenu ET le destinataire avant de valider, pas cliqu\\u00e9 machinalement.\",\"Je me suis demand\\u00e9 quel est le pire qui puisse arriver si \\u00e7a part de travers, et je l'ai couvert.\",\"Pour les briques critiques, je m'appuie sur ce que je ma\\u00eetrise plut\\u00f4t que sur un service que je ne contr\\u00f4le pas.\"]}<\/script><div class=\"mga-host\"><\/div><\/div><\/div><div class=\"mga-q\" data-q=\"b4c1\"><p style=\"margin:0 0 6px;color:#0F2237\">Que signifie la phrase l&#039;IA propose, l&#039;humain dispose ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">La machine peut tout sugg\u00e9rer, mais le dernier mot qui engage revient toujours \u00e0 un humain.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">L&#039;humain propose des id\u00e9es et l&#039;IA d\u00e9cide de ce qui sera fait au final.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">L&#039;IA et l&#039;humain prennent les d\u00e9cisions importantes exactement \u00e0 parts \u00e9gales.<\/button><\/div><div class=\"mga-q\" data-q=\"b4c2\"><p style=\"margin:0 0 6px;color:#0F2237\">Pourquoi l&#039;outil envoyer de l&#039;assistant WhatsApp est-il trait\u00e9 diff\u00e9remment de l&#039;outil lire ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Parce qu&#039;envoyer est irr\u00e9versible et engage, tandis que lire ne change rien et peut \u00eatre large.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Parce que l&#039;outil lire est beaucoup plus dangereux que l&#039;outil envoyer.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Parce que les deux outils sont identiques et trait\u00e9s exactement de la m\u00eame mani\u00e8re.<\/button><\/div><div class=\"mga-q\" data-q=\"b4c3\"><p style=\"margin:0 0 6px;color:#0F2237\">Que veut vraiment dire valider une action irr\u00e9versible ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Regarder le contenu et les cons\u00e9quences, puis assumer en disant je le prends \u00e0 mon compte.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Cliquer oui rapidement d\u00e8s que la fen\u00eatre de confirmation appara\u00eet.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Laisser la machine confirmer \u00e0 ta place puisqu&#039;elle a pr\u00e9par\u00e9 l&#039;action.<\/button><\/div><div class=\"mga-q\" data-q=\"b4c4\"><p style=\"margin:0 0 6px;color:#0F2237\">Quelle est la le\u00e7on de l&#039;extension tierce Unlimited Elements qui a \u00e9t\u00e9 pirat\u00e9e ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">D\u00e9pendre d&#039;un service qu&#039;on ne contr\u00f4le pas fait subir ses failles sans pouvoir agir.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Les extensions WordPress sont toutes dangereuses et doivent \u00eatre toutes supprim\u00e9es.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Le piratage venait du travail fait sur les sites et non du module lui-m\u00eame.<\/button><\/div><div class=\"mga-q\" data-q=\"b4c5\"><p style=\"margin:0 0 6px;color:#0F2237\">Pourquoi la responsabilit\u00e9 finale et la souverainet\u00e9 vont-elles ensemble ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Pour que le dernier mot t&#039;appartienne vraiment, la machinerie qui y m\u00e8ne doit te rester ma\u00eetrisable.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Parce que les serveurs souverains sont simplement moins chers que les autres.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Parce que la souverainet\u00e9 permet \u00e0 l&#039;IA de d\u00e9cider sans supervision humaine.<\/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>Sortie<\/b><div class=\"df\">Tout ce qu&#039;une IA produit quand tu lui demandes quelque chose: un texte, une r\u00e9ponse, une liste, une analyse. C&#039;est le r\u00e9sultat brut, avant que tu l&#039;aies regard\u00e9.<\/div><div class=\"an\">Comme le plat qui sort de la cuisine: il faut le go\u00fbter avant de le servir en salle.<\/div><\/div><div class=\"mga-mot\"><b>Relecture critique<\/b><div class=\"df\">Relire une sortie non pour corriger la grammaire, mais en contr\u00f4leur m\u00e9fiant qui se demande, sur chaque phrase, est-ce que je sais que c&#039;est vrai.<\/div><div class=\"an\">Comme relire un contrat avant de signer, pas en lecteur press\u00e9 mais en cherchant le pi\u00e8ge.<\/div><\/div><div class=\"mga-mot\"><b>Recouper<\/b><div class=\"df\">Aller confronter une affirmation \u00e0 une source ext\u00e9rieure du monde r\u00e9el pour savoir si elle est vraie, au lieu de la croire sur parole.<\/div><div class=\"an\">Comme v\u00e9rifier une rumeur en appelant directement la personne concern\u00e9e plut\u00f4t qu&#039;en la r\u00e9p\u00e9tant.<\/div><\/div><div class=\"mga-mot\"><b>Source fiable<\/b><div class=\"df\">L&#039;endroit qui fait autorit\u00e9 sur une question pr\u00e9cise, le plus proche possible de l&#039;origine de l&#039;information: souvent l&#039;officiel plut\u00f4t qu&#039;un reflet approximatif.<\/div><div class=\"an\">Comme demander l&#039;heure d&#039;un train \u00e0 la gare plut\u00f4t qu&#039;\u00e0 un passant dans la rue.<\/div><\/div><div class=\"mga-mot\"><b>Invention de l&#039;IA<\/b><div class=\"df\">Quand une machine comble un trou de savoir en fabriquant une r\u00e9ponse plausible mais fausse, sans le savoir et sans le dire, avec le m\u00eame aplomb que le vrai.<\/div><div class=\"an\">Comme un \u00e9l\u00e8ve qui, ne connaissant pas la r\u00e9ponse, invente une histoire cr\u00e9dible pour ne pas rendre copie blanche.<\/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 class=\"mga-mot\"><b>Responsabilit\u00e9 finale<\/b><div class=\"df\">Le fait que le dernier mot, celui qui engage ton nom, revient toujours \u00e0 un humain, jamais \u00e0 la machine qui a seulement propos\u00e9.<\/div><div class=\"an\">Comme le capitaine d&#039;un navire: l&#039;\u00e9quipage manoeuvre, mais c&#039;est lui qui r\u00e9pond de la route prise.<\/div><\/div><\/div><div class=\"mga-reflexe\">L'IA propose, tu disposes: rien ne sort \u00e0 ton nom sans que tu l'aies relu, recoup\u00e9 et assum\u00e9.<\/div><div class=\"mga-liv\"><h3>Ton livrable<\/h3><p>\u00c0 la fin de ce module, tu repars avec ta grille de v\u00e9rification personnelle: une fiche d'une page r\u00e9unissant les trois checklists (relire, recouper, assumer) transform\u00e9e en un rituel que tu colles pr\u00e8s de ton \u00e9cran. Concr\u00e8tement, tu prends une vraie sortie d'IA de ton quotidien, tu la fais passer enti\u00e8re dans cette grille point par point, et tu produis deux colonnes: ce que tu as valid\u00e9 et pourquoi, ce que tu as corrig\u00e9 ou \u00e9cart\u00e9 et d'o\u00f9 venait le probl\u00e8me. Ce document devient la preuve que ton travail est pass\u00e9 par un contr\u00f4le humain, et le mod\u00e8le que tu r\u00e9utilises \u00e0 chaque fois qu'une machine te propose quelque chose \u00e0 ton nom.<\/p><\/div><div class=\"mga-eval\" data-code=\"b4\"><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 B4<\/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; B5<\/h3><p>Donn\u00e9es, vie priv\u00e9e et \u00e9thique<\/p><a class=\"mga-cta\" href=\"\/academy\/donnees-personnelles-et-rgpd\/\">Continuer vers B5<\/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<\/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-1979","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>Verifier, corriger, assumer - 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\/verifier-et-corriger-l-ia\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Verifier, corriger, assumer\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mogacode.ma\/en\/academy\/verifier-et-corriger-l-ia\/\" \/>\n<meta property=\"og:site_name\" content=\"Mogacode\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/mogacode\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@mogacode\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Verifier, corriger, assumer - 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\/verifier-et-corriger-l-ia\/","og_locale":"en_US","og_type":"article","og_title":"Verifier, corriger, assumer","og_url":"https:\/\/www.mogacode.ma\/en\/academy\/verifier-et-corriger-l-ia\/","og_site_name":"Mogacode","article_publisher":"https:\/\/www.facebook.com\/mogacode","twitter_card":"summary_large_image","twitter_site":"@mogacode","schema":{"@context":"https:\/\/schema.org","@graph":[]}},"_links":{"self":[{"href":"https:\/\/www.mogacode.ma\/en\/wp-json\/wp\/v2\/pages\/1979","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=1979"}],"version-history":[{"count":0,"href":"https:\/\/www.mogacode.ma\/en\/wp-json\/wp\/v2\/pages\/1979\/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=1979"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}