<!DOCTYPE html>
<html lang="fr" data-theme="light">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Module 06 — Intune / MDM · Formation Entra ID · Atoo Next</title>
  <meta name="description" content="Intune : gestion des postes en MDM, Autopilot, politiques de conformité, remplacement des GPO.">
  <meta name="color-scheme" content="light dark">
  <link rel="preconnect" href="https://fonts.googleapis.com">
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&family=JetBrains+Mono:wght@400;500&display=swap">
  <link rel="stylesheet" href="assets/shared.css">
</head>
<body class="layout-module">
  <a href="#main-content" class="skip-link">Aller au contenu principal</a>

  <svg xmlns="http://www.w3.org/2000/svg" style="display:none" aria-hidden="true">
    <symbol id="icon-home" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/><polyline points="9 22 9 12 15 12 15 22"/></symbol>
    <symbol id="icon-book-open" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M12 7v14"/><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"/></symbol>
    <symbol id="icon-trending-up" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><polyline points="22 7 13.5 15.5 8.5 10.5 2 17"/><polyline points="16 7 22 7 22 13"/></symbol>
    <symbol id="icon-award" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M15.477 12.89 17 22l-5-3-5 3 1.523-9.11"/><circle cx="12" cy="8" r="6"/></symbol>
    <symbol id="icon-settings" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="3"/></symbol>
    <symbol id="icon-help-circle" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"/><path d="M12 17h.01"/></symbol>
    <symbol id="icon-menu" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><line x1="4" x2="20" y1="12" y2="12"/><line x1="4" x2="20" y1="6" y2="6"/><line x1="4" x2="20" y1="18" y2="18"/></symbol>
    <symbol id="icon-smartphone" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><rect width="14" height="20" x="5" y="2" rx="2" ry="2"/><path d="M12 18h.01"/></symbol>
    <symbol id="icon-shield-check" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/><path d="m9 12 2 2 4-4"/></symbol>
    <symbol id="icon-check" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></symbol>
    <symbol id="icon-check-circle" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"/><polyline points="22 4 12 14.01 9 11.01"/></symbol>
    <symbol id="icon-x" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><line x1="18" x2="6" y1="6" y2="18"/><line x1="6" x2="18" y1="6" y2="18"/></symbol>
    <symbol id="icon-refresh-cw" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><polyline points="23 4 23 10 17 10"/><path d="M3.51 9a9 9 0 0 1 14.85-3.36L23 10"/></symbol>
    <symbol id="icon-chevron-right" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"/></symbol>
    <symbol id="icon-arrow-left" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><line x1="19" x2="5" y1="12" y2="12"/><polyline points="12 19 5 12 12 5"/></symbol>
    <symbol id="icon-arrow-right" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><line x1="5" x2="19" y1="12" y2="12"/><polyline points="12 5 19 12 12 19"/></symbol>
    <symbol id="icon-moon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"/></symbol>
    <symbol id="icon-sun" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="4"/><path d="M12 2v2"/><path d="M12 20v2"/><path d="m4.93 4.93 1.41 1.41"/><path d="m17.66 17.66 1.41 1.41"/><path d="M2 12h2"/><path d="M20 12h2"/><path d="m6.34 17.66-1.41 1.41"/><path d="m19.07 4.93-1.41 1.41"/></symbol>
    <symbol id="icon-alert-triangle" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z"/><path d="M12 9v4"/><path d="M12 17h.01"/></symbol>
    <symbol id="icon-info" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M12 16v-4"/><path d="M12 8h.01"/></symbol>
    <symbol id="icon-key-round" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z"/></symbol>
    <symbol id="icon-sparkles" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"/><path d="M20 3v4"/><path d="M22 5h-4"/><path d="M4 17v2"/><path d="M5 18H3"/></symbol>
    <symbol id="icon-server" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><rect width="20" height="8" x="2" y="2" rx="2"/><rect width="20" height="8" x="2" y="14" rx="2"/><line x1="6" x2="6.01" y1="6" y2="6"/><line x1="6" x2="6.01" y1="18" y2="18"/></symbol>
    <symbol id="icon-graduation-cap" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M22 10v6M2 10l10-5 10 5-10 5z"/><path d="M6 12v5c3 3 9 3 12 0v-5"/></symbol>
    <symbol id="icon-flask-conical" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2"/><path d="M6.453 15h11.094"/><path d="M8.5 2h7"/></symbol>
    <symbol id="icon-target" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><circle cx="12" cy="12" r="6"/><circle cx="12" cy="12" r="2"/></symbol>
    <symbol id="icon-list" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><line x1="8" x2="21" y1="6" y2="6"/><line x1="8" x2="21" y1="12" y2="12"/><line x1="8" x2="21" y1="18" y2="18"/><line x1="3" x2="3.01" y1="6" y2="6"/><line x1="3" x2="3.01" y1="12" y2="12"/><line x1="3" x2="3.01" y1="18" y2="18"/></symbol>
    <symbol id="icon-external-link" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" x2="21" y1="14" y2="3"/></symbol>
    <symbol id="icon-package" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M16.5 9.4 7.55 4.24"/><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/><path d="M3.27 6.96 12 12.01l8.73-5.05"/><path d="M12 22.08V12"/></symbol>
    <symbol id="icon-cloud" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z"/></symbol>
    <symbol id="icon-download" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="7 10 12 15 17 10"/><line x1="12" x2="12" y1="15" y2="3"/></symbol>
  </svg>

  <button class="hamburger-btn" aria-label="Ouvrir le menu">
    <svg width="24" height="24"><use href="#icon-menu"/></svg>
  </button>

  <aside class="sidebar-icons" role="navigation" aria-label="Menu principal">
    <a href="javascript:void(0)" class="sidebar-icons__logo" aria-label="Accueil Atoo Next">
      <img src="assets/atoo-next-logo.svg" alt="Atoo Next">
    </a>
    <nav class="sidebar-icons__nav" aria-label="Navigation principale">
      <a href="javascript:void(0)" class="sidebar-icons__item" aria-label="Tableau de bord" title="Tableau de bord"><svg><use href="#icon-home"/></svg></a>
      <a href="#module-content" class="sidebar-icons__item is-active" aria-label="Ce module" title="Ce module"><svg><use href="#icon-book-open"/></svg></a>
      <a href="javascript:void(0)" class="sidebar-icons__item" aria-label="Progression" title="Progression"><svg><use href="#icon-trending-up"/></svg></a>
      <a href="javascript:void(0)" class="sidebar-icons__item" aria-label="Certificat" title="Certificat"><svg><use href="#icon-award"/></svg></a>
    </nav>
    <div class="sidebar-icons__footer">
      <a href="#" class="sidebar-icons__item" aria-label="Aide" title="Aide"><svg><use href="#icon-help-circle"/></svg></a>
      <a href="#" class="sidebar-icons__item" aria-label="Paramètres" title="Paramètres"><svg><use href="#icon-settings"/></svg></a>
    </div>
  </aside>

  <main class="module-main" id="main-content">
    <header class="module-topbar">
      <a href="javascript:void(0)" class="back-link">
        <svg><use href="#icon-arrow-left"/></svg>
        Retour au tableau de bord
      </a>
      <div class="module-topbar__actions">
        <button id="theme-toggle" class="btn-icon" aria-label="Basculer thème" aria-pressed="false">
          <svg width="20" height="20"><use href="#icon-moon"/></svg>
        </button>
      </div>
    </header>

    <div class="module-layout" id="module-content">
      <article class="module-content">
        <header class="module-header">
          <div class="module-header__visual module-header__visual--mint">
            <span class="module-header__number-huge">06</span>
            <div class="module-header__icon-large"><svg><use href="#icon-smartphone"/></svg></div>
          </div>
          <div class="module-header__meta">
            <span class="module-header__label">MODULE 06 · COURS</span>
            <h1 class="module-header__title">Intune / MDM</h1>
            <p class="module-header__subtitle">Gestion des postes en cloud, Autopilot, remplacement des GPO.</p>
            <div class="module-header__stats">
              <div class="stat-mini"><span class="stat-mini__value">5h</span><span class="stat-mini__label">durée</span></div>
              <div class="stat-mini"><span class="stat-mini__value" id="module-sections-count">13</span><span class="stat-mini__label">sections</span></div>
              <div class="stat-mini"><span class="stat-mini__value">10</span><span class="stat-mini__label">questions</span></div>
            </div>
          </div>
        </header>

        <!-- OBJECTIFS -->
        <section class="module-section module-section--objectifs" data-section-id="s-objectifs">
          <div class="section-header">
            <div class="icon-circle icon-circle--lg icon-circle--lavender"><svg><use href="#icon-target"/></svg></div>
            <div class="section-header__content">
              <span class="section-header__label">OBJECTIFS</span>
              <h2 class="section-header__title">Ce que vous saurez faire</h2>
              <p class="section-header__meta">5 objectifs · ~5 min</p>
            </div>
          </div>
          <ul class="task-list">
            <li class="task-list__item"><span><strong>Expliquer</strong> le modèle MDM (pull au check-in) vs GPO (push au login / refresh).</span></li>
            <li class="task-list__item"><span><strong>Décrire</strong> l'enrôlement et Windows Autopilot (provisioning zero-touch).</span></li>
            <li class="task-list__item"><span><strong>Créer</strong> une politique de conformité et un profil de configuration (Settings Catalog).</span></li>
            <li class="task-list__item"><span><strong>Traduire</strong> une GPO en équivalent Intune à l'aide du tableau de correspondance.</span></li>
            <li class="task-list__item"><span><strong>Déployer</strong> une application (Win32 / Store) et cibler par groupe.</span></li>
          </ul>
          <div class="content-block animate-on-scroll" style="margin-top:var(--space-6)">
            <h3>Compétences transférées depuis l'AD classique</h3>
            <div class="table-wrapper">
              <table>
                <thead><tr><th>L'admin AD réutilise</th><th>L'admin AD doit désapprendre</th></tr></thead>
                <tbody>
                  <tr><td>Connaissance fine des paramètres (registre, ADMX)</td><td>« gpupdate /force » n'existe pas — MDM applique au check-in</td></tr>
                  <tr><td>Logique de ciblage (qui reçoit quoi)</td><td>Ciblage par <strong>OU</strong> → ciblage par <strong>groupe</strong></td></tr>
                  <tr><td>Packaging applicatif</td><td>MSI / GPO software install → <strong>Win32 (.intunewin)</strong> / Store</td></tr>
                </tbody>
              </table>
            </div>
          </div>
        </section>

        <!-- COURS -->
        <section class="module-section module-section--cours">
          <div class="section-header">
            <div class="icon-circle icon-circle--lg icon-circle--sky"><svg><use href="#icon-book-open"/></svg></div>
            <div class="section-header__content">
              <span class="section-header__label">COURS</span>
              <h2 class="section-header__title">Du GPO au MDM cloud</h2>
              <p class="section-header__meta">6 sections · lecture ~45 min</p>
            </div>
          </div>

          <div class="content-block animate-on-scroll" data-section-id="s-cours-1">
            <h3>1. MDM vs gestion GPO : le changement de modèle</h3>
            <div class="section-hook">
              <span class="section-hook__label">Contexte</span>
              C'est le module où l'admin AD retrouve le plus de repères… et le plus de pièges. Intune fait ce que faisaient les GPO (configurer les postes), mais avec un <strong>modèle radicalement différent</strong>. Comprendre cette différence économise des heures de troubleshooting.
            </div>
            <div class="table-wrapper">
              <table>
                <thead><tr><th></th><th>GPO (AD DS)</th><th>Intune (MDM)</th></tr></thead>
                <tbody>
                  <tr><td><strong>Modèle</strong></td><td><strong>Push</strong> : le poste va chercher les GPO au login / refresh</td><td><strong>Pull</strong> : le poste <strong>check-in</strong> périodiquement (~8h, ou à la demande)</td></tr>
                  <tr><td><strong>Transport</strong></td><td>SMB / LDAP sur le réseau interne (ligne de vue DC)</td><td>HTTPS depuis Internet (poste où qu'il soit)</td></tr>
                  <tr><td><strong>Ciblage</strong></td><td>Lien GPO sur <strong>OU</strong> (+ filtres WMI / sécurité)</td><td>Assignation sur <strong>groupe</strong> (users ou devices)</td></tr>
                  <tr><td><strong>Application immédiate</strong></td><td><code>gpupdate /force</code></td><td>Sync manuelle depuis le poste / le portail (pas de « force » réseau)</td></tr>
                  <tr><td><strong>Poste éligible</strong></td><td>Joint au domaine AD</td><td>Enrôlé MDM (joint Entra / hybride)</td></tr>
                  <tr><td><strong>Résultat</strong></td><td>Réglages appliqués tant que dans l'OU</td><td>Réglages appliqués tant qu'assigné + conforme</td></tr>
                </tbody>
              </table>
            </div>
            <aside class="callout callout--warning">
              <div class="callout__icon"><div class="icon-circle icon-circle--sm icon-circle--peach"><svg><use href="#icon-alert-triangle"/></svg></div></div>
              <div class="callout__content">
                <span class="callout__label">PIÈGE FRÉQUENT</span>
                <p>Attendre un <code>gpupdate /force</code> réseau. En MDM, on déclenche une <strong>sync</strong> côté poste (<em>Paramètres &gt; Comptes &gt; Accès professionnel &gt; Sync</em>) ou via le portail ; l'application n'est ni instantanée ni « poussée » depuis un serveur.</p>
              </div>
            </aside>
          </div>

          <div class="content-block animate-on-scroll" data-section-id="s-cours-2">
            <h3>2. Enrôlement &amp; Windows Autopilot</h3>
            <ul>
              <li><strong>Enrôlement</strong> : le processus par lequel un poste devient géré par Intune (joint Entra + inscrit MDM). Peut être automatique (via CA / onboarding) ou manuel.</li>
              <li><strong>Windows Autopilot</strong> : provisioning <strong>zero-touch</strong>. Le poste, sorti de sa boîte, s'auto-configure (jointure Entra, enrôlement Intune, applications, politiques) au premier démarrage, sans image ni intervention IT sur place.</li>
            </ul>
            <div class="ad-entra-grid">
              <div class="ad-entra-card ad-entra-card--ad">
                <div class="ad-entra-card__label"><svg width="14" height="14"><use href="#icon-server"/></svg> AD CLASSIQUE</div>
                <div class="ad-entra-card__body"><p>Vous prépariez une <strong>image</strong> (MDT / SCCM), puis jointure au domaine manuelle.</p></div>
              </div>
              <div class="ad-entra-card ad-entra-card--entra">
                <div class="ad-entra-card__label"><svg width="14" height="14"><use href="#icon-cloud"/></svg> INTUNE + AUTOPILOT</div>
                <div class="ad-entra-card__body"><p>Plus d'image dorée : le poste part du Windows OEM et se <strong>configure via le cloud</strong>.</p></div>
              </div>
              <div class="ad-entra-card ad-entra-card--danger">
                <div class="ad-entra-card__label"><svg width="14" height="14"><use href="#icon-alert-triangle"/></svg> PIÈGE</div>
                <div class="ad-entra-card__body"><p>Vouloir recréer une image de référence. Autopilot casse ce paradigme : on part de Windows d'usine et on <strong>configure</strong>, on ne <strong>déploie</strong> plus une image.</p></div>
              </div>
            </div>

            <div class="quickquestion animate-on-scroll" data-id="qq-force-update">
              <div class="quickquestion__label"><svg width="14" height="14"><use href="#icon-sparkles"/></svg> Question rapide</div>
              <p class="quickquestion__question">Un utilisateur signale qu'un nouveau profil Intune n'est pas appliqué sur son poste. Quel est le premier réflexe ?</p>
              <button class="btn btn--soft-violet quickquestion__btn" type="button">Voir la réponse</button>
              <div class="quickquestion__answer">
                <strong>Déclencher une sync côté poste, pas un <code>gpupdate /force</code>.</strong>
                <p class="quickquestion__explanation">MDM = modèle pull. Le poste doit <strong>demander</strong> ses réglages. <em>Paramètres &gt; Comptes &gt; Accès professionnel &gt; le compte Intune &gt; Sync</em>. Vous pouvez aussi déclencher depuis le portail Intune (action <em>Sync</em> sur l'appareil). Si après sync le profil ne s'applique toujours pas, vérifier l'assignation du groupe et l'état de conformité du poste.</p>
              </div>
            </div>
          </div>

          <div class="content-block animate-on-scroll" data-section-id="s-cours-3">
            <h3>3. Politiques de conformité</h3>
            <p>Une <strong>politique de conformité</strong> définit ce qu'est un « appareil sain » : chiffrement BitLocker activé, version d'OS minimale, antivirus actif, code PIN, pas de jailbreak, etc.</p>
            <p>Le résultat (<strong>compliant / non-compliant</strong>) est <strong>consommé par le Conditional Access</strong> (module 04) via « require device to be marked as compliant ». C'est le <strong>pont</strong> poste ↔ identité.</p>

            <figure class="mermaid-container animate-on-scroll" data-mermaid-source='flowchart LR
  A["Intune<br>politique de conformité"] --> B{"Poste répond<br>aux critères ?"}
  B -- Oui --> C["Étiquette :<br><b>compliant</b>"]
  B -- Non --> D["Étiquette :<br><b>non-compliant</b>"]
  C --> E["Conditional Access<br>Require compliant device"]
  D --> E
  E -->|compliant| F["Accès<br>autorisé"]
  E -->|non-compliant| G["Accès<br>refusé"]
  classDef intune fill:#B8E0C8,color:#2C2438,stroke:#5DAA7A
  classDef ca fill:#A78BD9,color:#fff,stroke:#6B4FA0
  classDef ok fill:#B8E0C8,stroke:#5DAA7A,color:#2C2438
  classDef ko fill:#F5C7A9,stroke:#C88458,color:#2C2438
  class A,C,D intune
  class B,E ca
  class F ok
  class G ko'>
              <div class="mermaid-render"><em class="text-muted">Chargement du schéma…</em></div>
              <figcaption class="mermaid-caption">La conformité <strong>étiquette</strong> le poste ; le CA <strong>décide</strong> de l'accès. Deux moteurs distincts qui se complètent.</figcaption>
            </figure>

            <aside class="callout callout--warning">
              <div class="callout__icon"><div class="icon-circle icon-circle--sm icon-circle--peach"><svg><use href="#icon-alert-triangle"/></svg></div></div>
              <div class="callout__content">
                <span class="callout__label">PIÈGE FRÉQUENT</span>
                <p>Croire qu'une politique de conformité <strong>bloque</strong> l'accès par elle-même. Non : elle <strong>étiquette</strong> l'appareil ; c'est le <strong>CA</strong> qui décide d'en faire une condition d'accès.</p>
              </div>
            </aside>
            <div class="reveal-card">
              <button class="reveal-card__trigger" aria-controls="ade-cours3">
                <div class="icon-circle icon-circle--sm icon-circle--sky"><svg><use href="#icon-server"/></svg></div>
                <span class="reveal-card__title">Équivalent AD DS</span>
                <svg class="reveal-card__chevron" width="20" height="20"><use href="#icon-chevron-right"/></svg>
              </button>
              <div class="reveal-card__content" id="ade-cours3" role="region"><p>Aucun. Rien en GPO ne calcule un état « conforme » exploité par un moteur d'accès. Le NAP (Network Access Protection) était une tentative de rapprochement, obsolète.</p></div>
            </div>
          </div>

          <div class="content-block animate-on-scroll" data-section-id="s-cours-4">
            <h3>4. Profils de configuration — le remplacement des GPO</h3>
            <p>Trois familles principales :</p>
            <ul>
              <li><strong>Settings Catalog</strong> : catalogue moderne, exhaustif, de milliers de paramètres. Recommandé pour les nouveaux réglages. C'est l'équivalent le plus direct des paramètres GPO.</li>
              <li><strong>Templates (Administrative Templates / ADMX)</strong> : réglages type GPO ADMX, familiers. « Ingested ADMX » pour importer des ADMX tiers (navigateurs, apps métier).</li>
              <li><strong>Profils dédiés</strong> : endpoint protection, chiffrement, réseau / Wi-Fi / VPN, certificats, etc.</li>
            </ul>
          </div>

          <div class="content-block animate-on-scroll" data-section-id="s-cours-5">
            <h3>5. Applications</h3>
            <div class="table-wrapper">
              <table>
                <thead><tr><th>Type</th><th>Usage</th><th>Équivalent AD</th></tr></thead>
                <tbody>
                  <tr><td><strong>Win32 (.intunewin)</strong></td><td>Applications classiques empaquetées avec l'outil Content Prep</td><td>GPO Software Installation / SCCM</td></tr>
                  <tr><td><strong>Microsoft Store apps</strong></td><td>Apps du Store (nouveau modèle Store)</td><td>Pas d'équivalent GPO direct</td></tr>
                  <tr><td><strong>MSIX / Line-of-business</strong></td><td>Paquets modernes / apps internes</td><td>Déploiement MSI</td></tr>
                  <tr><td><strong>Apps mobiles (iOS / Android)</strong></td><td>Via les stores publics + MAM</td><td>Pas d'équivalent</td></tr>
                </tbody>
              </table>
            </div>
          </div>

          <div class="content-block animate-on-scroll" data-section-id="s-cours-6">
            <h3>6. Tableau de correspondance GPO ↔ Intune</h3>
            <p>Le tableau de référence pour traduire vos GPO existantes. À garder sous la main pendant tout le projet de migration.</p>
            <div class="table-wrapper">
              <table>
                <thead><tr><th>Besoin (GPO classique)</th><th>Où c'était en GPO</th><th>Équivalent Intune</th></tr></thead>
                <tbody>
                  <tr><td>Verrouillage d'écran, complexité de mot de passe</td><td>Security Settings / Password Policy</td><td><strong>Politique de conformité</strong> + Settings Catalog (Device Lock)</td></tr>
                  <tr><td>Chiffrement du disque</td><td>GPO BitLocker</td><td>Profil <strong>Endpoint protection / Disk encryption</strong> (BitLocker)</td></tr>
                  <tr><td>Paramètres navigateur (Edge / Chrome)</td><td>ADMX Edge / Chrome</td><td><strong>Settings Catalog</strong> ou <strong>ADMX ingérés</strong></td></tr>
                  <tr><td>Mappage de lecteurs réseau</td><td>GPP Drive Maps</td><td>Script PowerShell (Platform scripts) / migration vers SharePoint</td></tr>
                  <tr><td>Déploiement d'application</td><td>Software Installation (MSI)</td><td><strong>App Win32 (.intunewin)</strong></td></tr>
                  <tr><td>Fond d'écran, restrictions UI</td><td>Administrative Templates</td><td><strong>Settings Catalog</strong></td></tr>
                  <tr><td>Pare-feu Windows</td><td>GPO Windows Firewall</td><td>Profil <strong>Endpoint protection / Firewall</strong></td></tr>
                  <tr><td>Paramètres Wi-Fi / VPN</td><td>GPO / GPP</td><td><strong>Profils Wi-Fi / VPN</strong> Intune</td></tr>
                  <tr><td>Restrictions USB / périphériques</td><td>GPO Device Installation</td><td><strong>Settings Catalog</strong> (Device restrictions)</td></tr>
                  <tr><td>Mises à jour Windows</td><td>WSUS / GPO Windows Update</td><td><strong>Windows Update rings</strong> (Update policies)</td></tr>
                </tbody>
              </table>
            </div>
            <aside class="callout callout--warning">
              <div class="callout__icon"><div class="icon-circle icon-circle--sm icon-circle--peach"><svg><use href="#icon-alert-triangle"/></svg></div></div>
              <div class="callout__content">
                <span class="callout__label">PIÈGE GÉNÉRAL</span>
                <p>Vouloir migrer <strong>toutes</strong> les GPO 1:1. Beaucoup de GPO historiques sont obsolètes ou redondantes. La migration Intune est l'occasion d'un <strong>inventaire et d'un tri</strong> (module 08), pas d'un copier-coller.</p>
              </div>
            </aside>
          </div>

          <div class="content-block animate-on-scroll" data-section-id="s-cours-sources">
            <h3>Sources Microsoft Learn</h3>
            <ul>
              <li><a href="https://learn.microsoft.com/mem/intune/fundamentals/what-is-intune" target="_blank" rel="noopener">Intune — vue d'ensemble <svg width="12" height="12" style="display:inline"><use href="#icon-external-link"/></svg></a></li>
              <li><a href="https://learn.microsoft.com/autopilot/overview" target="_blank" rel="noopener">Windows Autopilot <svg width="12" height="12" style="display:inline"><use href="#icon-external-link"/></svg></a></li>
              <li><a href="https://learn.microsoft.com/mem/intune/protect/device-compliance-get-started" target="_blank" rel="noopener">Politiques de conformité <svg width="12" height="12" style="display:inline"><use href="#icon-external-link"/></svg></a></li>
              <li><a href="https://learn.microsoft.com/mem/intune/configuration/settings-catalog" target="_blank" rel="noopener">Settings Catalog <svg width="12" height="12" style="display:inline"><use href="#icon-external-link"/></svg></a></li>
              <li><a href="https://learn.microsoft.com/mem/intune/configuration/administrative-templates-windows" target="_blank" rel="noopener">Administrative Templates / ADMX <svg width="12" height="12" style="display:inline"><use href="#icon-external-link"/></svg></a></li>
              <li><a href="https://learn.microsoft.com/mem/intune/apps/apps-win32-app-management" target="_blank" rel="noopener">Applications Win32 <svg width="12" height="12" style="display:inline"><use href="#icon-external-link"/></svg></a></li>
              <li><a href="https://learn.microsoft.com/mem/intune/configuration/group-policy-analytics" target="_blank" rel="noopener">Group Policy Analytics (analogie GPO → Intune) <svg width="12" height="12" style="display:inline"><use href="#icon-external-link"/></svg></a></li>
            </ul>
            <p class="text-muted" style="font-size:var(--fs-sm);margin-top:var(--space-3)"><em>Rappel : en cas d'écart entre ce support et le portail, le portail fait foi.</em></p>
          </div>
        </section>

        <!-- LAB -->
        <section class="module-section module-section--lab">
          <div class="section-header">
            <div class="icon-circle icon-circle--lg icon-circle--mint"><svg><use href="#icon-flask-conical"/></svg></div>
            <div class="section-header__content">
              <span class="section-header__label">LAB</span>
              <h2 class="section-header__title">Créer une politique de conformité + Settings Catalog</h2>
              <p class="section-header__meta">3 parties · TP guidé ~2h30 · Portail : intune.microsoft.com</p>
            </div>
          </div>

          <aside class="callout callout--license animate-on-scroll">
            <div class="callout__icon"><div class="icon-circle icon-circle--sm icon-circle--lavender"><svg><use href="#icon-key-round"/></svg></div></div>
            <div class="callout__content">
              <span class="callout__label">LICENCES REQUISES EN PRODUCTION</span>
              <p><strong>Intune :</strong> inclus dans <strong>M365 E3</strong> (cible du projet). Toutes les briques utilisées dans ce lab sont couvertes.</p>
              <p><strong>Prérequis lab :</strong> disposer d'au moins un poste Windows à enrôler (physique ou VM). L'exigence d'appareil conforme dans une politique CA suppose Intune préalablement configuré.</p>
            </div>
          </aside>

          <div class="content-block animate-on-scroll" data-section-id="s-lab-a">
            <h3>Partie A — Enrôler un poste Windows (45 min)</h3>
            <p><strong>Portail :</strong> <code>intune.microsoft.com &gt; Devices &gt; Enrollment</code>.</p>
            <h4>1. Enrôlement manuel</h4>
            <p>Depuis le poste : <em>Paramètres &gt; Comptes &gt; Accès professionnel ou scolaire &gt; Connecter</em>. Se connecter avec un compte du tenant. Le poste devient <strong>joint Entra + enrôlé Intune</strong>.</p>
            <h4>2. Vérifier l'enrôlement</h4>
            <p><code>Intune &gt; Devices &gt; All devices</code>. Le poste apparaît avec son OS, statut de conformité, dernière sync.</p>
            <h4>3. Créer un groupe dynamique</h4>
            <p><code>Groups &gt; New group &gt; Dynamic Device</code>. Règle : <code>device.deviceOSType -eq "Windows"</code>. Ce groupe recevra les politiques Windows.</p>
          </div>

          <div class="content-block animate-on-scroll" data-section-id="s-lab-b">
            <h3>Partie B — Politique de conformité + profil de configuration (60 min)</h3>
            <h4>Politique de conformité — « Postes Windows sains »</h4>
            <p><strong>Portail :</strong> <code>Intune &gt; Devices &gt; Compliance policies &gt; Create policy &gt; Windows 10 et ultérieur</code>.</p>
            <ul>
              <li><strong>System Security :</strong> Require BitLocker = Require, Require Secure Boot = Require, Antivirus = Require.</li>
              <li><strong>Device Health :</strong> Require Windows Defender ATP = Not configured (E3), OS version min = <em>10.0.19045</em> (à adapter).</li>
              <li><strong>Actions for noncompliance :</strong> Notify user after 3 days, Retire after 30 days.</li>
              <li><strong>Assignations :</strong> le groupe dynamique Windows.</li>
            </ul>
            <h4>Profil de configuration Settings Catalog — « Verrouillage d'écran »</h4>
            <p><strong>Portail :</strong> <code>Intune &gt; Devices &gt; Configuration profiles &gt; Create profile &gt; Windows 10 et ultérieur &gt; Settings catalog</code>.</p>
            <ul>
              <li>Rechercher <em>Device Lock</em>.</li>
              <li>Activer : <strong>Max Inactivity Time Device Lock = 900</strong> (15 min).</li>
              <li><strong>Password Required = True</strong>, <strong>Password Complexity = Alphanumeric</strong>.</li>
              <li><strong>Assignation :</strong> groupe Windows dynamique.</li>
            </ul>
            <h4>Déclencher une sync</h4>
            <p>Depuis le poste (<em>Paramètres &gt; Accès professionnel &gt; Sync</em>) ou depuis le portail (action <em>Sync</em>). Attendre 5-10 min. Vérifier dans <code>Devices &gt; [poste] &gt; Device configuration</code> que le profil est appliqué.</p>
          </div>

          <div class="content-block animate-on-scroll" data-section-id="s-lab-c">
            <h3>Partie C — Déployer une app Win32 (45 min)</h3>
            <p><strong>Portail :</strong> <code>Intune &gt; Apps &gt; Windows &gt; Add &gt; Windows app (Win32)</code>.</p>
            <ol>
              <li>Empaqueter l'installeur avec <strong>Microsoft Win32 Content Prep Tool</strong> (<code>.exe / .msi</code> → <code>.intunewin</code>).</li>
              <li>Upload du <code>.intunewin</code> dans le portail.</li>
              <li>Renseigner la commande d'installation, la commande de désinstallation, les règles de détection (registre, fichier, ou script).</li>
              <li>Assigner au groupe : <strong>Required</strong> (installation forcée) ou <strong>Available</strong> (Company Portal).</li>
            </ol>
            <aside class="callout callout--info">
              <div class="callout__icon"><div class="icon-circle icon-circle--sm icon-circle--sky"><svg><use href="#icon-info"/></svg></div></div>
              <div class="callout__content">
                <span class="callout__label">RÉSULTAT ATTENDU</span>
                <ul style="margin:var(--space-2) 0 0">
                  <li>Un poste Windows est enrôlé et remonte dans Intune.</li>
                  <li>Une politique de conformité étiquette le poste comme compliant / non-compliant.</li>
                  <li>Un Settings Catalog impose le verrouillage d'écran après 15 min.</li>
                  <li>Une app Win32 est déployée (Required) et détectée par la règle configurée.</li>
                  <li>Une sync manuelle est déclenchée depuis le portail et depuis le poste.</li>
                </ul>
              </div>
            </aside>
          </div>
        </section>

        <!-- PIÈGES -->
        <section class="module-section module-section--pieges" data-section-id="s-pieges">
          <div class="section-header">
            <div class="icon-circle icon-circle--lg icon-circle--peach"><svg><use href="#icon-alert-triangle"/></svg></div>
            <div class="section-header__content">
              <span class="section-header__label">PIÈGES CLASSIQUES</span>
              <h2 class="section-header__title">5 réflexes GPO à corriger</h2>
              <p class="section-header__meta">Lecture ~10 min</p>
            </div>
          </div>

          <aside class="callout callout--warning animate-on-scroll">
            <div class="callout__icon"><div class="icon-circle icon-circle--sm icon-circle--peach"><svg><use href="#icon-alert-triangle"/></svg></div></div>
            <div class="callout__content">
              <span class="callout__label">PIÈGE 1 — CHERCHER <code>gpupdate /force</code></span>
              <p><strong>Le réflexe :</strong> vouloir forcer l'application immédiate comme avec les GPO.</p>
              <p><strong>Pourquoi c'est faux :</strong> le MDM fonctionne en <strong>pull</strong> — le poste applique au check-in (~8h ou à la demande). Il n'y a pas de push réseau depuis un serveur.</p>
              <p><strong>La bonne pratique :</strong> déclencher une <strong>sync</strong> côté poste (Paramètres &gt; Accès professionnel &gt; Sync) ou depuis le portail. Accepter que l'application ne soit pas instantanée.</p>
            </div>
          </aside>

          <aside class="callout callout--warning animate-on-scroll">
            <div class="callout__icon"><div class="icon-circle icon-circle--sm icon-circle--peach"><svg><use href="#icon-alert-triangle"/></svg></div></div>
            <div class="callout__content">
              <span class="callout__label">PIÈGE 2 — CIBLER « COMME UNE OU »</span>
              <p><strong>Le réflexe :</strong> recréer l'arborescence d'OU pour cibler les postes.</p>
              <p><strong>Pourquoi c'est faux :</strong> Intune cible par <strong>groupe</strong> (users ou devices), pas par OU (qui n'existe pas dans Entra).</p>
              <p><strong>La bonne pratique :</strong> organiser des <strong>groupes</strong> (souvent dynamiques : par OS, par service) et assigner les politiques dessus.</p>
            </div>
          </aside>

          <aside class="callout callout--warning animate-on-scroll">
            <div class="callout__icon"><div class="icon-circle icon-circle--sm icon-circle--peach"><svg><use href="#icon-alert-triangle"/></svg></div></div>
            <div class="callout__content">
              <span class="callout__label">PIÈGE 3 — VOULOIR MIGRER TOUTES LES GPO À L'IDENTIQUE</span>
              <p><strong>Le réflexe :</strong> convertir les 40 GPO existantes 1:1 en profils Intune.</p>
              <p><strong>Pourquoi c'est faux :</strong> beaucoup de GPO sont obsolètes, redondantes ou contradictoires accumulées sur des années. Les recopier propage la dette.</p>
              <p><strong>La bonne pratique :</strong> <strong>inventorier et trier</strong> (Group Policy Analytics), migrer par priorité (sécurité / conformité d'abord), et profiter du chantier pour nettoyer.</p>
            </div>
          </aside>

          <aside class="callout callout--warning animate-on-scroll">
            <div class="callout__icon"><div class="icon-circle icon-circle--sm icon-circle--peach"><svg><use href="#icon-alert-triangle"/></svg></div></div>
            <div class="callout__content">
              <span class="callout__label">PIÈGE 4 — CROIRE QU'UNE POLITIQUE DE CONFORMITÉ BLOQUE L'ACCÈS</span>
              <p><strong>Le réflexe :</strong> « je crée une politique de conformité, donc les postes non sains sont bloqués ».</p>
              <p><strong>Pourquoi c'est faux :</strong> la conformité <strong>étiquette</strong> l'appareil ; elle ne bloque rien seule. C'est le <strong>Conditional Access</strong> qui transforme l'état de conformité en décision d'accès.</p>
              <p><strong>La bonne pratique :</strong> toujours coupler <strong>conformité (Intune)</strong> + <strong>CA (require compliant device)</strong>. L'un sans l'autre ne protège pas.</p>
            </div>
          </aside>

          <aside class="callout callout--warning animate-on-scroll">
            <div class="callout__icon"><div class="icon-circle icon-circle--sm icon-circle--peach"><svg><use href="#icon-alert-triangle"/></svg></div></div>
            <div class="callout__content">
              <span class="callout__label">PIÈGE 5 — RECRÉER UNE IMAGE DORÉE POUR AUTOPILOT</span>
              <p><strong>Le réflexe :</strong> préparer une image de référence comme au temps de MDT / SCCM.</p>
              <p><strong>Pourquoi c'est faux :</strong> Autopilot part du <strong>Windows d'usine (OEM)</strong> et le <strong>configure via le cloud</strong>. L'image dorée n'a plus lieu d'être et complique le processus.</p>
              <p><strong>La bonne pratique :</strong> penser <strong>configuration</strong> (profils, apps, politiques) plutôt que <strong>déploiement d'image</strong>. Le poste s'auto-provisionne au premier démarrage.</p>
            </div>
          </aside>
        </section>

        <!-- ÉVALUATION -->
        <section class="module-section module-section--eval" data-section-id="s-eval">
          <div class="section-header">
            <div class="icon-circle icon-circle--lg icon-circle--peach"><svg><use href="#icon-graduation-cap"/></svg></div>
            <div class="section-header__content">
              <span class="section-header__label">ÉVALUATION</span>
              <h2 class="section-header__title">Testez vos acquis</h2>
              <p class="section-header__meta">10 questions QCM · cas pratique · ~30 min</p>
            </div>
          </div>

          <div class="content-block animate-on-scroll" style="text-align:center;padding:var(--space-8)">
            <p style="font-size:var(--fs-lg);color:var(--text-secondary);margin-bottom:var(--space-3)">Une évaluation interactive qui vous donne le badge <strong>Acquis</strong> (≥60%) ou <strong>Maîtrisé</strong> (≥80%).</p>
            <div class="eval-status" style="max-width:400px;margin:0 auto var(--space-4)">Évaluation non tentée.</div>
            <button class="btn btn--primary btn--lg qcm-launcher" type="button">
              <svg width="18" height="18"><use href="#icon-sparkles"/></svg>
              Lancer l'évaluation
            </button>
          </div>

          <div class="caspratique animate-on-scroll" data-id="cp-06-migration-gpo">
            <h3 class="caspratique__title">
              <svg width="24" height="24"><use href="#icon-graduation-cap"/></svg>
              Cas pratique — Migrer 40 GPO vers Intune
            </h3>
            <div class="caspratique__statement">
              <p><strong>Contexte :</strong> votre parc de 30 postes est encore géré par ~40 GPO. Vous préparez le passage à Intune.</p>
              <p><strong>Questions :</strong></p>
              <ol>
                <li>Par quoi commencez-vous (démarche, pas paramètre par paramètre) ?</li>
                <li>Comment gérez-vous une GPO « BitLocker » et une GPO « page de démarrage Edge » ?</li>
                <li>Comment garantissez-vous que seuls les postes <strong>sains</strong> accèdent à la messagerie ?</li>
                <li>Quel réflexe AD devez-vous abandonner pendant le déploiement ?</li>
              </ol>
            </div>
            <label class="caspratique__label" for="cp-textarea">Votre réponse :</label>
            <textarea id="cp-textarea" class="caspratique__textarea" placeholder="Rédigez votre démarche ici. Elle est sauvegardée automatiquement dans votre navigateur."></textarea>
            <div class="caspratique__actions">
              <button class="btn btn--soft-peach caspratique__reveal-btn" type="button">Voir la correction type</button>
              <button class="btn btn--ghost btn--sm caspratique__clear-btn" type="button">Effacer ma réponse</button>
            </div>
            <div class="caspratique__correction">
              <h4>Démarche attendue</h4>
              <ol>
                <li><strong>Inventaire et tri des GPO</strong> (Group Policy Analytics peut aider à mesurer la couverture Intune). Éliminer l'obsolète / redondant, prioriser les GPO de sécurité et de conformité. <strong>Ne pas migrer 1:1</strong>.</li>
                <li><strong>BitLocker</strong> → profil <strong>Endpoint protection / Disk encryption</strong> (Intune) + exigence BitLocker dans la <strong>politique de conformité</strong>. <strong>Page Edge</strong> → <strong>Settings Catalog</strong> (ou ADMX Edge ingérés), assigné au groupe concerné.</li>
                <li><strong>Conformité + Conditional Access :</strong> politique de conformité (BitLocker, OS min, Secure Boot) qui étiquette les postes, <strong>plus</strong> une politique CA « require compliant device » sur Exchange Online. Seuls les postes conformes accèdent à la messagerie.</li>
                <li>Abandonner le réflexe <strong><code>gpupdate /force</code></strong> et <strong>OU / ciblage par OU</strong> : en MDM, on <strong>synchronise</strong> au check-in et on cible par <strong>groupe</strong>. L'application n'est ni instantanée ni poussée depuis un serveur.</li>
              </ol>
              <h4>Grille d'auto-évaluation</h4>
              <ul class="caspratique__checklist">
                <li><input type="checkbox" id="cp-1"> <label for="cp-1">A commencé par un <strong>inventaire / tri</strong>, pas par une conversion 1:1</label></li>
                <li><input type="checkbox" id="cp-2"> <label for="cp-2">A cité <strong>Group Policy Analytics</strong> comme outil d'aide</label></li>
                <li><input type="checkbox" id="cp-3"> <label for="cp-3">A distingué <strong>profil de configuration</strong> (Settings Catalog) et <strong>politique de conformité</strong></label></li>
                <li><input type="checkbox" id="cp-4"> <label for="cp-4">A associé <strong>conformité Intune</strong> + <strong>CA require compliant device</strong> pour la messagerie</label></li>
                <li><input type="checkbox" id="cp-5"> <label for="cp-5">A abandonné le réflexe <code>gpupdate /force</code> (remplacé par sync)</label></li>
                <li><input type="checkbox" id="cp-6"> <label for="cp-6">A abandonné le ciblage par OU (remplacé par groupe, souvent dynamique)</label></li>
                <li><input type="checkbox" id="cp-7"> <label for="cp-7">A priorisé les GPO <strong>sécurité / conformité</strong> avant les cosmétiques</label></li>
              </ul>
            </div>
          </div>
        </section>
      </article>

      <aside class="module-sidebar-right" aria-label="Progression et sommaire">
        <div class="module-progress-card">
          <div class="module-progress-card__title">Ma progression</div>
          <div class="progress-donut progress-donut--module" data-value="0">
            <svg viewBox="0 0 120 120">
              <circle class="progress-donut__track" cx="60" cy="60" r="50"/>
              <circle class="progress-donut__fill" cx="60" cy="60" r="50" stroke-dasharray="314" stroke-dashoffset="314"/>
            </svg>
            <div class="progress-donut__label">
              <span class="progress-donut__value">0</span>
              <span class="progress-donut__unit">%</span>
            </div>
          </div>
          <div class="module-progress-card__stats">
            <div><strong class="module-progress-card__count">0 / 13</strong><br><span>sections lues</span></div>
          </div>
        </div>

        <nav class="module-toc" aria-label="Sommaire du module">
          <div class="module-toc__title">Sommaire</div>
          <ul class="module-toc__list">
            <li class="module-toc__item"><a class="module-toc__link" href="#s-objectifs" data-target="s-objectifs">Objectifs</a></li>
            <li class="module-toc__item"><a class="module-toc__link" href="#s-cours-1" data-target="s-cours-1">1. MDM vs GPO</a></li>
            <li class="module-toc__item"><a class="module-toc__link" href="#s-cours-2" data-target="s-cours-2">2. Enrôlement &amp; Autopilot</a></li>
            <li class="module-toc__item"><a class="module-toc__link" href="#s-cours-3" data-target="s-cours-3">3. Politiques de conformité</a></li>
            <li class="module-toc__item"><a class="module-toc__link" href="#s-cours-4" data-target="s-cours-4">4. Profils de configuration</a></li>
            <li class="module-toc__item"><a class="module-toc__link" href="#s-cours-5" data-target="s-cours-5">5. Applications</a></li>
            <li class="module-toc__item"><a class="module-toc__link" href="#s-cours-6" data-target="s-cours-6">6. Correspondance GPO ↔ Intune</a></li>
            <li class="module-toc__item"><a class="module-toc__link" href="#s-cours-sources" data-target="s-cours-sources">Sources</a></li>
            <li class="module-toc__item"><a class="module-toc__link" href="#s-lab-a" data-target="s-lab-a">Lab · Enrôlement</a></li>
            <li class="module-toc__item"><a class="module-toc__link" href="#s-lab-b" data-target="s-lab-b">Lab · Conformité + Settings</a></li>
            <li class="module-toc__item"><a class="module-toc__link" href="#s-lab-c" data-target="s-lab-c">Lab · App Win32</a></li>
            <li class="module-toc__item"><a class="module-toc__link" href="#s-pieges" data-target="s-pieges">Pièges classiques</a></li>
            <li class="module-toc__item"><a class="module-toc__link" href="#s-eval" data-target="s-eval">Évaluation</a></li>
          </ul>
        </nav>

        <div class="module-actions">
          <button class="btn btn--primary btn--full qcm-launcher" type="button">
            <svg width="16" height="16"><use href="#icon-sparkles"/></svg>
            Passer l'évaluation
          </button>
          <a class="btn btn--ghost btn--full" href="javascript:void(0)" onclick="if(window.ScormAPI){ScormAPI.terminate();}try{window.parent.location.reload();}catch(e){alert('Retournez sur Moodle pour le module suivant.');}return false;">
            <svg width="16" height="16"><use href="#icon-arrow-left"/></svg>
            Module précédent
          </a>
          <a class="btn btn--soft-violet btn--full" href="javascript:void(0)" onclick="if(window.ScormAPI){ScormAPI.terminate();}try{window.parent.location.reload();}catch(e){alert('Retournez sur Moodle pour le module suivant.');}return false;">
            Module suivant
            <svg width="16" height="16"><use href="#icon-arrow-right"/></svg>
          </a>
        </div>
      </aside>
    </div>
  </main>

  <footer class="site-footer">
    <div class="site-footer__brand">
      <img src="assets/atoo-next-logo.svg" alt="Atoo Next">
      <span class="site-footer__tag">La connexion commence ici</span>
    </div>
    <div>Module 06 · Formation Microsoft Entra ID</div>
  </footer>

  <div class="modal-overlay" id="qcm-modal" role="dialog" aria-modal="true" aria-labelledby="qcm-modal-title">
    <div class="modal" tabindex="-1">
      <header class="modal__header">
        <h2 id="qcm-modal-title" style="margin:0;font-size:var(--fs-xl)">Évaluation — Intune / MDM</h2>
        <button class="modal__close" aria-label="Fermer"><svg><use href="#icon-x"/></svg></button>
      </header>
      <div class="modal__body"></div>
      <footer class="modal__footer"></footer>
    </div>
  </div>

  <script>window.__SCORM_CONTEXT__ = true;</script>
  <script>
    window.MODULE_ID = '06-intune-mdm';
    window.MODULE_NUM = '06';
    window.MODULE_STORAGE_KEY = 'formation-entra:module-06';
    window.MODULE_TITLE = 'Intune / MDM';

    window.QCM_DATA = {
      module: '06-intune-mdm',
      titre: 'Évaluation — Intune / MDM',
      seuils: { acquis: 60, maitrise: 80 },
      questions: [
        { id: 'q1', type: 'single', enonce: 'Quelle différence fondamentale entre GPO et Intune ?', reference_cours: 'Section 1',
          choix: [
            { id: 'a', texte: 'Aucune', correct: false, feedback_si_choisi: 'La différence est structurelle : elle change le troubleshooting, le ciblage et les délais d\'application.' },
            { id: 'b', texte: 'GPO = push au login / refresh sur le réseau interne ; Intune = pull au check-in depuis Internet', correct: true },
            { id: 'c', texte: 'Intune n\'applique rien', correct: false, feedback_si_choisi: 'Intune applique bien, mais via un modèle pull (check-in). Ce n\'est pas la même mécanique que le push GPO.' },
            { id: 'd', texte: 'GPO fonctionne dans le cloud', correct: false, feedback_si_choisi: 'GPO dépend d\'un DC et du réseau interne — c\'est un modèle on-prem, pas cloud.' }
          ],
          explication: 'GPO = push, LAN, ciblage OU. Intune = pull, HTTPS Internet, ciblage par groupe. Deux mécaniques radicalement différentes — d\'où les principaux pièges de migration.'
        },
        { id: 'q2', type: 'single', enonce: 'L\'équivalent de `gpupdate /force` en MDM est :', reference_cours: 'Section 1 + Piège 1',
          choix: [
            { id: 'a', texte: '`gpupdate /force` fonctionne aussi', correct: false, feedback_si_choisi: 'Sur un poste MDM non joint à un DC, `gpupdate /force` ne peut pas déclencher un rafraîchissement Intune.' },
            { id: 'b', texte: 'Il n\'y a pas de « force » réseau ; on déclenche une **sync** côté poste ou via le portail', correct: true },
            { id: 'c', texte: 'Redémarrer le DC', correct: false, feedback_si_choisi: 'Le DC n\'a aucun rôle dans le pipeline Intune : c\'est du MDM cloud pur.' },
            { id: 'd', texte: 'Supprimer l\'OU', correct: false, feedback_si_choisi: 'Les OU n\'existent pas dans Entra ID — Intune cible par groupe.' }
          ],
          explication: 'La sync est initiée côté client (Paramètres > Accès professionnel > Sync) ou côté portail (action Sync sur l\'appareil). L\'application n\'est jamais instantanée : compter jusqu\'à quelques minutes.'
        },
        { id: 'q3', type: 'single', enonce: 'Windows Autopilot sert à :', reference_cours: 'Section 2',
          choix: [
            { id: 'a', texte: 'Créer des GPO', correct: false, feedback_si_choisi: 'Autopilot n\'a rien à voir avec les GPO — c\'est un service de provisioning cloud.' },
            { id: 'b', texte: 'Provisionner un poste zero-touch (auto-configuration au 1er démarrage, sans image)', correct: true },
            { id: 'c', texte: 'Synchroniser l\'AD', correct: false, feedback_si_choisi: 'La synchronisation d\'annuaire est faite par Entra Connect / Cloud Sync (module 03).' },
            { id: 'd', texte: 'Chiffrer les logs', correct: false, feedback_si_choisi: 'Le chiffrement des logs relève de la plateforme (Azure Log Analytics), pas d\'Autopilot.' }
          ],
          explication: 'Autopilot : le poste part du Windows OEM. Au premier démarrage, il joint Entra, s\'enrôle Intune, télécharge apps + politiques. Zéro image, zéro touche IT sur place.'
        },
        { id: 'q4', type: 'single', enonce: 'Une politique de conformité Intune, seule, fait quoi ?', reference_cours: 'Section 3 + Piège 4',
          choix: [
            { id: 'a', texte: 'Elle bloque l\'accès', correct: false, feedback_si_choisi: 'La politique de conformité n\'a aucun pouvoir de blocage par elle-même — elle étiquette.' },
            { id: 'b', texte: 'Elle **étiquette** l\'appareil (conforme / non conforme) ; c\'est le CA qui décide d\'en faire une condition d\'accès', correct: true },
            { id: 'c', texte: 'Elle installe des apps', correct: false, feedback_si_choisi: 'L\'installation d\'apps se fait via les profils d\'apps (Win32, Store, MSIX), pas via la conformité.' },
            { id: 'd', texte: 'Elle supprime l\'appareil', correct: false, feedback_si_choisi: 'Selon la configuration des actions, elle peut Retire à long terme (30 j+), mais la fonction primaire est d\'étiqueter.' }
          ],
          explication: 'Séparation étanche : Intune étiquette (compliant / non-compliant), CA décide (require compliant device). L\'un sans l\'autre ne protège pas.'
        },
        { id: 'q5', type: 'single', enonce: 'Quel type de profil Intune est le plus direct pour rejouer des réglages type GPO ?', reference_cours: 'Section 4',
          choix: [
            { id: 'a', texte: 'Settings Catalog', correct: true },
            { id: 'b', texte: 'Une Access Review', correct: false, feedback_si_choisi: 'Access Review est une brique de gouvernance des identités (module 05), pas de configuration de poste.' },
            { id: 'c', texte: 'Une named location', correct: false, feedback_si_choisi: 'Une named location relève du Conditional Access (module 04), pas de la configuration MDM.' },
            { id: 'd', texte: 'Un access package', correct: false, feedback_si_choisi: 'Un access package est un objet d\'Entitlement Management, pas un profil Intune.' }
          ],
          explication: 'Settings Catalog : catalogue exhaustif de milliers de paramètres OS, présentation par domaine (Device Lock, Firewall, Update…). Le plus proche des ADMX et le plus riche.'
        },
        { id: 'q6', type: 'single', enonce: 'Pour importer les paramètres ADMX d\'un navigateur tiers dans Intune, on utilise :', reference_cours: 'Section 4',
          choix: [
            { id: 'a', texte: 'Une GPO', correct: false, feedback_si_choisi: 'Une GPO ne fonctionne que sur les postes joints AD — l\'objectif Intune est justement d\'aller ailleurs.' },
            { id: 'b', texte: 'Les **ADMX ingérés** (Import ADMX)', correct: true },
            { id: 'c', texte: 'Un service principal', correct: false, feedback_si_choisi: 'Un service principal (identité applicative Entra) n\'a aucun rapport avec la configuration de postes.' },
            { id: 'd', texte: 'PIM', correct: false, feedback_si_choisi: 'PIM (module 05) gère l\'activation temporaire des rôles, pas les paramètres de poste.' }
          ],
          explication: 'Import ADMX (Ingested ADMX) permet d\'apporter les fichiers .admx d\'un navigateur tiers ou d\'une app métier dans Intune, puis d\'assigner ces réglages via un profil.'
        },
        { id: 'q7', type: 'single', enonce: 'Le ciblage d\'un profil Intune se fait par :', reference_cours: 'Section 1 + Piège 2',
          choix: [
            { id: 'a', texte: 'OU', correct: false, feedback_si_choisi: 'Les OU n\'existent pas dans Entra ID. C\'est un des réflexes AD à abandonner.' },
            { id: 'b', texte: 'Groupe (users ou devices)', correct: true },
            { id: 'c', texte: 'Site AD', correct: false, feedback_si_choisi: 'Les sites AD sont un concept réseau on-prem, sans écho dans Entra.' },
            { id: 'd', texte: 'Sous-réseau', correct: false, feedback_si_choisi: 'Le sous-réseau peut servir de condition dans un CA (named location IP), mais pas comme cible d\'assignation Intune.' }
          ],
          explication: 'Ciblage par groupe (souvent dynamique par OS / service). Les groupes remplacent l\'arborescence OU comme unité d\'assignation.'
        },
        { id: 'q8', type: 'single', enonce: 'Une application « classique » (ex : un MSI packagé) se déploie dans Intune comme :', reference_cours: 'Section 5',
          choix: [
            { id: 'a', texte: 'App Win32 (.intunewin)', correct: true },
            { id: 'b', texte: 'GPO Software Installation', correct: false, feedback_si_choisi: 'La GPO Software Installation est une fonctionnalité AD DS ; en Intune, l\'équivalent moderne est Win32.' },
            { id: 'c', texte: 'Un access package', correct: false, feedback_si_choisi: 'Un access package regroupe des ressources Entra (groupes, apps, sites), pas un installeur MSI.' },
            { id: 'd', texte: 'Un profil de conformité', correct: false, feedback_si_choisi: 'Un profil de conformité étiquette un poste selon des critères, il ne déploie pas d\'app.' }
          ],
          explication: 'Le format Win32 (.intunewin) empaquete un .msi ou .exe avec le Content Prep Tool. Il est le format le plus polyvalent pour les apps classiques.'
        },
        { id: 'q9', type: 'single', enonce: 'Que remplace, côté migration, une GPO BitLocker ?', reference_cours: 'Section 6',
          choix: [
            { id: 'a', texte: 'Rien', correct: false, feedback_si_choisi: 'Il y a bien un remplaçant dans Intune, dans les profils Endpoint protection.' },
            { id: 'b', texte: 'Un profil Endpoint protection / Disk encryption (BitLocker) dans Intune', correct: true },
            { id: 'c', texte: 'Une named location', correct: false, feedback_si_choisi: 'Une named location est un objet CA (module 04), sans rapport avec le chiffrement disque.' },
            { id: 'd', texte: 'Un M365 Group', correct: false, feedback_si_choisi: 'Un M365 Group est un objet de collaboration (Teams / SharePoint), pas un vecteur de configuration BitLocker.' }
          ],
          explication: 'Profil Endpoint protection / Disk encryption dans Intune (avec ses options TPM, PIN, méthodes d\'escrow des clés). Souvent combiné à une exigence BitLocker dans la politique de conformité.'
        },
        { id: 'q10', type: 'single', enonce: 'Faut-il migrer toutes les GPO 1:1 vers Intune ?', reference_cours: 'Section 6 + Piège 3',
          choix: [
            { id: 'a', texte: 'Oui, à l\'identique', correct: false, feedback_si_choisi: 'C\'est le piège classique : recopier la dette accumulée sur des années.' },
            { id: 'b', texte: 'Non : c\'est l\'occasion d\'inventorier et de trier (beaucoup sont obsolètes / redondantes)', correct: true }
          ],
          explication: 'La migration Intune est l\'occasion d\'un audit : Group Policy Analytics mesure la couverture, on trie l\'obsolète, on priorise sécurité / conformité. Un projet de migration n\'est pas un copier-coller.'
        }
      ]
    };
  </script>
  <script src="assets/shared.js"></script>

  <script src="scorm2004-api.js"></script>
  <script src="scorm-bridge.js"></script>
</body>
</html>
