> For the complete documentation index, see [llms.txt](https://documentation.efalia.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.efalia.com/documentations/multigest/administration/integrations-admin.md).

# Intégrations

Configuration des intégrations Multigest avec l'Active Directory (LDAP) et Office 365 (OAuth2).

***

## Configuration LDAP et Active Directory

La configuration LDAP permet à Multigest de s'authentifier et de synchroniser ses utilisateurs avec un annuaire **Active Directory** (AD). Une fois configuré, les utilisateurs peuvent se connecter avec leurs identifiants Windows, et les comptes peuvent être importés directement depuis l'AD.

### Prérequis

Avant de commencer la configuration, assurez-vous de disposer de :

* Un **compte de domaine** avec accès en lecture sur l'Active Directory
* Les droits **administrateur** sur le serveur GED
* L'accès aux fichiers de configuration Multigest dans le répertoire `multigest/bin/`

{% hint style="warning" %}
Le compte de domaine utilisé doit être assigné à deux services sur le serveur :

* Le **service d'automatisation du webserveur Multigest**
* Le **service Apache 2.4**
  {% endhint %}

### Fichiers de Configuration LDAP

La configuration LDAP repose sur deux fichiers situés dans le répertoire `multigest/bin/` :

**Fichier `ldap_adresses`**

Ce fichier définit les **chemins LDAP** vers les unités organisationnelles (OU) de l'Active Directory que Multigest doit interroger.

Format de chaque ligne :

```
[Libellé affiché dans Multigest];LDAP://[Distinguished Name]
```

Exemple :

```
Comptabilité;LDAP://OU=Comptabilite,OU=Utilisateurs,DC=monentreprise,DC=local
Direction;LDAP://OU=Direction,DC=monentreprise,DC=local
```

{% hint style="info" %}
**Récupérer les chemins Distinguished Name :**

Utilisez l'outil **adsiedit.msc** sur un poste Windows pour naviguer dans votre Active Directory et récupérer les chemins exacts des unités organisationnelles.

Pour importer **tous les utilisateurs** du domaine sans filtrer par OU, renseignez uniquement les valeurs `DC=` :

```
Tous les utilisateurs;LDAP://DC=monentreprise,DC=local
```

{% endhint %}

{% hint style="warning" %}
Le préfixe `LDAP://` est **sensible à la casse** — respectez exactement cette écriture (majuscules sur "LDAP").
{% endhint %}

📸 **CAPTURE : admin-ldap-01-fichier-adresses.png**

> Exemple de fichier ldap\_adresses avec plusieurs unités organisationnelles

**Fichier `ldap_domains`**

Ce fichier définit la **correspondance entre le domaine utilisateur et le domaine d'authentification**.

Format :

```
[domaine_utilisateur];[domaine_authentification]
```

Exemple (domaine unique) :

```
monentreprise;monentreprise.local
```

{% hint style="info" %}
Pour un environnement **mono-domaine**, une seule ligne suffit. Pour les environnements **multi-domaines**, ne renseignez pas le nom de domaine dans les Options générales et ajoutez une ligne par domaine dans ce fichier.
{% endhint %}

📸 **CAPTURE : admin-ldap-02-fichier-domains.png**

> Exemple de fichier ldap\_domains

### Configuration du Domaine dans Multigest

{% stepper %}
{% step %}

### Accéder aux Options générales

Naviguez vers **Menu Administration > Options générales > Onglet Général**.
{% endstep %}

{% step %}

### Renseigner le nom de domaine

Dans le champ **"Nom du domaine"** (section Options de connexion Active Directory), saisissez votre nom de domaine **sans le point final**.

**Exemple :** `monentreprise` (et non `monentreprise.local`)

📸 **CAPTURE : admin-ldap-03-options-generales.png**

> Champ Nom du domaine dans les Options générales

{% hint style="warning" %}
Pour un environnement **multi-domaines**, laissez ce champ **vide** et gérez les domaines uniquement via le fichier `ldap_domains`.
{% endhint %}
{% endstep %}
{% endstepper %}

### Authentification Automatique NTLM (SSO)

L'authentification NTLM permet aux utilisateurs de se connecter à Multigest **automatiquement** avec leur session Windows, sans ressaisir leurs identifiants.

**Configuration côté serveur**

Dans le fichier `webserveur.ini` situé dans le répertoire `/bin/` :

```ini
AUTH=1
```

Modifiez la valeur de `AUTH` à `1` pour activer l'authentification NTLM.

**Configuration côté client**

Sur chaque poste utilisateur, dans **Internet Explorer / Edge** :

{% stepper %}
{% step %}

### Ajouter Multigest aux sites de confiance

Dans les paramètres de sécurité du navigateur, ajoutez l'URL de Multigest à la liste des **sites de confiance**.
{% endstep %}

{% step %}

### Configurer l'authentification utilisateur

Dans les paramètres de la zone Sites de confiance, modifiez l'option **"Authentification utilisateur"** pour activer la connexion automatique.
{% endstep %}

{% step %}

### Activer l'accès aux sources de données

Activez l'option **"Accès aux sources de données sur plusieurs domaines"**.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Pour que le SSO fonctionne, l'utilisateur doit avoir son **Login Windows** renseigné dans sa fiche utilisateur Multigest.

→ [Utilisateurs et groupes](/documentations/multigest/administration/utilisateurs-groupes.md)
{% endhint %}

### Importer des Utilisateurs depuis Active Directory

Une fois la configuration LDAP en place, vous pouvez importer les utilisateurs AD directement dans Multigest.

{% stepper %}
{% step %}

### Accéder à l'import AD

Naviguez vers **Menu Administration > Utilisateurs et groupes**.

Dans la barre d'outils, sélectionnez **Annuaire Active Directory**.
{% endstep %}

{% step %}

### Choisir l'organisation

Sélectionnez l'unité organisationnelle à interroger parmi celles définies dans le fichier `ldap_adresses`.
{% endstep %}

{% step %}

### Rechercher les utilisateurs

Saisissez un nom (optionnel pour filtrer) puis cliquez sur **Rechercher**. La liste des utilisateurs AD correspondants s'affiche.
{% endstep %}

{% step %}

### Importer les utilisateurs sélectionnés

Sélectionnez les utilisateurs à créer dans Multigest et cliquez sur **Importer**.

**Résultat :** Les comptes sont créés avec le suffixe **"AD"** et une icône distincte. Les utilisateurs peuvent se connecter avec leurs identifiants Windows.
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
**Limitation de synchronisation :**

Après l'import initial, seuls les **changements de mot de passe** se synchronisent automatiquement entre l'AD et Multigest.

Les modifications de **nom** ou d'**adresse e-mail** dans Active Directory ne se propagent **pas** automatiquement — une mise à jour manuelle dans Multigest est nécessaire.
{% endhint %}

### Questions Fréquentes — LDAP

<details>

<summary>Comment récupérer le Distinguished Name d'une unité organisationnelle AD ?</summary>

Sur un poste Windows du domaine, ouvrez **adsiedit.msc** (outil ADSI Edit). Naviguez dans l'arborescence jusqu'à l'OU souhaitée, faites un clic droit > Propriétés, et copiez la valeur **distinguishedName**. Préfixez-la avec `LDAP://` dans le fichier `ldap_adresses`.

</details>

<details>

<summary>Le LDAP est configuré mais l'import ne trouve aucun utilisateur — pourquoi ?</summary>

Vérifiez :

1. Le fichier `ldap_adresses` contient le bon chemin Distinguished Name
2. Le préfixe `LDAP://` est en majuscules
3. Le compte de service a bien les droits de lecture sur l'OU concernée
4. Le nom de domaine dans les Options générales correspond exactement à votre domaine

</details>

<details>

<summary>L'authentification SSO ne fonctionne pas — que vérifier ?</summary>

Vérifiez côté serveur que `AUTH=1` est bien dans `webserveur.ini`. Côté client, confirmez que l'URL Multigest est dans les sites de confiance du navigateur et que les options d'authentification sont correctement configurées. Vérifiez également que le **Login Windows** est renseigné dans la fiche utilisateur Multigest.

</details>

<details>

<summary>Le nom ou l'e-mail d'un utilisateur AD a changé — comment mettre à jour Multigest ?</summary>

Ouvrez la fiche de l'utilisateur dans Administration > Utilisateurs et groupes et modifiez manuellement les champs concernés. La synchronisation automatique ne couvre que les mots de passe.

</details>

***

## Paramétrage Office 365 — Relève de Mail IMAP avec OAuth2

Ce guide explique comment configurer une boîte Office 365 pour la **capture de mails entrants** dans Multigest, en utilisant l'authentification moderne **OAuth2** (obligatoire depuis la fin du support de l'authentification basique par Microsoft).

