{"id":1980,"date":"2026-09-19T16:21:07","date_gmt":"2026-09-19T16:21:07","guid":{"rendered":"https:\/\/www.mogacode.ma\/academy\/donnees-personnelles-et-rgpd\/"},"modified":"2026-09-19T16:21:07","modified_gmt":"2026-09-19T16:21:07","slug":"donnees-personnelles-et-rgpd","status":"publish","type":"page","link":"https:\/\/www.mogacode.ma\/en\/academy\/donnees-personnelles-et-rgpd\/","title":{"rendered":"Donnees, vie privee et ethique"},"content":{"rendered":"<div class=\"mga-shell\" data-code=\"b5\"><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\" data-code=\"b4\" data-state=\"open\" href=\"\/academy\/verifier-et-corriger-l-ia\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"3.2\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">B4<\/span><span class=\"mt\">V\u00e9rifier, corriger, assumer<\/span><\/a><a class=\"mga-modlink cur\" 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 class=\"mga-subs\"><a class=\"mga-sublink\" data-ch=\"0\" href=\"#sm-0\"><span class=\"d\"><\/span>Ce qu&#039;on ne colle jamais<\/a><a class=\"mga-sublink\" data-ch=\"1\" href=\"#sm-1\"><span class=\"d\"><\/span>Le RGPD sans le jargon<\/a><a class=\"mga-sublink\" data-ch=\"2\" href=\"#sm-2\"><span class=\"d\"><\/span>L&#039;IA souveraine et l&#039;\u00e9thique d&#039;usage<\/a><\/div><\/div><\/div><div class=\"mga-blk\" data-bloc=\"C\"><button type=\"button\" class=\"mga-blk-h\"><span class=\"ic\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\"\/><rect x=\"9\" y=\"9\" width=\"6\" height=\"6\"\/><path d=\"M9 2v2M15 2v2M9 20v2M15 20v2M20 9h2M20 14h2M2 9h2M2 14h2\"\/><\/svg><\/span><span class=\"t\">Comprendre la machine<\/span><span class=\"ch\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"m6 9 6 6 6-6\"\/><\/svg><\/span><\/button><div class=\"mga-blk-body\"><a class=\"mga-modlink\" data-code=\"c1\" data-state=\"lock\" href=\"\/academy\/comprendre-les-api\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">C1<\/span><span class=\"mt\">Une API, c&#039;est quoi et \u00e0 quoi \u00e7a sert ?<\/span><\/a><a class=\"mga-modlink\" data-code=\"c2\" data-state=\"lock\" href=\"\/academy\/preparer-ses-donnees\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">C2<\/span><span class=\"mt\">Donn\u00e9es structur\u00e9es ou non : pr\u00e9parer ses donn\u00e9es<\/span><\/a><a class=\"mga-modlink\" data-code=\"c3\" data-state=\"lock\" href=\"\/academy\/sous-le-capot-d-un-llm\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">C3<\/span><span class=\"mt\">Sous le capot d&#039;un LLM, sans maths<\/span><\/a><a class=\"mga-modlink\" data-code=\"c4\" data-state=\"lock\" href=\"\/academy\/connecter-les-briques\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">C4<\/span><span class=\"mt\">Connecter les briques : tes premi\u00e8res int\u00e9grations<\/span><\/a><\/div><\/div><div class=\"mga-blk\" data-bloc=\"D\"><button type=\"button\" class=\"mga-blk-h\"><span class=\"ic\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"8\" height=\"8\" x=\"3\" y=\"3\" rx=\"2\"\/><path d=\"M7 11v3a2 2 0 0 0 2 2h4\"\/><rect width=\"8\" height=\"8\" x=\"13\" y=\"13\" rx=\"2\"\/><\/svg><\/span><span class=\"t\">Automatiser<\/span><span class=\"ch\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"m6 9 6 6 6-6\"\/><\/svg><\/span><\/button><div class=\"mga-blk-body\"><a class=\"mga-modlink\" data-code=\"d1\" data-state=\"lock\" href=\"\/academy\/automatiser-sans-dependance\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">D1<\/span><span class=\"mt\">L&#039;automatisation sans d\u00e9pendance<\/span><\/a><a class=\"mga-modlink\" data-code=\"d2\" data-state=\"lock\" href=\"\/academy\/declencheurs-cron-webhooks\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">D2<\/span><span class=\"mt\">D\u00e9clencheurs, t\u00e2ches planifi\u00e9es, webhooks<\/span><\/a><a class=\"mga-modlink\" data-code=\"d3\" data-state=\"lock\" href=\"\/academy\/ton-premier-script-utile\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">D3<\/span><span class=\"mt\">Ton premier script utile, de bout en bout<\/span><\/a><a class=\"mga-modlink\" data-code=\"d4\" data-state=\"lock\" href=\"\/academy\/automatiser-un-process\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">D4<\/span><span class=\"mt\">Automatiser un vrai process m\u00e9tier de A \u00e0 Z<\/span><\/a><a class=\"mga-modlink\" data-code=\"d5\" data-state=\"lock\" href=\"\/academy\/fiabilite-logs-reprise\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">D5<\/span><span class=\"mt\">Fiabilit\u00e9 : logs, erreurs, reprise, sauvegardes<\/span><\/a><\/div><\/div><div class=\"mga-blk\" data-bloc=\"E\"><button type=\"button\" class=\"mga-blk-h\"><span class=\"ic\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"8\" height=\"8\" x=\"3\" y=\"3\" rx=\"2\"\/><path d=\"M7 11v3a2 2 0 0 0 2 2h4\"\/><rect width=\"8\" height=\"8\" x=\"13\" y=\"13\" rx=\"2\"\/><\/svg><\/span><span class=\"t\">Agents<\/span><span class=\"ch\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"m6 9 6 6 6-6\"\/><\/svg><\/span><\/button><div class=\"mga-blk-body\"><a class=\"mga-modlink\" data-code=\"e1\" data-state=\"lock\" href=\"\/academy\/comprendre-les-agents-ia\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">E1<\/span><span class=\"mt\">Un agent IA, c&#039;est quoi vraiment<\/span><\/a><a class=\"mga-modlink\" data-code=\"e2\" data-state=\"lock\" href=\"\/academy\/donner-des-outils-a-une-ia\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">E2<\/span><span class=\"mt\">Donner des outils \u00e0 une IA<\/span><\/a><a class=\"mga-modlink\" data-code=\"e3\" data-state=\"lock\" href=\"\/academy\/cadrer-un-agent\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">E3<\/span><span class=\"mt\">Cadrer un agent : mission et garde-fous<\/span><\/a><a class=\"mga-modlink\" data-code=\"e4\" data-state=\"lock\" href=\"\/academy\/memoire-et-contexte-des-agents\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">E4<\/span><span class=\"mt\">M\u00e9moire et contexte d&#039;un agent<\/span><\/a><a class=\"mga-modlink\" data-code=\"e5\" data-state=\"lock\" href=\"\/academy\/assembler-un-agent-souverain\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">E5<\/span><span class=\"mt\">Assembler un agent souverain, de bout en bout<\/span><\/a><a class=\"mga-modlink\" data-code=\"e6\" data-state=\"lock\" href=\"\/academy\/fiabilite-et-securite-des-agents\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">E6<\/span><span class=\"mt\">Fiabilit\u00e9 et s\u00e9curit\u00e9 des agents<\/span><\/a><\/div><\/div><div class=\"mga-blk\" data-bloc=\"F\"><button type=\"button\" class=\"mga-blk-h\"><span class=\"ic\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\"\/><rect x=\"9\" y=\"9\" width=\"6\" height=\"6\"\/><path d=\"M9 2v2M15 2v2M9 20v2M15 20v2M20 9h2M20 14h2M2 9h2M2 14h2\"\/><\/svg><\/span><span class=\"t\">RAG et donn\u00e9es<\/span><span class=\"ch\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"m6 9 6 6 6-6\"\/><\/svg><\/span><\/button><div class=\"mga-blk-body\"><a class=\"mga-modlink\" data-code=\"f1\" data-state=\"lock\" href=\"\/academy\/le-rag-donner-tes-documents-a-l-ia\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">F1<\/span><span class=\"mt\">Le RAG : donner tes documents \u00e0 l&#039;IA<\/span><\/a><a class=\"mga-modlink\" data-code=\"f2\" data-state=\"lock\" href=\"\/academy\/architecture-d-un-rag\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">F2<\/span><span class=\"mt\">L&#039;architecture compl\u00e8te d&#039;un RAG<\/span><\/a><a class=\"mga-modlink\" data-code=\"f3\" data-state=\"lock\" href=\"\/academy\/la-recherche-par-le-sens\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">F3<\/span><span class=\"mt\">La recherche par le sens, et un mini-RAG en direct<\/span><\/a><a class=\"mga-modlink\" data-code=\"f4\" data-state=\"lock\" href=\"\/academy\/construire-un-rag-sans-reinventer-la-roue\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">F4<\/span><span class=\"mt\">Construire un RAG sans r\u00e9inventer la roue<\/span><\/a><a class=\"mga-modlink\" data-code=\"f5\" data-state=\"lock\" href=\"\/academy\/qualite-et-pieges-d-un-rag\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">F5<\/span><span class=\"mt\">Qualit\u00e9 et pi\u00e8ges d&#039;un RAG<\/span><\/a><\/div><\/div><div class=\"mga-blk\" data-bloc=\"G\"><button type=\"button\" class=\"mga-blk-h\"><span class=\"ic\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M12 3l1.7 5.2a2 2 0 0 0 1.1 1.1L20 11l-5.2 1.7a2 2 0 0 0-1.1 1.1L12 19l-1.7-5.2a2 2 0 0 0-1.1-1.1L4 11l5.2-1.7a2 2 0 0 0 1.1-1.1z\"\/><\/svg><\/span><span class=\"t\">Aller plus loin<\/span><span class=\"ch\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"m6 9 6 6 6-6\"\/><\/svg><\/span><\/button><div class=\"mga-blk-body\"><a class=\"mga-modlink\" data-code=\"g1\" data-state=\"lock\" href=\"\/academy\/ia-multimodale-image-voix\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">G1<\/span><span class=\"mt\">L&#039;IA multimodale : image, voix, documents<\/span><\/a><a class=\"mga-modlink\" data-code=\"g2\" data-state=\"lock\" href=\"\/academy\/prompt-rag-ou-fine-tuning\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">G2<\/span><span class=\"mt\">Prompt, RAG ou fine-tuning : quand quoi<\/span><\/a><a class=\"mga-modlink\" data-code=\"g3\" data-state=\"lock\" href=\"\/academy\/evaluer-et-ameliorer-un-systeme-ia\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">G3<\/span><span class=\"mt\">\u00c9valuer et am\u00e9liorer un syst\u00e8me IA<\/span><\/a><a class=\"mga-modlink\" data-code=\"g4\" data-state=\"lock\" href=\"\/academy\/cout-et-performance-a-l-echelle\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">G4<\/span><span class=\"mt\">Co\u00fbt et performance \u00e0 l&#039;\u00e9chelle<\/span><\/a><\/div><\/div><div class=\"mga-blk\" data-bloc=\"H\"><button type=\"button\" class=\"mga-blk-h\"><span class=\"ic\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M22 10 12 5 2 10l10 5 10-5Z\"\/><path d=\"M6 12v5c0 1 2 2 6 2s6-1 6-2v-5\"\/><\/svg><\/span><span class=\"t\">Projet<\/span><span class=\"ch\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"m6 9 6 6 6-6\"\/><\/svg><\/span><\/button><div class=\"mga-blk-body\"><a class=\"mga-modlink\" data-code=\"h1\" data-state=\"lock\" href=\"\/academy\/cadrer-ton-projet-ia\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">H1<\/span><span class=\"mt\">Cadrer ton projet IA : du besoin au plan<\/span><\/a><a class=\"mga-modlink\" data-code=\"h2\" data-state=\"lock\" href=\"\/academy\/construire-ton-projet-ia\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">H2<\/span><span class=\"mt\">Construire ton projet, brique par brique<\/span><\/a><a class=\"mga-modlink\" data-code=\"h3\" data-state=\"lock\" href=\"\/academy\/mettre-en-production-et-mesurer\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">H3<\/span><span class=\"mt\">Mettre en production et mesurer l&#039;impact<\/span><\/a><a class=\"mga-modlink\" data-code=\"h4\" data-state=\"lock\" href=\"\/academy\/ton-serveur-souverain-opere-par-l-ia\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"11\" x=\"3\" y=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">H4<\/span><span class=\"mt\">DevOps : ton serveur souverain, op\u00e9r\u00e9 par l&#039;IA<\/span><\/a><\/div><\/div><div class=\"mga-blk\" data-bloc=\"Z\"><button type=\"button\" class=\"mga-blk-h\"><span class=\"ic\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M12 3l1.7 5.2a2 2 0 0 0 1.1 1.1L20 11l-5.2 1.7a2 2 0 0 0-1.1 1.1L12 19l-1.7-5.2a2 2 0 0 0-1.1-1.1L4 11l5.2-1.7a2 2 0 0 0 1.1-1.1z\"\/><\/svg><\/span><span class=\"t\">Bonus<\/span><span class=\"ch\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"m6 9 6 6 6-6\"\/><\/svg><\/span><\/button><div class=\"mga-blk-body\"><a class=\"mga-modlink\" data-code=\"z1\" data-state=\"open\" href=\"\/academy\/github-et-l-open-source\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"3.2\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">BONUS<\/span><span class=\"mt\">Bonus : GitHub et l&#039;open source<\/span><\/a><a class=\"mga-modlink\" data-code=\"z3\" data-state=\"open\" href=\"\/academy\/faire-tourner-une-ia-en-local-sur-mac\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"3.2\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">BONUS 3<\/span><span class=\"mt\">Faire tourner une IA en local sur ton Mac (LM Studio, Ollama)<\/span><\/a><a class=\"mga-modlink\" data-code=\"z2\" data-state=\"open\" href=\"\/academy\/best-of-skills-mcp-playbooks\/\"><span class=\"st\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"3.2\"\/><\/svg><span class=\"chk\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span><\/span><span class=\"mc\">BONUS 2<\/span><span class=\"mt\">Bonus avanc\u00e9 : le best-of du moment (skills, MCP, playbooks)<\/span><\/a><\/div><\/div><\/nav><a class=\"mga-side-wa\" href=\"https:\/\/wa.me\/212620229114\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M7.9 20A9 9 0 1 0 4 16.1L2 22Z\"\/><\/svg><span>Une question ? WhatsApp<\/span><\/a><\/aside><div class=\"mga-shell-main\"><div class=\"mga\"><div class=\"mga-hero\"><p class=\"mga-eyebrow\">B5 \u00b7 Niveau 1 \u00b7 1h15 \u00b7 gratuit<\/p><h1>Donn\u00e9es, vie priv\u00e9e et \u00e9thique<\/h1><p>Tu repars avec : Tes r\u00e8gles d&#039;or avant de coller quoi que ce soit dans une IA, et ta checklist de conformit\u00e9 personnelle.<\/p><\/div><div class=\"mga-capsule\"><video controls preload=\"metadata\" playsinline poster=\"\/wp-content\/uploads\/2026\/09\/academy-b5-accroche.jpg\"><source src=\"\/wp-content\/uploads\/2026\/09\/academy-b5-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=\"b5\" data-n=\"3\"><div class=\"mga-chnav\"><button type=\"button\" class=\"mga-chtab on\" data-ch=\"0\"><span class=\"num\">1<\/span>Ce qu&#039;on ne colle jamais<\/button><button type=\"button\" class=\"mga-chtab\" data-ch=\"1\"><span class=\"num\">2<\/span>Le RGPD sans le jargon<\/button><button type=\"button\" class=\"mga-chtab\" data-ch=\"2\"><span class=\"num\">3<\/span>L&#039;IA souveraine et l&#039;\u00e9thique d&#039;usage<\/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 presque dix-sept heures, un mardi ordinaire. Tu finis une t\u00e2che, la t\u00eate d\u00e9j\u00e0 tourn\u00e9e vers la sortie, quand un client t'envoie un long document. Un contrat de quinze pages, ou bien un fichier avec les noms, les adresses et les num\u00e9ros de t\u00e9l\u00e9phone de ses propres clients. Il te demande un simple r\u00e9sum\u00e9, ou une reformulation plus claire. Tu ouvres ton IA pr\u00e9f\u00e9r\u00e9e dans le navigateur, tu fais un copier-coller de tout le bloc, et ton doigt survole la touche Entr\u00e9e. \u00c7a prendra trois secondes. Personne ne te regarde. Le texte est d\u00e9j\u00e0 sur ton \u00e9cran, alors quelle diff\u00e9rence si tu le glisses dans un autre onglet.<\/p><p>C'est exactement \u00e0 cette seconde que tout se joue. Pas dans une salle de r\u00e9union, pas dans un contrat sign\u00e9, pas dans une politique de s\u00e9curit\u00e9 affich\u00e9e au mur. Juste l\u00e0, dans ce petit geste banal, entre le copier et le coller, quand la fatigue et la pression de finir te disent que ce n'est pas grave.<\/p><p>Ce qu'on ne te dit pas, c'est que coller un texte dans un service en ligne, c'est comme poster une lettre. Une fois qu'elle est dans la bo\u00eete, tu ne peux plus la reprendre. Tu ne sais pas qui va la lire, o\u00f9 elle va dormir, combien de temps elle va rester, ni si elle servira un jour \u00e0 autre chose que ta demande du moment. Le contrat de ton client, ses coordonn\u00e9es, les secrets de son entreprise, tout \u00e7a vient de quitter ta table pour aller vivre sa vie sur des serveurs que tu ne contr\u00f4les pas.<\/p><p>Le pire, c'est que rien ne casse tout de suite. L'\u00e9cran te r\u00e9pond joliment, le r\u00e9sum\u00e9 est nickel, le client est content, tu rentres chez toi. Il n'y a pas d'alarme, pas de fum\u00e9e, pas de facture. Le probl\u00e8me existe quand m\u00eame, il est juste invisible. Et un probl\u00e8me invisible, c'est le plus dangereux, parce qu'on le r\u00e9p\u00e8te tous les jours sans jamais le voir, jusqu'au jour o\u00f9 quelqu'un, quelque part, le voit \u00e0 ta place. Ce module commence ici, dans ce geste minuscule, parce que c'est lui qui fait la diff\u00e9rence entre quelqu'un \u00e0 qui on confie des donn\u00e9es et quelqu'un \u00e0 qui on n'en confiera plus jamais.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">2 \u00b7 Le pourquoi<\/div><h3><\/h3><p>Comprendre ce geste change ta fa\u00e7on de travailler bien au-del\u00e0 de l'IA. Parce que la vraie comp\u00e9tence, ici, ce n'est pas de savoir se servir d'un outil intelligent. Tout le monde sait taper une question dans une case. La vraie comp\u00e9tence, c'est de savoir ce que tu as le droit de mettre dans cette case, et surtout ce que tu ne dois jamais y mettre. C'est \u00e7a qui s\u00e9pare quelqu'un de fiable de quelqu'un de risqu\u00e9.<\/p><p>Concr\u00e8tement, ce r\u00e9flexe te prot\u00e8ge sur trois fronts en m\u00eame temps. D'abord tes clients. Quand une personne te confie ses informations, ou celles de ses propres clients, elle te fait confiance sans m\u00eame y penser. Elle suppose que \u00e7a reste entre vous. Si tu prends ce texte et que tu le l\u00e2ches dans un service que tu ne ma\u00eetrises pas, tu trahis cette confiance sans le vouloir, et souvent sans le savoir. Le jour o\u00f9 \u00e7a se sait, tu ne perds pas seulement un dossier, tu perds une r\u00e9putation, et une r\u00e9putation ne se recolle pas.<\/p><p>Ensuite, \u00e7a te prot\u00e8ge toi. Une fuite de donn\u00e9es, ce n'est pas une petite maladresse qu'on oublie. \u00c7a peut virer en histoire juridique, en amende, en client furieux qui parle autour de lui. Le geste de trois secondes peut co\u00fbter des mois. Savoir t'arr\u00eater avant de coller, c'est t'\u00e9pargner tout \u00e7a \u00e0 l'avance, sans effort, juste avec un peu d'attention.<\/p><p>Enfin, \u00e7a change ta valeur sur le march\u00e9. Aujourd'hui, tout le monde peut sortir un joli r\u00e9sultat avec une IA. Ce qui devient rare, c'est la personne qui manipule des informations d\u00e9licates avec m\u00e9thode et calme. Un client s\u00e9rieux ne cherche pas la personne la plus rapide, il cherche celle en qui il peut poser un dossier sans se demander o\u00f9 il va finir. En apprenant ce r\u00e9flexe, tu ne deviens pas juste prudent, tu deviens quelqu'un \u00e0 qui on ose confier les choses importantes.<\/p><p>Et il y a un dernier b\u00e9n\u00e9fice, plus discret. Une fois que tu sais reconna\u00eetre ce qui est sensible et ce qui ne l'est pas, tu arr\u00eates d'avoir peur de l'IA. Tu ne te dis plus jamais oui mais est-ce que je peux. Tu sais. Tu avances vite sur tout ce qui est banal, et tu ralentis seulement l\u00e0 o\u00f9 il le faut. Cette clart\u00e9 te rend plus libre, pas moins. C'est le contraire de la panique et le contraire de l'insouciance : c'est le contr\u00f4le tranquille.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">3 \u00b7 Le comment<\/div><h3><\/h3><p class=\"mga-sub\">1. Reconna\u00eetre ce qui est sensible avant de coller<\/p><p>Avant de coller quoi que ce soit, pose-toi une seule question simple : est-ce que ce texte permet d'identifier une personne, ou de nuire \u00e0 quelqu'un s'il tombait entre de mauvaises mains. Si la r\u00e9ponse est oui, tu es dans le sensible. Une donn\u00e9e personnelle, c'est tout ce qui pointe vers un humain pr\u00e9cis : un nom, un num\u00e9ro de t\u00e9l\u00e9phone, une adresse, un mail, une date de naissance, une plaque de voiture, une photo de visage.<\/p><p>Il existe une cat\u00e9gorie encore plus d\u00e9licate, ce qu'on appelle les donn\u00e9es sensibles au sens strict : la sant\u00e9 de quelqu'un, ses opinions politiques, sa religion, son orientation, ses ennuis judiciaires, ses coordonn\u00e9es bancaires. L\u00e0, le curseur de prudence monte au maximum. Par exemple, un message client qui dit je serai absent car j'ai un rendez-vous \u00e0 l'h\u00f4pital contient une information de sant\u00e9, m\u00eame si \u00e7a n'en a pas l'air. Apprends \u00e0 voir ces informations cach\u00e9es dans des phrases banales, car c'est l\u00e0 qu'on se fait pi\u00e9ger.<\/p><p class=\"mga-sub\">2. Comprendre la r\u00e8gle du p\u00e9rim\u00e8tre : ce qui sort ne revient jamais<\/p><p>Imagine une ligne invisible autour de ton travail et de tes outils \u00e0 toi. \u00c0 l'int\u00e9rieur de cette ligne, tu contr\u00f4les les choses. D\u00e8s qu'une information franchit la ligne pour partir vers un service ext\u00e9rieur, tu perds la main dessus, pour toujours. Ce n'est pas dramatique, c'est juste un fait physique, comme une goutte d'encre vers\u00e9e dans un verre d'eau : tu ne peux plus la faire ressortir.<\/p><p>La bonne question n'est donc pas est-ce que je fais confiance \u00e0 cet outil. La bonne question est est-ce que \u00e7a me d\u00e9rangerait que ce texte reste stock\u00e9 quelque part, hors de mon contr\u00f4le, sans date de fin. Si oui, \u00e7a ne franchit pas la ligne. Par exemple, une id\u00e9e de titre pour un article peut sortir sans probl\u00e8me. La liste compl\u00e8te des clients d'une entreprise, non, jamais, quelle que soit la promesse affich\u00e9e par le service.<\/p><p class=\"mga-sub\">3. Nettoyer avant de coller plut\u00f4t que de renoncer<\/p><p>Renoncer \u00e0 l'IA n'est presque jamais n\u00e9cessaire. Le plus souvent, tu peux nettoyer le texte pour retirer ce qui identifie les gens, tout en gardant ce dont l'IA a besoin pour t'aider. C'est ce qu'on appelle anonymiser. Tu remplaces les vrais \u00e9l\u00e9ments par des \u00e9tiquettes neutres.<\/p><p>Prends un contrat entre Madame Untel et la soci\u00e9t\u00e9 Machin, avec des montants et des adresses. Pour obtenir un r\u00e9sum\u00e9, l'IA n'a pas besoin des vrais noms. Tu remplaces Madame Untel par le Client, la soci\u00e9t\u00e9 par le Prestataire, l'adresse par une ville g\u00e9n\u00e9rique, le montant pr\u00e9cis par un ordre de grandeur si le chiffre exact n'est pas n\u00e9cessaire. Le sens du contrat reste entier, l'IA fait parfaitement son travail, et aucune vraie personne n'a \u00e9t\u00e9 expos\u00e9e. C'est un tout petit effort, deux minutes, pour un gain de s\u00e9curit\u00e9 \u00e9norme.<\/p><p class=\"mga-sub\">4. Choisir le bon outil selon la sensibilit\u00e9<\/p><p>Tous les usages ne se valent pas, donc tous les outils ne se valent pas. Pour du texte totalement banal et public, presque n'importe quel outil fait l'affaire. Pour du d\u00e9licat, tu montes d'un cran : soit tu nettoies d'abord, soit tu utilises un outil dont tu contr\u00f4les vraiment o\u00f9 vont les donn\u00e9es. C'est toute la logique d'une IA souveraine, une intelligence qui tourne sur des serveurs qui t'appartiennent, o\u00f9 le texte ne franchit jamais ta ligne. On y reviendra en d\u00e9tail plus loin dans ce module.<\/p><p>La r\u00e8gle pratique tient en une image : range tes outils comme tu ranges tes cl\u00e9s. La cl\u00e9 de la bo\u00eete aux lettres, tu la pr\u00eates sans y penser. La cl\u00e9 de ton coffre, tu ne la laisses pas tra\u00eener. Un contrat client, des donn\u00e9es m\u00e9dicales, une base de contacts, c'est le coffre. Tu ne le confies pas \u00e0 un service que tu n'as jamais vu, juste parce qu'il est pratique et gratuit.<\/p><p class=\"mga-syn\">En r\u00e9sum\u00e9 : avant de coller, demande-toi si le texte identifie une personne ou pourrait nuire ; ce qui franchit la ligne vers un service ext\u00e9rieur ne revient jamais ; nettoie en rempla\u00e7ant les vrais \u00e9l\u00e9ments par des \u00e9tiquettes neutres ; et r\u00e9serve les informations vraiment d\u00e9licates aux outils dont tu contr\u00f4les r\u00e9ellement la destination.<\/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 viens de lire comment prot\u00e9ger des donn\u00e9es face \u00e0 l'IA. Le meilleur moyen de bien le comprendre, c'est de le voir en direct. Ouvre l'IA souveraine de l'Academy et fais un petit test toi-m\u00eame : tu vas observer, en pratique, la diff\u00e9rence entre un texte qu'on peut confier sans souci et un texte qu'il faut d'abord nettoyer. Pas de th\u00e9orie de plus, juste une manipulation concr\u00e8te, avec un outil dont, justement, les donn\u00e9es restent dans le p\u00e9rim\u00e8tre de MogaCode.<\/p><div class=\"mga-lab\" data-ex=\"b5_ia\"><p class=\"lh\">Parle a notre IA souveraine<\/p><p class=\"ls\">Tu viens de lire comment prot\u00e9ger des donn\u00e9es face \u00e0 l&#039;IA. Le meilleur moyen de bien le comprendre, c&#039;est de le voir en direct. Ouvre l&#039;IA souveraine de l&#039;Academy et fais un petit test toi-m\u00eame : tu v<\/p><textarea class=\"mga-in\" maxlength=\"400\" placeholder=\"Voici un message client fictif : Bonjour, je d\u00e9cale notre rendez-vous car je sors d&#039;une op\u00e9ration, mon num\u00e9ro est le 06 12 34 56 78, r\u00e9sumez-le moi. Peux-tu m&#039;expliquer, ligne par ligne, quelles informations sont sensibles l\u00e0-dedans, et me montrer une version anonymis\u00e9e que je pourrais coller sans risque dans n&#039;importe quel outil ?\"><\/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, un des outils les plus utilis\u00e9s au quotidien est un assistant branch\u00e9 sur WhatsApp. Son r\u00f4le est simple \u00e0 d\u00e9crire et tr\u00e8s parlant pour ce module : il aide \u00e0 g\u00e9rer des conversations avec de vraies personnes, des clients r\u00e9els, \u00e0 propos de dossiers r\u00e9els. Autrement dit, il manipule en permanence exactement le genre d'informations qu'on vient d'apprendre \u00e0 prot\u00e9ger.<\/p><p>Cet assistant a \u00e9t\u00e9 construit autour de deux capacit\u00e9s bien s\u00e9par\u00e9es, et cette s\u00e9paration est toute la le\u00e7on. La premi\u00e8re capacit\u00e9 s'appelle lire. L'assistant peut aller consulter l'historique d'une conversation, retrouver un message, comprendre le contexte d'un \u00e9change. C'est tr\u00e8s pratique, parce qu'on n'a pas \u00e0 tout recopier \u00e0 la main. Mais lire, \u00e7a veut dire que des messages priv\u00e9s passent sous les yeux de la machine. Il fallait donc que cette lecture reste \u00e0 l'int\u00e9rieur du p\u00e9rim\u00e8tre de MogaCode, sur son infrastructure, et pas dans un service ext\u00e9rieur qui garderait une copie de tout.<\/p><p>La deuxi\u00e8me capacit\u00e9 s'appelle envoyer. Et l\u00e0, la d\u00e9cision a \u00e9t\u00e9 volontairement stricte. L'assistant ne d\u00e9cide pas tout seul d'exp\u00e9dier un message \u00e0 un client. Un humain valide avant. Pourquoi une telle prudence, alors que la machine pourrait aller plus vite toute seule. Parce qu'un message envoy\u00e9, c'est exactement une lettre post\u00e9e : il franchit la ligne, il arrive chez le client, et on ne peut plus le reprendre. Une erreur de destinataire, une phrase mal comprise, une information confidentielle envoy\u00e9e \u00e0 la mauvaise personne, et le mal est fait. La r\u00e8gle du p\u00e9rim\u00e8tre s'applique aux messages sortants tout autant qu'aux textes qu'on colle.<\/p><p>Ce que montre cet exemple, c'est qu'un outil bien pens\u00e9 ne cherche pas \u00e0 tout faire de fa\u00e7on autonome. Il s\u00e9pare ce qui est sans danger, comme lire pour comprendre, de ce qui est irr\u00e9versible, comme envoyer vers l'ext\u00e9rieur. Le point sensible re\u00e7oit une porte, et cette porte, c'est un humain qui l'ouvre. On retrouve exactement le r\u00e9flexe que tu dois d\u00e9velopper devant ta propre case de saisie : identifier ce qui est banal et ce qui est d\u00e9licat, et mettre une main humaine sur le d\u00e9licat.<\/p><p>Il y a une deuxi\u00e8me le\u00e7on, plus discr\u00e8te. Le fait que la lecture des messages reste chez MogaCode, sur son propre syst\u00e8me, plut\u00f4t que d'\u00eatre sous-trait\u00e9e \u00e0 n'importe quel service pratique du moment, n'est pas un d\u00e9tail technique. C'est un choix de respect envers les clients. Leurs conversations ne partent pas se promener ailleurs. Elles restent dans un endroit connu, ma\u00eetris\u00e9, o\u00f9 l'on sait qui y acc\u00e8de et pourquoi. C'est la version concr\u00e8te de la r\u00e8gle range le coffre l\u00e0 o\u00f9 toi seul as la cl\u00e9. Un client qui apprend \u00e7a n'a pas besoin qu'on lui fasse un discours sur la confidentialit\u00e9 : il voit que la prudence est d\u00e9j\u00e0 dans la fa\u00e7on dont l'outil est fabriqu\u00e9, et pas seulement dans une jolie promesse.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">6 \u00b7 Le contre-exemple<\/div><h3><\/h3><p>Prenons maintenant un \u00e9chec bien r\u00e9el, qui a marqu\u00e9 MogaCode et qui illustre le danger de confier ce qu'on ne contr\u00f4le pas. Pendant longtemps, beaucoup de sites utilisaient un module tiers tr\u00e8s populaire pour ajouter des fonctionnalit\u00e9s \u00e0 leurs pages. Un outil pratique, install\u00e9 un peu partout, qui faisait gagner du temps. Sur le papier, rien \u00e0 redire : il marchait bien, il \u00e9tait largement adopt\u00e9, il paraissait s\u00fbr.<\/p><p>Puis ce module a \u00e9t\u00e9 compromis. Une faille dedans a servi de porte d'entr\u00e9e, et \u00e0 travers cette seule porte, plusieurs sites qui l'utilisaient se sont fait pirater. Le probl\u00e8me ne venait pas du travail de MogaCode ni de celui des clients. Il venait d'un composant ext\u00e9rieur, fabriqu\u00e9 et entretenu par quelqu'un d'autre, sur lequel personne chez MogaCode n'avait la main. On avait fait confiance \u00e0 une bo\u00eete qu'on ne pouvait pas ouvrir, et le jour o\u00f9 cette bo\u00eete a eu un d\u00e9faut, tous ceux qui s'appuyaient dessus l'ont pay\u00e9 en m\u00eame temps.<\/p><p>La le\u00e7on d\u00e9passe largement les sites internet, et c'est pour \u00e7a qu'elle a sa place ici. D\u00e8s l'instant o\u00f9 tu d\u00e9pends d'un service que tu ne contr\u00f4les pas, tu h\u00e9rites de tous ses d\u00e9fauts sans \u00eatre pr\u00e9venu. Sa s\u00e9curit\u00e9 devient la tienne. Ses failles deviennent les tiennes. Ses mauvaises d\u00e9cisions deviennent ton probl\u00e8me. C'est vrai pour un module de site, et c'est tout aussi vrai pour un service d'IA dans lequel tu colles des donn\u00e9es clients : tu ne vois pas comment il est prot\u00e9g\u00e9, tu ne sais pas qui peut y acc\u00e9der, tu d\u00e9couvres les ennuis quand ils sont d\u00e9j\u00e0 l\u00e0.<\/p><p>Ce que MogaCode en a tir\u00e9 n'est pas de tout refuser du monde ext\u00e9rieur, ce serait impossible et absurde. La le\u00e7on, c'est de distinguer ce qu'on peut confier \u00e0 autrui de ce qu'on doit garder chez soi. Le d\u00e9coratif, le pratique, le rempla\u00e7able, oui, on peut s'appuyer dessus, \u00e0 condition de pouvoir le retirer vite. Le pr\u00e9cieux, les donn\u00e9es des gens, le c\u0153ur du travail, non, \u00e7a reste sous contr\u00f4le direct. L'erreur classique, celle \u00e0 ne jamais refaire, c'est de mettre son bien le plus sensible dans les mains d'un service simplement parce qu'il est commode et gratuit. La commodit\u00e9 d'aujourd'hui devient la faille de demain, et elle frappe toujours au pire moment.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">7 \u00b7 Les pi\u00e8ges<\/div><h3><\/h3><ul class=\"mga-chain\"><li><b>Le sensible d\u00e9guis\u00e9 en banal.<\/b> Sympt\u00f4me : tu colles un message client anodin qui mentionne au passage un rendez-vous m\u00e9dical ou un souci d'argent. Cause : tu regardes le ton du message, pas les informations qu'il contient. R\u00e9flexe : relis en cherchant tout ce qui identifie une personne ou touche \u00e0 sa sant\u00e9, ses finances, sa vie priv\u00e9e, avant de coller.<\/li><li><b>La promesse rassurante.<\/b> Sympt\u00f4me : tu te dis c'est bon, le service affiche qu'il respecte la confidentialit\u00e9. Cause : tu confonds une phrase marketing avec un contr\u00f4le r\u00e9el. R\u00e9flexe : ne te fie pas \u00e0 la promesse, fie-toi \u00e0 qui contr\u00f4le vraiment la destination des donn\u00e9es ; dans le doute, nettoie ou utilise un outil ma\u00eetris\u00e9.<\/li><li><b>Le copier-coller de flemme.<\/b> Sympt\u00f4me : plut\u00f4t que de trier, tu balances le document entier pour gagner deux minutes. Cause : la fatigue et la pression de finir. R\u00e9flexe : prends l'habitude de ne coller que le strict n\u00e9cessaire, jamais le bloc complet par facilit\u00e9.<\/li><li><b>L'irr\u00e9versible trait\u00e9 comme r\u00e9versible.<\/b> Sympt\u00f4me : tu envoies ou publies vite, en te disant que tu corrigeras si besoin. Cause : tu oublies qu'une donn\u00e9e sortie ne revient jamais. R\u00e9flexe : traite tout envoi vers l'ext\u00e9rieur comme une lettre post\u00e9e, et mets une validation humaine sur ce qui est irr\u00e9versible.<\/li><li><b>La d\u00e9pendance invisible.<\/b> Sympt\u00f4me : tu confies ton travail le plus pr\u00e9cieux \u00e0 un outil pratique sans jamais te demander qui le contr\u00f4le. Cause : tout marche bien, donc tu ne poses pas la question. R\u00e9flexe : garde le pr\u00e9cieux sous ta main et n'appuie sur l'ext\u00e9rieur que ce que tu pourrais retirer sans douleur.<\/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\":\"Un client t'envoie la liste compl\\u00e8te de ses contacts avec noms et num\\u00e9ros, pour que tu la remettes en forme. Que fais-tu avant d'utiliser une IA en ligne que tu ne contr\\u00f4les pas ?\",\"options\":[{\"t\":\"Tu remplaces les vrais noms et num\\u00e9ros par des \\u00e9tiquettes neutres avant de coller, puis tu remets les vraies valeurs toi-m\\u00eame \\u00e0 la fin.\",\"ok\":true,\"why\":\"Tu obtiens l'aide de l'IA sur la mise en forme sans jamais exposer de vraie personne : c'est exactement l'anonymisation.\"},{\"t\":\"Tu colles la liste telle quelle, puisque tu ne fais que la remettre en forme et que \\u00e7a reste rapide.\",\"ok\":false,\"why\":\"La mise en forme est un pr\\u00e9texte : la liste compl\\u00e8te franchit la ligne et \\u00e9chappe \\u00e0 ton contr\\u00f4le pour toujours.\"}]},{\"q\":\"Tu h\\u00e9sites sur un message client qui dit je d\\u00e9cale car je sors d'une op\\u00e9ration. Est-ce une donn\\u00e9e \\u00e0 prot\\u00e9ger ?\",\"options\":[{\"t\":\"Oui, cela r\\u00e9v\\u00e8le une information de sant\\u00e9 m\\u00eame si la phrase para\\u00eet banale, donc tu la traites comme sensible.\",\"ok\":true,\"why\":\"Une information de sant\\u00e9 est parmi les plus d\\u00e9licates, m\\u00eame cach\\u00e9e dans une phrase anodine.\"},{\"t\":\"Non, c'est juste une excuse d'agenda, rien de m\\u00e9dical au sens strict.\",\"ok\":false,\"why\":\"Une op\\u00e9ration est une information de sant\\u00e9 : la traiter comme banale, c'est tomber dans le pi\\u00e8ge du sensible d\\u00e9guis\\u00e9.\"}]},{\"q\":\"Un outil gratuit et tr\\u00e8s pratique affiche vos donn\\u00e9es sont confidentielles. Peux-tu lui confier une base clients compl\\u00e8te ?\",\"options\":[{\"t\":\"Non, une phrase affich\\u00e9e n'est pas un contr\\u00f4le r\\u00e9el ; tu ne confies pas ton bien le plus pr\\u00e9cieux \\u00e0 un service que tu ne ma\\u00eetrises pas.\",\"ok\":true,\"why\":\"La bonne question est qui contr\\u00f4le la destination, pas ce que promet une banni\\u00e8re.\"},{\"t\":\"Oui, puisqu'il l'\\u00e9crit noir sur blanc, tu es couvert.\",\"ok\":false,\"why\":\"Confondre une promesse marketing avec une garantie, c'est pr\\u00e9cis\\u00e9ment le pi\\u00e8ge de la promesse rassurante.\"}]},{\"q\":\"Pour un simple brainstorming de titres d'articles sans aucune donn\\u00e9e personnelle, faut-il tout anonymiser aussi ?\",\"options\":[{\"t\":\"Non, c'est du contenu banal et public : tu peux avancer vite sans proc\\u00e9dure sp\\u00e9ciale.\",\"ok\":true,\"why\":\"La prudence se r\\u00e9serve au sensible ; ralentir sur le banal serait de la peur inutile, pas du contr\\u00f4le.\"},{\"t\":\"Oui, il faut toujours tout nettoyer, quel que soit le contenu, par principe.\",\"ok\":false,\"why\":\"Appliquer la proc\\u00e9dure maximale partout te fait perdre du temps et brouille le vrai r\\u00e9flexe : trier le banal du d\\u00e9licat.\"}]}]<\/script><div class=\"mga-host\"><\/div><\/div><\/div><div class=\"mga-q\" data-q=\"b5a1\"><p style=\"margin:0 0 6px;color:#0F2237\">Que veut dire anonymiser un texte avant de le coller dans une IA ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Remplacer les \u00e9l\u00e9ments qui identifient de vraies personnes par des \u00e9tiquettes neutres, en gardant le sens.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Effacer compl\u00e8tement le texte pour ne rien envoyer du tout.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Traduire le texte dans une autre langue pour brouiller les pistes.<\/button><\/div><div class=\"mga-q\" data-q=\"b5a2\"><p style=\"margin:0 0 6px;color:#0F2237\">Pourquoi dit-on que ce qui franchit la ligne vers un service ext\u00e9rieur ne revient jamais ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Parce qu&#039;une fois la donn\u00e9e envoy\u00e9e hors de ton contr\u00f4le, tu ne peux plus savoir o\u00f9 elle est ni la reprendre.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Parce que les services ext\u00e9rieurs sont tous malveillants par nature.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Parce que la loi interdit d&#039;utiliser une IA en ligne quelle qu&#039;elle soit.<\/button><\/div><div class=\"mga-q\" data-q=\"b5a3\"><p style=\"margin:0 0 6px;color:#0F2237\">Dans l&#039;assistant WhatsApp de MogaCode, pourquoi la capacit\u00e9 envoyer demande-t-elle une validation humaine ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Parce qu&#039;un message envoy\u00e9 est irr\u00e9versible et peut exposer une information \u00e0 la mauvaise personne.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Parce que la machine est trop lente pour envoyer seule.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Parce que WhatsApp interdit tout envoi automatique.<\/button><\/div><div class=\"mga-q\" data-q=\"b5a4\"><p style=\"margin:0 0 6px;color:#0F2237\">Laquelle de ces informations est consid\u00e9r\u00e9e comme sensible au sens le plus strict ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">L&#039;\u00e9tat de sant\u00e9 d&#039;une personne.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Le titre d&#039;un article de blog public.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Le nom d&#039;une grande ville.<\/button><\/div><div class=\"mga-q\" data-q=\"b5a5\"><p style=\"margin:0 0 6px;color:#0F2237\">Quelle est la vraie le\u00e7on de l&#039;incident du module tiers pirat\u00e9 chez MogaCode ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">D\u00e9pendre d&#039;un service qu&#039;on ne contr\u00f4le pas, c&#039;est h\u00e9riter de ses failles sans \u00eatre pr\u00e9venu.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Il ne faut jamais utiliser de site internet.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Les outils gratuits sont toujours plus s\u00fbrs que les payants.<\/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 entends parler du RGPD depuis des ann\u00e9es. Sur chaque site, une fen\u00eatre te demande d'accepter des cookies. Dans chaque mail pro, une petite ligne parle de tes droits. Le mot revient sans arr\u00eat, toujours entour\u00e9 d'un air s\u00e9rieux et un peu mena\u00e7ant, comme un contr\u00f4le fiscal qui pourrait tomber n'importe quand. Alors tu fais ce que font la plupart des gens : tu cliques accepter sans lire, tu ranges le sujet dans la case compliqu\u00e9 et pas pour moi, et tu passes \u00e0 autre chose.<\/p><p>Puis un jour, la question arrive pour de vrai. Un client te demande o\u00f9 sont stock\u00e9es les donn\u00e9es que tu traites pour lui. Ou bien tu veux utiliser une IA pour trier des retours clients, et une petite voix te dit attends, est-ce que j'ai le droit. Et l\u00e0, tu r\u00e9alises que tu ne sais pas r\u00e9pondre. Tu as v\u00e9cu \u00e0 c\u00f4t\u00e9 de ce mot pendant des ann\u00e9es sans jamais vraiment savoir ce qu'il voulait dire. Ce n'est pas de la b\u00eatise, c'est juste qu'on te l'a toujours pr\u00e9sent\u00e9 comme un texte de loi indigeste, une affaire de juristes, un truc \u00e0 d\u00e9l\u00e9guer.<\/p><p>La v\u00e9rit\u00e9, c'est que le RGPD n'est pas un pi\u00e8ge tendu pour t'attraper. C'est, au fond, une id\u00e9e simple et plut\u00f4t juste, \u00e9crite dans un langage compliqu\u00e9. L'id\u00e9e tient en une phrase : les informations sur les gens appartiennent aux gens, pas \u00e0 ceux qui les collectent. Quand une entreprise d\u00e9tient ton adresse, ton t\u00e9l\u00e9phone, ton historique d'achats, elle n'en devient pas propri\u00e9taire. Elle en est seulement gardienne, avec des devoirs qui vont avec.<\/p><p>Toute la tension que tu ressens vient d'un malentendu. On t'a fait croire que respecter le RGPD, c'\u00e9tait ma\u00eetriser un texte \u00e9norme. En r\u00e9alit\u00e9, c'est adopter une poign\u00e9e de r\u00e9flexes de bon sens, les m\u00eames que tu appliquerais naturellement si on te confiait le trousseau de cl\u00e9s d'un voisin. Tu n'entrerais pas dans toutes les pi\u00e8ces, tu ne ferais pas de doubles, tu ne pr\u00eaterais pas les cl\u00e9s \u00e0 des inconnus, et tu rendrais tout \u00e0 la fin. Le RGPD, c'est \u00e7a, mis en r\u00e8gles. Dans ce sous-module, on va enlever le jargon et te donner les quelques r\u00e9flexes qui comptent vraiment quand tu travailles avec une IA.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">2 \u00b7 Le pourquoi<\/div><h3><\/h3><p>Sortir le RGPD du brouillard change deux choses tr\u00e8s concr\u00e8tes dans ton travail. La premi\u00e8re, c'est que tu arr\u00eates d'avoir peur au mauvais endroit. Beaucoup de gens sont paralys\u00e9s par le RGPD sur des choses inoffensives, et compl\u00e8tement insouciants sur des choses r\u00e9ellement risqu\u00e9es. Ils tremblent avant d'envoyer une simple newsletter, mais collent des dossiers clients entiers dans le premier outil venu. Comprendre le principe te remet le curseur au bon niveau : tu sais quand c'est vraiment s\u00e9rieux et quand tu peux avancer sereinement.<\/p><p>La deuxi\u00e8me chose, c'est que tu deviens capable de r\u00e9pondre. Le jour o\u00f9 un client te demande o\u00f9 vont ses donn\u00e9es, tu ne bafouilles plus. Tu sais expliquer, en mots simples, ce que tu fais de ses informations, o\u00f9 elles sont, et pourquoi. Cette capacit\u00e9 vaut de l'or. Un client qui pose cette question est un client attentif, souvent le plus pr\u00e9cieux, et ta r\u00e9ponse claire le rassure imm\u00e9diatement. \u00c0 l'inverse, un je ne sais pas trop lui fait comprendre qu'il ne devrait pas te confier grand-chose.<\/p><p>Il y a aussi un enjeu de survie tr\u00e8s terre \u00e0 terre. Le RGPD n'est pas une suggestion polie, c'est une loi, avec des sanctions r\u00e9elles derri\u00e8re. Une entreprise qui traite les donn\u00e9es personnelles n'importe comment s'expose \u00e0 des amendes qui peuvent faire tr\u00e8s mal, et \u00e0 des plaintes de gens qui se sentent trahis. Tu n'as pas besoin de conna\u00eetre le montant exact des sanctions pour comprendre que le risque est l\u00e0, et qu'il est b\u00eate de le courir alors que l'\u00e9viter demande si peu.<\/p><p>Enfin, et c'est peut-\u00eatre le plus important quand on parle d'IA, comprendre le RGPD te donne une boussole pour choisir tes outils. Un service d'IA n'est pas neutre au regard de la loi : selon l'endroit o\u00f9 il stocke les donn\u00e9es, la fa\u00e7on dont il les r\u00e9utilise, la possibilit\u00e9 qu'il a d'entra\u00eener ses mod\u00e8les avec ce que tu lui donnes, tu es plus ou moins en r\u00e8gle. Sans cette boussole, tu choisis tes outils au hasard, sur la simple base de ce qui est pratique. Avec elle, tu choisis en connaissance de cause. Tu ne subis plus le sujet, tu le pilotes. Et piloter, c'est exactement ce que MogaCode veut t'apprendre : ne pas \u00eatre l'utilisateur passif d'une technologie, mais quelqu'un qui d\u00e9cide de ce qu'il en fait.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">3 \u00b7 Le comment<\/div><h3><\/h3><p class=\"mga-sub\">1. Retenir le principe unique dont tout d\u00e9coule<\/p><p>Si tu ne devais garder qu'une seule id\u00e9e du RGPD, ce serait celle-ci : les donn\u00e9es sur une personne appartiennent \u00e0 cette personne. Tu n'es que le gardien. De ce principe unique d\u00e9coulent, en cascade, presque toutes les r\u00e8gles. Tu n'as pas \u00e0 m\u00e9moriser une liste, tu as juste \u00e0 te demander, \u00e0 chaque fois : est-ce que je me comporte comme un bon gardien du bien de quelqu'un d'autre.<\/p><p>Par exemple, un bon gardien ne garde pas les cl\u00e9s d'une maison plus longtemps que n\u00e9cessaire. Traduit en RGPD : tu ne conserves pas des donn\u00e9es personnelles ind\u00e9finiment, tu les effaces quand elles ne servent plus. Un bon gardien ne se sert pas des affaires du voisin pour son propre profit. Traduit : tu n'utilises pas les donn\u00e9es r\u00e9colt\u00e9es pour un usage que la personne n'avait pas pr\u00e9vu. Toute la loi se d\u00e9plie \u00e0 partir de cette image simple.<\/p><p class=\"mga-sub\">2. Ne collecter que le n\u00e9cessaire, c'est la minimisation<\/p><p>La r\u00e8gle la plus utile au quotidien s'appelle la minimisation. Elle dit une chose \u00e9vidente : ne r\u00e9colte que ce dont tu as r\u00e9ellement besoin, rien de plus. Moins tu d\u00e9tiens de donn\u00e9es, moins tu as de risques, moins tu as de responsabilit\u00e9s, et moins tu peux causer de d\u00e9g\u00e2ts en cas de fuite.<\/p><p>Concr\u00e8tement, si tu montes un formulaire pour prendre un rendez-vous, tu as besoin d'un nom et d'un moyen de recontacter la personne. Tu n'as pas besoin de sa date de naissance, de sa profession ou de son adresse compl\u00e8te. Chaque champ en trop est une donn\u00e9e que tu devras prot\u00e9ger, justifier et effacer un jour. Appliqu\u00e9e \u00e0 l'IA, la minimisation dit la m\u00eame chose que le sous-module pr\u00e9c\u00e9dent : ne donne \u00e0 l'outil que le strict n\u00e9cessaire pour la t\u00e2che, jamais le dossier entier par confort.<\/p><p class=\"mga-sub\">3. Savoir o\u00f9 vivent les donn\u00e9es, la question de la localisation<\/p><p>Une donn\u00e9e personnelle n'est pas une id\u00e9e abstraite, elle est stock\u00e9e quelque part, sur un serveur physique, dans un b\u00e2timent r\u00e9el, dans un pays pr\u00e9cis. Et cet endroit compte, parce que les lois qui prot\u00e8gent les donn\u00e9es ne sont pas les m\u00eames partout. Le RGPD s'int\u00e9resse beaucoup \u00e0 savoir o\u00f9 les donn\u00e9es atterrissent et qui peut y acc\u00e9der.<\/p><p>C'est pour \u00e7a que la question o\u00f9 sont mes donn\u00e9es n'est jamais une question de curiosit\u00e9 technique. C'est une question de conformit\u00e9 et de confiance. Quand tu utilises un service d'IA, demande-toi o\u00f9 il fait tourner ses serveurs et ce que ses conditions disent de la r\u00e9utilisation de tes textes. Certains services se r\u00e9servent le droit de se servir de ce que tu leur \u00e9cris pour am\u00e9liorer leurs mod\u00e8les : autrement dit, ce que tu colles peut nourrir la machine et ressortir ailleurs. Pour des donn\u00e9es personnelles, c'est un vrai probl\u00e8me.<\/p><p class=\"mga-sub\">4. Garder une trace claire de ce que tu fais<\/p><p>Le dernier r\u00e9flexe est d'une simplicit\u00e9 d\u00e9sarmante : sois capable d'expliquer ce que tu fais. Le RGPD adore que les choses soient transparentes et tra\u00e7ables. Tu n'as pas besoin d'un dossier de cent pages. Tu as besoin de pouvoir dire, si on te le demande : voici les donn\u00e9es que je d\u00e9tiens, voici pourquoi, voici o\u00f9 elles sont, voici combien de temps je les garde, voici comment une personne peut demander \u00e0 les voir ou \u00e0 les effacer.<\/p><p>Cette clart\u00e9 te prot\u00e8ge doublement. Elle te met en r\u00e8gle, et elle t'oblige \u00e0 r\u00e9fl\u00e9chir avant d'agir. Si tu es incapable d'expliquer simplement pourquoi tu d\u00e9tiens une information, c'est souvent le signe que tu ne devrais pas la d\u00e9tenir. La transparence n'est pas une corv\u00e9e administrative, c'est un filtre qui t'emp\u00eache d'accumuler des risques sans t'en rendre compte.<\/p><p class=\"mga-syn\">En r\u00e9sum\u00e9 : tout part d'un principe, les donn\u00e9es appartiennent aux gens et tu n'es que gardien ; ne collecte que le n\u00e9cessaire, c'est la minimisation ; sache o\u00f9 vivent physiquement les donn\u00e9es et ce que le service en fait ; et garde-toi capable d'expliquer simplement ce que tu d\u00e9tiens, pourquoi, et pour combien de temps.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">4 \u00b7 Le cas r\u00e9el<\/div><h3><\/h3><p>MogaCode est une entreprise install\u00e9e \u00e0 Essaouira, au Maroc, et elle travaille avec de nombreux clients situ\u00e9s en Europe. Cette simple phrase pose, sans en avoir l'air, une vraie question de RGPD, et la fa\u00e7on dont MogaCode y r\u00e9pond est tr\u00e8s instructive.<\/p><p>Quand une entreprise europ\u00e9enne confie \u00e0 MogaCode le soin de g\u00e9rer son site, ses contenus ou ses contacts, elle confie du m\u00eame coup des donn\u00e9es personnelles de personnes europ\u00e9ennes. Or le RGPD suit ces donn\u00e9es comme une ombre : peu importe qui les traite ou depuis o\u00f9, d\u00e8s qu'il s'agit de donn\u00e9es de personnes en Europe, les m\u00eames exigences s'appliquent. La localisation de l'entreprise ne fait pas dispara\u00eetre les obligations, et la localisation des serveurs, elle, devient une vraie question. O\u00f9 ces donn\u00e9es vont-elles vivre. Qui peut y acc\u00e9der. Sont-elles \u00e9parpill\u00e9es dans une dizaine de services ext\u00e9rieurs, ou rassembl\u00e9es dans un endroit ma\u00eetris\u00e9.<\/p><p>La r\u00e9ponse de MogaCode a \u00e9t\u00e9 de faire tourner ses syst\u00e8mes sur une infrastructure qui lui appartient, ce qu'on appelle un serveur souverain, plut\u00f4t que de disperser le travail et les donn\u00e9es chez une multitude de prestataires. Ce choix n'est pas un caprice de technicien. C'est directement la question de la localisation dont on vient de parler, prise au s\u00e9rieux. Quand les donn\u00e9es vivent sur un serveur qu'on contr\u00f4le, on peut r\u00e9pondre pr\u00e9cis\u00e9ment \u00e0 un client qui demande o\u00f9 sont mes informations. On sait qui y acc\u00e8de. On peut appliquer ses propres r\u00e8gles de s\u00e9curit\u00e9, ses propres dur\u00e9es de conservation, sans d\u00e9pendre du bon vouloir d'un service tiers.<\/p><p>Ce cas \u00e9claire le principe du bon gardien. Un gardien s\u00e9rieux ne se contente pas de dire ne vous inqui\u00e9tez pas. Il montre o\u00f9 il range les affaires, il en garde la cl\u00e9, et il peut expliquer \u00e0 tout moment ce qu'il d\u00e9tient et pourquoi. En rassemblant les donn\u00e9es sur son propre serveur, MogaCode se met en position de tenir ce discours sans bluffer. La conformit\u00e9 au RGPD n'est plus une promesse en l'air, elle est incarn\u00e9e dans une architecture concr\u00e8te : un lieu connu, contr\u00f4l\u00e9, o\u00f9 l'on sait ce qui se passe.<\/p><p>La le\u00e7on que tu peux en tirer pour ton propre travail est directe. Tu n'as pas besoin de monter ton propre serveur pour \u00eatre en r\u00e8gle. Mais tu as besoin d'appliquer le m\u00eame raisonnement : savoir o\u00f9 atterrissent les donn\u00e9es que tu manipules, pr\u00e9f\u00e9rer les endroits que tu ma\u00eetrises pour ce qui est sensible, et pouvoir r\u00e9pondre calmement \u00e0 la question de la localisation. Un travailleur qui sait dire les donn\u00e9es de ce projet sont ici, g\u00e9r\u00e9es comme \u00e7a, gard\u00e9es ce temps-l\u00e0, inspire une confiance que dix promesses vagues n'atteindront jamais. Le RGPD, vu ainsi, n'est pas un frein : c'est ce qui te permet de dire proprement o\u00f9 sont les choses.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">5 \u00b7 Le contre-exemple<\/div><h3><\/h3><p>Voici maintenant l'erreur inverse, celle qu'on voit tous les jours et qui froisse le RGPD sans que personne ne s'en rende compte. Imagine une personne bien intentionn\u00e9e qui veut gagner du temps. Elle r\u00e9cup\u00e8re un export de tous les avis et retours de clients d'une entreprise, avec les noms et parfois les coordonn\u00e9es, et elle colle le tout dans un outil d'IA gratuit trouv\u00e9 en ligne, pour lui demander de faire une synth\u00e8se. Le r\u00e9sultat est excellent, le travail est boucl\u00e9 en cinq minutes, tout le monde est content. Sur le moment, rien ne cloche.<\/p><p>Pourtant, plusieurs r\u00e8gles viennent d'\u00eatre pi\u00e9tin\u00e9es d'un seul geste. La minimisation, d'abord : il n'\u00e9tait pas n\u00e9cessaire de fournir les noms des clients pour obtenir une synth\u00e8se des retours, les commentaires seuls suffisaient. Des donn\u00e9es personnelles ont \u00e9t\u00e9 expos\u00e9es sans aucune raison valable. La localisation, ensuite : personne ne sait sur quels serveurs, dans quel pays, ces informations ont atterri, ni qui peut d\u00e9sormais y acc\u00e9der. Et le point le plus vicieux : beaucoup de services gratuits se r\u00e9servent, dans leurs conditions, le droit de r\u00e9utiliser ce que les gens leur \u00e9crivent pour entra\u00eener leurs mod\u00e8les. Autrement dit, les retours de ces clients ne servent plus seulement \u00e0 ta synth\u00e8se : ils peuvent devenir une mati\u00e8re premi\u00e8re pour la machine, et ressortir, sous une forme ou une autre, dans des r\u00e9ponses donn\u00e9es \u00e0 d'autres, ailleurs, plus tard.<\/p><p>Le drame de ce genre d'\u00e9chec, c'est qu'il est silencieux. Il n'y a pas d'accident visible. La personne qui a coll\u00e9 les donn\u00e9es ne saura sans doute jamais qu'elle a cr\u00e9\u00e9 un risque. Aucune alarme ne sonne. C'est pr\u00e9cis\u00e9ment pour cette raison qu'il est si r\u00e9pandu : rien ne le punit sur le moment, donc on le refait, encore et encore, jusqu'au jour o\u00f9 un client d\u00e9couvre que ses informations circulent, ou qu'un contr\u00f4le pose des questions auxquelles personne ne peut r\u00e9pondre.<\/p><p>La le\u00e7on est double. D'une part, un r\u00e9sultat rapide et de bonne qualit\u00e9 ne veut absolument pas dire que tout s'est bien pass\u00e9 : le respect du RGPD ne se lit pas dans le r\u00e9sultat, il se joue dans la mani\u00e8re. D'autre part, la gratuit\u00e9 d'un outil se paye souvent en donn\u00e9es : quand tu ne paies pas le service, il y a de fortes chances que ce que tu lui donnes soit ce qui a de la valeur pour lui. Avant de coller quoi que ce soit qui touche \u00e0 de vraies personnes, demande-toi toujours ce que le service a le droit de faire avec, et rappelle-toi que ce qui entre peut ne jamais vraiment ressortir de sa m\u00e9moire.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">6 \u00b7 Les pi\u00e8ges<\/div><h3><\/h3><ul class=\"mga-chain\"><li><b>La peur au mauvais endroit.<\/b> Sympt\u00f4me : tu paniques pour une newsletter banale mais tu colles des dossiers entiers ailleurs sans r\u00e9fl\u00e9chir. Cause : tu confonds le RGPD avec une liste de formalit\u00e9s au lieu d'un principe. R\u00e9flexe : reviens au bon gardien et mets le curseur de prudence l\u00e0 o\u00f9 il y a de vraies personnes en jeu.<\/li><li><b>Le trop-plein de collecte.<\/b> Sympt\u00f4me : tes formulaires demandent bien plus d'informations que n\u00e9cessaire. Cause : on r\u00e9colte par habitude, au cas o\u00f9. R\u00e9flexe : applique la minimisation, chaque champ en trop est un risque en trop, ne garde que l'indispensable.<\/li><li><b>L'aveuglement sur la localisation.<\/b> Sympt\u00f4me : tu ne sais pas dire o\u00f9 sont stock\u00e9es les donn\u00e9es que tu manipules. Cause : tu n'as jamais pos\u00e9 la question \u00e0 tes outils. R\u00e9flexe : avant d'adopter un service, cherche o\u00f9 vivent les donn\u00e9es et ce que ses conditions autorisent.<\/li><li><b>Le pi\u00e8ge du gratuit.<\/b> Sympt\u00f4me : tu choisis un outil parce qu'il ne co\u00fbte rien, sans lire ce qu'il fait de tes donn\u00e9es. Cause : la gratuit\u00e9 semble sans cons\u00e9quence. R\u00e9flexe : rappelle-toi que si tu ne paies pas, ce que tu donnes a peut-\u00eatre de la valeur pour lui, et v\u00e9rifie s'il r\u00e9utilise tes textes.<\/li><li><b>L'incapacit\u00e9 \u00e0 expliquer.<\/b> Sympt\u00f4me : tu serais bien en peine de dire pourquoi tu d\u00e9tiens telle donn\u00e9e. Cause : tu accumules sans tra\u00e7abilit\u00e9. R\u00e9flexe : garde-toi capable d'expliquer en une phrase ce que tu d\u00e9tiens, pourquoi et pour combien de temps ; sinon, tu ne devrais probablement pas le d\u00e9tenir.<\/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\":\"Un formulaire de prise de rendez-vous demande nom, t\\u00e9l\\u00e9phone, date de naissance et profession. Que dit la minimisation ?\",\"options\":[{\"t\":\"Retirer la date de naissance et la profession, qui ne servent pas \\u00e0 fixer un rendez-vous.\",\"ok\":true,\"why\":\"On ne collecte que le n\\u00e9cessaire ; chaque champ superflu est une donn\\u00e9e \\u00e0 prot\\u00e9ger et \\u00e0 justifier pour rien.\"},{\"t\":\"Tout garder, car plus on a d'informations sur la personne, mieux c'est pour la suite.\",\"ok\":false,\"why\":\"Collecter au cas o\\u00f9 est exactement le pi\\u00e8ge du trop-plein : on accumule des risques sans usage r\\u00e9el.\"}]},{\"q\":\"Un client europ\\u00e9en te demande o\\u00f9 sont stock\\u00e9es ses donn\\u00e9es. Pourquoi cette question compte-t-elle au regard du RGPD ?\",\"options\":[{\"t\":\"Parce que le lieu de stockage et les acc\\u00e8s d\\u00e9terminent la protection r\\u00e9elle et ta capacit\\u00e9 \\u00e0 \\u00eatre en r\\u00e8gle.\",\"ok\":true,\"why\":\"La localisation n'est pas un d\\u00e9tail technique : les protections diff\\u00e8rent selon l'endroit et qui peut y acc\\u00e9der.\"},{\"t\":\"Parce que c'est une simple curiosit\\u00e9, sans effet sur la conformit\\u00e9 tant que le travail est bien fait.\",\"ok\":false,\"why\":\"C'est l'aveuglement sur la localisation : la conformit\\u00e9 d\\u00e9pend justement de o\\u00f9 vivent les donn\\u00e9es.\"}]},{\"q\":\"Tu veux r\\u00e9sumer des retours clients contenant des noms. Quelle approche respecte le mieux le RGPD ?\",\"options\":[{\"t\":\"Fournir seulement les commentaires, sans les noms, puisque l'identit\\u00e9 n'est pas utile \\u00e0 la synth\\u00e8se.\",\"ok\":true,\"why\":\"C'est la minimisation appliqu\\u00e9e \\u00e0 l'IA : on ne donne que ce dont la t\\u00e2che a besoin.\"},{\"t\":\"Coller l'export complet avec les noms pour que la synth\\u00e8se soit plus riche.\",\"ok\":false,\"why\":\"Les noms n'apportent rien \\u00e0 une synth\\u00e8se et exposent de vraies personnes sans raison valable.\"}]},{\"q\":\"Un outil d'IA est gratuit et tr\\u00e8s pratique. Que dois-tu v\\u00e9rifier avant de lui confier des donn\\u00e9es personnelles ?\",\"options\":[{\"t\":\"Ce que ses conditions l'autorisent \\u00e0 faire de tes textes, notamment s'il les r\\u00e9utilise pour entra\\u00eener ses mod\\u00e8les.\",\"ok\":true,\"why\":\"Un service gratuit se paye souvent en donn\\u00e9es ; savoir s'il r\\u00e9utilise tes textes est d\\u00e9cisif.\"},{\"t\":\"Rien de particulier, la gratuit\\u00e9 prouve qu'il n'a aucun int\\u00e9r\\u00eat \\u00e0 exploiter tes donn\\u00e9es.\",\"ok\":false,\"why\":\"C'est le pi\\u00e8ge du gratuit : l'absence de prix cache souvent que la donn\\u00e9e est ce qui a de la valeur.\"}]}]<\/script><div class=\"mga-host\"><\/div><\/div><\/div><div class=\"mga-step atelier\" id=\"at-d12e6e\" data-atlabel=\"\u00c0 toi : ton playbook\"><div class=\"n\"><span class=\"mga-atbadge\">Atelier - a toi de jouer<\/span><\/div><h3><\/h3><p>Avant de traiter des donn\u00e9es personnelles avec une IA, passe ce contr\u00f4le RGPD en clair. Pas de juridique, juste du bon sens de gardien.<\/p><div class=\"mga-checklist\"><script type=\"application\/json\" class=\"mga-data\">{\"ck\":\"b5_b\",\"items\":[\"Je me demande si je me comporte en bon gardien du bien de quelqu'un d'autre.\",\"Je ne r\\u00e9colte et ne transmets que le strict n\\u00e9cessaire \\u00e0 la t\\u00e2che, c'est la minimisation.\",\"Je sais dire o\\u00f9 vivent physiquement les donn\\u00e9es et qui peut y acc\\u00e9der.\",\"Je v\\u00e9rifie ce que le service a le droit de faire de mes textes, surtout s'il r\\u00e9utilise mes donn\\u00e9es.\",\"Je suis capable d'expliquer en une phrase ce que je d\\u00e9tiens, pourquoi et pour combien de temps.\"]}<\/script><div class=\"mga-host\"><\/div><\/div><\/div><div class=\"mga-q\" data-q=\"b5b1\"><p style=\"margin:0 0 6px;color:#0F2237\">Quel est le principe unique dont d\u00e9coule presque tout le RGPD ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Les donn\u00e9es sur une personne appartiennent \u00e0 cette personne, et tu n&#039;en es que le gardien.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Toutes les donn\u00e9es doivent \u00eatre supprim\u00e9es imm\u00e9diatement apr\u00e8s usage.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Seules les grandes entreprises sont concern\u00e9es par la protection des donn\u00e9es.<\/button><\/div><div class=\"mga-q\" data-q=\"b5b2\"><p style=\"margin:0 0 6px;color:#0F2237\">Que dit la r\u00e8gle de minimisation des donn\u00e9es ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Ne collecter et ne transmettre que ce dont on a r\u00e9ellement besoin, rien de plus.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">R\u00e9duire la taille des fichiers avant de les stocker.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Collecter un maximum d&#039;informations pour \u00eatre pr\u00eat \u00e0 tout.<\/button><\/div><div class=\"mga-q\" data-q=\"b5b3\"><p style=\"margin:0 0 6px;color:#0F2237\">Pourquoi la localisation des serveurs est-elle importante pour le RGPD ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Parce que la protection des donn\u00e9es et les acc\u00e8s d\u00e9pendent de l&#039;endroit o\u00f9 elles sont stock\u00e9es.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Parce qu&#039;un serveur proche rend les pages plus rapides.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Parce que la loi impose que tous les serveurs soient dans la m\u00eame ville que le client.<\/button><\/div><div class=\"mga-q\" data-q=\"b5b4\"><p style=\"margin:0 0 6px;color:#0F2237\">MogaCode est \u00e0 Essaouira et sert des clients europ\u00e9ens. Qu&#039;est-ce qui s&#039;applique aux donn\u00e9es de ces clients ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Les exigences du RGPD suivent les donn\u00e9es des personnes europ\u00e9ennes, quel que soit le lieu du traitement.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Aucune r\u00e8gle europ\u00e9enne ne s&#039;applique puisque l&#039;entreprise est hors d&#039;Europe.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Seules les r\u00e8gles marocaines comptent, le RGPD ne franchit pas les fronti\u00e8res.<\/button><\/div><div class=\"mga-q\" data-q=\"b5b5\"><p style=\"margin:0 0 6px;color:#0F2237\">Pourquoi se m\u00e9fier d&#039;un outil d&#039;IA gratuit pour des donn\u00e9es personnelles ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Parce qu&#039;il peut se r\u00e9server le droit de r\u00e9utiliser tes textes pour entra\u00eener ses mod\u00e8les.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Parce qu&#039;un outil gratuit est toujours de mauvaise qualit\u00e9.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Parce que la gratuit\u00e9 est interdite par le RGPD.<\/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>Reviens un instant \u00e0 ce moment o\u00f9 tu h\u00e9sitais \u00e0 coller un texte d\u00e9licat. Tu as appris \u00e0 trier, \u00e0 nettoyer, \u00e0 te demander o\u00f9 vont les donn\u00e9es. Mais imagine maintenant qu'on te propose autre chose : une intelligence artificielle qui r\u00e9pond comme les autres, sauf qu'elle ne tourne pas sur les serveurs d'une entreprise lointaine que tu ne verras jamais. Elle tourne sur une machine qui appartient \u00e0 ceux qui l'utilisent. Le texte que tu lui donnes ne franchit pas la ligne dont on a tant parl\u00e9 : il reste \u00e0 l'int\u00e9rieur du p\u00e9rim\u00e8tre. \u00c7a change tout, et pourtant c'est difficile \u00e0 sentir tant qu'on ne l'a pas v\u00e9cu.<\/p><p>Pour comprendre ce que \u00e7a veut dire vraiment, il faut se rappeler une petite histoire v\u00e9cue chez MogaCode, banale en apparence, mais riche d'enseignement. Un automatisme important avait \u00e9t\u00e9 mis en place pour tourner tout seul, \u00e0 intervalle r\u00e9gulier, sur un ordinateur portable, un mac. Un beau jour, la t\u00e2che ne s'est pas ex\u00e9cut\u00e9e. Pas de bug, pas d'erreur myst\u00e9rieuse. La raison \u00e9tait b\u00eate comme chou : le mac \u00e9tait \u00e9teint. La personne l'avait ferm\u00e9, comme on ferme son ordinateur le soir, et l'automatisme, si intelligent soit-il, ne pouvait rien faire sur une machine au repos.<\/p><p>Cette histoire minuscule contient une v\u00e9rit\u00e9 \u00e9norme. Un outil, aussi brillant soit-il, ne vaut que par le sol sur lequel il repose. Si ce sol d\u00e9pend de quelqu'un qui ferme son ordinateur, ou d'une entreprise \u00e0 l'autre bout du monde qui change ses r\u00e8gles du jour au lendemain, alors tu ne contr\u00f4les pas vraiment ton propre travail. Tu es \u00e0 la merci d'une d\u00e9cision qui ne t'appartient pas.<\/p><p>C'est de l\u00e0 que na\u00eet l'id\u00e9e d'une infrastructure souveraine : un serveur toujours allum\u00e9, sous ton contr\u00f4le, qui ne s'\u00e9teint pas parce que quelqu'un rentre chez lui. Et de fil en aiguille, la m\u00eame logique s'applique \u00e0 l'IA. Une IA souveraine, c'est une intelligence qui tourne chez toi, sur ta machine, selon tes r\u00e8gles. La tension de ce sous-module est l\u00e0 : on va d\u00e9couvrir pourquoi contr\u00f4ler l'endroit o\u00f9 vit l'intelligence n'est pas un luxe de technicien, mais une question de confiance, de libert\u00e9, et finalement d'\u00e9thique. Car la mani\u00e8re dont on utilise ces outils, ce qu'on accepte de leur confier et ce qu'on garde, dit quelque chose de ce qu'on est comme professionnel.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">2 \u00b7 Le pourquoi<\/div><h3><\/h3><p>Saisir cette id\u00e9e change ta relation enti\u00e8re \u00e0 la technologie. Jusqu'ici, la plupart des gens vivent l'IA comme des invit\u00e9s chez quelqu'un d'autre. Ils entrent dans une maison qui ne leur appartient pas, ils profitent du confort, et ils oublient qu'\u00e0 tout moment, le propri\u00e9taire peut changer les meubles, augmenter le loyer, ou fermer la porte. Comprendre la souverainet\u00e9, c'est passer du statut d'invit\u00e9 \u00e0 celui de propri\u00e9taire. Et un propri\u00e9taire ne travaille pas de la m\u00eame fa\u00e7on : il investit, il am\u00e9nage, il ose poser des choses pr\u00e9cieuses, parce qu'il sait qu'on ne les lui reprendra pas du jour au lendemain.<\/p><p>Concr\u00e8tement, \u00e7a te donne d'abord de la fiabilit\u00e9. Un outil qui d\u00e9pend d'un service ext\u00e9rieur peut dispara\u00eetre, changer de prix, ou se d\u00e9grader sans que tu aies ton mot \u00e0 dire. Un outil qui repose sur une base que tu contr\u00f4les reste l\u00e0, pr\u00e9visible. Tu peux construire dessus sans craindre que le sol se d\u00e9robe. Pour quelqu'un qui b\u00e2tit une activit\u00e9, cette stabilit\u00e9 vaut bien plus qu'une fonctionnalit\u00e9 brillante mais fragile.<\/p><p>Ensuite, \u00e7a r\u00e9sout d'un coup une grande partie des probl\u00e8mes des deux sous-modules pr\u00e9c\u00e9dents. Souviens-toi : le grand risque, c'\u00e9tait que les donn\u00e9es franchissent la ligne vers un service qu'on ne ma\u00eetrise pas. Avec une IA souveraine, la ligne ne bouge pas. Le texte reste chez toi, l'intelligence vient \u00e0 lui, et non l'inverse. Tu peux enfin utiliser la puissance de l'IA sur des sujets d\u00e9licats sans le n\u0153ud \u00e0 l'estomac, parce que rien ne sort de ton p\u00e9rim\u00e8tre. Ce n'est pas un d\u00e9tail, c'est ce qui rend l'IA utilisable s\u00e9rieusement dans un travail o\u00f9 la confidentialit\u00e9 compte.<\/p><p>Enfin, et c'est le c\u0153ur du sujet, \u00e7a t'ouvre \u00e0 la question \u00e9thique, celle qui te distingue vraiment. Utiliser l'IA de fa\u00e7on \u00e9thique, ce n'est pas suivre une liste d'interdits. C'est te demander en permanence : est-ce que je respecte les gens dont je manipule les donn\u00e9es, est-ce que je suis honn\u00eate sur ce que la machine sait faire et ne sait pas faire, est-ce que je garde le contr\u00f4le et la responsabilit\u00e9 de ce que je produis. Contr\u00f4ler ton infrastructure te donne les moyens de r\u00e9pondre oui \u00e0 ces questions. Tu n'es plus quelqu'un qui subit une technologie et se cache derri\u00e8re elle, tu es quelqu'un qui l'emploie avec conscience. C'est cette posture, plus que n'importe quelle comp\u00e9tence technique, qui fait de toi un professionnel en qui on peut avoir confiance sur la dur\u00e9e.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">3 \u00b7 Le comment<\/div><h3><\/h3><p class=\"mga-sub\">1. Comprendre ce que veut dire souverain<\/p><p>Souverain est un mot qui fait s\u00e9rieux, mais l'id\u00e9e est simple : c'est ce sur quoi tu as le dernier mot. Une chose est souveraine quand personne d'autre ne peut d\u00e9cider \u00e0 ta place de l'\u00e9teindre, de la changer ou de te la retirer. Un serveur souverain, c'est une machine dont tu tiens les cl\u00e9s, qui reste allum\u00e9e selon ta volont\u00e9, et pas selon l'humeur d'un fournisseur ou l'heure \u00e0 laquelle quelqu'un ferme son portable.<\/p><p>Reprends l'histoire du mac \u00e9teint. L'automatisme n'\u00e9tait pas souverain, parce qu'il d\u00e9pendait d'une machine que quelqu'un pouvait fermer sans y penser. En d\u00e9pla\u00e7ant ce travail sur un serveur toujours allum\u00e9 et sous contr\u00f4le, on lui a donn\u00e9 un sol stable. La le\u00e7on d\u00e9passe la technique : demande-toi toujours, pour ce qui compte dans ton travail, sur quel sol \u00e7a repose, et qui peut te retirer ce sol. Ce qui repose sur du sable finit toujours par tomber, au pire moment.<\/p><p class=\"mga-sub\">2. Voir la diff\u00e9rence entre inviter l'intelligence et lui envoyer tes donn\u00e9es<\/p><p>Il y a deux fa\u00e7ons oppos\u00e9es de faire travailler une IA. La premi\u00e8re, la plus courante, consiste \u00e0 envoyer tes donn\u00e9es vers l'intelligence : tu prends ton texte et tu le fais voyager jusqu'aux serveurs d'un service ext\u00e9rieur, qui te renvoie une r\u00e9ponse. Tes donn\u00e9es franchissent la ligne. La seconde consiste \u00e0 faire venir l'intelligence jusqu'\u00e0 tes donn\u00e9es : le mod\u00e8le tourne chez toi, et le texte ne bouge jamais de ton p\u00e9rim\u00e8tre.<\/p><p>Prends une image. Dans le premier cas, c'est comme envoyer tes documents confidentiels par la poste \u00e0 un expert lointain pour qu'il les lise. Dans le second, c'est comme faire venir l'expert dans ton bureau, o\u00f9 il consulte les documents sans jamais les emporter. Le r\u00e9sultat du travail est le m\u00eame, mais le risque n'a rien \u00e0 voir. Une IA souveraine, c'est la deuxi\u00e8me fa\u00e7on : l'intelligence se d\u00e9place, pas tes secrets. Quand tu choisis un outil, sache reconna\u00eetre laquelle des deux logiques il applique, car c'est elle qui d\u00e9cide de ta tranquillit\u00e9.<\/p><p class=\"mga-sub\">3. Rester honn\u00eate sur ce que la machine sait et ne sait pas<\/p><p>L'\u00e9thique d'usage commence par l'honn\u00eatet\u00e9, envers les autres et envers toi-m\u00eame. Une IA, aussi impressionnante soit-elle, peut se tromper avec un aplomb total. Elle peut inventer un fait, citer une source qui n'existe pas, ou affirmer une chose fausse sur un ton parfaitement convaincant. Le professionnel \u00e9thique le sait et ne se cache jamais derri\u00e8re la machine pour \u00e9viter de v\u00e9rifier.<\/p><p>La r\u00e8gle est simple : tu restes responsable de ce que tu produis, m\u00eame quand une IA t'a aid\u00e9. Si tu remets un texte \u00e0 un client, c'est ton texte, pas celui de la machine, et si une erreur s'y glisse, c'est ta signature dessus. Prends l'habitude de v\u00e9rifier ce qui compte, surtout les chiffres, les noms, les faits, les promesses. Et sois honn\u00eate avec ceux qui utiliseront ton travail : ne fais jamais croire qu'une machine garantit un r\u00e9sultat qu'elle ne peut pas garantir. Dire je ne sais pas ou je dois v\u00e9rifier n'est pas une faiblesse, c'est la marque de quelqu'un de fiable.<\/p><p class=\"mga-sub\">4. D\u00e9cider ce que tu confies et ce que tu gardes<\/p><p>La derni\u00e8re brique de la m\u00e9thode est une d\u00e9cision consciente, \u00e0 prendre une bonne fois puis \u00e0 r\u00e9appliquer sans cesse : qu'est-ce que j'accepte de confier \u00e0 l'ext\u00e9rieur, et qu'est-ce que je garde absolument sous contr\u00f4le. Tout n'a pas le m\u00eame degr\u00e9 de sensibilit\u00e9, on l'a vu. Le d\u00e9coratif, le rempla\u00e7able, le public peuvent s'appuyer sur des outils ext\u00e9rieurs pratiques. Le c\u0153ur de ton travail, les donn\u00e9es des gens, ce qui te d\u00e9finit, doit reposer sur un sol que tu ma\u00eetrises.<\/p><p>Cette d\u00e9cision, c'est la synth\u00e8se de tout le module. Elle relie l'histoire du module tiers pirat\u00e9 du premier sous-module, la question de la localisation du deuxi\u00e8me, et l'id\u00e9e de souverainet\u00e9 de celui-ci. \u00c0 chaque nouvel outil, \u00e0 chaque nouvelle t\u00e2che, repose-toi la question. Ce n'est pas de la parano\u00efa, c'est de l'hygi\u00e8ne, comme fermer sa porte en partant. Tu ne vis pas dans la peur du cambriolage, tu prends juste un r\u00e9flexe simple qui t'\u00e9vite d'y penser.<\/p><p class=\"mga-syn\">En r\u00e9sum\u00e9 : souverain veut dire que tu as le dernier mot et que personne ne peut te retirer le sol ; pr\u00e9f\u00e8re faire venir l'intelligence \u00e0 tes donn\u00e9es plut\u00f4t que d'envoyer tes donn\u00e9es vers l'intelligence ; reste honn\u00eate et responsable de ce que tu produis, la machine peut se tromper avec aplomb ; et d\u00e9cide consciemment ce que tu confies \u00e0 l'ext\u00e9rieur et ce que tu gardes sous ton contr\u00f4le.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">4 \u00b7 Le cas r\u00e9el<\/div><h3><\/h3><p>L'exemple le plus parlant de ce sous-module, tu es en train de le vivre en ce moment m\u00eame. L'intelligence artificielle qui anime cette Academy, celle \u00e0 qui tu peux poser des questions pour \u00e9claircir un point, ne tourne pas chez un fournisseur lointain. Elle tourne sur les serveurs de MogaCode. C'est une IA souveraine, et ce choix n'est pas anodin : il fait de l'Academy une d\u00e9monstration vivante de ce qu'elle enseigne.<\/p><p>R\u00e9fl\u00e9chis \u00e0 ce que \u00e7a implique. Quand tu poses une question \u00e0 cette IA, \u00e9ventuellement en donnant un exemple tir\u00e9 de ton propre travail, ce que tu \u00e9cris ne part pas se promener chez un tiers qui pourrait le conserver ou s'en servir pour entra\u00eener ses mod\u00e8les. \u00c7a reste dans le p\u00e9rim\u00e8tre de MogaCode. La ligne dont on parle depuis le d\u00e9but de ce module ne bouge pas. Une \u00e9cole qui apprend \u00e0 prot\u00e9ger ses donn\u00e9es tout en envoyant les questions de ses \u00e9l\u00e8ves \u00e0 un service ext\u00e9rieur incontr\u00f4l\u00e9 se contredirait elle-m\u00eame. Ici, la coh\u00e9rence est totale : on te dit garde le contr\u00f4le, et l'outil qu'on te met entre les mains garde justement le contr\u00f4le.<\/p><p>Cette IA souveraine s'appuie sur une base plus large, la m\u00eame logique qui traverse tout MogaCode. Il y a un serveur souverain, toujours allum\u00e9, qui h\u00e9berge les outils et les automatismes de l'entreprise. Souviens-toi de l'histoire du mac \u00e9teint : c'est pr\u00e9cis\u00e9ment l'accident qui a rappel\u00e9 pourquoi ce sol stable est indispensable. On ne pouvait pas laisser des t\u00e2ches importantes d\u00e9pendre d'un portable que quelqu'un ferme le soir. En les d\u00e9pla\u00e7ant sur une infrastructure qu'on contr\u00f4le et qui ne s'\u00e9teint pas, on a transform\u00e9 une fragilit\u00e9 en fondation solide. L'IA de l'Academy repose sur cette m\u00eame fondation.<\/p><p>Il y a une autre pi\u00e8ce dans ce paysage qui m\u00e9rite d'\u00eatre nomm\u00e9e, parce qu'elle montre o\u00f9 va le monde. MogaCode s'appuie sur une approche o\u00f9 les sites et les applications d\u00e9clarent eux-m\u00eames les actions qu'une IA peut effectuer, de fa\u00e7on encadr\u00e9e et ma\u00eetris\u00e9e. L'intelligence n'agit pas au hasard : elle utilise des outils pr\u00e9cis, connus, aux limites d\u00e9finies. C'est une mani\u00e8re de garder la main m\u00eame quand une machine agit. On ne lui laisse pas tout faire n'importe comment, on lui ouvre des portes pr\u00e9cises, et on garde les autres ferm\u00e9es.<\/p><p>La le\u00e7on de ce cas est puissante par son exemplarit\u00e9. MogaCode ne se contente pas de dire \u00e0 ses \u00e9l\u00e8ves il faut contr\u00f4ler vos outils. L'entreprise contr\u00f4le r\u00e9ellement les siens, jusqu'\u00e0 l'IA qui te r\u00e9pond dans cette formation. C'est la meilleure preuve possible qu'on peut travailler avec l'intelligence artificielle de fa\u00e7on s\u00e9rieuse, puissante et respectueuse en m\u00eame temps. La souverainet\u00e9 n'est pas un discours, c'est le sol sur lequel tu apprends en ce moment. Et cette coh\u00e9rence, cette absence d'\u00e9cart entre ce qu'on pr\u00eache et ce qu'on pratique, c'est exactement ce que tu dois viser dans ton propre travail.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">5 \u00b7 Le contre-exemple<\/div><h3><\/h3><p>Pour bien mesurer la valeur de la souverainet\u00e9, il faut revenir sur ce qui arrive quand on ne l'a pas, et l'histoire du mac \u00e9teint reste le contre-exemple le plus limpide. Rappelle-toi la situation. Un travail important devait s'ex\u00e9cuter tout seul, \u00e0 heures fixes, sur un ordinateur portable. Tout \u00e9tait bien pens\u00e9, l'automatisme \u00e9tait intelligent, la logique \u00e9tait bonne. Sauf que le tout reposait sur une machine ordinaire, qu'une personne pouvait \u00e9teindre en fin de journ\u00e9e sans m\u00eame y penser. Et c'est ce qui est arriv\u00e9. Le portable ferm\u00e9, la t\u00e2che n'a pas tourn\u00e9. Un travail entier a \u00e9t\u00e9 rat\u00e9 \u00e0 cause de la chose la plus banale du monde.<\/p><p>Ce qui rend cet \u00e9chec instructif, c'est justement son absence de spectacle. Personne n'a sabot\u00e9 quoi que ce soit, aucun pirate n'\u00e9tait en cause, aucun code n'\u00e9tait d\u00e9fectueux. La cause \u00e9tait humaine, quotidienne, presque comique : un geste de tous les soirs. Et pourtant les cons\u00e9quences \u00e9taient bien r\u00e9elles. C'est le propre des fondations fragiles : elles tiennent tant qu'on ne les sollicite pas trop, puis elles l\u00e2chent sur un rien, au moment o\u00f9 on s'y attend le moins.<\/p><p>La le\u00e7on que MogaCode en a tir\u00e9e est le fil rouge de ce sous-module. Un outil ne vaut que par le sol sur lequel il repose. Si ce sol d\u00e9pend d'un geste distrait, d'une machine personnelle, ou plus largement d'un service ext\u00e9rieur qui peut d\u00e9cider seul de s'arr\u00eater, alors tu n'as pas de vraie garantie. La r\u00e9ponse n'a pas \u00e9t\u00e9 d'accuser la personne qui avait ferm\u00e9 son ordinateur, ce serait absurde et injuste. La r\u00e9ponse a \u00e9t\u00e9 de changer de sol : d\u00e9placer ce qui compte sur un serveur souverain, toujours allum\u00e9, sous contr\u00f4le, o\u00f9 plus personne ne peut couper le courant par inadvertance.<\/p><p>\u00c9largis maintenant cette le\u00e7on \u00e0 ta propre pratique de l'IA. Beaucoup de gens construisent leur travail sur des outils qu'ils ne contr\u00f4lent pas, exactement comme cet automatisme reposait sur un portable. Tout va bien, jusqu'au jour o\u00f9 le service change ses r\u00e8gles, augmente son prix, ferme, ou d\u00e9cide d'exploiter les donn\u00e9es autrement. Ce jour-l\u00e0, tu d\u00e9couvres que tu b\u00e2tissais sur du sable, et il est trop tard pour d\u00e9m\u00e9nager sereinement. L'histoire du mac \u00e9teint te dit une chose simple \u00e0 retenir pour toujours : avant de t'appuyer sur quoi que ce soit d'important, demande-toi qui peut te retirer ce sol, et \u00e0 quelle vitesse. Si la r\u00e9ponse te fait peur, change de sol avant l'accident, pas apr\u00e8s.<\/p><\/div><div class=\"mga-step\"><div class=\"n\">6 \u00b7 Les pi\u00e8ges<\/div><h3><\/h3><ul class=\"mga-chain\"><li><b>Le sol de sable.<\/b> Sympt\u00f4me : tout ce qui compte dans ton travail repose sur un service ou une machine que quelqu'un d'autre peut couper. Cause : \u00e7a marche aujourd'hui, donc tu ne te poses pas la question. R\u00e9flexe : demande-toi qui peut te retirer ce sol et \u00e0 quelle vitesse, et d\u00e9m\u00e9nage l'important vers ce que tu contr\u00f4les.<\/li><li><b>Envoyer ses secrets au loin.<\/b> Sympt\u00f4me : pour chaque t\u00e2che, tu exp\u00e9dies tes donn\u00e9es vers l'intelligence au lieu de faire venir l'intelligence \u00e0 tes donn\u00e9es. Cause : c'est la fa\u00e7on par d\u00e9faut, la plus visible. R\u00e9flexe : privil\u00e9gie les outils o\u00f9 le texte reste dans ton p\u00e9rim\u00e8tre, surtout pour le sensible.<\/li><li><b>Se cacher derri\u00e8re la machine.<\/b> Sympt\u00f4me : tu remets un travail sans le v\u00e9rifier, en te disant que c'est l'IA qui l'a fait. Cause : tu confonds aide et responsabilit\u00e9. R\u00e9flexe : reste l'auteur de ce que tu produis, v\u00e9rifie les faits, les chiffres et les noms, ta signature est dessus.<\/li><li><b>Croire la machine sur parole.<\/b> Sympt\u00f4me : tu prends une r\u00e9ponse d'IA pour une v\u00e9rit\u00e9 parce qu'elle est bien formul\u00e9e. Cause : l'aplomb de la machine te trompe. R\u00e9flexe : rappelle-toi qu'une IA peut inventer avec assurance, et v\u00e9rifie tout ce qui a des cons\u00e9quences.<\/li><li><b>Confondre puissance et contr\u00f4le.<\/b> Sympt\u00f4me : tu choisis un outil pour ses fonctions brillantes sans regarder qui le contr\u00f4le. Cause : la puissance impressionne plus que la souverainet\u00e9. R\u00e9flexe : \u00e9value d'abord le sol, ensuite les fonctionnalit\u00e9s, une belle fonction sur un sol fragile ne vaut rien.<\/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 t\\u00e2che importante doit tourner toute seule chaque jour. Sur quoi vaut-il mieux la faire reposer ?\",\"options\":[{\"t\":\"Sur un serveur souverain toujours allum\\u00e9 et sous contr\\u00f4le, plut\\u00f4t que sur un ordinateur personnel qu'on peut \\u00e9teindre.\",\"ok\":true,\"why\":\"C'est la le\\u00e7on du mac \\u00e9teint : un travail important a besoin d'un sol stable que personne ne coupe par inadvertance.\"},{\"t\":\"Sur un portable personnel, c'est plus simple et \\u00e7a suffit tant que la logique de la t\\u00e2che est bonne.\",\"ok\":false,\"why\":\"Une logique parfaite ne sert \\u00e0 rien si la machine est ferm\\u00e9e : c'est pr\\u00e9cis\\u00e9ment le sol de sable.\"}]},{\"q\":\"Tu dois traiter un document confidentiel avec une IA. Quelle logique prot\\u00e8ge le mieux tes donn\\u00e9es ?\",\"options\":[{\"t\":\"Faire venir l'intelligence \\u00e0 tes donn\\u00e9es, avec un outil o\\u00f9 le texte reste dans ton p\\u00e9rim\\u00e8tre.\",\"ok\":true,\"why\":\"Comme l'expert qui vient au bureau sans emporter les documents, rien ne franchit la ligne.\"},{\"t\":\"Envoyer le document vers un service ext\\u00e9rieur puissant, l'important \\u00e9tant la qualit\\u00e9 de la r\\u00e9ponse.\",\"ok\":false,\"why\":\"Envoyer tes secrets au loin fait franchir la ligne \\u00e0 tes donn\\u00e9es, quelle que soit la qualit\\u00e9 du r\\u00e9sultat.\"}]},{\"q\":\"Une IA te donne une r\\u00e9ponse tr\\u00e8s bien tourn\\u00e9e, avec des chiffres pr\\u00e9cis. Que fais-tu avant de la remettre \\u00e0 un client ?\",\"options\":[{\"t\":\"Je v\\u00e9rifie les faits et les chiffres, car je reste responsable de ce que je produis.\",\"ok\":true,\"why\":\"L'\\u00e9thique d'usage commence par l'honn\\u00eatet\\u00e9 : l'IA peut se tromper avec aplomb, la signature reste la tienne.\"},{\"t\":\"Je la transmets telle quelle, puisqu'elle est bien formul\\u00e9e et d\\u00e9taill\\u00e9e.\",\"ok\":false,\"why\":\"Se cacher derri\\u00e8re la machine et croire son aplomb, c'est le double pi\\u00e8ge \\u00e0 \\u00e9viter absolument.\"}]},{\"q\":\"Pourquoi l'IA de l'Academy tourne-t-elle sur les serveurs de MogaCode plut\\u00f4t que chez un service ext\\u00e9rieur ?\",\"options\":[{\"t\":\"Pour que les questions et exemples des \\u00e9l\\u00e8ves restent dans le p\\u00e9rim\\u00e8tre contr\\u00f4l\\u00e9, en coh\\u00e9rence avec ce qu'elle enseigne.\",\"ok\":true,\"why\":\"Une \\u00e9cole qui apprend \\u00e0 prot\\u00e9ger ses donn\\u00e9es ne peut pas envoyer les questions de ses \\u00e9l\\u00e8ves \\u00e0 un tiers incontr\\u00f4l\\u00e9.\"},{\"t\":\"Uniquement pour que les r\\u00e9ponses soient plus rapides \\u00e0 afficher.\",\"ok\":false,\"why\":\"La raison n'est pas la vitesse mais le contr\\u00f4le et la coh\\u00e9rence : garder les donn\\u00e9es dans le p\\u00e9rim\\u00e8tre.\"}]}]<\/script><div class=\"mga-host\"><\/div><\/div><\/div><div class=\"mga-step atelier\" id=\"at-d12e6e\" data-atlabel=\"\u00c0 toi : ton playbook\"><div class=\"n\"><span class=\"mga-atbadge\">Atelier - a toi de jouer<\/span><\/div><h3><\/h3><p>Avant d'adopter un outil d'IA ou de lui confier une t\u00e2che qui compte, passe ce contr\u00f4le de souverainet\u00e9 et d'\u00e9thique. C'est le r\u00e9flexe du propri\u00e9taire, pas de l'invit\u00e9.<\/p><div class=\"mga-checklist\"><script type=\"application\/json\" class=\"mga-data\">{\"ck\":\"b5_c\",\"items\":[\"Je regarde sur quel sol repose l'outil et je me demande qui peut me le retirer, et \\u00e0 quelle vitesse.\",\"Je pr\\u00e9f\\u00e8re faire venir l'intelligence \\u00e0 mes donn\\u00e9es plut\\u00f4t que d'envoyer mes donn\\u00e9es au loin.\",\"Je reste l'auteur responsable de ce que je produis et je v\\u00e9rifie les faits, chiffres et noms.\",\"Je me rappelle qu'une IA peut se tromper avec aplomb et je ne la crois pas sur parole.\",\"Je d\\u00e9cide consciemment ce que je confie \\u00e0 l'ext\\u00e9rieur et ce que je garde sous mon contr\\u00f4le.\"]}<\/script><div class=\"mga-host\"><\/div><\/div><\/div><div class=\"mga-q\" data-q=\"b5c1\"><p style=\"margin:0 0 6px;color:#0F2237\">Que signifie souverain quand on parle d&#039;un serveur ou d&#039;une IA ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">C&#039;est ce sur quoi tu as le dernier mot, que personne d&#039;autre ne peut \u00e9teindre ou te retirer.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">C&#039;est un outil r\u00e9serv\u00e9 aux \u00c9tats et aux administrations.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">C&#039;est un service gratuit financ\u00e9 par la publicit\u00e9.<\/button><\/div><div class=\"mga-q\" data-q=\"b5c2\"><p style=\"margin:0 0 6px;color:#0F2237\">Quelle est la le\u00e7on de l&#039;histoire de l&#039;automatisme sur le mac \u00e9teint ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Un outil ne vaut que par le sol sur lequel il repose, d&#039;o\u00f9 le besoin d&#039;un serveur souverain toujours allum\u00e9.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Il ne faut jamais automatiser aucune t\u00e2che.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Les ordinateurs portables sont interdits en entreprise.<\/button><\/div><div class=\"mga-q\" data-q=\"b5c3\"><p style=\"margin:0 0 6px;color:#0F2237\">Quelle logique prot\u00e8ge le mieux des donn\u00e9es confidentielles trait\u00e9es par une IA ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Faire venir l&#039;intelligence jusqu&#039;aux donn\u00e9es, qui restent dans le p\u00e9rim\u00e8tre.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Envoyer les donn\u00e9es vers le service le plus puissant disponible.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Chiffrer les donn\u00e9es puis les publier en ligne.<\/button><\/div><div class=\"mga-q\" data-q=\"b5c4\"><p style=\"margin:0 0 6px;color:#0F2237\">En mati\u00e8re d&#039;\u00e9thique d&#039;usage, qui est responsable d&#039;un travail produit avec l&#039;aide d&#039;une IA ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Toi qui le remets, car la machine peut se tromper et la signature reste la tienne.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">L&#039;IA seule, puisque c&#039;est elle qui a r\u00e9dig\u00e9.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Personne, tant que le r\u00e9sultat semble correct.<\/button><\/div><div class=\"mga-q\" data-q=\"b5c5\"><p style=\"margin:0 0 6px;color:#0F2237\">Pourquoi l&#039;IA de l&#039;Academy tourne-t-elle sur les serveurs de MogaCode ?<\/p><button type=\"button\" class=\"opt\" data-good=\"1\">Pour que les donn\u00e9es des \u00e9l\u00e8ves restent dans le p\u00e9rim\u00e8tre contr\u00f4l\u00e9, en coh\u00e9rence avec ce qu&#039;elle enseigne.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Pour r\u00e9duire le co\u00fbt de l&#039;\u00e9lectricit\u00e9.<\/button><button type=\"button\" class=\"opt\" data-good=\"0\">Pour pouvoir revendre les questions des \u00e9l\u00e8ves.<\/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>Donn\u00e9e personnelle<\/b><div class=\"df\">Toute information qui concerne une personne pr\u00e9cise ou une affaire priv\u00e9e : nom, adresse, num\u00e9ro, mot de passe, contrat, dossier m\u00e9dical, secret d&#039;entreprise.<\/div><div class=\"an\">Comme le contenu de ton portefeuille : tu ne le vides pas sur la table de n&#039;importe quel inconnu, m\u00eame s&#039;il a l&#039;air serviable.<\/div><\/div><div class=\"mga-mot\"><b>Donn\u00e9e sensible<\/b><div class=\"df\">Une cat\u00e9gorie de donn\u00e9es particuli\u00e8rement d\u00e9licates, comme la sant\u00e9, la religion, les opinions ou les coordonn\u00e9es bancaires, qui demandent une prudence maximale.<\/div><div class=\"an\">C&#039;est le contenu de la table de nuit d&#039;une personne : encore plus intime que le reste de la maison.<\/div><\/div><div class=\"mga-mot\"><b>RGPD<\/b><div class=\"df\">La loi europ\u00e9enne qui prot\u00e9g\u00e9 les donn\u00e9es personnelles et encadr\u00e9 leur usage.<\/div><div class=\"an\">Le code de la route des donn\u00e9es personnelles.<\/div><\/div><div class=\"mga-mot\"><b>Service tiers<\/b><div class=\"df\">Un outil ou une plateforme fabriqu\u00e9 et contr\u00f4l\u00e9 par quelqu&#039;un d&#039;autre, sur lequel tu n&#039;as pas la main et dont tu d\u00e9pends quand tu l&#039;utilises.<\/div><div class=\"an\">C&#039;est le pressing du coin : pratique, mais tes v\u00eatements passent quelques jours dans une arri\u00e8re-boutique que tu ne vois jamais.<\/div><\/div><div class=\"mga-mot\"><b>IA souveraine<\/b><div class=\"df\">Une IA qui tourne sur des serveurs que l&#039;on poss\u00e8de et contr\u00f4le soi-m\u00eame, au lieu d&#039;un service ext\u00e9rieur o\u00f9 l&#039;on ne sait pas ce qui est fait de ce qu&#039;on tape.<\/div><div class=\"an\">Comme cuisiner chez toi, dans ta propre cuisine, plut\u00f4t que de confier tes ingr\u00e9dients \u00e0 un restaurant dont tu ne vois jamais l&#039;arri\u00e8re-boutique.<\/div><\/div><div class=\"mga-mot\"><b>Minimisation des donn\u00e9es<\/b><div class=\"df\">La r\u00e8gle qui consiste \u00e0 ne collecter et ne transmettre que ce dont on a r\u00e9ellement besoin, rien de plus.<\/div><div class=\"an\">C&#039;est faire ses valises l\u00e9ger : tu ne prends que ce qui sert vraiment, pas toute l&#039;armoire au cas o\u00f9.<\/div><\/div><div class=\"mga-mot\"><b>Anonymisation<\/b><div class=\"df\">Le fait de retirer d&#039;un texte tout ce qui identifie de vraies personnes, en gardant le sens, avant de le confier \u00e0 un outil.<\/div><div class=\"an\">C&#039;est flouter les visages sur une photo avant de la montrer : on voit la sc\u00e8ne, mais plus qui est qui.<\/div><\/div><div class=\"mga-mot\"><b>P\u00e9rim\u00e8tre<\/b><div class=\"df\">La ligne invisible autour de tes outils et de tes donn\u00e9es, \u00e0 l&#039;int\u00e9rieur de laquelle tu gardes le contr\u00f4le ; ce qui la franchit t&#039;\u00e9chappe.<\/div><div class=\"an\">C&#039;est la cl\u00f4ture de ton jardin : tant que la balle est dedans, tu peux la reprendre ; pass\u00e9e par-dessus, elle ne t&#039;appartient plus vraiment.<\/div><\/div><\/div><div class=\"mga-reflexe\">Avant de coller quoi que ce soit dans une IA, demande-toi qui contr\u00f4le o\u00f9 va ce texte : ce qui franchit la ligne ne revient jamais.<\/div><div class=\"mga-liv\"><h3>Ton livrable<\/h3><p>\u00c0 la fin de ce module, tu produis ta propre fiche r\u00e9flexe de protection des donn\u00e9es, une page unique que tu gardes \u00e0 port\u00e9e de main. Elle r\u00e9unit tes trois checklists (ce qu'on ne colle jamais, le contr\u00f4le RGPD en clair, le contr\u00f4le de souverainet\u00e9 et d'\u00e9thique) et une courte liste personnelle des outils que tu utilises, class\u00e9s en deux colonnes : ceux \u00e0 qui tu peux confier du banal, et ceux que tu r\u00e9serves au sensible parce que tu en contr\u00f4les la destination. Cette fiche est exportable et r\u00e9utilisable sur chaque nouveau projet : c'est ton garde-fou concret, pas un document th\u00e9orique.<\/p><\/div><div class=\"mga-eval\" data-code=\"b5\"><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 B5<\/button><\/div><div class=\"mga-eval-done\" hidden><div class=\"badge\">Module valide<\/div><p>Bravo. Ce module est marque comme termin\u00e9, et ton badge est enregistr\u00e9.<\/p><\/div><\/div><div class=\"mga-step\" style=\"border-left-color:#128a4f\"><h3>Tu as termin\u00e9 le Bloc Prompt et outils<\/h3><div class=\"mga-badge\" data-bloc=\"B\" data-blocname=\"Prompt et outils\" data-mods=\"b1,b2,b3,b4,b5\"><span class=\"ic\"><svg class=\"mga-ic\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M22 10 12 5 2 10l10 5 10-5Z\"\/><path d=\"M6 12v5c0 1 2 2 6 2s6-1 6-2v-5\"\/><\/svg><\/span><span class=\"lbl\"><\/span><\/div><p>La suite : Bloc Comprendre la machine : Une API, c&#039;est quoi et \u00e0 quoi \u00e7a sert ?.<\/p><a class=\"mga-cta\" href=\"\/academy\/comprendre-les-api\/\">Continuer vers C1<\/a> <a class=\"mga-cta ghost\" style=\"color:#0F2237;border-color:var(--gold)\" href=\"https:\/\/wa.me\/212620229114\">Une question ? WhatsApp<\/a><\/div><\/div><script>(function(){\n  document.querySelectorAll('.mga-q').forEach(function(q){q.querySelectorAll('.opt').forEach(function(b){b.addEventListener('click',function(){q.querySelectorAll('.opt').forEach(function(x){x.classList.remove('ok','no')});b.classList.add(b.getAttribute('data-good')==='1'?'ok':'no');try{localStorage.setItem('mga_'+q.getAttribute('data-q'),b.getAttribute('data-good'));}catch(e){}});});});\n  function call(ex,mode,input){return fetch('\/wp-json\/mga\/v1\/atelier',{method:'POST',headers:{'Content-Type':'application\/json'},body:JSON.stringify({exercise:ex,mode:mode,input:input})}).then(function(r){return r.json().then(function(j){return {ok:r.ok,j:j};});});}\n  document.querySelectorAll('.mga-lab').forEach(function(lab){\n    var ex=lab.getAttribute('data-ex');\n    var ta=lab.querySelector('.mga-in'),o1=lab.querySelector('.mga-o1'),n1=lab.querySelector('.mga-n1'),cc=lab.querySelector('.cc .n');\n    if(ta&&cc){ta.addEventListener('input',function(){cc.textContent=ta.value.length;});}\n    function run(mode){var input=ta?ta.value.trim():'';if(mode!=='guide'&&!input){if(ta)ta.focus();return;}var bs=lab.querySelectorAll('button');bs.forEach(function(b){b.disabled=true;});o1.hidden=false;o1.innerHTML='<span class=\"who\">Le mod\u00e8le<\/span>...';if(n1)n1.hidden=true;\n      call(ex,mode,input).then(function(x){if(!x.ok){o1.innerHTML='<span class=\"who\">Le mod\u00e8le<\/span>'+((x.j&&x.j.error)||'Indisponible.');}else{o1.innerHTML='<span class=\"who\">Le mod\u00e8le r\u00e9pond<\/span>'+((x.j.output||'(r\u00e9ponse vide)'));if(mode==='guide'&&n1){n1.hidden=false;n1.textContent=\"Tu vois ? Sur ce terrain, il atteint sa limite : il ne sait pas, ou il invente. C'est exactement ce qu'on apprend \\u00e0 rep\\u00e9rer et \\u00e0 corriger.\";}}}).catch(function(){o1.innerHTML='<span class=\"who\">Le mod\u00e8le<\/span>Erreur r\u00e9seau, reessaie.';}).finally(function(){bs.forEach(function(b){b.disabled=false;});});}\n    var t=lab.querySelector('.mga-try'),g=lab.querySelector('.mga-guide'),cmp=lab.querySelector('.mga-compare');\n    if(t)t.addEventListener('click',function(){run('libre');});\n    if(g)g.addEventListener('click',function(){run('guide');});\n    if(cmp){cmp.addEventListener('click',function(){var input=ta?ta.value.trim():'';if(!input){if(ta)ta.focus();return;}var box=lab.querySelector('.mga-cmp'),oL=lab.querySelector('.mga-oL'),oR=lab.querySelector('.mga-oR');box.hidden=false;cmp.disabled=true;oL.innerHTML='<span class=\"who\">Ton prompt<\/span>...';oR.innerHTML='<span class=\"who\">Le prompt pro<\/span>en attente...';\n      call(ex,'libre',input).then(function(a){oL.innerHTML='<span class=\"who\">Ton prompt<\/span>'+((a.j&&(a.j.output||a.j.error))||'');oR.innerHTML='<span class=\"who\">Le prompt pro : r\u00f4le + contexte + t\u00e2che + format<\/span>...';return call(ex,'guide','');}).then(function(b){oR.innerHTML='<span class=\"who\">Le prompt pro : r\u00f4le + contexte + t\u00e2che + format<\/span>'+((b.j&&(b.j.output||b.j.error))||'');if(n1){n1.hidden=false;n1.textContent=\"M\u00eame mod\u00e8le, m\u00eame serveur. Seul le prompt a change. Voil\u00e0 pourquoi savoir prompter est une vraie comp\u00e9tence.\";}}).catch(function(){oR.innerHTML='<span class=\"who\">Le prompt pro<\/span>Erreur r\u00e9seau.';}).finally(function(){cmp.disabled=false;});});}\n  });\n})();<\/script>\n<script>\n(function(){\n  function esc(s){var d=document.createElement('div');d.textContent=(s==null?'':s);return d.innerHTML;}\n  function call(ex,mode,input,opts){opts=opts||{};var b={exercise:ex,mode:mode,input:input||''};if(opts.temperature!=null)b.temperature=opts.temperature;if(opts.maxTokens!=null)b.maxTokens=opts.maxTokens;\n    return fetch('\/wp-json\/mga\/v1\/atelier',{method:'POST',headers:{'Content-Type':'application\/json'},body:JSON.stringify(b)}).then(function(r){return r.json().then(function(j){return{ok:r.ok,j:j};});}).catch(function(){return{ok:false,j:{error:'Erreur r\u00e9seau, reessaie.'}};});}\n  function lget(){try{return JSON.parse(localStorage.getItem('mga_lib')||'[]');}catch(e){return[];}}\n  function ladd(it){try{var a=lget();a.unshift(it);localStorage.setItem('mga_lib',JSON.stringify(a.slice(0,50)));}catch(e){}renderLibs();}\n  function done(code){try{var m=JSON.parse(localStorage.getItem('mga_done')||'{}');m[code]=1;localStorage.setItem('mga_done',JSON.stringify(m));}catch(e){}}\n  function isDone(code){try{return !!(JSON.parse(localStorage.getItem('mga_done')||'{}')[code]);}catch(e){return false;}}\n  function counter(box){var ta=box.querySelector('.mga-in'),cc=box.querySelector('.cc .n');if(ta&&cc){ta.addEventListener('input',function(){cc.textContent=ta.value.length;});}}\n  function wdata(el){try{return JSON.parse(el.querySelector('script.mga-data').textContent);}catch(e){return null;}}\n\n  document.querySelectorAll('.mga-forge').forEach(function(el){\n    counter(el);\n    var ta=el.querySelector('.mga-in'),ru=el.querySelector('.mga-rubric'),out=el.querySelector('.mga-o1'),sr=el.querySelector('.mga-saverow');\n    el.querySelectorAll('.chip').forEach(function(c){c.addEventListener('click',function(){ta.value=c.getAttribute('data-load');ta.focus();var cc=el.querySelector('.cc .n');if(cc)cc.textContent=ta.value.length;});});\n    function rubric(t){t=(t||'').toLowerCase().normalize('NFD').replace(\/[\\u0300-\\u036f]\/g,'');return{\n      'Un r\u00f4le':\/\\b(tu es|agis comme|en tant que|ton role|comporte-toi|tu joues)\\b\/.test(t),\n      'Un contexte':(t.length>140)||\/\\b(contexte|situation|il s agit|pour un|pour une|notre|mon |ma |mes |client|entreprise|facture|projet|dossier)\\b\/.test(t)||\/[0-9]\/.test(t),\n      'Une t\u00e2che claire':\/\\b(redige|r\u00e9sum\u00e9|traduis|ecris|liste|explique|corrige|analyse|classe|g\u00e9n\u00e8re|propose|reformule|compare|calcule|trie)\\b\/.test(t),\n      'Un format':\/\\b(ligne|lignes|mot|mots|liste|tableau|point|points|objet|format|paragraphe|puces|colonnes|json|phrase|phrases)\\b\/.test(t),\n      'Une contrainte':\/\\b(max|maximum|sans|ne pas|uniquement|seulement|en francais|en anglais|courtois|ferme|formel|au plus|jusqu|court|bref|pr\u00e9cis)\\b\/.test(t)\n    };}\n    el.querySelector('.mga-analyze').addEventListener('click',function(){\n      var t=ta.value.trim();if(!t){ta.focus();return;}\n      var r=rubric(t),keys=Object.keys(r),ok=keys.filter(function(k){return r[k];}).length;\n      var tips={'Un r\u00f4le':'Ajoute qui est l IA : Tu es un...','Un contexte':'Donne ta situation : chiffres, client, projet.','Une t\u00e2che claire':'Un verbe d action pr\u00e9cis : r\u00e9dige, r\u00e9sum\u00e9, classe...','Un format':'Pr\u00e9cise la forme : nombre de lignes, liste, objet...','Une contrainte':'Cadre : longueur max, ton, langue, ce qu il faut \u00e9viter.'};\n      var h='<div class=\"score\">Structure : '+ok+'\/5'+(ok>=4?' - solide':' - a renforcer')+'<\/div>';\n      keys.forEach(function(k){h+='<div class=\"r\"><span class=\"m '+(r[k]?'ok2':'no2')+'\">'+(r[k]?'OK':'X')+'<\/span><span>'+k+(r[k]?'':' - '+esc(tips[k]))+'<\/span><\/div>';});\n      ru.innerHTML=h;ru.hidden=false;\n      out.hidden=false;out.innerHTML='<span class=\"who\">L IA ex\u00e9cute ton prompt<\/span>...';\n      var btn=this;btn.disabled=true;\n      call('b1_run','libre',t,{maxTokens:400}).then(function(x){out.innerHTML='<span class=\"who\">L IA ex\u00e9cute ton prompt<\/span>'+esc((x.j&&(x.j.output||x.j.error))||'');if(ok>=4){sr.hidden=false;}}).finally(function(){btn.disabled=false;});\n    });\n    el.querySelector('.mga-save').addEventListener('click',function(){var t=ta.value.trim();if(!t)return;ladd({type:'Prompt',title:t.slice(0,60),body:t,ts:Date.now()});el.querySelector('.saved').hidden=false;});\n  });\n\n  document.querySelectorAll('.mga-fewshot').forEach(function(el){\n    var tog=el.querySelector('.mga-fs-toggle'),inp=el.querySelector('.mga-in2'),out=el.querySelector('.mga-o1');\n    el.querySelector('.mga-fs-run').addEventListener('click',function(){\n      var msg=inp.value.trim();if(!msg)return;\n      var ex=\"Message : Livraison rapide, je recommande. -> positif\\nMessage : Colis casse et service injoignable. -> n\u00e9gatif\\nMessage : \u00c7a fait le job, sans plus. -> neutre\\n\";\n      var user=(tog.checked?ex:'')+'Message : '+msg+' -> ';\n      out.hidden=false;out.innerHTML='<span class=\"who\">'+(tog.checked?'Avec 3 exemples':'Sans exemple')+'<\/span>...';\n      var btn=this;btn.disabled=true;\n      call('b1_fewshot','libre',user,{maxTokens:60}).then(function(x){out.innerHTML='<span class=\"who\">'+(tog.checked?'Avec 3 exemples':'Sans exemple')+'<\/span>'+esc((x.j&&(x.j.output||x.j.error))||'');}).finally(function(){btn.disabled=false;});\n    });\n  });\n\n  document.querySelectorAll('.mga-temp').forEach(function(el){\n    var rg=el.querySelector('.mga-temp-range'),val=el.querySelector('.mga-temp-val'),out=el.querySelector('.mga-temp-out');\n    function lab(v){return v<=0.3?'prudente':(v<=0.6?'\u00e9quilibr\u00e9e':'cr\u00e9ative');}\n    rg.addEventListener('input',function(){val.innerHTML='Temp\u00e9rature : <b>'+rg.value+'<\/b> <span class=\"tl\">'+lab(parseFloat(rg.value))+'<\/span>';});\n    el.querySelector('.mga-temp-run').addEventListener('click',function(){\n      var t=parseFloat(rg.value);out.innerHTML='';var btn=this;btn.disabled=true;var seq=Promise.resolve();\n      [0,1,2].forEach(function(i){seq=seq.then(function(){var d=document.createElement('div');d.className='mga-out';d.innerHTML='<span class=\"who\">Essai '+(i+1)+' (temp '+t+')<\/span>...';out.appendChild(d);\n        return call('b1_temp','guide','',{temperature:t,maxTokens:40}).then(function(x){d.innerHTML='<span class=\"who\">Essai '+(i+1)+' (temp '+t+')<\/span>'+esc((x.j&&(x.j.output||x.j.error))||'');});});});\n      seq.finally(function(){btn.disabled=false;});\n    });\n  });\n\n  document.querySelectorAll('.mga-tools').forEach(function(el){\n    var data=wdata(el)||[];var host=el.querySelector('.mga-host');var cur='all';\n    var tags=[['all','Tout'],['souverain','Souverain'],['confidentialit\u00e9','Confidentialit\u00e9'],['g\u00e9n\u00e9ral','G\u00e9n\u00e9ral'],['code','Code'],['bureautique','Bureautique'],['r\u00e9daction','R\u00e9daction']];\n    host.innerHTML='<div class=\"mga-tf\">'+tags.map(function(t){return '<button data-t=\"'+t[0]+'\"'+(t[0]==='all'?' class=\"on\"':'')+'>'+t[1]+'<\/button>';}).join('')+'<\/div><div class=\"mga-tgrid\"><\/div><p class=\"mga-tnote\" style=\"color:#5A6B80;font-size:12px;margin:12px 0 0\">Rep\u00e8res g\u00e9n\u00e9raux, \u00e0 jour au moment de l ecriture. V\u00e9rifie toujours les prix courants.<\/p>';\n    var grid=host.querySelector('.mga-tgrid');\n    function draw(){grid.innerHTML=data.filter(function(d){return cur==='all'||(d.tags||[]).indexOf(cur)>=0;}).map(function(d){var sv=d.souv==='Oui'?'y':(d.souv==='Non'?'n':'p');return '<div class=\"mga-tcard\"><h4>'+esc(d.nom)+'<\/h4><div class=\"kv\"><b>Forts :<\/b> '+esc(d.forts)+'<\/div><div class=\"kv\"><b>Confidentialit\u00e9 :<\/b> '+esc(d.confid)+'<\/div><div class=\"kv\"><b>Prix :<\/b> '+esc(d.prix)+'<\/div><div class=\"kv\"><b>Quand :<\/b> '+esc(d.quand)+'<\/div><span class=\"sv '+sv+'\">Souverain : '+esc(d.souv)+'<\/span><\/div>';}).join('');}\n    host.querySelectorAll('.mga-tf button').forEach(function(b){b.addEventListener('click',function(){cur=b.getAttribute('data-t');host.querySelectorAll('.mga-tf button').forEach(function(x){x.classList.remove('on');});b.classList.add('on');draw();});});\n    draw();\n  });\n\n  document.querySelectorAll('.mga-decision').forEach(function(el){\n    var data=wdata(el)||[];var host=el.querySelector('.mga-host');var i=0,score=0;\n    function draw(){if(i>=data.length){host.innerHTML='<div class=\"dscore\">Termin\u00e9 : '+score+' \/ '+data.length+' bons choix.<\/div>';return;}\n      var q=data[i];host.innerHTML='<div class=\"dprog\">Situation '+(i+1)+' \/ '+data.length+'<\/div><div class=\"dq\">'+esc(q.q)+'<\/div>'+q.options.map(function(o,k){return '<button class=\"dopt\" data-k=\"'+k+'\">'+esc(o.t)+'<\/button>';}).join('')+'<div class=\"dwhy\" hidden><\/div><div class=\"dnext\" hidden><button class=\"mga-cta dnb\">Suivant<\/button><\/div>';\n      host.querySelectorAll('.dopt').forEach(function(b){b.addEventListener('click',function(){var o=q.options[+b.getAttribute('data-k')];host.querySelectorAll('.dopt').forEach(function(x){x.disabled=true;});b.classList.add(o.ok?'ok':'no');if(o.ok)score++;var w=host.querySelector('.dwhy');w.textContent=(o.ok?'Bon choix. ':'Pas ideal. ')+o.why;w.hidden=false;host.querySelector('.dnext').hidden=false;});});\n      host.querySelector('.dnb').addEventListener('click',function(){i++;draw();});\n    }\n    draw();\n  });\n\n  document.querySelectorAll('.mga-workbench').forEach(function(el){\n    var tasks=wdata(el)||[];var host=el.querySelector('.mga-host');var cur=0;\n    host.innerHTML='<div class=\"mga-wtabs\">'+tasks.map(function(t,k){return '<button data-k=\"'+k+'\"'+(k===0?' class=\"on\"':'')+'>'+esc(t.label)+'<\/button>';}).join('')+'<\/div><div class=\"mga-wbody\"><\/div>';\n    var body=host.querySelector('.mga-wbody');\n    function draw(){var t=tasks[cur];var h='<div class=\"mga-wgain\">Temps gagne estime : '+esc(t.gain)+'<\/div><div class=\"mga-wf\">';\n      t.fields.forEach(function(fl){h+='<label>'+esc(fl.label)+'<\/label>'+(fl.big?'<textarea data-n=\"'+fl.name+'\" placeholder=\"'+esc(fl.ph)+'\"><\/textarea>':'<input type=\"text\" data-n=\"'+fl.name+'\" placeholder=\"'+esc(fl.ph)+'\" value=\"'+esc(fl.def||'')+'\">');});\n      h+='<\/div><div class=\"row\" style=\"margin-top:12px\"><button class=\"mga-cta mga-wrun\">Produire avec l IA<\/button><\/div><div class=\"mga-wout\" hidden><label style=\"font-weight:700;color:#0F2237;display:block;margin-bottom:6px\">Ton livrable (\u00e9ditable) :<\/label><textarea class=\"mga-wres\"><\/textarea><div class=\"row\" style=\"display:flex;gap:10px;margin-top:10px\"><button class=\"mga-wexport\" style=\"background:transparent;color:#0F2237;border:1px solid var(--gold);border-radius:9px;padding:10px 16px;cursor:pointer;font:inherit;font-weight:700\">Exporter (.txt)<\/button><button class=\"mga-wsave\" style=\"background:transparent;color:#0F2237;border:1px solid var(--gold);border-radius:9px;padding:10px 16px;cursor:pointer;font:inherit;font-weight:700\">Sauver dans ma biblio<\/button><\/div><\/div>';\n      body.innerHTML=h;\n      body.querySelector('.mga-wrun').addEventListener('click',function(){\n        var vals={};body.querySelectorAll('[data-n]').forEach(function(f){vals[f.getAttribute('data-n')]=f.value.trim();});\n        var prompt=t.tpl.replace(\/\\{(\\w+)\\}\/g,function(_,n){return vals[n]||('['+n+']');});\n        var wo=body.querySelector('.mga-wout'),res=body.querySelector('.mga-wres');wo.hidden=false;res.value='...';var btn=this;btn.disabled=true;\n        call(t.key,'libre',prompt,{maxTokens:500}).then(function(x){res.value=(x.j&&(x.j.output||x.j.error))||'';}).finally(function(){btn.disabled=false;});\n      });\n      body.querySelector('.mga-wexport').addEventListener('click',function(){var v=body.querySelector('.mga-wres').value;var bl=new Blob([v],{type:'text\/plain'});var a=document.createElement('a');a.href=URL.createObjectURL(bl);a.download='livrable-'+t.key+'.txt';a.click();});\n      body.querySelector('.mga-wsave').addEventListener('click',function(){var v=body.querySelector('.mga-wres').value;if(!v)return;ladd({type:t.label,title:t.label+' produit',body:v,ts:Date.now()});});\n    }\n    host.querySelectorAll('.mga-wtabs button').forEach(function(b){b.addEventListener('click',function(){cur=+b.getAttribute('data-k');host.querySelectorAll('.mga-wtabs button').forEach(function(x){x.classList.remove('on');});b.classList.add('on');draw();});});\n    draw();\n  });\n\n  document.querySelectorAll('.mga-checklist').forEach(function(el){\n    var d=wdata(el)||[];var items=Array.isArray(d)?d:(d.items||[]);var host=el.querySelector('.mga-host');var KEY='mga_ck_'+((!Array.isArray(d)&&d.ck)?d.ck:'x');\n    var st={};try{st=JSON.parse(localStorage.getItem(KEY)||'{}');}catch(e){}\n    function save(){try{localStorage.setItem(KEY,JSON.stringify(st));}catch(e){}}\n    function draw(){var n=Object.keys(st).filter(function(k){return st[k];}).length;\n      var h='<div class=\"mga-cprog\">'+n+' \/ '+items.length+' t\u00e2ches d\u00e9l\u00e9gu\u00e9es<\/div>';\n      items.forEach(function(it,k){h+='<div class=\"ci'+(st[k]?' on':'')+'\" data-k=\"'+k+'\"><span class=\"bx\"><\/span><span>'+esc(it)+'<\/span><\/div>';});\n      h+='<div class=\"row\" style=\"margin-top:12px\"><button class=\"mga-ckexp\" style=\"background:transparent;color:#0F2237;border:1px solid var(--gold);border-radius:9px;padding:10px 16px;cursor:pointer;font:inherit;font-weight:700\">Exporter mon playbook<\/button><\/div>';\n      host.innerHTML=h;\n      host.querySelectorAll('.ci').forEach(function(c){c.addEventListener('click',function(){var k=c.getAttribute('data-k');st[k]=!st[k];save();draw();});});\n      host.querySelector('.mga-ckexp').addEventListener('click',function(){var txt='Mon playbook IA - t\u00e2ches \u00e0 d\u00e9l\u00e9guer\\n\\n'+items.map(function(it,k){return (st[k]?'[x] ':'[ ] ')+it;}).join('\\n');var bl=new Blob([txt],{type:'text\/plain'});var a=document.createElement('a');a.href=URL.createObjectURL(bl);a.download='mon-playbook-ia.txt';a.click();});\n    }\n    draw();\n  });\n\n  document.querySelectorAll('.mga-hunt').forEach(function(el){\n    var d=wdata(el)||{};var host=el.querySelector('.mga-host');var segs=d.segments||[];var sel={};\n    host.innerHTML='<p class=\"hi\">'+esc(d.intro)+'<\/p>'+segs.map(function(sg,k){return '<button class=\"mga-hseg\" data-k=\"'+k+'\">'+esc(sg.t)+'<\/button>';}).join('')+'<div class=\"row\" style=\"margin-top:12px\"><button class=\"mga-cta mga-hverify\">V\u00e9rifier<\/button><\/div><div class=\"mga-hres\" style=\"margin-top:10px;font-weight:700;color:#0F2237\" hidden><\/div>';\n    host.querySelectorAll('.mga-hseg').forEach(function(b){b.addEventListener('click',function(){var k=b.getAttribute('data-k');sel[k]=!sel[k];b.classList.toggle('sel');});});\n    host.querySelector('.mga-hverify').addEventListener('click',function(){var good=0,bad=0;\n      segs.forEach(function(sg,k){var b=host.querySelector('.mga-hseg[data-k=\"'+k+'\"]');b.classList.remove('sel');b.disabled=true;\n        if(sg.bad){bad++;b.classList.add('bad');if(sel[k])good++;b.innerHTML=esc(sg.t)+'<span class=\"wy\">A rejeter : '+esc(sg.why)+'<\/span>';}\n        else{b.classList.add('good');b.innerHTML=esc(sg.t)+'<span class=\"wy\">Correct : '+esc(sg.why)+'<\/span>';}});\n      var res=host.querySelector('.mga-hres');res.hidden=false;res.textContent='Tu as rep\u00e8re '+good+' erreur(s) sur '+bad+'. '+(good===bad?'Sans faute, oeil de pro.':'Regarde en rouge celles que tu as manquees.');\n      this.disabled=true;});\n  });\n\n  document.querySelectorAll('.mga-critique').forEach(function(el){\n    counter(el);var ta=el.querySelector('.mga-in'),oA=el.querySelector('.mga-oA'),oC=el.querySelector('.mga-oC'),bc=el.querySelector('.mga-selfcrit');var lastAns='';\n    el.querySelector('.mga-ask').addEventListener('click',function(){var t=ta.value.trim();if(!t)return;oA.hidden=false;oA.innerHTML='<span class=\"who\">L IA r\u00e9pond<\/span>...';oC.hidden=true;var btn=this;btn.disabled=true;bc.disabled=true;\n      call('b4_answer','libre',t,{maxTokens:280}).then(function(x){lastAns=(x.j&&x.j.output)||'';oA.innerHTML='<span class=\"who\">L IA r\u00e9pond<\/span>'+esc(lastAns||(x.j&&x.j.error)||'');if(lastAns)bc.disabled=false;}).finally(function(){btn.disabled=false;});});\n    bc.addEventListener('click',function(){if(!lastAns)return;oC.hidden=false;oC.innerHTML='<span class=\"who\">L IA se critique<\/span>...';var btn=this;btn.disabled=true;\n      call('b4_critique','libre',lastAns,{maxTokens:280}).then(function(x){oC.innerHTML='<span class=\"who\">L IA se critique<\/span>'+esc((x.j&&(x.j.output||x.j.error))||'');}).finally(function(){btn.disabled=false;});});\n  });\n\n  document.querySelectorAll('.mga-redact').forEach(function(el){\n    var d=wdata(el)||{};var host=el.querySelector('.mga-host');var toks=d.tokens||[];var red={};\n    host.innerHTML='<p class=\"hi\" style=\"color:#33475b;line-height:1.6\">'+esc(d.intro)+'<\/p><div class=\"mga-doc\"><b>'+esc(d.title)+'<\/b><br>'+toks.map(function(t,k){return '<span class=\"mga-tok'+(t.pii?' pii':'')+'\" data-k=\"'+k+'\">'+esc(t.t)+'<\/span>';}).join('')+'<\/div><div class=\"row\"><button class=\"mga-cta mga-rverify\">V\u00e9rifier<\/button><\/div><div class=\"mga-rres\" style=\"margin-top:10px;font-weight:700;color:#0F2237\" hidden><\/div><div class=\"mga-rnote\" style=\"margin-top:8px;color:#33475b;line-height:1.6\" hidden><\/div>';\n    host.querySelectorAll('.mga-tok').forEach(function(sp){sp.addEventListener('click',function(){var k=sp.getAttribute('data-k');red[k]=!red[k];sp.classList.toggle('red');});});\n    host.querySelector('.mga-rverify').addEventListener('click',function(){var piiN=0,hit=0,over=0;\n      toks.forEach(function(t,k){var sp=host.querySelector('.mga-tok[data-k=\"'+k+'\"]');if(t.pii){piiN++;if(red[k]){hit++;sp.classList.remove('red');sp.classList.add('hit');}else{sp.classList.add('miss');}}else{if(red[k]){over++;sp.classList.remove('red');}}sp.style.cursor='default';});\n      var res=host.querySelector('.mga-rres');res.hidden=false;res.textContent='Donn\u00e9es personnelles caviard\u00e9es : '+hit+' \/ '+piiN+(over?(' - '+over+' \u00e9l\u00e9ment(s) non sensible(s) caviard\u00e9(s) inutilement'):'')+'.';\n      var note=host.querySelector('.mga-rnote');note.hidden=false;note.innerHTML=(hit===piiN?'Parfait. ':'Il en reste (surlignees en rouge). ')+'Le r\u00e9flexe le plus sur : plut\u00f4t que de caviarder \u00e0 la main, utilise une IA souveraine o\u00f9 rien ne sort de chez toi.';\n      this.disabled=true;});\n  });\n\n  function renderLibs(){document.querySelectorAll('.mga-lib-list').forEach(function(list){var a=lget();if(!a.length){list.innerHTML='<div class=\"mga-lib-item\">Rien encore. Sauve un prompt ou un livrable pour le retrouver ici.<\/div>';return;}list.innerHTML=a.map(function(it){return '<div class=\"mga-lib-item\"><b>'+esc(it.type)+' :<\/b> '+esc(it.title)+'<\/div>';}).join('');});}\n  document.querySelectorAll('.mga-lib-export').forEach(function(b){b.addEventListener('click',function(){var a=lget();var txt=a.map(function(it){return '=== '+it.type+' : '+it.title+' ===\\n'+it.body+'\\n';}).join('\\n');var bl=new Blob([txt||'Bibliotheque vide'],{type:'text\/plain'});var u=document.createElement('a');u.href=URL.createObjectURL(bl);u.download='ma-bibliotheque-mogacode.txt';u.click();});});\n  document.querySelectorAll('.mga-lib-clear').forEach(function(b){b.addEventListener('click',function(){try{localStorage.removeItem('mga_lib');}catch(e){}renderLibs();});});\n  renderLibs();\n\n  document.querySelectorAll('.mga-eval').forEach(function(el){\n    var code=el.getAttribute('data-code');\n    if(isDone(code)){el.querySelector('.mga-eval-in').hidden=true;el.querySelector('.mga-eval-done').hidden=false;}\n    el.querySelector('.mga-eval-btn').addEventListener('click',function(){done(code);el.querySelector('.mga-eval-in').hidden=true;el.querySelector('.mga-eval-done').hidden=false;try{fetch('\/wp-json\/mga\/v1\/progress',{method:'POST',headers:{'Content-Type':'application\/json'},body:JSON.stringify({code:code})}).catch(function(){});}catch(e){}});\n  });\n\n  function apiRender(host,status,obj){host.hidden=false;host.innerHTML='<div class=\"mga-apistatus '+(status>=200&&status<300?'ok':'ko')+'\">HTTP '+status+'<\/div><pre class=\"mga-json\">'+esc(JSON.stringify(obj,null,2))+'<\/pre>';}\n  document.querySelectorAll('.mga-apiexplorer').forEach(function(el){\n    var host=el.querySelector('.mga-apiout');\n    el.querySelectorAll('button[data-ep]').forEach(function(b){b.addEventListener('click',function(){\n      host.hidden=false;host.innerHTML='<div class=\"mga-apistatus\">...<\/div>';var ep=b.getAttribute('data-ep');\n      fetch('\/wp-json\/mga\/v1\/demo?endpoint='+encodeURIComponent(ep)).then(function(r){return r.json().then(function(j){apiRender(host,r.status,j);});}).catch(function(){host.innerHTML='<div class=\"mga-apistatus ko\">Erreur reseau<\/div>';});\n    });});\n  });\n  document.querySelectorAll('.mga-console').forEach(function(el){\n    var host=el.querySelector('.mga-apiout');\n    el.querySelectorAll('button[data-sc]').forEach(function(b){b.addEventListener('click',function(){\n      var sc=b.getAttribute('data-sc');host.hidden=false;host.innerHTML='<div class=\"mga-apistatus\">...<\/div>';\n      fetch('\/wp-json\/mga\/v1\/demo?scenario='+encodeURIComponent(sc)).then(function(r){return r.json().then(function(j){apiRender(host,r.status,j);\n        var tip={ok:\"Code 200 : tout va bien, on lit la r\u00e9ponse.\",badkey:\"Code 401 : cl\u00e9 invalide. Le pro affiche un message clair, il ne plante pas.\",quota:\"Code 429 : quota d\u00e9pass\u00e9. Le pro attend, puis reessaie plus tard.\",timeout:\"Code 504 : trop lent. Le pro avait mis un timeout et g\u00e8re l abandon proprement.\"}[sc];\n        if(tip){var d=document.createElement('p');d.className='mga-apitip';d.textContent=tip;host.appendChild(d);}});}).catch(function(){host.innerHTML='<div class=\"mga-apistatus ko\">Erreur reseau, ton programme doit aussi g\u00e9rer ce cas.<\/div>';});\n    });});\n  });\n  document.querySelectorAll('.mga-cleaner').forEach(function(el){\n    counter(el);var ta=el.querySelector('.mga-in'),fmt=el.querySelector('.mga-fmt'),out=el.querySelector('.mga-o1');\n    el.querySelector('.mga-clean-run').addEventListener('click',function(){var t=ta.value.trim();if(!t){ta.focus();return;}\n      var user='Format demande : '+fmt.value+'. Transforme ce texte en donn\u00e9es propres et structurees au format '+fmt.value+', une entree par personne ou objet. Texte : '+t;\n      out.hidden=false;out.innerHTML='<span class=\"who\">Donn\u00e9es structurees ('+fmt.value+')<\/span>...';var btn=this;btn.disabled=true;\n      call('c2_clean','libre',user,{maxTokens:500}).then(function(x){out.innerHTML='<span class=\"who\">Donn\u00e9es structurees ('+fmt.value+')<\/span>'+esc((x.j&&(x.j.output||x.j.error))||'');}).finally(function(){btn.disabled=false;});\n    });\n  });\n  document.querySelectorAll('.mga-costcalc').forEach(function(el){\n    var res=el.querySelector('.mga-cc-res');\n    function num(sel){var v=parseFloat(el.querySelector(sel).value);return isFinite(v)&&v>=0?v:0;}\n    function calc(){var wi=num('.mga-cc-in'),wo=num('.mga-cc-out'),price=num('.mga-cc-price'),n=num('.mga-cc-n');\n      var tok=Math.round((wi+wo)*1.3);var perCall=tok\/1000*price;var total=perCall*n;\n      var ctx=(wi*1.3>8000)?'<p class=\"mga-ccwarn\">Attention : ton entree approche ou d\u00e9passe une fen\u00eatre de contexte courante (environ 8000 tokens). Il faudrait decouper le texte.<\/p>':'';\n      res.innerHTML='<div class=\"mga-ccline\"><span>Tokens par appel<\/span><b>'+tok+'<\/b><\/div><div class=\"mga-ccline\"><span>Co\u00fbt par appel<\/span><b>'+perCall.toFixed(4)+'<\/b><\/div><div class=\"mga-ccline big\"><span>Co\u00fbt total ('+n+' appels)<\/span><b>'+total.toFixed(2)+'<\/b><\/div>'+ctx;\n    }\n    el.querySelectorAll('input').forEach(function(i){i.addEventListener('input',calc);});calc();\n  });\n\n  document.querySelectorAll('.mga-depcalc').forEach(function(el){\n    var res=el.querySelector('.mga-cc-res');\n    function num(sel){var v=parseFloat(el.querySelector(sel).value);return isFinite(v)&&v>=0?v:0;}\n    function calc(){var n=num('.mga-dc-n'),p=num('.mga-dc-p'),mo=num('.mga-dc-m');var perMonth=n*p;var total=perMonth*mo;var perYear=perMonth*12;\n      res.innerHTML='<div class=\"mga-ccline\"><span>Co\u00fbt par mois<\/span><b>'+perMonth.toFixed(2)+'<\/b><\/div><div class=\"mga-ccline\"><span>Co\u00fbt par an<\/span><b>'+perYear.toFixed(2)+'<\/b><\/div><div class=\"mga-ccline big\"><span>Loue sur '+mo+' mois<\/span><b>'+total.toFixed(2)+'<\/b><\/div><div class=\"mga-ccline\"><span>Possede (code a toi)<\/span><b>co\u00fbt unique, puis 0 par mois<\/b><\/div>';\n    }\n    el.querySelectorAll('input').forEach(function(i){i.addEventListener('input',calc);});calc();\n  });\n  document.querySelectorAll('.mga-scriptlab').forEach(function(el){\n    counter(el);var ta=el.querySelector('.mga-in'),out=el.querySelector('.mga-o1');\n    el.querySelector('.mga-script-run').addEventListener('click',function(){var t=ta.value.trim();if(!t){ta.focus();return;}\n      out.hidden=false;out.innerHTML='<span class=\"who\">Ton script (commente)<\/span>...';var btn=this;btn.disabled=true;\n      call('d3_script','libre','T\u00e2che a automatiser : '+t,{maxTokens:500}).then(function(x){out.innerHTML='<span class=\"who\">Ton script (commente)<\/span>'+esc((x.j&&(x.j.output||x.j.error))||'');}).finally(function(){btn.disabled=false;});\n    });\n  });\n  document.querySelectorAll('.mga-roi').forEach(function(el){\n    var res=el.querySelector('.mga-cc-res');\n    function num(sel){var v=parseFloat(el.querySelector(sel).value);return isFinite(v)&&v>=0?v:0;}\n    function calc(){var f=num('.mga-roi-f'),t=num('.mga-roi-t'),p=num('.mga-roi-p');var perDay=f*t,perWeek=perDay*5,score=f*t*p;var v,c;\n      if(score>=200){v='Priorit\u00e9 absolue : automatise \u00e7a en premier.';c='hot';}\n      else if(score>=60){v='Bon candidat : \u00e0 automatiser bient\u00f4t.';c='warm';}\n      else if(score>=15){v='Int\u00e9ressant : mets-le dans ta file.';c='mid';}\n      else{v='Plus tard : le gain ne justifie pas l\\'effort maintenant.';c='cold';}\n      res.innerHTML='<div class=\"mga-ccline\"><span>Temps par jour<\/span><b>'+perDay.toFixed(0)+' min<\/b><\/div><div class=\"mga-ccline\"><span>Temps par semaine<\/span><b>'+Math.round(perWeek)+' min ('+(perWeek\/60).toFixed(1)+' h)<\/b><\/div><div class=\"mga-ccline big\"><span>Score ROI<\/span><b>'+score.toFixed(0)+'<\/b><\/div><div class=\"mga-roi-verdict '+c+'\">'+v+'<\/div>';}\n    el.querySelectorAll('input,select').forEach(function(i){i.addEventListener('input',calc);});calc();\n  });\n  document.querySelectorAll('.mga-carto').forEach(function(el){\n    var body=el.querySelector('.mga-carto-rows'),res=el.querySelector('.mga-carto-res');\n    var seed=[['Recevoir et v\u00e9rifier la commande',5,20],['Cr\u00e9er la facture',4,20],['Envoyer l\\'accus\u00e9 au client',3,20]];\n    function row(name,min,freq){var d=document.createElement('div');d.className='mga-carto-row';\n      d.innerHTML='<input class=\"cn\" type=\"text\" placeholder=\"\u00c9tape\">'+'<input class=\"cm\" type=\"number\" min=\"0\" placeholder=\"min\">'+'<input class=\"cf\" type=\"number\" min=\"0\" placeholder=\"x\/jour\">'+'<button type=\"button\" class=\"cd\" title=\"Retirer\">x<\/button>';\n      body.appendChild(d);d.querySelector('.cn').value=name||'';if(min!=null)d.querySelector('.cm').value=min;if(freq!=null)d.querySelector('.cf').value=freq;\n      d.querySelector('.cd').addEventListener('click',function(){d.remove();calc();});\n      d.querySelectorAll('input').forEach(function(i){i.addEventListener('input',calc);});}\n    function calc(){var rows=[].slice.call(body.querySelectorAll('.mga-carto-row'));var total=0,max=-1,maxN='';var L='';\n      rows.forEach(function(r){var n=r.querySelector('.cn').value||'(\u00e9tape)';var m=parseFloat(r.querySelector('.cm').value)||0;var f=parseFloat(r.querySelector('.cf').value)||0;var dd=m*f;total+=dd;if(dd>max){max=dd;maxN=n;}L+='<div class=\"mga-ccline\"><span>'+esc(n)+'<\/span><b>'+dd.toFixed(0)+' min\/j<\/b><\/div>';});\n      var g=max>0?'<div class=\"mga-roi-verdict hot\">Ton goulot probable : <b>'+esc(maxN)+'<\/b> ('+max.toFixed(0)+' min\/jour). Commence par automatiser celle-l\u00e0.<\/div>':'';\n      res.innerHTML=L+'<div class=\"mga-ccline big\"><span>Total du process<\/span><b>'+total.toFixed(0)+' min\/jour ('+(total\/60).toFixed(1)+' h)<\/b><\/div>'+g;}\n    seed.forEach(function(sd){row(sd[0],sd[1],sd[2]);});\n    el.querySelector('.mga-carto-add').addEventListener('click',function(){row('',null,null);});\n    el.querySelector('.mga-carto-exp').addEventListener('click',function(){var rows=[].slice.call(body.querySelectorAll('.mga-carto-row'));var txt='Ma cartographie de process\\n\\n'+rows.map(function(r){return '- '+(r.querySelector('.cn').value||'(\u00e9tape)')+' : '+(r.querySelector('.cm').value||0)+' min x '+(r.querySelector('.cf').value||0)+'\/jour';}).join('\\n');var bl=new Blob([txt],{type:'text\/plain'});var a=document.createElement('a');a.href=URL.createObjectURL(bl);a.download='ma-cartographie.txt';a.click();});\n    calc();\n  });\n  document.querySelectorAll('.mga-chunker').forEach(function(el){\n    var ta=el.querySelector('.mga-in'),out=el.querySelector('.mga-chunk-out'),sz=el.querySelector('.mga-ck-size'),ov=el.querySelector('.mga-ck-ov');\n    function run(){var words=ta.value.trim().split(\/\\s+\/).filter(Boolean);var size=Math.max(5,parseInt(sz.value)||25);var ovl=Math.min(size-1,Math.max(0,parseInt(ov.value)||0));\n      var chunks=[],i=0;while(i<words.length){chunks.push(words.slice(i,i+size).join(' '));if(i+size>=words.length)break;i+=(size-ovl);}\n      out.innerHTML='<p style=\"font-weight:700;color:#0F2237;margin:8px 0 4px\">'+words.length+' mots d\u00e9coup\u00e9s en '+chunks.length+' chunks ('+size+' mots, chevauchement '+ovl+') :<\/p>'+chunks.map(function(c,k){return '<div class=\"mga-chunk\"><div class=\"h\">Chunk '+(k+1)+'<\/div>'+esc(c)+'<\/div>';}).join('');}\n    el.querySelector('.mga-ck-run').addEventListener('click',run);el.querySelectorAll('input').forEach(function(i){i.addEventListener('input',run);});run();\n  });\n  document.querySelectorAll('.mga-rag').forEach(function(el){\n    var kb=wdata(el)||[];var ta=el.querySelector('.mga-in'),out=el.querySelector('.mga-rag-out');\n    var STOP={quel:1,quelle:1,quels:1,quelles:1,pour:1,les:1,des:1,une:1,est:1,que:1,qui:1,sont:1,avec:1,dans:1,sur:1,ton:1,tes:1,mon:1,mes:1,the:1,ont:1,vous:1};\n    function toks(s){return (s||'').toLowerCase().normalize('NFD').replace(\/[\u0300-\u036f]\/g,'').split(\/[^a-z0-9]+\/).filter(function(w){return w.length>2&&!STOP[w];});}\n    function retrieve(q){var qt=toks(q);return kb.map(function(c,idx){var ct=toks(c);var sc=0;qt.forEach(function(w){ct.forEach(function(cw){if(cw===w||cw.indexOf(w)===0||w.indexOf(cw)===0)sc++;});});return {c:c,idx:idx,sc:sc};}).sort(function(a,b){return b.sc-a.sc;});}\n    function run(withCtx){var q=ta.value.trim();if(!q){ta.focus();return;}\n      var ranked=retrieve(q);var hits=ranked.filter(function(x){return x.sc>0;});var top=(hits.length?hits:ranked).slice(0,2);\n      var passages=top.map(function(x){return x.c;});\n      var nodes=el.querySelectorAll('.mga-rag-kb');nodes.forEach(function(n){n.classList.remove('on');});\n      if(withCtx){top.forEach(function(x){if(nodes[x.idx])nodes[x.idx].classList.add('on');});}\n      var html=withCtx?passages.map(function(p){return '<div class=\"mga-rag-passage\"><b>Passage retrouv\u00e9 :<\/b> '+esc(p)+'<\/div>';}).join(''):'<div class=\"mga-rag-passage\" style=\"border-left-color:#c0392b\"><b>Sans RAG :<\/b> aucun passage fourni, l\\'IA r\u00e9pond de m\u00e9moire.<\/div>';\n      out.innerHTML=html+'<div class=\"mga-rag-ans\"><span class=\"who\">R\u00e9ponse de l\\'IA<\/span>...<\/div>';\n      var ansBox=out.querySelector('.mga-rag-ans');\n      var input=withCtx?('Contexte:\\n'+passages.join('\\n---\\n')+'\\n\\nQuestion: '+q):('Contexte:\\n(aucun)\\n\\nQuestion: '+q);\n      var bs=el.querySelectorAll('button');bs.forEach(function(b){b.disabled=true;});\n      call('f_rag','libre',input,{maxTokens:200}).then(function(x){ansBox.innerHTML='<span class=\"who\">R\u00e9ponse de l\\'IA'+(withCtx?' (avec RAG)':' (sans RAG)')+'<\/span>'+esc((x.j&&(x.j.output||x.j.error))||'');}).finally(function(){bs.forEach(function(b){b.disabled=false;});});\n    }\n    el.querySelectorAll('.mga-rag-q').forEach(function(b){b.addEventListener('click',function(){ta.value=b.textContent;run(true);});});\n    el.querySelector('.mga-rag-run').addEventListener('click',function(){run(true);});\n    var nb=el.querySelector('.mga-rag-norag');if(nb)nb.addEventListener('click',function(){run(false);});\n  });\n  document.querySelectorAll('.mga-chapters').forEach(function(el){\n    var code=el.getAttribute('data-code'), n=+el.getAttribute('data-n');\n    var tabs=el.querySelectorAll('.mga-chtab'), panels=el.querySelectorAll('.mga-chapter'), bar=el.querySelector('.mga-chprog .bar');\n    var KEY='mga_ch_'+code; var seen={}; try{seen=JSON.parse(localStorage.getItem(KEY)||'{}');}catch(e){}\n    function prog(){var c=Object.keys(seen).filter(function(k){return seen[k];}).length;if(bar)bar.style.width=Math.round(c\/n*100)+'%';tabs.forEach(function(t,i){if(seen[i])t.classList.add('done');});}\n    function mark(i){seen[i]=1;try{localStorage.setItem(KEY,JSON.stringify(seen));}catch(e){}prog();}\n    function show(i,scroll){panels.forEach(function(p,j){p.classList.toggle('hid',j!==i);});tabs.forEach(function(t,j){t.classList.toggle('on',j===i);});mark(i);if(scroll){var top=el.getBoundingClientRect().top+window.pageYOffset-90;window.scrollTo({top:top,behavior:'smooth'});}}\n    tabs.forEach(function(t,i){t.addEventListener('click',function(){show(i,true);});});\n    el.querySelectorAll('.mga-chnext').forEach(function(b){b.addEventListener('click',function(){show(+b.getAttribute('data-go'),true);});});\n    mark(0);prog();\n    function fromHash(){var h=location.hash||'';var mm=h.match(\/sm-(\\d+)\/);if(mm){var i=+mm[1];if(i>=0&&i<n)show(i,true);return;}\n      var am=h.match(\/^#(at-[a-f0-9]{6})$\/);if(am){var target=el.querySelector('#'+am[1]);if(target){var idx=-1;panels.forEach(function(p,j){if(p.contains(target))idx=j;});if(idx>=0)show(idx,false);setTimeout(function(){var top=target.getBoundingClientRect().top+window.pageYOffset-90;window.scrollTo({top:top,behavior:'smooth'});},60);}}}\n    window.addEventListener('hashchange',fromHash);fromHash();\n  });\n})();\n<\/script>\n<\/div><\/div><div class=\"mga-side-scrim\"><\/div><script>(function(){\n  var shell=document.querySelector('.mga-shell'); if(!shell) return;\n  var KEY='mga_nav_open';\n  function getOpen(){try{return JSON.parse(localStorage.getItem(KEY)||'[]');}catch(e){return [];}}\n  function setOpen(a){try{localStorage.setItem(KEY,JSON.stringify(a));}catch(e){}}\n  var open=getOpen();\n  shell.querySelectorAll('.mga-blk').forEach(function(blk){\n    var b=blk.getAttribute('data-bloc');\n    if(open.indexOf(b)>=0) blk.classList.add('mgaon');\n    var h=blk.querySelector('.mga-blk-h');\n    h.addEventListener('click',function(){blk.classList.toggle('mgaon');var o=getOpen();var i=o.indexOf(b);if(blk.classList.contains('mgaon')){if(i<0)o.push(b);}else{if(i>=0)o.splice(i,1);}setOpen(o);});\n  });\n  var done={};try{done=JSON.parse(localStorage.getItem('mga_done')||'{}');}catch(e){}\n  var links=shell.querySelectorAll('.mga-modlink[data-state]');var total=0,doneN=0;\n  links.forEach(function(a){var c=a.getAttribute('data-code');if(a.getAttribute('data-state')!=='soon')total++;if(done[c]){a.classList.add('done');doneN++;}});\n  var bar=shell.querySelector('.mga-side-prog .bar'),lbl=shell.querySelector('.mga-side-prog .lbl');\n  if(bar)bar.style.width=(total?Math.round(doneN\/total*100):0)+'%';\n  if(lbl)lbl.textContent=doneN+' \/ '+total+' modules';\n  var tgl=shell.querySelector('.mga-side-toggle'),scrim=shell.querySelector('.mga-side-scrim');\n  function close(){shell.classList.remove('drawer');}\n  if(tgl)tgl.addEventListener('click',function(){shell.classList.toggle('drawer');});\n  if(scrim)scrim.addEventListener('click',close);\n  shell.querySelectorAll('.mga-badge').forEach(function(el){\n    var mods=(el.getAttribute('data-mods')||'').split(',').filter(Boolean);\n    var done={};try{done=JSON.parse(localStorage.getItem('mga_done')||'{}');}catch(e){}\n    var got=mods.filter(function(m){return done[m];}).length; var lbl=el.querySelector('.lbl');\n    if(mods.length && got>=mods.length){el.classList.add('earned');try{var bd=JSON.parse(localStorage.getItem('mga_badges')||'{}');bd[el.getAttribute('data-bloc')]=1;localStorage.setItem('mga_badges',JSON.stringify(bd));}catch(e){}if(lbl)lbl.textContent='Badge obtenu : Bloc '+el.getAttribute('data-blocname');}\n    else if(lbl){lbl.textContent='Badge du Bloc '+el.getAttribute('data-blocname')+' : '+got+'\/'+mods.length+' modules valid\u00e9s';}\n  });\n  shell.querySelectorAll('.mga-sublink').forEach(function(a){a.addEventListener('click',function(e){var m=(a.getAttribute('href')||'').match(\/sm-(\\d+)\/);if(m){e.preventDefault();var i=m[1];if(location.hash==='#sm-'+i){location.hash='';}location.hash='sm-'+i;close();}});});\n})();<\/script>\n<script>(function(){\n  document.querySelectorAll('.mga-regform').forEach(function(f){\n    if(f.dataset.mgabound) return; f.dataset.mgabound='1';\n    f.addEventListener('submit',function(e){e.preventDefault();\n      if(f.website && f.website.value) return;\n      var msg=f.querySelector('.mga-regmsg'); var btn=f.querySelector('button');\n      var fd={prenom:((f.prenom&&f.prenom.value)||'').trim(),whatsapp:((f.whatsapp&&f.whatsapp.value)||'').trim(),email:((f.email&&f.email.value)||'').trim(),website:''};\n      if(!fd.prenom||fd.whatsapp.replace(\/\\D\/g,'').length<8){if(msg){msg.hidden=false;msg.className='mga-regmsg';msg.textContent='Indique ton pr\u00e9nom et un WhatsApp valide.';}return;}\n      btn.disabled=true;if(msg){msg.hidden=false;msg.className='mga-regmsg';msg.textContent='...';}\n      fetch('\/wp-json\/mga\/v1\/register',{method:'POST',headers:{'Content-Type':'application\/json'},body:JSON.stringify(fd)}).then(function(r){return r.json();}).then(function(j){\n        if(j&&j.code){f.reset();if(msg){msg.className='mga-regmsg ok';msg.hidden=false;msg.innerHTML='Compte cr\u00e9\u00e9. Ton code d\\'acc\u00e8s : <b>'+j.code+'<\/b><br>Note-le bien. \u00c9cris-nous sur WhatsApp avec ce code pour r\u00e9gler ton bloc via Payoneer, on l\\'ouvre aussit\u00f4t.';}}\n        else{if(msg){msg.hidden=false;msg.className='mga-regmsg';msg.textContent=(j&&j.error)||'Erreur, r\u00e9essaie.';}}\n      }).catch(function(){if(msg){msg.hidden=false;msg.className='mga-regmsg';msg.textContent='Erreur r\u00e9seau, r\u00e9essaie.';}}).finally(function(){btn.disabled=false;});\n    });\n  });\n})();<\/script>\n<script>(function(){\n if(window.__mgaTrack) return; window.__mgaTrack=1;\n function E(n,p){ try{ if(typeof gtag==='function'){ gtag('event', n, p||{}); } }catch(e){} }\n window.mgaE=E;\n try{\n   var sh=document.querySelector('.mga-shell');\n   var pg=document.querySelector('.mga.mga-page');\n   if(sh){ var ty=sh.querySelector('.mga-grid')?'bloc':(sh.querySelector('.mga-chapter')?'module':'module'); E('academy_view',{mga_type:ty, mga_code:sh.getAttribute('data-code')||''}); }\n   else if(pg){ E('academy_view',{mga_type:(location.pathname.indexOf('\/formation-ia')>-1?'funnel':'landing')}); }\n }catch(e){}\n document.addEventListener('click', function(ev){\n   var t=ev.target.closest && ev.target.closest('a,button'); if(!t) return;\n   var href=(t.getAttribute && t.getAttribute('href'))||'';\n   var cl=t.classList||{contains:function(){return false;}};\n   if(\/wa\\.me|api\\.whatsapp\/i.test(href)){ E('academy_whatsapp_click',{label:(t.textContent||'').trim().slice(0,40)}); return; }\n   if(cl.contains('mga-try')){ var l=t.closest('.mga-lab'); E('academy_atelier_try',{exercise:l?l.getAttribute('data-ex'):''}); return; }\n   if(cl.contains('mga-guide')){ var l2=t.closest('.mga-lab'); E('academy_atelier_guide',{exercise:l2?l2.getAttribute('data-ex'):''}); return; }\n   if(cl.contains('opt')){ E('academy_quiz_answer',{correct: t.getAttribute('data-good')==='1'?1:0}); return; }\n   if(cl.contains('dopt')){ var el=t; setTimeout(function(){ E('academy_decision_answer',{correct: el.classList.contains('ok')?1:0}); },0); return; }\n   if(cl.contains('mga-opt')){ var el2=t; setTimeout(function(){ E('academy_persona_answer',{correct: el2.classList.contains('ok')?1:0}); },0); return; }\n   if(cl.contains('mga-eval-btn')){ var e=t.closest('.mga-eval'); E('academy_module_complete',{mga_code:e?e.getAttribute('data-code'):''}); return; }\n   if(cl.contains('go')){ E('academy_module_open',{dest:href}); return; }\n   var blk=t.closest && t.closest('.mga-blk'); if(cl.contains('mga-blk')||blk){ E('academy_bloc_open',{dest:(blk||t).getAttribute('href')||href}); return; }\n   var mac=t.closest && t.closest('.mga-macaron'); if(cl.contains('mga-macaron')||mac){ E('academy_macaron_click',{}); return; }\n   if(cl.contains('mga-cta')){ E('academy_cta_click',{label:(t.textContent||'').trim().slice(0,40), dest:href}); return; }\n }, true);\n document.addEventListener('click', function(ev){ var ci=ev.target.closest && ev.target.closest('.mga-checklist .ci'); if(ci){ setTimeout(function(){ E('academy_checklist_toggle',{on: ci.classList.contains('on')?1:0}); },0);} }, true);\n document.addEventListener('play', function(ev){ try{ if(ev.target && ev.target.closest && ev.target.closest('.mga-capsule')){ E('academy_capsule_play',{}); } }catch(e){} }, true);\n document.addEventListener('submit', function(ev){ var fo=ev.target; if(fo && fo.classList){ if(fo.classList.contains('mga-regform')){ E('academy_register_submit',{}); } else if(fo.classList.contains('mga-lead')){ E('academy_lead_submit',{}); } } }, true);\n})();<\/script><\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":0,"featured_media":0,"parent":1966,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1980","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>Donnees, vie privee et ethique - 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\/donnees-personnelles-et-rgpd\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Donnees, vie privee et ethique\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mogacode.ma\/en\/academy\/donnees-personnelles-et-rgpd\/\" \/>\n<meta property=\"og:site_name\" content=\"Mogacode\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/mogacode\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.mogacode.ma\/wp-content\/uploads\/2026\/09\/og\/og-mod-donnees-personnelles-et-rgpd.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.mogacode.ma\/wp-content\/uploads\/2026\/09\/og\/og-mod-donnees-personnelles-et-rgpd.png\" \/>\n<meta name=\"twitter:site\" content=\"@mogacode\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Donnees, vie privee et ethique - 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\/donnees-personnelles-et-rgpd\/","og_locale":"en_US","og_type":"article","og_title":"Donnees, vie privee et ethique","og_url":"https:\/\/www.mogacode.ma\/en\/academy\/donnees-personnelles-et-rgpd\/","og_site_name":"Mogacode","article_publisher":"https:\/\/www.facebook.com\/mogacode","og_image":[{"url":"https:\/\/www.mogacode.ma\/wp-content\/uploads\/2026\/09\/og\/og-mod-donnees-personnelles-et-rgpd.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_image":"https:\/\/www.mogacode.ma\/wp-content\/uploads\/2026\/09\/og\/og-mod-donnees-personnelles-et-rgpd.png","twitter_site":"@mogacode","schema":{"@context":"https:\/\/schema.org","@graph":[]}},"_links":{"self":[{"href":"https:\/\/www.mogacode.ma\/en\/wp-json\/wp\/v2\/pages\/1980","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=1980"}],"version-history":[{"count":0,"href":"https:\/\/www.mogacode.ma\/en\/wp-json\/wp\/v2\/pages\/1980\/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=1980"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}