# 01 — Inscriptions d'application Entra et groupes AD Deux inscriptions d'application (App Registrations), toutes deux **mono-tenant** (CABM) : | Inscription | Rôle | Variables alimentées | | --- | --- | --- | | CABM Signatures - Add-in | Jeton NAA de l'add-in, audience de l'API | `ADDIN_CLIENT_ID`, `API_SCOPE` (add-in), `ADDIN_API_AUDIENCES` (backend) | | CABM Signatures - Back-office | SSO du back-office et du portail, synchro Graph | `GRAPH_CLIENT_ID`, `GRAPH_CLIENT_SECRET` | L'ID du tenant (`ENTRA_TENANT_ID`) se lit dans Entra > Vue d'ensemble. --- ## 1. Inscription « CABM Signatures - Add-in » Entra admin center > Applications > Inscriptions d'applications > Nouvelle inscription. 1. **Nom** : `CABM Signatures - Add-in` — **Types de comptes** : comptes de cet annuaire uniquement. 2. **Authentification** > Ajouter une plateforme > **Application monopage (SPA)**, URI de redirection : - `brk-multihub://signature.beziers-mediterranee.fr` (obligatoire pour NAA) - `https://signature.beziers-mediterranee.fr/addin/taskpane.html` 3. **Exposer une API** : - URI d'ID d'application : `api://signature.beziers-mediterranee.fr/` (le domaine doit être un domaine vérifié du tenant : c'est le cas de beziers-mediterranee.fr). - Ajouter une étendue : nom `access_as_user`, consentement « Administrateurs et utilisateurs », libellé « Obtenir sa signature email ». 4. **Manifeste** (éditeur JSON de l'inscription) : `"requestedAccessTokenVersion": 2` (propriété `api.requestedAccessTokenVersion`, ou `accessTokenAcceptedVersion` selon l'affichage). 5. **Autorisations de l'API** > Ajouter > Mes API > CABM Signatures - Add-in > déléguée `access_as_user`. Conserver Microsoft Graph `User.Read` (déléguée). Puis **Accorder le consentement administrateur pour CABM** : c'est ce qui permet au jeton d'être obtenu silencieusement dans l'événement, sans fenêtre. Reporter : - `addin/.env` : `ENTRA_TENANT_ID`, `ADDIN_CLIENT_ID`, `API_SCOPE=api://signature.beziers-mediterranee.fr//access_as_user` - `backend/.env` : `ADDIN_CLIENT_ID`, `ADDIN_API_AUDIENCES=,api://signature.beziers-mediterranee.fr/` ## 2. Inscription « CABM Signatures - Back-office » 1. **Nom** : `CABM Signatures - Back-office` — mono-tenant. 2. **Authentification** > plateforme **Web**, URI de redirection : - `https://signature.beziers-mediterranee.fr/auth/callback` - (dev Laragon) `https://addinoutlook.test/auth/callback` 3. **Certificats et secrets** > Nouveau secret client, durée 24 mois → `GRAPH_CLIENT_SECRET`. Créer un rappel GLPI deux mois avant l'expiration. 4. **Autorisations de l'API** (Microsoft Graph) : - **Application** : `User.Read.All`, `GroupMember.Read.All` - **Déléguées** : `openid`, `profile`, `email`, `User.Read` - **Accorder le consentement administrateur**. 5. Entra > Applications d'entreprise > CABM Signatures - Back-office : - « Affectation requise » : **Non** (tous les agents accèdent au portail `/me`) ; - Accès conditionnel : inclure cette application dans une stratégie **MFA**. Reporter dans `backend/.env` : `GRAPH_CLIENT_ID`, `GRAPH_CLIENT_SECRET`, `ENTRA_TENANT_ID`. ## 3. Groupes AD (synchronisés par Entra Connect) Seuls les groupes dont le nom commence par `signature_` sont lus par l'application. Vérifier qu'ils sont dans une OU incluse dans le périmètre Entra Connect. | Groupe | Usage | | --- | --- | | `signature_mail_agents`, `signature_mail_directeurs`, … | Affectation des templates (priorité réglée dans le back-office) | | `signature_role_superadmin` | Rôle super-admin (paramètres, rôles, champs modifiables) | | `signature_role_admin` | Rôle administrateur (templates, affectations, publication) | | `signature_role_editeur` | Rôle éditeur (service communication : templates et campagnes sans publication) | | `signature_pilote` (optionnel) | Ciblage du déploiement de l'add-in pendant les vagues | Les groupes imbriqués sont pris en compte (appartenance transitive). Le rôle est recalculé à chaque connexion au back-office. ## 4. Déploiement de l'add-in (Integrated Apps) Un add-in à activation automatique **ne se déclenche que s'il est déployé par un administrateur**. 1. Centre d'administration Microsoft 365 > Paramètres > **Applications intégrées** > Charger des applications personnalisées. 2. Type : **Complément Office**, fichier `manifest.xml` produit par `npm run build` (dossier `addin/dist`). 3. Affecter : groupe `signature_pilote` pour le lot 1, puis élargir vague par vague. 4. Propagation : jusqu'à 24 h, parfois plus. Pour la vague concernée, retirer SignITC dans la même opération. Pour un test individuel avant déploiement : Outlook web > Paramètres > Compléments > Mes compléments > Ajouter un complément personnalisé > À partir d'un fichier.