{% hint style="info" %}
Cette procédure est requise si vous utilisez une boîte **Office 365 / Exchange Online** pour la capture automatique de mails dans Multigest. Elle nécessite des droits d'administration sur votre tenant Azure Active Directory.
{% endhint %}

### Prérequis

* Accès administrateur au **portail Azure Active Directory**
* Accès administrateur à **Exchange Online** (PowerShell)
* Droits d'administration Multigest pour configurer les options de messagerie

### Vue d'Ensemble

La configuration se déroule en trois phases :

1. **Création d'une application** dans Azure Active Directory
2. **Configuration des permissions IMAP** dans Azure
3. **Autorisation d'accès à la boîte mail** via PowerShell Exchange Online
4. **Transmission des identifiants** à Efalia pour finalisation dans Multigest

### Phase 1 — Créer l'Application dans Azure Active Directory

{% stepper %}
{% step %}

### Accéder à Azure Active Directory

Connectez-vous au portail Azure avec un compte administrateur.

Naviguez vers **Azure Active Directory > Inscriptions d'applications > Nouvelle inscription**.
{% endstep %}

{% step %}

### Enregistrer l'application

Donnez un nom à l'application (ex. : `Multigest-CaptureMail`) et validez l'inscription.

📸 **CAPTURE : admin-office365-01-inscription-app.png**

