# Configuration du bouton « Tester »

Vous pouvez configurer le bouton « Test it » et la fenêtre associée dans GitBook à l’aide de plusieurs extensions OpenAPI. Ces extensions peuvent aider à améliorer et à configurer la suite de test pour les utilisateurs.

### Masquer le bouton « Test it »

Vous pouvez masquer le bouton « Test it » de vos points de terminaison en ajoutant `x-hideTryItPanel` à un point de terminaison, ou à la racine de votre spécification OpenAPI.

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

```yaml
openapi: '3.0'
info: ...
tags: [...]
paths :
  /example:
    get :
      summary: Résumé d’exemple
      description: Description d’exemple
      operationId: examplePath
      responses: [...]
      parameters: [...]
      x-hideTryItPanel: true
```

{% endcode %}

### Proxifier les requêtes « Test it »

Certaines API bloquent les requêtes du navigateur, souvent à cause de CORS.

Acheminer **Test it** le trafic via GitBook en ajoutant `x-enable-proxy` à votre spécification.

Voir [Utiliser le proxy OpenAPI](/docs/documentation/fr/api-references/guides/using-openapi-proxy.md) pour des exemples.

### Activer l’authentification dans la fenêtre de test

L’exécuteur de requêtes ne peut présenter et appliquer l’authentification que si votre spécification la déclare. Définissez les schémas sous `components.securitySchemes`, puis associez-les soit globalement via `security` (s’applique à toutes les opérations) soit par opération (remplace la configuration globale).

#### Déclarez votre schéma d’authentification

Vous trouverez ci-dessous des modèles courants. Utilisez des guillemets simples dans YAML.

{% tabs %}
{% tab title="HTTP Bearer (p. ex., JWT)" %}

```yaml
openapi: '3.0.3'
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
```

{% endtab %}

{% tab title="Clé API dans l’en-tête" %}

```yaml
openapi: '3.0.3'
components:
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
```

{% endtab %}

{% tab title="OAuth2 (authorizationCode)" %}

```yaml
openapi: '3.0.3'
components:
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: 'https://auth.example.com/oauth/authorize'
          tokenUrl: 'https://auth.example.com/oauth/token'
          scopes:
            read:items: 'Lire les éléments'
            write:items: 'Écrire les éléments'
```

{% endtab %}
{% endtabs %}

#### Appliquer les schémas globalement ou par opération

{% tabs %}
{% tab title="Global" %}

```yaml
openapi: '3.0.3'
security:
  - bearerAuth: []
paths: ...
```

{% endtab %}

{% tab title="Par opération" %}

```yaml
paths :
  /reports :
    get :
      summary: Obtenir les rapports
      security:
        - apiKeyAuth: []
      responses :
        '200':
          description: OK
```

{% endtab %}
{% endtabs %}

### Contrôlez l’URL du point de terminaison avec `servers`

L’exécuteur de requêtes cible l’URL ou les URL que vous définissez dans le `servers` tableau. Déclarez un ou plusieurs serveurs ; vous pouvez également les paramétrer à l’aide de variables.

{% tabs %}
{% tab title="Serveur unique" %}

```yaml
openapi: '3.0.3'
servers :
  - url: https://instance.api.region.example.cloud
```

{% endtab %}

{% tab title="Plusieurs serveurs" %}

```yaml
servers :
  - url: https://api.example.com
    description: Production
  - url: https://staging-api.example.com
    description: Préproduction
```

{% endtab %}

{% tab title="Variables du serveur" %}

```yaml
servers :
  - url: https://{instance}.api.{region}.example.cloud
    variables:
      instance:
        default: acme
        description: Votre identifiant de locataire ou d’instance
      region:
        default: eu
        enum:
          - eu
          - us
          - ap
        description: Déploiement régional
```

{% endtab %}

{% tab title="Serveurs par opération" %}

<pre class="language-yaml"><code class="lang-yaml"><strong>paths :
</strong>  /reports :
    get :
      summary: Obtenir les rapports
      servers :
        - url: https://reports.api.example.com
      responses :
        '200':
          description: OK
</code></pre>

{% endtab %}
{% endtabs %}


---

# Agent Instructions: 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:

```
GET https://gitbook.com/docs/documentation/fr/api-references/guides/configuring-the-test-it-button.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
