---
title: "Interface de discussion et connexion d'entreprise"
description: "Une interface pour l'équipe, avec la connexion par le compte Microsoft ou Google de l'entreprise."
url: https://meridal.fr/apprendre/interface-et-connexion-d-entreprise/
language: fr
written: 2026-10-09
verified: 2026-10-09
license: CC BY 4.0
---

[Apprendre](https://meridal.fr/apprendre/) › [Construction et programmation](https://meridal.fr/apprendre/dossier/construire/)

S'exercer · Niveau 3, Construire · 60 minutes

# Interface de discussion et connexion d'entreprise

Une interface de discussion pour l'équipe, où l'on entre avec son compte Microsoft de l'entreprise, réservée à un groupe, la clé de l'API restant sur le serveur. Une heure de travail sur une entreprise fabriquée : l'inscription dans Microsoft Entra, Open WebUI, les réglages qui ferment la porte, et les variantes LibreChat et Google.

Écrit le 9 octobre 2026 · Vérifié le 9 octobre 2026

## Vous saurez

- Inscrire une application dans Microsoft Entra, avec son adresse de retour
- Réserver l'accès à un groupe, côté Microsoft
- Régler Open WebUI pour la connexion d'entreprise seule
- Vérifier qui entre, et qui reste dehors

- [← Avant Déploiement en région européenne](https://meridal.fr/apprendre/deploiement-en-europe/)
- [↓ Plus concret Premier appel à un modèle](https://meridal.fr/apprendre/premier-appel/)
- [→ Ensuite Routage entre modèles et maîtrise du coût](https://meridal.fr/apprendre/routage-entre-modeles/)

Rappel de la page précédente

Répondez de tête, puis ouvrez. [Déploiement en région européenne](https://meridal.fr/apprendre/deploiement-en-europe/)

**1 Votre application tourne chez un hébergeur. Où mettre la clé de l'API ?**

Dans les variables d'environnement de l'hébergeur, ou son gestionnaire de secrets ; jamais dans le dépôt envoyé.

**2 Pourquoi protéger l'adresse de l'application ?**

Parce qu'elle est publique : sans contrôle, n'importe qui peut l'appeler et dépenser votre crédit chez l'éditeur du modèle.

L'essentiel

1. La connexion d'entreprise passe par l'annuaire des comptes : on inscrit l'interface dans Microsoft Entra ID, avec l'adresse où Microsoft renvoie la personne une fois reconnue.
2. Le tri se fait chez Microsoft : avec « Affectation requise ? » sur Oui, seuls les utilisateurs et les groupes affectés peuvent entrer.
3. Open WebUI accepte la connexion Microsoft d'un seul locataire, par quatre variables ; la création du compte à la première connexion est fermée par défaut, et un nouveau compte attend qu'un administrateur l'active.
4. Microsoft déconseille les secrets client en production et recommande un certificat ; la connexion d'Open WebUI se règle avec un secret : il se range comme la clé de l'API, et se renouvelle.
5. Le choix de l'interface engage une licence : Open WebUI limite le retrait de sa marque à cinquante utilisateurs ; LibreChat et AnythingLLM sont sous licence MIT.

## Objectif

Mettre en service, pour une entreprise fabriquée de vingt salariés, une interface de discussion où l'on entre avec son compte Microsoft de l'entreprise, sans mot de passe de plus. Seuls les douze membres du groupe IA-Equipe entrent ; un autre salarié, un invité ou un compte Microsoft personnel restent dehors. La clé de l'API du modèle ne quitte pas le serveur. Compter une heure, chez un hébergeur déjà choisi ([le déploiement en région européenne](https://meridal.fr/apprendre/deploiement-en-europe/)).

## Données fournies

La fiche du projet et la configuration à compléter. Tout est fabriqué ; les adresses en « .example » ne mènent nulle part, et aucune valeur n'est une vraie clé.

- La fiche du projet Word, 37 Ko · l'entreprise, l'adresse, qui entre, qui reste dehors [Télécharger](https://meridal.fr/assets/apprendre/fichiers/interface-sso/fiche-du-projet.docx)

  **Lire le document ici**

  Exercice de Meridal. L'entreprise, son domaine et ses comptes sont fabriqués pour l'exercice ; les adresses en « .example » ne mènent nulle part.

  | Élément | Valeur |
  |---|---|
  | Entreprise | Atelier Exemple, vingt salariés |
  | Annuaire des comptes | Microsoft Entra ID, un seul locataire, celui de l'entreprise |
  | Adresse de l'interface | https://ia.atelier.example |
  | Qui doit entrer | les douze membres du groupe IA-Equipe |
  | Qui ne doit pas entrer | les autres salariés, les invités, tout compte Microsoft personnel |
  | Interface | Open WebUI, dans un conteneur Docker, chez un hébergeur en Europe |
  | Modèle | par l'API d'un éditeur ; la clé reste sur le serveur |
  | Données | les conversations gardées dans un volume, qui survit aux redémarrages |

  #### Ce que la direction demande

  Une interface de discussion pour l'équipe, où l'on entre avec son compte Microsoft de l'entreprise, sans mot de passe de plus. Personne d'autre que le groupe IA-Equipe ne doit pouvoir y entrer, et la clé de l'API ne doit jamais apparaître dans un navigateur.

  #### Ce qui est déjà fait

  L'hébergeur est choisi et l'adresse ia.atelier.example pointe vers lui, en HTTPS. L'administrateur de l'interface, la personne chargée de l'informatique, a un compte local créé au premier lancement.
- La configuration à compléter Word, 37 Ko · dix variables d'Open WebUI [Télécharger](https://meridal.fr/assets/apprendre/fichiers/interface-sso/configuration-a-completer.docx)

  **Lire le document ici**

  Exercice de Meridal. Les valeurs entre chevrons sont à remplacer ; rien ici n'est une vraie clé.

  | Variable | Valeur | À quoi elle sert |
  |---|---|---|
  | WEBUI_URL | https://ia.atelier.example | l'adresse publique de l'interface |
  | MICROSOFT_CLIENT_ID | <à compléter> | l'identifiant de l'application inscrite dans Entra |
  | MICROSOFT_CLIENT_SECRET | <à compléter> | le secret de cette application |
  | MICROSOFT_CLIENT_TENANT_ID | <à compléter> | l'identifiant du locataire de l'entreprise |
  | MICROSOFT_OAUTH_SCOPE | <à compléter> | ce que l'interface demande à Microsoft |
  | ENABLE_OAUTH_SIGNUP | <à compléter> | la création du compte à la première connexion |
  | OAUTH_MERGE_ACCOUNTS_BY_EMAIL | <à compléter> | la fusion de comptes par adresse électronique |
  | DEFAULT_USER_ROLE | <à compléter> | le rôle d'un nouveau compte |
  | ENABLE_LOGIN_FORM | <à compléter> | le formulaire de connexion par mot de passe |
  | OPENAI_API_KEY | <la clé de l'éditeur> | la clé de l'API, gardée sur le serveur |

  #### Côté Microsoft Entra

  L'adresse de retour à inscrire, et le réglage qui réserve l'application au groupe IA-Equipe, sont à trouver dans les consignes.

Le trajet d'une connexion

1. 1 Le salarié ouvre l'adresse https://ia.atelier.example
2. 2 L'interface l'envoie chez Microsoft la page de connexion habituelle de l'entreprise
3. 3 Microsoft vérifie le compte du bon locataire, et affecté à l'application par le groupe IA-Equipe
4. 4 Microsoft le renvoie à l'adresse de retour inscrite, avec son identité
5. 5 L'interface ouvre son compte créé à la première connexion, avec le rôle prévu
6. 6 Les questions partent au modèle par le serveur, qui garde la clé de l'API

*Le tri se fait à l'étape 3, chez Microsoft : un salarié hors du groupe n'arrive jamais jusqu'à l'interface. L'entreprise et son adresse sont fabriquées.*

## Consignes

1. Inscrire l'application dans Microsoft Entra Centre d'administration Microsoft Entra › Entra ID › Inscriptions d'application › Nouvelle inscription **Ce qu'on fait :** un nom explicite, « IA Atelier » ; dans **Types de comptes pris en charge**, **Locataire unique uniquement** ; puis **Inscrire**. Noter l'**ID d'application (client)** et l'identifiant du locataire, sur la page **Vue d'ensemble**.
2. Inscrire l'adresse de retour Gérer › Authentification › Ajouter un URI de redirection **Ce qu'on fait :** la plateforme Web, et l'adresse https://ia.atelier.example/oauth/microsoft/callback, celle qu'Open WebUI attend.
3. Créer le secret de l'application Certificates & secrets › Client secrets › New client secret **Ce qu'on fait :** libellés en anglais, tels que la page française de Microsoft les donne ; copier la valeur dans le gestionnaire de secrets de l'hébergeur, jamais dans un fichier envoyé.
4. Réserver l'application au groupe IA-Equipe Toutes les applications › l'application › Propriétés › Affectation requise ? **Ce qu'on fait :** sur **Oui**, puis **Enregistrer** ; ensuite **Utilisateurs et groupes** › **Ajouter un utilisateur/groupe**, le groupe IA-Equipe, **Affecter**.
5. Compléter la configuration d'Open WebUI **Ce qu'on fait :** les dix variables de la grille fournie, à décider : c'est le cœur de l'exercice. Les noms viennent de la documentation d'Open WebUI.
6. Lancer Open WebUI chez l'hébergeur **Ce qu'on fait :** l'image Docker et son volume de données, les variables dans l'environnement de l'hébergeur ; la commande de la documentation est plus bas, dans la correction.
7. Tester avec trois comptes **Ce qu'on fait :** un membre du groupe, un salarié hors du groupe, un compte Microsoft personnel ; noter ce que chacun voit.

Libellés français de Microsoft, sauf l'étape du secret, que la page française donne en anglais. Open WebUI ne publie pas sa documentation en français.

## Critères de réussite

- Un membre du groupe IA-Equipe entre avec son compte Microsoft, sans créer de mot de passe
- Un salarié hors du groupe est refusé par Microsoft, avant d'arriver dans l'interface
- Un compte Microsoft personnel est refusé l'application ne connaît qu'un locataire
- Plus personne ne peut se créer un compte par mot de passe une fois l'administrateur créé
- La clé de l'API n'apparaît ni dans le navigateur, ni dans un fichier envoyé
- Les conversations survivent à un redémarrage du conteneur le volume de données est monté
- La session ne demande pas de se reconnecter toutes les heures

## Indications

**Microsoft affiche une erreur d'adresse de retour**

**Cause**L'adresse inscrite dans Entra ne correspond pas, au caractère près, à celle qu'envoie Open WebUI.

**À faire**Inscrire exactement https://ia.atelier.example/oauth/microsoft/callback, plateforme Web ; ou fixer MICROSOFT_REDIRECT_URI.

**La connexion réussit, puis « impossible de créer le compte »**

**Cause**ENABLE_OAUTH_SIGNUP est à false par défaut.

**À faire**Le passer à true : les comptes se créent à la première connexion, pour les seuls membres que Microsoft a laissés passer.

**Le nouveau compte reste « en attente »**

**Cause**DEFAULT_USER_ROLE vaut pending par défaut : un administrateur doit activer chaque compte.

**À faire**L'activer dans l'administration, ou passer DEFAULT_USER_ROLE à user, puisque le tri est déjà fait chez Microsoft.

**Une variable changée n'a aucun effet**

**Cause**Certaines variables sont gardées en base au premier lancement ; les changer ensuite dans l'environnement ne change plus rien.

**À faire**Les modifier dans l'administration d'Open WebUI ; la documentation donne aussi ENABLE_PERSISTENT_CONFIG=False comme solution temporaire.

**Il faut se reconnecter au bout d'une heure**

**Cause**Microsoft ne renvoie qu'un token d'accès, valable environ une heure.

**À faire**Ajouter offline_access : MICROSOFT_OAUTH_SCOPE=openid email profile offline_access.

**Plus personne ne peut entrer en local, pas même l'administrateur**

**Cause**ENABLE_LOGIN_FORM=false ferme aussi l'inscription locale.

**À faire**Créer l'administrateur avant de fermer le formulaire ; sinon, ENABLE_INITIAL_ADMIN_SIGNUP permet de créer le premier compte.

## Correction commentée

La configuration complétée, variable par variable. Les noms et les valeurs par défaut viennent de la documentation d'Open WebUI, lue le 8 et le 9 octobre 2026.

| Variable | Valeur | Pourquoi |
|---|---|---|
| `WEBUI_URL` | https://ia.atelier.example | l'adresse publique, obligatoire |
| `MICROSOFT_CLIENT_ID` | l'ID d'application (client) | relevé à l'étape 1 |
| `MICROSOFT_CLIENT_SECRET` | la valeur du secret | dans le gestionnaire de secrets de l'hébergeur |
| `MICROSOFT_CLIENT_TENANT_ID` | l'identifiant du locataire | un seul locataire : celui de l'entreprise |
| `MICROSOFT_OAUTH_SCOPE` | openid email profile offline_access | offline_access évite la reconnexion toutes les heures |
| `ENABLE_OAUTH_SIGNUP` | true | le compte se crée à la première connexion ; Microsoft a déjà trié |
| `OAUTH_MERGE_ACCOUNTS_BY_EMAIL` | false | la valeur par défaut ; la fusion par adresse peut être dangereuse |
| `DEFAULT_USER_ROLE` | user | sinon, chaque compte attend une activation |
| `ENABLE_LOGIN_FORM` | false | une fois l'administrateur créé : plus d'entrée par mot de passe |
| `OPENAI_API_KEY` | la clé de l'éditeur | dans les secrets de l'hébergeur ; le navigateur ne la voit jamais |

La commande de lancement donnée par la documentation d'Open WebUI, avec la seule clé de l'API ; chez un hébergeur, les variables du tableau s'ajoutent dans son environnement plutôt que sur la ligne de commande. Le volume `open-webui:/app/backend/data` est indispensable : sans lui, les données se perdent.

`Lancer Open WebUI avec Docker, extrait de la documentation`

```
docker run -d -p 3000:8080 -e OPENAI_API_KEY=your_secret_key -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
```

**Pourquoi trier chez Microsoft.** Avec « Affectation requise ? » sur Oui, un salarié hors du groupe est arrêté avant d'atteindre l'interface : l'interface n'a rien à décider, et un départ ou une arrivée se gère dans l'annuaire, au même endroit que le reste.

**Le secret client.** Microsoft écrit que les secrets client sont moins sûrs qu'un certificat et ne devraient pas servir en production. Les variables documentées d'Open WebUI pour Microsoft passent par un secret : le ranger dans le gestionnaire de secrets de l'hébergeur, le renouveler à date fixe, et noter ce risque dans le dossier de l'outil.

## Extensions

Quatre interfaces à installer chez soi

| Interface | Licence | Connexion d'entreprise | Réserver à un groupe | Dernière version |
|---|---|---|---|---|
| Open WebUI | Licence Open WebUI : BSD-3 avec une clause de marque depuis la version 0.6.6 ; marque retirable jusqu'à 50 utilisateurs sur 30 jours ; pas une licence open source au sens de l'OSI | Microsoft, un seul locataire ; Google ; un fournisseur OIDC à la fois | synchronisation des rôles et des groupes depuis l'annuaire | 0.11.4, 21 septembre 2026 |
| LibreChat | MIT | Microsoft Entra par OpenID ; Google | accès réservé à des rôles ou des groupes Entra, OPENID_REQUIRED_ROLE | 0.8.8, 1er octobre 2026, préversion |
| LobeHub | LobeHub Community License : Apache 2.0 avec des conditions pour les œuvres dérivées ; usage commercial permis sans modifier le code | Microsoft, Google et OIDC, par Better Auth | non relevé | 2.2.19, 7 octobre 2026 |
| AnythingLLM | MIT | pas de connexion OAuth complète : un passage simple, par liens de connexion temporaires | plusieurs utilisateurs et des droits, en version Docker seulement | 1.17.0, 1er octobre 2026 |

*D'après les dépôts, les licences et les documentations, lus le 8 octobre 2026.*

- **La même chose avec LibreChat** : la connexion Entra passe par OpenID, avec l'adresse de retour /oauth/openid/callback, et l'accès peut être réservé à un groupe dans l'application elle-même. Le fichier de configuration de la documentation :

`LibreChat : connexion Microsoft Entra, extrait de la documentation`

```
DOMAIN_CLIENT=https://your-domain.com # use http://localhost:3080 if not using a custom domain
DOMAIN_SERVER=https://your-domain.com # use http://localhost:3080 if not using a custom domain

# enable social login or else OpenID button will not appear on login page
ALLOW_SOCIAL_LOGIN=true

OPENID_CLIENT_ID=Your Application (client) ID
OPENID_CLIENT_SECRET=Your client secret
OPENID_ISSUER=https://login.microsoftonline.com/Your Directory (tenant ID)/v2.0/
OPENID_SESSION_SECRET=Any random string
OPENID_SCOPE=openid profile email #DO NOT CHANGE THIS
OPENID_CALLBACK_URL=/oauth/openid/callback # this should be the same for everyone

OPENID_REQUIRED_ROLE_TOKEN_KIND=id

# If you want to restrict access by groups
OPENID_REQUIRED_ROLE_PARAMETER_PATH="roles"
OPENID_REQUIRED_ROLE="Your Group Name" # Single role or comma-separated roles (e.g., Group1,Group2,Admin)

# Optional: redirects the user to the end session endpoint after logging out
OPENID_USE_END_SESSION_ENDPOINT=true

# Maximum logout URL length before using logout_hint instead of id_token_hint (default: 2000)
# OPENID_MAX_LOGOUT_URL_LENGTH=2000
```

- **Une entreprise sur Google Workspace** : Open WebUI prend GOOGLE_CLIENT_ID et GOOGLE_CLIENT_SECRET, avec l'adresse de retour /oauth/google/callback.
- **Les rôles depuis l'annuaire** : Open WebUI peut reprendre les rôles et les groupes de Microsoft, avec ENABLE_OAUTH_ROLE_MANAGEMENT et ENABLE_OAUTH_GROUP_MANAGEMENT.
- **Un certificat au lieu du secret** : ce que Microsoft recommande ; à vérifier dans la documentation de l'interface choisie avant de s'y engager.
- **Les règles d'usage** : une interface ouverte à l'équipe appelle une règle courte ; voir [la charte d'usage de l'IA](https://meridal.fr/apprendre/charte-d-usage-de-l-ia/).

## Lectures suivantes

↑ Plus général

Rien avant : c'est un point de départ.

← Avant [Déploiement en région européenne Faire · Niveau 3 · 18 minutes](https://meridal.fr/apprendre/deploiement-en-europe/)

Vous êtes ici

Interface de discussion et connexion d'entreprise

→ Ensuite [Routage entre modèles et maîtrise du coût Comprendre · Niveau 3 · 14 minutes](https://meridal.fr/apprendre/routage-entre-modeles/)

↓ Plus concret [Premier appel à un modèle S'exercer · Niveau 3 · 15 minutes](https://meridal.fr/apprendre/premier-appel/)

[Tout le dossier « Construction et programmation »](https://meridal.fr/apprendre/dossier/construire/)

Les pages qui renvoient ici

**Limites et sources**

L'entreprise, son domaine et ses comptes sont fabriqués ; aucune connexion n'a été faite pour écrire cette page.

Les versions et les licences changent souvent ; celles du tableau datent du 8 octobre 2026.

Le code vient des documentations d'Open WebUI et de LibreChat, sans avoir été exécuté ici.

1. [Microsoft, inscrire une application](https://learn.microsoft.com/fr-fr/entra/identity-platform/quickstart-register-app) ; [Microsoft, URI de redirection](https://learn.microsoft.com/fr-fr/entra/identity-platform/how-to-add-redirect-uri) ; [Microsoft, restreindre à des utilisateurs](https://learn.microsoft.com/fr-fr/entra/identity-platform/howto-restrict-your-app-to-a-set-of-users) ; [Microsoft, secrets et certificats](https://learn.microsoft.com/fr-fr/entra/identity-platform/how-to-add-credentials) ; [Open WebUI, SSO](https://docs.openwebui.com/features/authentication-access/auth/sso/) ; [Open WebUI, variables](https://docs.openwebui.com/reference/env-configuration) ; [LibreChat, Entra](https://www.librechat.ai/docs/configuration/authentication/OAuth2-OIDC/azure).
2. Les relevés : `apprendre/recherches/2026-10-09-interface-sso.json` et `apprendre/recherches/2026-10-08-dev-avance.json`.

Écrit par Meridal, avec l'aide de l'IA ; chaque fait vérifié à sa source et relu avant publication. Texte et schémas sous licence [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/deed.fr) : reprenez-les en citant Meridal. Le code sous licence MIT.

Service correspondant

L'IA pour toute l'équipe

1 650 € à 4 250 €, puis sur devis

[Voir le service](https://meridal.fr/offre/#ia-equipe)

## Un premier échange de 30 minutes

En visio et sans frais : vous décrivez votre situation, nous vous indiquons ce qui est réalisable, avec quels outils et pour quel ordre de prix. Vous pouvez aussi nous écrire ; chaque message reçoit une réponse écrite.

[Réserver 30 minutes](https://meridal.fr/contact/#reserver) [Écrire un message](https://meridal.fr/contact/)
