[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"tool-content-calendrier-conformite-ai-act-fr":3,"footer-cities-fr":42},{"slug":4,"title":5,"page_title":6,"description":7,"content_md":8,"local_slug":9,"json_ld":10,"faq":20,"tool_html":36,"source":37,"category":38,"audience":39,"publish_mode":40,"hero_image":41,"hero_image_alt":5},"calendrier-conformite-ai-act","Calendrier de conformité AI Act","Calendrier de conformité AI Act 2026-2028 — ExpertZoom","Trouvez votre échéance de conformité AI Act selon votre type de système d'IA, avec le calendrier mis à jour après l'accord Omnibus du 7 mai 2026 et les actions prioritaires à engager.","Ce calendrier interactif vous indique votre échéance de conformité AI Act en fonction de votre type de système — GPAI, haut risque Annexe III, chatbot, produits réglementés. Il intègre les reports issus de l'accord Omnibus numérique du 7 mai 2026 (Annexe III reportée au 2 décembre 2027, Annexe I au 2 août 2028) et propose un plan d'actions prioritaires pour chaque profil. Indispensable pour les entreprises qui veulent planifier leur mise en conformité sans mauvaises surprises.",null,[11],{"name":5,"@type":12,"offers":13,"inLanguage":16,"description":17,"operatingSystem":18,"applicationCategory":19},"WebApplication",{"@type":14,"price":15},"Offer","0","fr","Trouvez votre échéance de conformité AI Act selon votre type de système d'IA et identifiez les actions prioritaires à engager, intégrant les reports de l'accord Omnibus de mai 2026.","All","BusinessApplication",[21,24,27,30,33],{"a":22,"q":23},"Non. Le 2 août 2026 reste la date d'application générale du Règlement, notamment pour la transparence des chatbots (Art. 50). Seules les obligations spécifiques aux systèmes à haut risque Annexe III ont été reportées au 2 décembre 2027.","Le délai du 2 août 2026 a-t-il été supprimé par l'accord Omnibus ?",{"a":25,"q":26},"C'est un accord provisoire entre le Parlement et le Conseil européens qui reporte les obligations pour les systèmes à haut risque Annexe III du 2 août 2026 au 2 décembre 2027, soit un report de 16 mois.","Qu'est-ce que l'accord Omnibus numérique du 7 mai 2026 ?",{"a":28,"q":29},"Non. Même avec ce report, préparer la documentation technique, former les équipes et auditer les systèmes prend du temps. Il est recommandé de commencer dès maintenant pour éviter une mise en conformité précipitée.","Mon entreprise doit-elle attendre le 2 décembre 2027 pour commencer à se mettre en conformité ?",{"a":31,"q":32},"Oui. L'obligation de transparence (Art. 50) — mentionner explicitement à l'utilisateur qu'il interagit avec une IA — s'applique à partir du 2 août 2026 pour tous les chatbots et assistants virtuels.","Les chatbots sont-ils concernés par la date du 2 août 2026 ?",{"a":34,"q":35},"L'Annexe III couvre les usages à haut risque (RH, crédit, santé…) avec une échéance au 2 décembre 2027. L'Annexe I concerne l'IA intégrée dans des produits réglementés (dispositifs médicaux, machines), avec une échéance au 2 août 2028.","Quelle est la différence entre un système haut risque Annexe III et Annexe I ?","\u003C!DOCTYPE html>\n\u003Chtml lang=\"fr\">\n\u003Chead>\n  \u003Cmeta charset=\"utf-8\">\n  \u003Cmeta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n  \u003Ctitle>Calendrier de conformité AI Act\u003C\u002Ftitle>\n  \u003Cscript src=\"https:\u002F\u002Funpkg.com\u002Flucide@latest\u002Fdist\u002Fumd\u002Flucide.min.js\">\u003C\u002Fscript>\n  \u003Cstyle>\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n    body { font-family: system-ui, -apple-system, sans-serif; background: #fafaf9; color: #1c1917; font-size: 15px; line-height: 1.5; }\n    .tool-root { max-width: 680px; margin: 0 auto; padding: 24px 16px 32px; }\n    h1 { font-size: 1.2rem; font-weight: 700; display: flex; align-items: center; gap: 8px; }\n    .subtitle { color: #57534e; font-size: 0.875rem; margin-top: 4px; margin-bottom: 20px; }\n    .tab-bar { display: flex; gap: 0; border-bottom: 2px solid #e7e5e4; margin-bottom: 20px; overflow-x: auto; }\n    .tab-btn { background: none; border: none; padding: 9px 14px; font-size: 0.82rem; font-weight: 500; color: #78716c; cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -2px; transition: color .15s, border-color .15s; white-space: nowrap; flex-shrink: 0; }\n    .tab-btn.active { color: #2563eb; border-bottom-color: #2563eb; }\n    .tab-btn:hover:not(.active) { color: #1c1917; }\n    .field { margin-bottom: 18px; }\n    .field label { display: block; font-size: 0.875rem; font-weight: 600; margin-bottom: 8px; }\n    .field select { width: 100%; padding: 10px 14px; border: 1.5px solid #d6d3d1; border-radius: 8px; background: #fff; font-size: 0.875rem; color: #1c1917; cursor: pointer; appearance: none; background-image: url(\"data:image\u002Fsvg+xml,%3Csvg xmlns='http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2378716c' stroke-width='1.5' fill='none' stroke-linecap='round'\u002F%3E%3C\u002Fsvg%3E\"); background-repeat: no-repeat; background-position: right 14px center; }\n    \u002F* Countdown *\u002F\n    .countdown-block { background: #fff; border: 1.5px solid #e7e5e4; border-radius: 12px; padding: 18px 20px; margin-bottom: 16px; }\n    .countdown-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; flex-wrap: wrap; }\n    .deadline-label { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #78716c; margin-bottom: 4px; }\n    .deadline-date { font-size: 1.1rem; font-weight: 800; color: #1c1917; }\n    .days-badge { text-align: right; flex-shrink: 0; }\n    .days-number { font-size: 2.2rem; font-weight: 900; color: #2563eb; font-variant-numeric: tabular-nums; letter-spacing: -1px; line-height: 1; }\n    .days-label { font-size: 0.72rem; color: #78716c; margin-top: 2px; }\n    .days-number.past { color: #16a34a; }\n    .days-number.urgent { color: #dc2626; }\n    .progress-bar-wrap { margin-top: 14px; }\n    .progress-bar-track { height: 8px; background: #f5f5f4; border-radius: 9999px; overflow: hidden; margin-top: 4px; }\n    .progress-bar-fill { height: 100%; border-radius: 9999px; background: #2563eb; transition: width .4s; }\n    .progress-bar-fill.done { background: #16a34a; }\n    .progress-bar-fill.urgent { background: #dc2626; }\n    .progress-labels { display: flex; justify-content: space-between; font-size: 0.7rem; color: #a8a29e; margin-top: 3px; }\n    .status-chip { display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; border-radius: 9999px; font-size: 0.72rem; font-weight: 700; margin-top: 10px; }\n    .status-chip.applied { background: #dcfce7; color: #166534; }\n    .status-chip.soon { background: #fef9c3; color: #854d0e; }\n    .status-chip.coming { background: #eff6ff; color: #1d4ed8; }\n    \u002F* Timeline *\u002F\n    .timeline { position: relative; padding-left: 20px; margin-bottom: 16px; }\n    .timeline::before { content: ''; position: absolute; left: 7px; top: 6px; bottom: 6px; width: 2px; background: #e7e5e4; }\n    .tl-item { position: relative; padding-left: 18px; padding-bottom: 18px; }\n    .tl-item:last-child { padding-bottom: 0; }\n    .tl-dot { position: absolute; left: -13px; top: 4px; width: 12px; height: 12px; border-radius: 50%; border: 2px solid #e7e5e4; background: #fff; }\n    .tl-dot.done { background: #16a34a; border-color: #16a34a; }\n    .tl-dot.current { background: #2563eb; border-color: #2563eb; box-shadow: 0 0 0 3px #bfdbfe; }\n    .tl-dot.future { background: #fff; border-color: #93c5fd; }\n    .tl-dot.alert { background: #fff; border-color: #f97316; }\n    .tl-date { font-size: 0.72rem; font-weight: 700; color: #78716c; text-transform: uppercase; letter-spacing: 0.05em; }\n    .tl-title { font-size: 0.875rem; font-weight: 600; margin-top: 1px; }\n    .tl-desc { font-size: 0.8rem; color: #57534e; margin-top: 2px; line-height: 1.45; }\n    .tl-badge { display: inline-block; font-size: 0.65rem; font-weight: 700; padding: 1px 7px; border-radius: 9999px; margin-left: 6px; vertical-align: middle; }\n    .tl-badge.done { background: #dcfce7; color: #166534; }\n    .tl-badge.current { background: #dbeafe; color: #1d4ed8; }\n    .tl-badge.postponed { background: #fef9c3; color: #854d0e; }\n    \u002F* Actions *\u002F\n    .actions-list { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }\n    .action-item { display: flex; gap: 10px; align-items: flex-start; padding: 10px 14px; background: #fff; border: 1px solid #e7e5e4; border-radius: 8px; }\n    .action-prio { flex-shrink: 0; width: 20px; height: 20px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.62rem; font-weight: 800; color: #fff; margin-top: 1px; }\n    .action-prio.p1 { background: #dc2626; }\n    .action-prio.p2 { background: #f97316; }\n    .action-prio.p3 { background: #2563eb; }\n    .action-text { font-size: 0.85rem; line-height: 1.45; }\n    .action-text strong { display: block; font-size: 0.82rem; font-weight: 700; }\n    .callout-omnibus { background: #fef9c3; border: 1px solid #fde68a; border-radius: 10px; padding: 11px 14px; margin-bottom: 16px; display: flex; gap: 10px; align-items: flex-start; }\n    .callout-omnibus svg { flex-shrink: 0; color: #ca8a04; margin-top: 2px; }\n    .callout-omnibus p { font-size: 0.82rem; color: #713f12; line-height: 1.55; }\n    .source { margin-top: 24px; font-size: 0.72rem; color: #a8a29e; }\n    .source a { color: #a8a29e; text-decoration: underline; }\n    .hidden { display: none; }\n  \u003C\u002Fstyle>\n\u003C\u002Fhead>\n\u003Cbody>\n\u003Cmain class=\"tool-root\">\n  \u003Ch1>\n    \u003Ci data-lucide=\"calendar-clock\" width=\"20\" height=\"20\" style=\"color:#2563eb\">\u003C\u002Fi>\n    Calendrier de conformité AI Act\n  \u003C\u002Fh1>\n  \u003Cp class=\"subtitle\">Trouvez votre échéance de conformité selon votre type de système d'IA et les actions prioritaires à engager.\u003C\u002Fp>\n\n  \u003Cdiv class=\"tab-bar\" role=\"tablist\">\n    \u003Cbutton class=\"tab-btn active\" role=\"tab\" data-tab=\"0\">Votre système\u003C\u002Fbutton>\n    \u003Cbutton class=\"tab-btn\" role=\"tab\" data-tab=\"1\">Toutes les échéances\u003C\u002Fbutton>\n    \u003Cbutton class=\"tab-btn\" role=\"tab\" data-tab=\"2\">Actions prioritaires\u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n\n  \u003C!-- Tab 0: Votre système -->\n  \u003Cdiv id=\"tab-0\">\n    \u003Cdiv class=\"field\">\n      \u003Clabel for=\"system-select\">Quel type de système d'IA utilisez-vous ou développez-vous ?\u003C\u002Flabel>\n      \u003Cselect id=\"system-select\">\n        \u003Coption value=\"\">— Sélectionnez votre type de système —\u003C\u002Foption>\n        \u003Coption value=\"interdit\">Pratiques interdites (scoring social, manipulation, bio temps réel public)\u003C\u002Foption>\n        \u003Coption value=\"gpai\">Modèles d'IA à usage général (GPAI : GPT, Gemini, Claude, Mistral…)\u003C\u002Foption>\n        \u003Coption value=\"haut_annexe3\">Systèmes à haut risque – Annexe III (RH, crédit, éducation, santé…)\u003C\u002Foption>\n        \u003Coption value=\"haut_annexe1\">Systèmes à haut risque – Annexe I (produits réglementés : médical, auto…)\u003C\u002Foption>\n        \u003Coption value=\"limite\">Systèmes à risque limité (chatbots, deepfakes, contenu IA)\u003C\u002Foption>\n        \u003Coption value=\"minimal\">Systèmes à risque minimal (jeux, spam, productivité interne)\u003C\u002Foption>\n      \u003C\u002Fselect>\n    \u003C\u002Fdiv>\n\n    \u003Cdiv id=\"system-result\" class=\"hidden\">\u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\n  \u003C!-- Tab 1: Toutes les échéances -->\n  \u003Cdiv id=\"tab-1\" class=\"hidden\">\n    \u003Cdiv class=\"callout-omnibus\">\n      \u003Ci data-lucide=\"info\" width=\"15\" height=\"15\">\u003C\u002Fi>\n      \u003Cp>\u003Cstrong>Accord Omnibus numérique du 7 mai 2026 :\u003C\u002Fstrong> Les obligations pour les systèmes à haut risque (Annexe III) ont été reportées du 2 août 2026 au \u003Cstrong>2 décembre 2027\u003C\u002Fstrong>. Les obligations GPAI et pratiques interdites ne sont pas concernées par ce report.\u003C\u002Fp>\n    \u003C\u002Fdiv>\n    \u003Cdiv class=\"timeline\">\n      \u003Cdiv class=\"tl-item\">\n        \u003Cdiv class=\"tl-dot done\">\u003C\u002Fdiv>\n        \u003Cdiv class=\"tl-date\">1 août 2024\u003C\u002Fdiv>\n        \u003Cdiv class=\"tl-title\">Entrée en vigueur du Règlement UE 2024\u002F1689 \u003Cspan class=\"tl-badge done\">Passé\u003C\u002Fspan>\u003C\u002Fdiv>\n        \u003Cdiv class=\"tl-desc\">Publication au Journal officiel de l'UE. Le décompte des délais commence.\u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n      \u003Cdiv class=\"tl-item\">\n        \u003Cdiv class=\"tl-dot done\">\u003C\u002Fdiv>\n        \u003Cdiv class=\"tl-date\">2 février 2025\u003C\u002Fdiv>\n        \u003Cdiv class=\"tl-title\">Pratiques interdites applicables \u003Cspan class=\"tl-badge done\">Passé\u003C\u002Fspan>\u003C\u002Fdiv>\n        \u003Cdiv class=\"tl-desc\">Art. 5 : interdiction du scoring social, manipulation comportementale, identification biométrique en temps réel dans les espaces publics (sauf exceptions strictes). Mise en place des autorités nationales compétentes.\u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n      \u003Cdiv class=\"tl-item\">\n        \u003Cdiv class=\"tl-dot done\">\u003C\u002Fdiv>\n        \u003Cdiv class=\"tl-date\">2 août 2025\u003C\u002Fdiv>\n        \u003Cdiv class=\"tl-title\">Obligations GPAI applicables \u003Cspan class=\"tl-badge done\">Passé\u003C\u002Fspan>\u003C\u002Fdiv>\n        \u003Cdiv class=\"tl-desc\">Art. 51–55 : obligations pour les fournisseurs de modèles d'IA à usage général (documentation, coopération, signalement d'incidents). Codes de conduite en cours de finalisation.\u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n      \u003Cdiv class=\"tl-item\">\n        \u003Cdiv class=\"tl-dot current\">\u003C\u002Fdiv>\n        \u003Cdiv class=\"tl-date\">2 août 2026\u003C\u002Fdiv>\n        \u003Cdiv class=\"tl-title\">Application générale du Règlement \u003Cspan class=\"tl-badge current\">Dans 81 jours\u003C\u002Fspan>\u003C\u002Fdiv>\n        \u003Cdiv class=\"tl-desc\">Toutes les dispositions générales s'appliquent (gouvernance, transparence Art. 50, risque limité). Les systèmes haut risque Annexe III sont reportés (accord Omnibus).\u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n      \u003Cdiv class=\"tl-item\">\n        \u003Cdiv class=\"tl-dot alert\">\u003C\u002Fdiv>\n        \u003Cdiv class=\"tl-date\">2 décembre 2027\u003C\u002Fdiv>\n        \u003Cdiv class=\"tl-title\">Systèmes haut risque – Annexe III \u003Cspan class=\"tl-badge postponed\">Reporté (Omnibus)\u003C\u002Fspan>\u003C\u002Fdiv>\n        \u003Cdiv class=\"tl-desc\">RH\u002Frecrutement, notation de crédit, éducation, santé, infrastructure critique, justice, biométrie post-traitement. Initialement prévu au 2 août 2026 — report de 16 mois.\u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n      \u003Cdiv class=\"tl-item\">\n        \u003Cdiv class=\"tl-dot future\">\u003C\u002Fdiv>\n        \u003Cdiv class=\"tl-date\">2 août 2028\u003C\u002Fdiv>\n        \u003Cdiv class=\"tl-title\">Produits réglementés avec IA – Annexe I \u003Cspan class=\"tl-badge postponed\">Reporté (Omnibus)\u003C\u002Fspan>\u003C\u002Fdiv>\n        \u003Cdiv class=\"tl-desc\">IA intégrée dans des dispositifs médicaux, machines, jouets, équipements radio. Initialement prévu au 2 août 2027.\u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\n  \u003C!-- Tab 2: Actions prioritaires -->\n  \u003Cdiv id=\"tab-2\" class=\"hidden\">\n    \u003Cdiv class=\"callout-omnibus\">\n      \u003Ci data-lucide=\"lightbulb\" width=\"15\" height=\"15\">\u003C\u002Fi>\n      \u003Cp>Même avec le report au 2 décembre 2027 pour les systèmes haut risque, préparer dès maintenant les éléments documentaires reste pertinent pour éviter une mise en conformité précipitée.\u003C\u002Fp>\n    \u003C\u002Fdiv>\n    \u003Cdiv style=\"font-size:0.82rem;font-weight:700;color:#78716c;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px\">À faire avant le 2 août 2026\u003C\u002Fdiv>\n    \u003Cdiv class=\"actions-list\">\n      \u003Cdiv class=\"action-item\">\n        \u003Cdiv class=\"action-prio p1\">1\u003C\u002Fdiv>\n        \u003Cdiv class=\"action-text\">\u003Cstrong>Inventaire des systèmes d'IA\u003C\u002Fstrong>Cartographier tous les outils IA utilisés dans l'entreprise et qualifier leur niveau de risque (haut, limité, minimal, interdit).\u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n      \u003Cdiv class=\"action-item\">\n        \u003Cdiv class=\"action-prio p1\">2\u003C\u002Fdiv>\n        \u003Cdiv class=\"action-text\">\u003Cstrong>Vérifier les pratiques interdites\u003C\u002Fstrong>S'assurer qu'aucun système en production ne relève de l'Article 5 (scoring social, manipulation, bio temps réel) — applicable depuis février 2025.\u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n      \u003Cdiv class=\"action-item\">\n        \u003Cdiv class=\"action-prio p2\">3\u003C\u002Fdiv>\n        \u003Cdiv class=\"action-text\">\u003Cstrong>Transparence chatbots & contenus IA\u003C\u002Fstrong>Ajouter la mention obligatoire d'interaction avec une IA sur tous les chatbots, et le marquage des contenus générés (Art. 50, applicable au 2 août 2026).\u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n      \u003Cdiv class=\"action-item\">\n        \u003Cdiv class=\"action-prio p2\">4\u003C\u002Fdiv>\n        \u003Cdiv class=\"action-text\">\u003Cstrong>Désigner un responsable conformité IA\u003C\u002Fstrong>Nommer un référent interne ou externe chargé du suivi de la mise en conformité AI Act.\u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n    \u003Cdiv style=\"font-size:0.82rem;font-weight:700;color:#78716c;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;margin-top:6px\">À préparer avant le 2 décembre 2027\u003C\u002Fdiv>\n    \u003Cdiv class=\"actions-list\">\n      \u003Cdiv class=\"action-item\">\n        \u003Cdiv class=\"action-prio p2\">5\u003C\u002Fdiv>\n        \u003Cdiv class=\"action-text\">\u003Cstrong>Système de gestion des risques (Art. 9)\u003C\u002Fstrong>Documenter les risques de chaque système haut risque : identification, évaluation, mesures d'atténuation.\u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n      \u003Cdiv class=\"action-item\">\n        \u003Cdiv class=\"action-prio p2\">6\u003C\u002Fdiv>\n        \u003Cdiv class=\"action-text\">\u003Cstrong>Documentation technique (Art. 11)\u003C\u002Fstrong>Préparer la documentation technique requise pour chaque système haut risque : architecture, données, performances, tests.\u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n      \u003Cdiv class=\"action-item\">\n        \u003Cdiv class=\"action-prio p3\">7\u003C\u002Fdiv>\n        \u003Cdiv class=\"action-text\">\u003Cstrong>Système de journalisation (Art. 12)\u003C\u002Fstrong>Mettre en place les logs automatiques pour les décisions des systèmes haut risque, conservés au minimum 6 mois.\u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n      \u003Cdiv class=\"action-item\">\n        \u003Cdiv class=\"action-prio p3\">8\u003C\u002Fdiv>\n        \u003Cdiv class=\"action-text\">\u003Cstrong>Formation des superviseurs humains (Art. 14)\u003C\u002Fstrong>Former les équipes qui supervisent les décisions automatisées haut risque (RH, crédit, santé, justice).\u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\n  \u003Cp class=\"source\">\n    Sources : \u003Ca href=\"https:\u002F\u002Feur-lex.europa.eu\u002Flegal-content\u002FEN\u002FTXT\u002F?uri=OJ:L_202401689\" target=\"_blank\" rel=\"noopener\">Règlement UE 2024\u002F1689 – EUR-Lex\u003C\u002Fa> •\n    \u003Ca href=\"https:\u002F\u002Fwww.modulos.ai\u002Fblog\u002Feu-ai-act-omnibus-deal\u002F\" target=\"_blank\" rel=\"noopener\">Accord Omnibus du 7 mai 2026\u003C\u002Fa> •\n    Cet outil est indicatif et ne constitue pas un conseil juridique.\n  \u003C\u002Fp>\n\u003C\u002Fmain>\n\u003Cscript>\n  const TODAY = new Date();\n  TODAY.setHours(0, 0, 0, 0);\n\n  const SYSTEMS = {\n    interdit: {\n      deadline: new Date('2025-02-02'),\n      label: 'Pratiques interdites – Art. 5',\n      status: 'applied',\n      statusLabel: 'Applicable depuis le 2 février 2025',\n      startRef: new Date('2024-08-01'),\n      note: null,\n      actions: [\n        { prio: 'p1', title: 'Vérification immédiate', text: 'Auditer tous les systèmes en production pour détecter toute pratique classée comme interdite par l\\'Art. 5.' },\n        { prio: 'p1', title: 'Arrêt du système', text: 'Tout système relevant d\\'une pratique interdite doit être immédiatement mis hors production.' },\n        { prio: 'p1', title: 'Conseil juridique', text: 'Consulter un avocat spécialisé — les amendes peuvent atteindre 35 M€ ou 7 % du CA mondial.' }\n      ]\n    },\n    gpai: {\n      deadline: new Date('2025-08-02'),\n      label: 'Modèles GPAI – Art. 51-55',\n      status: 'applied',\n      statusLabel: 'Applicable depuis le 2 août 2025',\n      startRef: new Date('2024-08-01'),\n      note: null,\n      actions: [\n        { prio: 'p1', title: 'Documentation du modèle', text: 'Préparer la documentation technique du modèle GPAI (architecture, données, évaluations).' },\n        { prio: 'p2', title: 'Politique de copyright', text: 'Documenter la politique de respect du droit d\\'auteur pour les données d\\'entraînement.' },\n        { prio: 'p2', title: 'Coopération avec l\\'AI Office', text: 'Se tenir prêt à coopérer avec l\\'AI Office de la Commission européenne.' }\n      ]\n    },\n    haut_annexe3: {\n      deadline: new Date('2027-12-02'),\n      label: 'Haut risque Annexe III – Reporté au 2 déc. 2027',\n      status: 'coming',\n      statusLabel: 'Reporté au 2 décembre 2027 (Omnibus)',\n      startRef: new Date('2024-08-01'),\n      note: 'Report accordé par l\\'accord Omnibus numérique du 7 mai 2026. La date initiale était le 2 août 2026.',\n      actions: [\n        { prio: 'p1', title: 'Inventaire & qualification', text: 'Lister tous les systèmes haut risque Annexe III : RH, crédit, éducation, santé, infrastructure, justice.' },\n        { prio: 'p2', title: 'Système de gestion des risques (Art. 9)', text: 'Documenter les risques de chaque système : sources, probabilité, mesures d\\'atténuation.' },\n        { prio: 'p2', title: 'Documentation technique (Art. 11)', text: 'Préparer la documentation technique requise pour chaque système.' },\n        { prio: 'p3', title: 'Formation superviseurs (Art. 14)', text: 'Former les équipes en charge de la supervision humaine.' }\n      ]\n    },\n    haut_annexe1: {\n      deadline: new Date('2028-08-02'),\n      label: 'Haut risque Annexe I – Reporté au 2 août 2028',\n      status: 'coming',\n      statusLabel: 'Reporté au 2 août 2028 (Omnibus)',\n      startRef: new Date('2024-08-01'),\n      note: 'Concerne l\\'IA intégrée dans des produits réglementés : dispositifs médicaux, machines, jouets, équipements radio. Report de 12 mois accordé par l\\'Omnibus.',\n      actions: [\n        { prio: 'p1', title: 'Coordination avec réglementation sectorielle', text: 'Articuler les exigences AI Act avec les certifications CE \u002F MDR \u002F RED \u002F Machinery Directive.' },\n        { prio: 'p2', title: 'Documentation technique intégrée', text: 'Intégrer la documentation AI Act dans le dossier technique du produit réglementé.' },\n        { prio: 'p3', title: 'Tests et validation', text: 'Prévoir des cycles de tests spécifiques pour l\\'IA intégrée dans les phases de certification.' }\n      ]\n    },\n    limite: {\n      deadline: new Date('2026-08-02'),\n      label: 'Risque limité – Transparence Art. 50',\n      status: 'soon',\n      statusLabel: 'Applicable au 2 août 2026',\n      startRef: new Date('2024-08-01'),\n      note: null,\n      actions: [\n        { prio: 'p1', title: 'Mention obligatoire chatbots', text: 'Ajouter sur tous les chatbots la mention que l\\'utilisateur interagit avec une IA.' },\n        { prio: 'p1', title: 'Marquage des contenus IA', text: 'Marquer tous les textes, images, vidéos générés ou modifiés par IA comme tels.' },\n        { prio: 'p2', title: 'Mise à jour CGU \u002F politique IA', text: 'Documenter dans les CGU l\\'usage de l\\'IA et les droits des utilisateurs.' }\n      ]\n    },\n    minimal: {\n      deadline: null,\n      label: 'Risque minimal — aucune obligation spécifique',\n      status: 'applied',\n      statusLabel: 'Aucune obligation AI Act spécifique',\n      startRef: null,\n      note: 'Les systèmes à risque minimal ne sont soumis à aucune obligation réglementaire AI Act. Les codes de conduite volontaires sont encouragés.',\n      actions: [\n        { prio: 'p3', title: 'Adhérer à un code de conduite volontaire', text: 'La Commission européenne encourage les fournisseurs de systèmes à risque minimal à adopter des bonnes pratiques volontaires.' },\n        { prio: 'p3', title: 'RGPD et droit applicable', text: 'Vérifier la conformité RGPD et réglementations sectorielles qui restent applicables.' }\n      ]\n    }\n  };\n\n  const fmtDate = d => d ? d.toLocaleDateString('fr-FR', { day: 'numeric', month: 'long', year: 'numeric' }) : '—';\n\n  function daysUntil(d) {\n    if (!d) return null;\n    const diff = d - TODAY;\n    return Math.ceil(diff \u002F (1000 * 60 * 60 * 24));\n  }\n\n  function progressPct(start, end) {\n    if (!start || !end) return 100;\n    const total = end - start;\n    const elapsed = TODAY - start;\n    return Math.min(100, Math.max(0, Math.round(elapsed \u002F total * 100)));\n  }\n\n  function renderSystemResult(key) {\n    const s = SYSTEMS[key];\n    if (!s) return;\n    const days = daysUntil(s.deadline);\n    const pct = progressPct(s.startRef, s.deadline);\n    const isUrgent = days !== null && days >= 0 && days \u003C= 90;\n    const isPast = days !== null && days \u003C 0;\n    const daysClass = isPast ? 'past' : isUrgent ? 'urgent' : '';\n    const fillClass = isPast ? 'done' : isUrgent ? 'urgent' : '';\n    const statusChipClass = s.status === 'applied' ? 'applied' : s.status === 'soon' ? 'soon' : 'coming';\n    const statusIcons = { applied: 'check-circle', soon: 'clock', coming: 'calendar' };\n\n    const actionsHtml = s.actions.map(a => `\n      \u003Cdiv class=\"action-item\">\n        \u003Cdiv class=\"action-prio ${a.prio}\">${a.prio[1]}\u003C\u002Fdiv>\n        \u003Cdiv class=\"action-text\">\u003Cstrong>${a.title}\u003C\u002Fstrong>${a.text}\u003C\u002Fdiv>\n      \u003C\u002Fdiv>`).join('');\n\n    const noteHtml = s.note ? `\u003Cdiv style=\"margin-top:12px;padding:9px 13px;background:#fef9c3;border:1px solid #fde68a;border-radius:8px;font-size:0.8rem;color:#713f12;display:flex;gap:8px;align-items:flex-start\">\u003Ci data-lucide=\"info\" width=\"13\" height=\"13\" style=\"flex-shrink:0;margin-top:2px;color:#ca8a04\">\u003C\u002Fi>\u003Cspan>${s.note}\u003C\u002Fspan>\u003C\u002Fdiv>` : '';\n\n    let daysDisplay = '';\n    if (days === null) {\n      daysDisplay = `\u003Cdiv class=\"days-badge\">\u003Cdiv class=\"days-number\" style=\"color:#16a34a;font-size:1.4rem\">N\u002FA\u003C\u002Fdiv>\u003Cdiv class=\"days-label\">pas d'échéance\u003C\u002Fdiv>\u003C\u002Fdiv>`;\n    } else if (isPast) {\n      daysDisplay = `\u003Cdiv class=\"days-badge\">\u003Cdiv class=\"days-number ${daysClass}\">${Math.abs(days)}\u003C\u002Fdiv>\u003Cdiv class=\"days-label\">jours écoulés\u003C\u002Fdiv>\u003C\u002Fdiv>`;\n    } else {\n      daysDisplay = `\u003Cdiv class=\"days-badge\">\u003Cdiv class=\"days-number ${daysClass}\">${days}\u003C\u002Fdiv>\u003Cdiv class=\"days-label\">jours restants\u003C\u002Fdiv>\u003C\u002Fdiv>`;\n    }\n\n    document.getElementById('system-result').innerHTML = `\n      \u003Cdiv class=\"countdown-block\">\n        \u003Cdiv class=\"countdown-header\">\n          \u003Cdiv>\n            \u003Cdiv class=\"deadline-label\">Votre échéance\u003C\u002Fdiv>\n            \u003Cdiv class=\"deadline-date\">${s.deadline ? fmtDate(s.deadline) : 'Sans échéance spécifique'}\u003C\u002Fdiv>\n            \u003Cspan class=\"status-chip ${statusChipClass}\">\n              \u003Ci data-lucide=\"${statusIcons[s.status]}\" width=\"11\" height=\"11\">\u003C\u002Fi>\n              ${s.statusLabel}\n            \u003C\u002Fspan>\n          \u003C\u002Fdiv>\n          ${daysDisplay}\n        \u003C\u002Fdiv>\n        ${s.deadline && s.startRef ? `\n        \u003Cdiv class=\"progress-bar-wrap\">\n          \u003Cdiv class=\"progress-bar-track\">\n            \u003Cdiv class=\"progress-bar-fill ${fillClass}\" style=\"width:${pct}%\">\u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n          \u003Cdiv class=\"progress-labels\">\n            \u003Cspan>${fmtDate(s.startRef)}\u003C\u002Fspan>\n            \u003Cspan>${pct}% du temps écoulé\u003C\u002Fspan>\n            \u003Cspan>${fmtDate(s.deadline)}\u003C\u002Fspan>\n          \u003C\u002Fdiv>\n        \u003C\u002Fdiv>` : ''}\n        ${noteHtml}\n      \u003C\u002Fdiv>\n      \u003Cdiv style=\"font-size:0.82rem;font-weight:700;color:#78716c;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px\">Actions recommandées\u003C\u002Fdiv>\n      \u003Cdiv class=\"actions-list\">${actionsHtml}\u003C\u002Fdiv>`;\n\n    document.getElementById('system-result').classList.remove('hidden');\n    lucide.createIcons();\n  }\n\n  document.getElementById('system-select').addEventListener('change', e => {\n    if (e.target.value) renderSystemResult(e.target.value);\n    else document.getElementById('system-result').classList.add('hidden');\n  });\n\n  document.querySelectorAll('.tab-btn').forEach((btn, i) => {\n    btn.addEventListener('click', () => {\n      ['tab-0', 'tab-1', 'tab-2'].forEach((id, j) => {\n        document.getElementById(id).classList.toggle('hidden', j !== i);\n      });\n      document.querySelectorAll('.tab-btn').forEach((b, j) => b.classList.toggle('active', j === i));\n    });\n  });\n\n  lucide.createIcons();\n\n  const ro = new ResizeObserver(() => {\n    const h = Math.max(document.documentElement.scrollHeight, document.body.scrollHeight);\n    parent.postMessage({ type: 'resize', height: h }, '*');\n  });\n  ro.observe(document.documentElement);\n\u003C\u002Fscript>\n\u003C\u002Fbody>\n\u003C\u002Fhtml>\n","generated","juridique","pro","both","https:\u002F\u002Fpub-bdebbd2dad294475a2da0eb657815b6b.r2.dev\u002Ftools\u002Fcalendrier-conformite-ai-act-8bd44c78a9.webp",[]]