---
title: "Authentification"
description: "Clés API, connexions OAuth, portées et choix de l’identifiant à utiliser."
canonical: "https://atelier201.com/docs/fr/api/authentication"
updated: "2026-11-06"
---

# Authentification

Il existe deux types d’identifiants, et la différence n’est pas qu’une question d’apparence.

## Clés API

Un **identifiant de service de l’espace de travail**. Toute personne qui le détient agit au nom de l’espace de travail. Seul un administrateur peut en créer un et définir ses portées.

```bash
curl https://api.atelier201.com/v1/sites \
  -H "Authorization: Bearer atelier201_live_..."
```

Le secret n’est affiché qu’une seule fois, lors de sa création. Atelier201 n’enregistre qu’une empreinte, impossible à afficher de nouveau. En cas de perte, révoquez-le et créez-en un autre.

## Connexions OAuth

La **délégation d’une personne à un client** : un client MCP ou `atelier201 auth login`. La connexion étant associée à son identité, elle est également limitée au plafond de délégation défini par l’espace de travail : un administrateur décide de la part de ses propres accès qu’un membre peut confier à un robot.

Atelier201 implémente OAuth 2.1 avec PKCE, l’enregistrement dynamique des clients
([RFC 7591](https://www.rfc-editor.org/rfc/rfc7591)) et le flux d’appareil. Tous les clients pris en charge sont publics : il n’y a donc pas de secrets client, PKCE les remplace.

> **Warning: Le plafond ne définit pas les capacités**
>
> Le plafond de délégation limite ce qu’un membre peut déléguer à un client. Il ne
> restreint pas ce qu’il peut faire dans l’interface Web : le produit compte deux rôles,
> administrateur et membre.

## Portées

Accordez uniquement les portées nécessaires au travail.

| Portée           | Autorisations                                                                                                                         |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| `account:read`   | Consulter l’espace de travail, son forfait et son solde de crédits.                                                                   |
| `usage:read`     | Consulter l’utilisation des crédits au fil du temps.                                                                                  |
| `sites:read`     | Consulter les sites : fichiers, contenu, compilations, aperçus, historique et domaines.                                               |
| `sites:write`    | Créer des sites, modifier des fichiers et du contenu, importer des médias, compiler et partager des aperçus. Rien n’est rendu public. |
| `sites:publish`  | Publier un site, revenir à une version antérieure, le mettre hors ligne ou le supprimer. Cela modifie ce que voient les visiteurs.    |
| `domains:write`  | Associer, vérifier et supprimer des domaines personnalisés, et choisir l’adresse principale d’un site.                                |
| `media:generate` | Générer des images et des vidéos avec l’IA, en utilisant les crédits de l’espace de travail au tarif indiqué avant chaque génération. |

`sites:write` ne permet ni de publier ni de dépenser des crédits : seule `media:generate` le permet. Un agent disposant de cette portée peut préparer un site complet, puis son propriétaire décide quand le mettre en ligne. Une portée est le premier contrôle, pas le seul : la publication, le retour à une version antérieure, la mise hors ligne, la suppression d’un site et la modification des domaines nécessitent aussi un administrateur de l’espace de travail.

Un site invité n’utilise aucun de ces deux types d’identifiants : son jeton d’écriture à durée limitée donne accès à ce seul site. Consultez [Sites invités](/docs/platform/guest-sites).
