> For the complete documentation index, see [llms.txt](https://gitbook.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://gitbook.com/docs/documentation/fr/creer-du-contenu/openapi/guides/structuring-your-api-reference.md).

# Structurer votre référence d’API

Découvrez comment structurer votre référence d’API sur plusieurs pages avec des icônes et des descriptions

GitBook ne se contente pas de rendre votre spécification OpenAPI. Il vous permet de personnaliser votre référence d’API pour une meilleure clarté, une meilleure navigation et une identité visuelle renforcée.

Pour choisir entre **Une page par tag** et **Une page par opération**, voir [mises en page OpenAPI](/docs/documentation/fr/creer-du-contenu/openapi/guides/openapi-layouts.md).

Cette page explique comment contrôler la navigation générée avec des tags.

### Utiliser des tags pour organiser les pages générées

GitBook utilise les tags pour organiser les pages de référence d’API générées dans les deux mises en page.

Avec **Une page par tag**, GitBook crée une page pour chaque tag. Avec **Une page par opération**, GitBook crée une page pour chaque opération et utilise des tags pour regrouper ces pages dans la table des matières.

Pour regrouper des opérations liées, attribuez le même tag à chaque opération :

<pre class="language-yaml" data-title="openapi.yaml"><code class="lang-yaml">paths:
  /pet:
    put:
<strong>      tags:
</strong><strong>        - pet
</strong>      summary: Mettre à jour un animal existant.
      description: Mettre à jour un animal existant par identifiant.
      operationId: updatePet
</code></pre>

### Réorganiser les pages dans votre table des matières

L’ordre des pages de tag générées ou des groupes de tags correspond à l’ordre des tags dans votre OpenAPI `tags` array:

<pre class="language-yaml" data-title="openapi.yaml"><code class="lang-yaml">tags:
<strong>  - name: pet
</strong><strong>  - name: store
</strong><strong>  - name: user
</strong></code></pre>

### Imbriquer les pages dans des groupes

Pour créer une navigation à plusieurs niveaux, utilisez `x-parent` (ou `parent`) dans les tags pour définir la hiérarchie. Cela fonctionne avec les deux structures de page :

<pre class="language-yaml" data-title="openapi.yaml"><code class="lang-yaml">tags:
  - name: everything
  - name: pet
<strong>    x-parent: everything
</strong>  - name: store
<strong>    x-parent: everything
</strong></code></pre>

L’exemple ci-dessus crée une table des matières comme ceci :

```
Tout
├── Animal de compagnie
└── Boutique
```

Si GitBook génère une page parente et que cette page n’a pas de description, il affiche une disposition sous forme de cartes pour ses sous-pages.

### Personnaliser les titres, icônes et descriptions des pages

Vous pouvez enrichir les pages de tag générées et les libellés de navigation avec des extensions personnalisées dans la `tags` section. Tous [icônes Font Awesome](https://fontawesome.com/search) sont pris en charge via `x-page-icon`.

{% code title="openapi.yaml" %}

```yaml
tags:
  - name: pet
    # Titre de la page affiché dans la table des matières et sur la page
    x-page-title: Animal de compagnie
    # Icône affichée dans la table des matières et à côté du titre de la page
    x-page-icon: dog
    # Description affichée juste au-dessus du titre
    x-page-description: Les animaux de compagnie sont incroyables !
    # Contenu de la page
    description: Tout sur vos animaux de compagnie
```

{% endcode %}

### Créer des descriptions riches avec GitBook Blocks

Les champs de description des tags prennent en charge le markdown GitBook, y compris [des blocs avancés](/docs/documentation/fr/creer-du-contenu/blocks.md) comme les onglets :

{% code title="openapi.yaml" %}

```yaml
---
tags:
  - name: pet
    description: |
      Voici le détail des animaux de compagnie.

      {% tabs %}
      {% tab title="Chien" %}
      Voici les chiens
      {% endtab %}

      {% tab title="Chat" %}
      Voici les chats
      {% endtab %}

      {% tab title="Lapin" %}
      Voici les lapins
      {% endtab %}
      {% endtabs %}
```

{% endcode %}

### Mettre en évidence les schémas

Vous pouvez mettre en évidence un schéma dans une description GitBook en utilisant le markdown GitBook. Voici un exemple qui met en évidence le schéma « Pet » de la spécification « petstore » :

{% code title="openapi.yaml" %}

```yaml
---
tags:
  - name: pet
      description: |
          {% openapi-schemas spec="petstore" schemas="Pet" grouped="false" %}
              L’objet Pet
          {% endopenapi-schemas %}
```

{% endcode %}

### Documenter un point de terminaison de webhook

GitBook prend en charge OpenAPI 3.1, y compris les points de terminaison de webhook.

Le `webhooks` champ fait partie d’OpenAPI 3.1, donc votre spécification doit déclarer une version OpenAPI 3.1. Vous pouvez définir des webhooks directement dans votre fichier OpenAPI, et GitBook les affiche avec vos autres opérations d’API. Pour la prise en charge des versions dans les documents OpenAPI, voir [Compatibilité OpenAPI](/docs/documentation/fr/creer-du-contenu/openapi.md#openapi-compatibility).

{% code title="openapi.yaml" %}

```yaml
---
openapi: 3.1.0 # Les webhooks sont disponibles à partir d’OpenAPI 3.1

webhooks:
  newPet:
    post:
      summary: Nouvel événement d’animal de compagnie
      description: Informations sur un nouvel animal de compagnie dans le système
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Pet"
      responses:
        "200":
          description: Renvoyer un statut 200 pour indiquer que les données ont été reçues avec succès
```

{% endcode %}


---

# 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://gitbook.com/docs/documentation/fr/creer-du-contenu/openapi/guides/structuring-your-api-reference.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.
