mirror of
https://github.com/mintlify/docs.git
synced 2026-09-14 13:35:46 +08:00
baa1f6bd96
Co-authored-by: locadex-agent[bot] <217277504+locadex-agent[bot]@users.noreply.github.com>
211 lines
9.3 KiB
Plaintext
211 lines
9.3 KiB
Plaintext
---
|
||
title: "Playground"
|
||
description: "Permettez aux développeurs de tester des endpoints d’API directement dans votre documentation."
|
||
keywords: ["interaction", "API", "test d’endpoints", "requêtes API en direct", "générateur de requêtes"]
|
||
---
|
||
|
||
<div id="overview">
|
||
## Aperçu
|
||
</div>
|
||
|
||
Le playground API est un environnement interactif qui permet aux utilisateurs de tester et d’explorer vos endpoints d’API. Les développeurs peuvent composer des requêtes API, les envoyer et consulter les réponses sans quitter votre documentation.
|
||
|
||
Voir [Déclencher une mise à jour](/fr/api/update/trigger) pour un exemple du playground API en action.
|
||
|
||
<Frame>
|
||
<img src="/images/playground/API-playground-light.png" alt="Playground API pour l’endpoint « Déclencher une mise à jour »." className="block dark:hidden" />
|
||
|
||
<img src="/images/playground/API-playground-dark.png" alt="Playground API pour l’endpoint « Déclencher une mise à jour »." className="hidden dark:block" />
|
||
</Frame>
|
||
|
||
Le playground génère des pages interactives pour vos endpoints à partir de votre spécification OpenAPI ou de votre schéma AsyncAPI. Si vous modifiez votre API, il met automatiquement à jour les pages concernées.
|
||
|
||
Nous recommandons de générer votre playground API à partir d’une spécification OpenAPI. Cependant, vous pouvez créer manuellement des pages de référence de l’API après avoir défini une URL de base et une méthode d’authentification dans votre `docs.json`.
|
||
|
||
<div id="get-started">
|
||
## Premiers pas
|
||
</div>
|
||
|
||
<Steps>
|
||
<Step title="Ajoutez votre fichier de spécification OpenAPI.">
|
||
<Tip>
|
||
Validez votre fichier de spécification OpenAPI avec le [Swagger Editor](https://editor.swagger.io/) ou la commande [Mint CLI](https://www.npmjs.com/package/mint) `mint openapi-check <filename>`.
|
||
</Tip>
|
||
|
||
```bash {3}
|
||
/your-project
|
||
|- docs.json
|
||
|- openapi.json
|
||
```
|
||
</Step>
|
||
|
||
<Step title="Générez les pages des endpoints.">
|
||
Mettez à jour votre `docs.json` pour référencer votre spécification OpenAPI.
|
||
|
||
**Pour générer automatiquement des pages pour tous les endpoints de votre spécification OpenAPI**, ajoutez une propriété `openapi` à n’importe quel élément de navigation.
|
||
|
||
Cet exemple génère une page pour chaque endpoint défini dans `openapi.json` et organise les pages dans le groupe « Référence API ».
|
||
|
||
```json Generate all endpoint pages
|
||
"navigation": {
|
||
"groups": [
|
||
{
|
||
"group": "API reference",
|
||
"openapi": "openapi.json"
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
**Pour ne générer des pages que pour certains endpoints**, énumérez-les dans la propriété `pages` de l’élément de navigation.
|
||
|
||
Cet exemple génère des pages uniquement pour les endpoints `GET /users` et `POST /users`. Pour générer d’autres pages d’endpoints, ajoutez-les au tableau `pages`.
|
||
|
||
```json Generate specific endpoint pages
|
||
"navigation": {
|
||
"groups": [
|
||
{
|
||
"group": "API reference",
|
||
"openapi": "openapi.json",
|
||
"pages": [
|
||
"GET /users",
|
||
"POST /users"
|
||
]
|
||
}
|
||
]
|
||
}
|
||
```
|
||
</Step>
|
||
</Steps>
|
||
|
||
<div id="customize-your-playground">
|
||
## Personnaliser votre bac à sable
|
||
</div>
|
||
|
||
Personnalisez votre bac à sable d’API en définissant les propriétés suivantes dans votre `docs.json`.
|
||
|
||
<ResponseField name="playground" type="object">
|
||
Configurations du bac à sable d’API.
|
||
|
||
<Expandable title="playground" defaultOpen="True">
|
||
<ResponseField name="display" type=""interactive" | "simple" | "none" | "auth"">
|
||
Le mode d’affichage du bac à sable d’API.
|
||
|
||
* `"interactive"` : Affiche le bac à sable interactif.
|
||
* `"simple"` : Affiche un endpoint copiable sans bac à sable.
|
||
* `"none"` : N’affiche rien.
|
||
* `"auth"` : Affiche le bac à sable interactif uniquement aux utilisateurs authentifiés. Les utilisateurs non authentifiés ou qui ne font pas partie des groupes requis ne voient aucun bac à sable.
|
||
|
||
Valeur par défaut : `interactive`.
|
||
</ResponseField>
|
||
|
||
<ResponseField name="proxy" type="boolean" defaultOpen="True">
|
||
Indique s’il faut faire passer les requêtes API via un serveur proxy. Valeur par défaut : `true`.
|
||
</ResponseField>
|
||
</Expandable>
|
||
</ResponseField>
|
||
|
||
<ResponseField name="examples" type="object">
|
||
Configurations pour les exemples d’API générés automatiquement.
|
||
|
||
<Expandable title="examples" defaultOpen="True">
|
||
<ResponseField name="languages" type="array of string">
|
||
Langues d’exemples pour les extraits d’API générés automatiquement.
|
||
|
||
Les langues s’affichent dans l’ordre indiqué.
|
||
</ResponseField>
|
||
|
||
<ResponseField name="defaults" type=""required" | "all"">
|
||
Indique s’il faut afficher les paramètres optionnels dans les exemples d’API. Valeur par défaut : `all`.
|
||
</ResponseField>
|
||
|
||
<ResponseField name="prefill" type="boolean">
|
||
Indique s’il faut préremplir le bac à sable d’API avec des données tirées des exemples de schéma. Lorsque cette option est activée, le bac à sable remplit automatiquement les champs de requête avec des valeurs d’exemple provenant de votre spécification OpenAPI. Valeur par défaut : `false`.
|
||
</ResponseField>
|
||
|
||
<ResponseField name="autogenerate" type="boolean">
|
||
Indique s’il faut générer des exemples de code pour les endpoints à partir des spécifications d’API. Valeur par défaut : `true`. Lorsque cette option est définie sur `false`, seuls les exemples de code rédigés manuellement (depuis `x-codeSamples` dans les spécifications OpenAPI ou les composants `<RequestExample>` dans le MDX) apparaissent dans le bac à sable d’API.
|
||
</ResponseField>
|
||
</Expandable>
|
||
</ResponseField>
|
||
|
||
<div id="example-configuration">
|
||
### Exemple de configuration
|
||
</div>
|
||
|
||
Cet exemple configure l’aire de test de l’API pour être interactive, avec des extraits de code pour cURL, Python et JavaScript. Seuls les paramètres requis sont affichés dans les extraits, et l’aire de test préremplit le corps de la requête avec des valeurs d’exemple.
|
||
|
||
```json
|
||
{
|
||
"api": {
|
||
"playground": {
|
||
"display": "interactive"
|
||
},
|
||
"examples": {
|
||
"languages": ["curl", "python", "javascript"],
|
||
"defaults": "required",
|
||
"prefill": true
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
<div id="auth-based-playground-display">
|
||
### Affichage du playground basé sur l’authentification
|
||
</div>
|
||
|
||
Utilisez le mode d’affichage `auth` pour afficher le playground interactif uniquement aux utilisateurs authentifiés. C’est utile lorsque vous voulez rendre la documentation de votre API publique tout en restreignant l’accès au playground aux utilisateurs connectés.
|
||
|
||
Lorsque `display` est défini sur `auth` :
|
||
|
||
* Les utilisateurs authentifiés voient le playground interactif.
|
||
* Les utilisateurs non authentifiés ne voient aucun playground (équivalent à `none`).
|
||
|
||
Vous pouvez également combiner `auth` avec la propriété `groups` dans le frontmatter de la page pour restreindre l’accès au playground à des groupes d’utilisateurs spécifiques.
|
||
|
||
```mdx Page with group-restricted playground
|
||
---
|
||
title: "Créer un utilisateur"
|
||
openapi: POST /users
|
||
playground: auth
|
||
groups: ["admin", "developer"]
|
||
public: true
|
||
---
|
||
```
|
||
|
||
Dans cet exemple :
|
||
|
||
* La page est publique (tout le monde peut consulter la documentation).
|
||
* Seuls les utilisateurs authentifiés appartenant aux groupes `admin` ou `developer` voient l'espace de test interactif.
|
||
* Les utilisateurs qui ne sont pas dans ces groupes ne voient aucun espace de test.
|
||
|
||
Si la page ne comporte pas de propriété `groups`, tous les utilisateurs authentifiés voient l'espace de test interactif.
|
||
|
||
<Note>
|
||
Le mode d'affichage `auth` nécessite que l'[authentification](/fr/deploy/authentication-setup) soit configurée pour votre documentation.
|
||
</Note>
|
||
|
||
<div id="custom-endpoint-pages">
|
||
### Pages d’endpoint personnalisées
|
||
</div>
|
||
|
||
Lorsque vous avez besoin d’un contrôle plus fin sur votre documentation d’API, utilisez l’extension `x-mint` dans votre spécification OpenAPI ou créez des pages MDX individuelles pour vos endpoints.
|
||
|
||
Les deux options vous permettent de :
|
||
|
||
* Personnaliser la metadata de la page
|
||
* Ajouter du contenu supplémentaire, comme des exemples
|
||
* Contrôler le comportement du playground pour chaque page
|
||
|
||
L’extension `x-mint` est recommandée afin que toute votre documentation d’API soit automatiquement générée à partir de votre spécification OpenAPI et maintenue dans un seul fichier.
|
||
|
||
Les pages MDX individuelles sont recommandées pour les petites API ou lorsque vous souhaitez expérimenter des modifications page par page.
|
||
|
||
<div id="further-reading">
|
||
## Pour aller plus loin
|
||
</div>
|
||
|
||
* [Configuration OpenAPI](/fr/api-playground/openapi-setup) pour en savoir plus sur la création de votre document OpenAPI.
|
||
* [Extension x-mint](/fr/api-playground/openapi-setup#x-mint-extension) pour en savoir plus sur la personnalisation de vos pages d’endpoint.
|
||
* [Configuration MDX](/fr/api-playground/mdx-setup) pour en savoir plus sur la création manuelle de pages de référence d’API individuelles.
|
||
* [Configuration AsyncAPI](/fr/api-playground/asyncapi-setup) pour en savoir plus sur la création de votre schéma AsyncAPI afin de générer des pages de référence WebSocket. |