> Formulaire d'inscription d'une nouvelle application dans Azure AD
> {% endstep %}

{% step %}

### Relever les identifiants essentiels

Sur la page de résumé de l'application, notez et conservez :

| Identifiant                   | Où le trouver       | Utilisation       |
| ----------------------------- | ------------------- | ----------------- |
| **ID d'application (client)** | Page Vue d'ensemble | Transmis à Efalia |
| **ID de l'annuaire (tenant)** | Page Vue d'ensemble | Transmis à Efalia |

📸 **CAPTURE : admin-office365-02-identifiants.png**

> Page Vue d'ensemble avec ID d'application et ID de tenant encadrés

{% hint style="warning" %}
Notez ces valeurs dès maintenant — vous en aurez besoin à la fin de la procédure.
{% endhint %}
{% endstep %}

{% step %}

### Créer un secret client

Naviguez vers **Certificats et secrets > Secrets clients > Nouveau secret client**.

Configurez le secret avec la **durée d'expiration maximale disponible** (24 mois).

{% hint style="danger" %}
**Important :** Copiez immédiatement la **valeur du secret** affichée à l'écran. Cette valeur n'est visible qu'une seule fois. Si vous ne la copiez pas maintenant, vous devrez en créer un nouveau.

⚠️ Copiez bien la **valeur** du secret, et non l'**ID** du secret — ce sont deux champs différents.
{% endhint %}

📸 **CAPTURE : admin-office365-03-secret.png**

> Colonnes "Valeur" et "ID" du secret — la valeur est à copier, pas l'ID
> {% endstep %}
> {% endstepper %}

### Phase 2 — Configurer les Permissions IMAP

{% stepper %}
{% step %}

### Accéder aux permissions API

Dans votre application Azure, naviguez vers **Autorisations API > Ajouter une autorisation**.
{% endstep %}

{% step %}

### Sélectionner Office 365 Exchange Online

Choisissez **Office 365 Exchange Online** dans la liste des API.

Sélectionnez **Autorisations d'application** (et non "Autorisations déléguées").
{% endstep %}

{% step %}

### Activer les permissions requises

Cochez les deux permissions suivantes :

| Permission           | Description                       |
| -------------------- | --------------------------------- |
| **IMAP.AccessAsApp** | Accès IMAP en tant qu'application |
| **POP.AccessAsApp**  | Accès POP en tant qu'application  |

📸 **CAPTURE : admin-office365-04-permissions.png**

> Liste des autorisations avec IMAP.AccessAsApp et POP.AccessAsApp cochées
> {% endstep %}

{% step %}

### Accorder le consentement administrateur

Cliquez sur **"Accorder le consentement administrateur pour \[nom de votre organisation]"**.

Confirmez en cliquant **Oui**.

**Résultat :** Les permissions passent au statut "Accordé pour \[organisation]" avec une coche verte.

📸 **CAPTURE : admin-office365-05-consentement.png**

> Bouton de consentement administrateur et statut accordé en vert
> {% endstep %}
> {% endstepper %}

### Phase 3 — Autoriser l'Accès à la Boîte Mail (PowerShell)

Cette phase s'effectue via **PowerShell** avec le module Exchange Online Management.

{% stepper %}
{% step %}

### Installer le module Exchange Online Management

Ouvrez PowerShell en tant qu'Administrateur et exécutez :

```powershell
Install-Module -Name ExchangeOnlineManagement
```

{% endstep %}

{% step %}

### Se connecter à Exchange Online

```powershell
Connect-ExchangeOnline -UserPrincipalName admin@monentreprise.com
```

