---
title: "Réserver une appli à l’entreprise : la doc de while.sh"
url: https://while.sh/fr/docs/briques/acces-interne/
updated: 2026-11-09
---

# Accès interne

Une appli que seules les personnes de votre organisation ouvrent, avec leur compte habituel. Votre appli reçoit leur identité, sans page de connexion à coder.

> Vous, à votre agent : Réserve l'appli aux personnes de l'entreprise.

## Ce que votre agent écrit

Votre agent l'écrit dans while.yaml, à la racine de votre appli :

```yaml titre="while.yaml"
services:
  - name: web
    port: 3000
    access: internal
    groups: [compta, direction]
    email_domains: [exemple.fr]
```

## Quand vous en servir

Servez-vous-en pour une appli destinée aux personnes de l'organisation : elles entrent avec leur compte, et rien n'est ouvert à Internet.

## Comment ça marche

Un service `access: internal` ne s'ouvre qu'après connexion, par un compte while ou par la connexion d'entreprise de l'organisation. L'appli reçoit l'identité de la personne, sans authentification à coder.

Les personnes qui n'utilisent que vos applis internes n'ont pas à devenir membres : ne les invitez pas, et ne leur donnez aucun rôle. La connexion d'entreprise et `access: internal`, avec `email_domains` ou groupes, suffisent (sans connexion d'entreprise, emails: pour une adresse qu'un SSO a vérifiée), et elles retrouvent leurs applis sur « Vos applis ».

## Ce qu'il faut savoir

La connexion d'entreprise passe par OpenID Connect (Keycloak, Google Workspace, Microsoft Entra), avec les offres Pro et Entreprise. Sans liste, les membres de l'organisation entrent. Une liste donne l'accès à des groupes, des adresses ou des domaines d'adresse, et `members: true` y ajoute les membres.

L'appli reçoit `X-While-Identity`, un JWT ES256 signé par while (clé publique sur l'adresse de l'appli, `/__while/jwks.json`), qui est la preuve. Pour décider, elle en vérifie la signature, l'émetteur, l'échéance et les champs `while_projet`, `while_service` et `while_environnement`, qu'elle compare à ses `WHILE_PROJECT`, `WHILE_SERVICE` et `WHILE_ENVIRONMENT`. `X-While-Email`, `X-While-Name` et `X-While-Groups` servent à l'affichage seulement.

L'agent d'une personne ouvre l'appli comme elle, pour une heure : `open_internal_app` (POST `/v1/projects/:slug/app-access`) lui donne un identifiant à poser dans l'en-tête Cookie (`__Host-while-agent`), jamais dans l'adresse. `read_only` le borne à la lecture, et l'appli le sait (`while_agent` dans `X-While-Identity`).

Passer de public à interne est immédiat. Changer qui entre attend toujours une validation, et rendre l'appli publique aussi, par défaut, sauf si une règle de l'organisation l'assouplit. Seul le chemin de santé répond à une sonde signée de while, et un retour arrière ne change pas l'accès en vigueur.

## Les outils MCP de votre agent

Votre agent s'en occupe avec les outils `plan_deploy`, `get_app_status` et `list_tokens`.

## Guides

- [Réserver un outil interne aux comptes Google Workspace ou Microsoft 365, depuis votre agent IA](/fr/guides/outil-interne-compte-entreprise/)
- [Montrer votre appli à un client avec un lien et un mot de passe, depuis votre agent IA](/fr/guides/lien-avec-mot-de-passe/)