Authentifiez-vous avec votre compte administrateur Exchange.
{% endstep %}

{% step %}

### Récupérer l'Object ID de l'application

{% hint style="warning" %}
L'**Object ID** nécessaire ici est celui visible dans **Azure AD > Applications d'entreprise** (Enterprise Applications), et non l'ID d'application (client) récupéré à la Phase 1. Ce sont deux identifiants différents.
{% endhint %}

Dans le portail Azure, naviguez vers **Azure Active Directory > Applications d'entreprise**, recherchez votre application et copiez son **Object ID**.
{% endstep %}

{% step %}

### Créer le principal de service

```powershell
New-ServicePrincipal -AppId <ID_Application> -ServiceId <Object_ID_Entreprise> -DisplayName "Multigest CaptureMail"
```

Remplacez :

* `<ID_Application>` par l'ID d'application (client) de la Phase 1
* `<Object_ID_Entreprise>` par l'Object ID récupéré à l'étape précédente
  {% endstep %}

{% step %}

### Configurer l'accès à la boîte mail

```powershell
Add-MailboxPermission -Identity "capture@monentreprise.com" -User <Object_ID_Entreprise> -AccessRights FullAccess
```

Remplacez :

* `capture@monentreprise.com` par l'adresse e-mail dédiée à la capture Multigest
* `<Object_ID_Entreprise>` par l'Object ID de l'étape précédente
  {% endstep %}
  {% endstepper %}

### Phase 4 — Transmettre les Identifiants à Efalia

Une fois les trois phases précédentes complétées, transmettez les informations suivantes à votre interlocuteur Efalia pour la configuration finale dans Multigest :

| Information          | Valeur à transmettre      |
| -------------------- | ------------------------- |
| **ID d'application** | Récupéré Phase 1, étape 3 |
| **Valeur du secret** | Récupéré Phase 1, étape 4 |
| **ID de tenant**     | Récupéré Phase 1, étape 3 |

{% hint style="danger" %}
Transmettez ces informations via un **canal sécurisé** (gestionnaire de mots de passe partagé, coffre-fort numérique). Ne les envoyez pas par e-mail en clair.
{% endhint %}

### Questions Fréquentes — Office 365 OAuth2

<details>

<summary>Pourquoi OAuth2 est-il nécessaire pour Office 365 ?</summary>

Microsoft a mis fin au support de l'**authentification basique** (nom d'utilisateur + mot de passe) pour les protocoles IMAP et POP sur Exchange Online. OAuth2 est désormais la seule méthode d'authentification supportée pour les accès applicatifs.

</details>

<details>

<summary>Le secret client expire — que faire ?</summary>

Avant l'expiration (24 mois maximum), créez un **nouveau secret client** dans Azure AD > votre application > Certificats et secrets. Transmettez la nouvelle valeur à Efalia pour mise à jour dans Multigest. Anticipez cette opération — une expiration non gérée interrompt la capture de mails.

</details>

<details>

<summary>Quelle adresse e-mail utiliser pour la capture ?</summary>

L'adresse doit être **dédiée exclusivement** à la capture Multigest — n'utilisez pas une adresse partagée avec d'autres usages. Créez une boîte spécifique (ex. `ged-capture@monentreprise.com`) dans votre tenant Office 365.

</details>

<details>

<summary>La capture ne fonctionne toujours pas après configuration — que vérifier ?</summary>

Vérifiez dans l'ordre :

1. Le consentement administrateur a bien été accordé (coche verte dans Azure AD)
2. La **valeur** du secret a été transmise (et non l'ID)
3. L'**Object ID** utilisé dans PowerShell provient bien des Applications d'entreprise (et non la page d'inscription de l'app)
4. La commande `Add-MailboxPermission` a été exécutée sur la bonne adresse e-mail

</details>

<details>

<summary>Cette procédure est-elle nécessaire pour Exchange Server on-premise ?</summary>

Non. Cette procédure s'applique uniquement à **Exchange Online (Office 365)**. Pour Exchange Server hébergé en interne, la configuration IMAP classique avec identifiants s'applique depuis les Options générales de Multigest.

→ [Options générales](/documentations/multigest/administration/options-generales.md)

</details>

***

**Pour aller plus loin :**

* [Utilisateurs et groupes](/documentations/multigest/administration/utilisateurs-groupes.md)
* [Options générales](/documentations/multigest/administration/options-generales.md)
* [Fichiers de configuration](/documentations/multigest/installation/fichiers-de-configuration.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://documentation.efalia.com/documentations/multigest/administration/integrations-admin.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
