> ## Documentation Index
> Fetch the complete documentation index at: https://wiki.another-horizon.eu/llms.txt
> Use this file to discover all available pages before exploring further.

# Paramètres globaux

> Configurez les paramètres généraux du site dans docs.json.

Le fichier `docs.json` vous permet de transformer une collection de fichiers Markdown en un site de documentation navigable et personnalisable. Ce fichier de configuration obligatoire contrôle le style, la navigation, les intégrations, et bien plus encore. Considérez‑le comme le plan de votre documentation.

Les paramètres de `docs.json` s’appliquent globalement à toutes les pages.

<div id="setting-up-your-docsjson">
  ## Configuration de votre `docs.json`
</div>

Pour commencer, vous n’avez besoin de spécifier que `theme`, `name`, `colors.primary` et `navigation`. Les autres champs sont facultatifs et vous pourrez les ajouter à mesure que vos besoins en documentation évoluent.

Pour une expérience d’édition optimale, incluez la référence de schéma en haut de votre fichier `docs.json`. Cela active l’autocomplétion, la validation et des info-bulles utiles dans la plupart des éditeurs de code :

```json theme={null}
{
  "$schema": "https://mintlify.com/docs.json",
  "theme": "mint",
  "name": "Votre Documentation",
  "colors": {
    "primary": "#ff0000"
  },
  "navigation": {
    // Votre structure de navigation
  }
  // Le reste de votre configuration
}
```

<div id="reference">
  ## Référence
</div>

Cette section présente la référence complète du fichier `docs.json`.

<div id="customization">
  ### Personnalisation
</div>

<ResponseField name="theme" required>
  Le thème de mise en page de votre site.

  L’un des suivants : `mint`, `maple`, `palm`, `willow`, `linden`, `almond`, `aspen`.

  Voir [Thèmes](/fr/customize/themes) pour plus d’informations.
</ResponseField>

<ResponseField name="name" type="string" required>
  Le nom de votre projet, de votre organisation ou de votre produit.
</ResponseField>

<ResponseField name="colors" type="object" required>
  Les couleurs utilisées dans votre documentation. Leur application varie selon les thèmes. Si vous ne fournissez qu’une couleur principale, elle sera utilisée pour tous les éléments colorés.

  <Expandable title="Couleurs">
    <ResponseField name="primary" type="string matching ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$" required>
      La couleur principale de votre documentation. Généralement utilisée pour la mise en évidence en mode clair, avec quelques variations selon le thème.

      Doit être un code hexadécimal commençant par `#`.
    </ResponseField>

    <ResponseField name="light" type="string matching ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$">
      La couleur utilisée pour la mise en évidence en mode sombre.

      Doit être un code hexadécimal commençant par `#`.
    </ResponseField>

    <ResponseField name="dark" type="string matching ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$">
      La couleur utilisée pour les boutons et les états de survol en modes clair et sombre, avec quelques variations selon le thème.

      Doit être un code hexadécimal commençant par `#`.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="description" type="string">
  Description de votre site pour le SEO et l’indexation par l’IA.
</ResponseField>

<ResponseField name="logo" type="string or object">
  Définissez votre logo pour les modes clair et sombre.

  <Expandable title="Logo">
    <ResponseField name="light" type="string" required>
      Chemin vers votre fichier de logo pour le mode clair. Incluez l’extension du fichier. Exemple : `/logo.png`
    </ResponseField>

    <ResponseField name="dark" type="string" required>
      Chemin vers votre fichier de logo pour le mode sombre. Incluez l’extension du fichier. Exemple : `/logo-dark.png`
    </ResponseField>

    <ResponseField name="href" type="string (uri)">
      L’URL vers laquelle rediriger lors d’un clic sur le logo. Si non fourni, le logo renverra vers votre page d’accueil. Exemple : `https://mintlify.com`
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="favicon" type="string or object">
  Chemin vers votre fichier de favicon, incluant l’extension. Redimensionné automatiquement aux tailles de favicon appropriées. Peut être un fichier unique ou des fichiers distincts pour les modes clair et sombre. Exemple : `/favicon.png`

  <Expandable title="Favicon">
    <ResponseField name="light" type="string" required>
      Chemin vers votre fichier de favicon pour le mode clair. Incluez l’extension du fichier. Exemple : `/favicon.png`
    </ResponseField>

    <ResponseField name="dark" type="string" required>
      Chemin vers votre fichier de favicon pour le mode sombre. Incluez l’extension du fichier. Exemple : `/favicon-dark.png`
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="thumbnails" type="object">
  Personnalisation des vignettes pour les réseaux sociaux et les aperçus de page.

  <Expandable title="Vignettes">
    <ResponseField name="appearance" type="&#x22;light&#x22; | &#x22;dark&#x22;">
      Le thème visuel de vos vignettes. S’il n’est pas renseigné, les vignettes utilisent le jeu de couleurs de votre site défini par le champ `colors`.
    </ResponseField>

    <ResponseField name="background" type="string">
      Image d’arrière-plan pour vos vignettes. Peut être un chemin relatif ou une URL absolue.
    </ResponseField>

    <ResponseField name="fonts" type="object">
      Configuration des polices pour les vignettes. Seuls les noms de famille Google Fonts sont pris en charge.

      <Expandable title="Polices">
        <ResponseField name="family" type="string" required>
          Nom de la famille de polices, comme « Open Sans » ou « Playfair Display ». Les noms de famille [Google Fonts](https://fonts.google.com) sont pris en charge.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="styling" type="object">
  Configurations de style visuel.

  <Expandable title="Style">
    <ResponseField name="eyebrows" type="&#x22;section&#x22; | &#x22;breadcrumbs&#x22;">
      Le style de l’eyebrow de la page. Choisissez `section` pour afficher le nom de la section ou `breadcrumbs` pour afficher le chemin de navigation complet. Par défaut, la valeur est `section`.
    </ResponseField>

    <ResponseField name="latex" type="boolean">
      Contrôle si les feuilles de style LaTeX sont incluses, en remplaçant la détection automatique. Par défaut, Mintlify détecte automatiquement l’utilisation de LaTeX dans votre contenu et charge les feuilles de style nécessaires.

      * Définissez sur `true` pour forcer le chargement des feuilles de style LaTeX lorsque la détection automatique ne reconnaît pas vos expressions mathématiques.
      * Définissez sur `false` pour empêcher le chargement des feuilles de style LaTeX afin d’améliorer les performances si vous n’utilisez pas d’expressions mathématiques mais avez du contenu qui déclenche une détection faussement positive.
    </ResponseField>

    <ResponseField name="codeblocks" type="&#x22;system&#x22; | &#x22;dark&#x22; | string | object">
      Configuration du thème des blocs de code. La valeur par défaut est `"system"`.

      **Configuration simple :**

      * `"system"` : Adapter le mode actuel du site (clair ou sombre)
      * `"dark"` : Toujours utiliser le mode sombre

      **Configuration de thème personnalisée :**

      * Utilisez une chaîne de caractères pour spécifier un seul [thème Shiki](https://shiki.style/themes) pour tous les blocs de code
      * Utilisez un objet pour spécifier des [thèmes Shiki](https://shiki.style/themes) distincts pour les modes clair et sombre

      <ResponseField name="theme" type="string">
        Un nom de thème Shiki unique à utiliser pour les modes clair et sombre.

        ```json theme={null}
        "styling": {
          "codeblocks": {
            "theme": "dracula"
          }
        }
        ```
      </ResponseField>

      <ResponseField name="theme" type="object">
        Thèmes distincts pour les modes clair et sombre.

        <Expandable title="theme">
          <ResponseField name="light" type="string" required>
            Un nom de thème Shiki pour le mode clair.
          </ResponseField>

          <ResponseField name="dark" type="string" required>
            Un nom de thème Shiki pour le mode sombre.
          </ResponseField>

          ```json theme={null}
          "styling": {
            "codeblocks": {
              "theme": {
                "light": "github-light",
                "dark": "github-dark"
              }
            }
          }
          ```
        </Expandable>
      </ResponseField>

      <ResponseField name="languages" type="object">
        Configuration personnalisée des langages pour les blocs de code.

        <Expandable title="languages">
          <ResponseField name="custom" type="array of string">
            Chemins vers des fichiers JSON décrivant des langages Shiki personnalisés. Utilisez‑les pour ajouter la coloration syntaxique à des langages qui ne sont pas inclus dans l’ensemble par défaut de Shiki.

            Le fichier JSON doit respecter le [format de grammaire TextMate](https://macromates.com/manual/en/language_grammars) utilisé par Shiki.

            ```json theme={null}
            "styling": {
              "codeblocks": {
                "languages": {
                  "custom": ["/languages/my-custom-language.json"]
                }
              }
            }
            ```
          </ResponseField>
        </Expandable>
      </ResponseField>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="icons" type="object">
  Paramètres de la bibliothèque d’icônes.

  <Expandable title="Icônes">
    <ResponseField name="library" type="&#x22;fontawesome&#x22; | &#x22;lucide&#x22;" required>
      Bibliothèque d’icônes à utiliser dans toute votre documentation. La valeur par défaut est `fontawesome`.

      Vous ne pouvez utiliser qu’une seule bibliothèque d’icônes pour votre projet. Tous les noms d’icônes dans votre documentation doivent provenir de la même bibliothèque.

      <Note>
        Vous pouvez spécifier une URL vers une icône hébergée en externe, un chemin vers un fichier d’icône dans votre projet, ou du code SVG compatible JSX pour n’importe quelle icône individuelle, indépendamment du paramètre de bibliothèque.
      </Note>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="fonts" type="object">
  Définissez des polices personnalisées pour votre documentation. La police par défaut dépend du thème.

  <Expandable title="Polices">
    <ResponseField name="family" type="string" required>
      Famille de polices, par exemple « Open Sans ». Les noms de familles [Google Fonts](https://fonts.google.com) sont pris en charge.
    </ResponseField>

    <ResponseField name="weight" type="number">
      Graisse de la police, par exemple 400 ou 700. Les polices variables permettent des valeurs précises comme 550.
    </ResponseField>

    <ResponseField name="source" type="string (uri)">
      L’un des éléments suivants :

      * URL d’une police hébergée, par exemple [https://mintlify-assets.b-cdn.net/fonts/Hubot-Sans.woff2](https://mintlify-assets.b-cdn.net/fonts/Hubot-Sans.woff2).
      * Chemin vers un fichier de police local, par exemple `/fonts/Hubot-Sans.woff2`.

      Les [Google Fonts](https://fonts.google.com) sont chargées automatiquement lorsque vous spécifiez un nom de `family` Google Font ; aucune URL source n’est donc nécessaire.
    </ResponseField>

    <ResponseField name="format" type="&#x22;woff&#x22; | &#x22;woff2&#x22;">
      Format du fichier de police. Obligatoire lors de l’utilisation du champ `source`.
    </ResponseField>

    <ResponseField name="heading" type="object">
      Remplacez les paramètres de police spécifiquement pour les titres.

      <Expandable title="Titres">
        <ResponseField name="family" type="string" required>
          Famille de polices, par exemple « Open Sans », « Playfair Display ». Les noms de familles [Google Fonts](https://fonts.google.com) sont pris en charge.
        </ResponseField>

        <ResponseField name="weight" type="number">
          Graisse de la police, par exemple 400, 700. Les polices variables permettent des valeurs précises comme 550.
        </ResponseField>

        <ResponseField name="source" type="string (uri)">
          L’un des éléments suivants :

          * URL d’une police hébergée, par exemple [https://mintlify-assets.b-cdn.net/fonts/Hubot-Sans.woff2](https://mintlify-assets.b-cdn.net/fonts/Hubot-Sans.woff2).
          * Chemin vers un fichier de police local, par exemple `/fonts/Hubot-Sans.woff2`.

          Les [Google Fonts](https://fonts.google.com) sont chargées automatiquement lorsque vous spécifiez un nom de `family` Google Font ; aucune URL source n’est donc nécessaire.
        </ResponseField>

        <ResponseField name="format" type="&#x22;woff&#x22; | &#x22;woff2&#x22;">
          Format du fichier de police. Obligatoire lors de l’utilisation du champ `source`.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="body" type="object">
      Remplacez les paramètres de police spécifiquement pour le corps du texte.

      <Expandable title="Corps du texte">
        <ResponseField name="family" type="string" required>
          Famille de polices, par exemple « Open Sans », « Playfair Display ». Les noms de familles [Google Fonts](https://fonts.google.com) sont pris en charge.
        </ResponseField>

        <ResponseField name="weight" type="number">
          Graisse de la police, par exemple 400, 700. Les polices variables permettent des valeurs précises comme 550.
        </ResponseField>

        <ResponseField name="source" type="string (uri)">
          L’un des éléments suivants :

          * URL d’une police hébergée, par exemple [https://mintlify-assets.b-cdn.net/fonts/Hubot-Sans.woff2](https://mintlify-assets.b-cdn.net/fonts/Hubot-Sans.woff2).
          * Chemin vers un fichier de police local, par exemple `/fonts/Hubot-Sans.woff2`.

          Les [Google Fonts](https://fonts.google.com) sont chargées automatiquement lorsque vous spécifiez un nom de `family` Google Font ; aucune URL source n’est donc nécessaire.
        </ResponseField>

        <ResponseField name="format" type="&#x22;woff&#x22; | &#x22;woff2&#x22;">
          Format du fichier de police. Obligatoire lors de l’utilisation du champ `source`.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="appearance" type="object">
  Paramètres de l’interrupteur de mode clair/sombre.

  <Expandable title="Apparence">
    <ResponseField name="default" type="&#x22;system&#x22; | &#x22;light&#x22; | &#x22;dark&#x22;">
      Mode de thème par défaut. Choisissez `system` pour correspondre aux réglages de l’OS des utilisateurs, ou `light`/`dark` pour imposer un mode spécifique. Valeur par défaut : `system`.
    </ResponseField>

    <ResponseField name="strict" type="boolean">
      Indique s’il faut masquer l’interrupteur du mode clair/sombre. Valeur par défaut : `false`.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="background" type="object">
  Paramètres de couleur et de décoration de l’arrière-plan.

  <Expandable title="Arrière-plan">
    <ResponseField name="image" type="string or object">
      Image d’arrière-plan de votre site. Peut être un fichier unique ou des fichiers distincts pour les modes light et dark.

      <Expandable title="Image">
        <ResponseField name="light" type="string" required>
          Chemin de l’image d’arrière-plan pour le mode light. Incluez l’extension du fichier. Exemple : `/background.png`.
        </ResponseField>

        <ResponseField name="dark" type="string" required>
          Chemin de l’image d’arrière-plan pour le mode dark. Incluez l’extension du fichier. Exemple : `/background-dark.png`.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="decoration" type="&#x22;gradient&#x22; | &#x22;grid&#x22; | &#x22;windows&#x22;">
      Décoration d’arrière-plan de votre thème.
    </ResponseField>

    <ResponseField name="color" type="object">
      Couleurs d’arrière-plan personnalisées pour les modes light et dark.

      <Expandable title="Couleur">
        <ResponseField name="light" type="string matching ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$">
          Couleur d’arrière-plan pour le mode light.

          Doit être un code hexadécimal commençant par « # ».
        </ResponseField>

        <ResponseField name="dark" type="string matching ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$">
          Couleur d’arrière-plan pour le mode dark.

          Doit être un code hexadécimal commençant par « # ».
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<div id="structure">
  ### Structure
</div>

<ResponseField name="navbar" type="object">
  Éléments de la barre de navigation pointant vers des liens externes.

  <Expandable title="Navbar">
    <ResponseField name="links" type="array of object">
      Liens à afficher dans la barre de navigation

      <Expandable title="Links">
        <ResponseField name="label" type="string" required>
          Texte du lien.
        </ResponseField>

        <ResponseField name="href" type="string (uri)" required>
          Cible du lien. Doit être une URL externe valide.
        </ResponseField>

        <ResponseField name="icon" type="string">
          L’icône à afficher.

          Options :

          * nom de l’[icône Font Awesome](https://fontawesome.com/icons)
          * nom de l’[icône Lucide](https://lucide.dev/icons)
          * code SVG (compatible JSX) entouré d’accolades
          * URL vers une icône hébergée en externe
          * chemin vers un fichier d’icône dans votre projet

          Pour des icônes SVG personnalisées :

          1. Convertissez votre SVG à l’aide du [convertisseur SVGR](https://react-svgr.com/playground/).
          2. Collez votre code SVG dans le champ de saisie SVG.
          3. Copiez l’élément complet `<svg>...</svg>` depuis le champ de sortie JSX.
          4. Entourez le code SVG compatible JSX avec des accolades : `icon={<svg ...> ... </svg>}`.
          5. Ajustez `height` et `width` si nécessaire.
        </ResponseField>

        <ResponseField name="iconType" type="string">
          Le style d’icône [Font Awesome](https://fontawesome.com/icons). Utilisé uniquement avec les icônes Font Awesome.

          Options : `regular`, `solid`, `light`, `thin`, `sharp-solid`, `duotone`, `brands`.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="primary" type="object">
      Bouton principal dans la barre de navigation.

      <Expandable title="Primary">
        <ResponseField name="type" type="&#x22;button&#x22; | &#x22;github&#x22;" required>
          Style du bouton. Choisissez `button` pour un bouton standard avec un libellé ou `github` pour un lien vers un référentiel GitHub avec icône.
        </ResponseField>

        <ResponseField name="label" type="string" required>
          Texte du bouton. S’applique uniquement lorsque `type` est `button`.
        </ResponseField>

        <ResponseField name="href" type="string (uri)" required>
          Cible du bouton. Doit être une URL externe. Si `type` est `github`, elle doit être l’URL d’un référentiel GitHub.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="navigation" type="object" required>
  La structure de navigation de votre contenu.

  <Expandable title="Navigation">
    <ResponseField name="global" type="object">
      Éléments de navigation globaux qui apparaissent sur toutes les pages et sections.

      <Expandable title="Global">
        <ResponseField name="Langues" type="array of object">
          Configuration du sélecteur de langue pour les sites localisés.

          <Expandable title="Langues">
            <ResponseField name="language" type="&#x22;en&#x22; | &#x22;cn&#x22; | &#x22;zh&#x22; | &#x22;zh-Hans&#x22; | &#x22;zh-Hant&#x22; | &#x22;es&#x22; | &#x22;fr&#x22; | &#x22;ja&#x22; | &#x22;jp&#x22; | &#x22;pt&#x22; | &#x22;pt-BR&#x22; | &#x22;de&#x22; | &#x22;ko&#x22; | &#x22;it&#x22; | &#x22;ru&#x22; | &#x22;id&#x22; | &#x22;ar&#x22; | &#x22;tr&#x22;" required>
              Code de langue au format ISO 639-1
            </ResponseField>

            <ResponseField name="default" type="boolean">
              Indique s’il s’agit de la langue par défaut.
            </ResponseField>

            <ResponseField name="hidden" type="boolean">
              Indique s’il faut masquer cette langue par défaut.
            </ResponseField>

            <ResponseField name="href" type="string (uri)" required>
              Un chemin ou un lien externe valide vers cette version linguistique de votre documentation.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="versions" type="array of object">
          Configuration du sélecteur de versions pour les sites multi‑versions.

          <Expandable title="Versions">
            <ResponseField name="version" type="string" required>
              Nom affiché de la version.

              Longueur minimale : 1
            </ResponseField>

            <ResponseField name="default" type="boolean">
              Indique s’il s’agit de la version par défaut.
            </ResponseField>

            <ResponseField name="hidden" type="boolean">
              Indique s’il faut masquer cette option de version par défaut.
            </ResponseField>

            <ResponseField name="href" type="string (uri)" required>
              URL ou chemin vers cette version de votre documentation.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="Onglets" type="array of object">
          Onglets de navigation de niveau supérieur pour organiser les sections principales.

          <Expandable title="Tabs">
            <ResponseField name="tab" type="string" required>
              Nom d’affichage de l’onglet.

              Longueur minimale : 1
            </ResponseField>

            <ResponseField name="icon" type="string">
              L’icône à afficher.

              Options :

              * nom de l’[icône Font Awesome](https://fontawesome.com/icons)
              * nom de l’[icône Lucide](https://lucide.dev/icons)
              * code SVG (compatible JSX) entouré d’accolades
              * URL vers une icône hébergée en externe
              * chemin vers un fichier d’icône dans votre projet

              Pour des icônes SVG personnalisées :

              1. Convertissez votre SVG à l’aide du [convertisseur SVGR](https://react-svgr.com/playground/).
              2. Collez votre code SVG dans le champ de saisie SVG.
              3. Copiez l’élément complet `<svg>...</svg>` depuis le champ de sortie JSX.
              4. Entourez le code SVG compatible JSX avec des accolades : `icon={<svg ...> ... </svg>}`.
              5. Ajustez `height` et `width` si nécessaire.
            </ResponseField>

            <ResponseField name="iconType" type="string">
              Le style d’icône [Font Awesome](https://fontawesome.com/icons). Utilisé uniquement avec les icônes Font Awesome.

              Options : `regular`, `solid`, `light`, `thin`, `sharp-solid`, `duotone`, `brands`.
            </ResponseField>

            <ResponseField name="hidden" type="boolean">
              Indique s’il faut masquer cet onglet par défaut.
            </ResponseField>

            <ResponseField name="href" type="string (uri)" required>
              URL ou chemin de destination de l’onglet.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="Ancres" type="array of object">
          Liens ancrés qui apparaissent en évidence dans la navigation de la barre latérale.

          <Expandable title="Ancres">
            <ResponseField name="anchor" type="string" required>
              Nom d’affichage de l’ancre.

              Longueur minimale : 1
            </ResponseField>

            <ResponseField name="icon" type="string">
              L’icône à afficher.

              Options :

              * nom de l’[icône Font Awesome](https://fontawesome.com/icons)
              * nom de l’[icône Lucide](https://lucide.dev/icons)
              * code SVG (compatible JSX) entouré d’accolades
              * URL vers une icône hébergée en externe
              * chemin vers un fichier d’icône dans votre projet

              Pour des icônes SVG personnalisées :

              1. Convertissez votre SVG à l’aide du [convertisseur SVGR](https://react-svgr.com/playground/).
              2. Collez votre code SVG dans le champ de saisie SVG.
              3. Copiez l’élément complet `<svg>...</svg>` depuis le champ de sortie JSX.
              4. Entourez le code SVG compatible JSX avec des accolades : `icon={<svg ...> ... </svg>}`.
              5. Ajustez `height` et `width` si nécessaire.
            </ResponseField>

            <ResponseField name="iconType" type="string">
              Le style d’icône [Font Awesome](https://fontawesome.com/icons). Utilisé uniquement avec les icônes Font Awesome.

              Options : `regular`, `solid`, `light`, `thin`, `sharp-solid`, `duotone`, `brands`.
            </ResponseField>

            <ResponseField name="color" type="object">
              Couleurs personnalisées pour l’ancre.

              <Expandable title="Couleur">
                <ResponseField name="light" type="string matching ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$">
                  Couleur de l’ancre pour le mode clair.

                  Doit être un code hexadécimal commençant par « # ».
                </ResponseField>

                <ResponseField name="dark" type="string matching ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$">
                  Couleur de l’ancre pour le mode sombre.

                  Doit être un code hexadécimal commençant par « # ».
                </ResponseField>
              </Expandable>
            </ResponseField>

            <ResponseField name="hidden" type="boolean">
              Indique si cette ancre doit être masquée par défaut.
            </ResponseField>

            <ResponseField name="href" type="string (uri)" required>
              URL ou chemin de destination de l’ancre.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="menus déroulants" type="array of object">
          Menus déroulants pour organiser du contenu connexe.

          <Expandable title="Menus déroulants">
            <ResponseField name="dropdown" type="string" required>
              Nom d’affichage du menu déroulant.

              Longueur minimale : 1
            </ResponseField>

            <ResponseField name="icon" type="string">
              L’icône à afficher.

              Options :

              * nom de l’[icône Font Awesome](https://fontawesome.com/icons)
              * nom de l’[icône Lucide](https://lucide.dev/icons)
              * code SVG (compatible JSX) entouré d’accolades
              * URL vers une icône hébergée en externe
              * chemin vers un fichier d’icône dans votre projet

              Pour des icônes SVG personnalisées :

              1. Convertissez votre SVG à l’aide du [convertisseur SVGR](https://react-svgr.com/playground/).
              2. Collez votre code SVG dans le champ de saisie SVG.
              3. Copiez l’élément complet `<svg>...</svg>` depuis le champ de sortie JSX.
              4. Entourez le code SVG compatible JSX avec des accolades : `icon={<svg ...> ... </svg>}`.
              5. Ajustez `height` et `width` si nécessaire.
            </ResponseField>

            <ResponseField name="iconType" type="string">
              Le style d’icône [Font Awesome](https://fontawesome.com/icons). Utilisé uniquement avec les icônes Font Awesome.

              Options : `regular`, `solid`, `light`, `thin`, `sharp-solid`, `duotone`, `brands`.
            </ResponseField>

            <ResponseField name="hidden" type="boolean">
              Indique s’il faut masquer ce menu déroulant par défaut.
            </ResponseField>

            <ResponseField name="href" type="string (uri)" required>
              URL ou chemin de destination du menu déroulant.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="Produits" type="array of object">
          Produits pour organiser le contenu en sections.

          <Expandable title="Produits">
            <ResponseField name="product" type="string" required>
              Nom d’affichage du produit.
            </ResponseField>

            <ResponseField name="description" type="string">
              Description du produit.
            </ResponseField>

            <ResponseField name="icon" type="string">
              L’icône à afficher.

              Options :

              * nom de l’[icône Font Awesome](https://fontawesome.com/icons)
              * nom de l’[icône Lucide](https://lucide.dev/icons)
              * code SVG (compatible JSX) entouré d’accolades
              * URL vers une icône hébergée en externe
              * chemin vers un fichier d’icône dans votre projet

              Pour des icônes SVG personnalisées :

              1. Convertissez votre SVG à l’aide du [convertisseur SVGR](https://react-svgr.com/playground/).
              2. Collez votre code SVG dans le champ de saisie SVG.
              3. Copiez l’élément complet `<svg>...</svg>` depuis le champ de sortie JSX.
              4. Entourez le code SVG compatible JSX avec des accolades : `icon={<svg ...> ... </svg>}`.
              5. Ajustez `height` et `width` si nécessaire.
            </ResponseField>

            <ResponseField name="iconType" type="string">
              Le style d’icône [Font Awesome](https://fontawesome.com/icons). Utilisé uniquement avec les icônes Font Awesome.

              Options : `regular`, `solid`, `light`, `thin`, `sharp-solid`, `duotone`, `brands`.
            </ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="Langues" type="array of object">
      Sélecteur de langue pour les sites [multilingues](/fr/organize/navigation#languages).
    </ResponseField>

    <ResponseField name="versions" type="array of object">
      Sélecteur de versions pour les sites ayant plusieurs [versions](/fr/organize/navigation#versions).
    </ResponseField>

    <ResponseField name="Onglets" type="array of object">
      Onglets de navigation de niveau supérieur [Tabs](/fr/organize/navigation#tabs).
    </ResponseField>

    <ResponseField name="ancres" type="array of object">
      Ancres de la barre latérale [anchors](/fr/organize/navigation#anchors).
    </ResponseField>

    <ResponseField name="listes déroulantes" type="array of object">
      [Menus déroulants](/fr/organize/navigation#dropdowns) pour regrouper du contenu connexe.
    </ResponseField>

    <ResponseField name="Produits" type="array of object">
      Sélecteur de produits pour les sites comportant plusieurs [products](/fr/organize/navigation#products).
    </ResponseField>

    <ResponseField name="groups" type="array of object">
      [Groups](/fr/organize/navigation#groups) pour organiser le contenu en sections.
    </ResponseField>

    <ResponseField name="pages" type="array of string or object">
      [Pages](/fr/organize/navigation#pages) individuelles qui constituent votre documentation.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="interaction" type="object">
  Paramètres d'interaction utilisateur pour les éléments de navigation.

  <Expandable title="Interaction">
    <ResponseField name="drilldown" type="boolean">
      Contrôle le comportement de navigation automatique lors de la sélection de groupes de navigation. Réglez sur `true` pour forcer la navigation vers la première page lorsqu'un groupe de navigation est développé. Réglez sur `false` pour empêcher la navigation et uniquement développer ou réduire le groupe. Laissez non défini pour utiliser le comportement par défaut du thème.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="metadata" type="object">
  Configuration des métadonnées pour les pages de documentation.

  <Expandable title="Metadata">
    <ResponseField name="timestamp" type="boolean">
      Active l'affichage de la date de dernière modification sur toutes les pages. Lorsqu'elle est activée, toutes les pages affichent la date de la dernière modification du contenu. La valeur par défaut est `false`.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="footer" type="object">
  Contenu du pied de page et liens vers les réseaux sociaux.

  <Expandable title="Footer">
    <ResponseField name="socials" type="object">
      Profils de réseaux sociaux à afficher dans le pied de page. Chaque clé est un nom de plateforme et chaque valeur est l'URL de votre profil. Par exemple :

      ```json theme={null}
      {
        "x": "https://x.com/mintlify"
      }
      ```

      Noms de propriétés valides : `x`, `website`, `facebook`, `youtube`, `discord`, `slack`, `github`, `linkedin`, `instagram`, `hacker-news`, `medium`, `telegram`, `twitter`, `x-twitter`, `earth-americas`, `bluesky`, `threads`, `reddit`, `podcast`
    </ResponseField>

    <ResponseField name="links" type="array of object">
      Liens à afficher dans le pied de page.

      <Expandable title="Links">
        <ResponseField name="header" type="string">
          Titre de la colonne.

          Longueur minimale : 1
        </ResponseField>

        <ResponseField name="items" type="array of object" required>
          Liens à afficher dans la colonne.

          <Expandable title="Items">
            <ResponseField name="label" type="string" required>
              Texte du lien.

              Longueur minimale : 1
            </ResponseField>

            <ResponseField name="href" type="string (uri)" required>
              URL de destination du lien.
            </ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="banner" type="object">
  Bannière globale du site affichée en haut des pages.

  <Expandable title="Banner">
    <ResponseField name="content" type="string" required>
      Le contenu textuel affiché dans la bannière. Prend en charge le formatage MDX de base, y compris les liens, le texte en gras et en italique. Les composants personnalisés ne sont pas pris en charge. Par exemple :

      ```json theme={null}
      {
        "content": "🚀 Banner is live! [Learn more](mintlify.com)"
      }
      ```
    </ResponseField>

    <ResponseField name="dismissible" type="boolean">
      Indique s'il faut afficher le bouton de fermeture sur le côté droit de la bannière. La valeur par défaut est `false`.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="redirects" type="array of object">
  Redirections pour les pages déplacées, renommées ou supprimées.

  <Expandable title="Redirects">
    <ResponseField name="source" type="string" required>
      Chemin source à partir duquel effectuer la redirection. Exemple : `/old-page`
    </ResponseField>

    <ResponseField name="destination" type="string" required>
      Chemin de destination vers lequel rediriger. Exemple : `/new-page`
    </ResponseField>

    <ResponseField name="permanent" type="boolean">
      Indique s'il faut utiliser une redirection permanente (301). La valeur par défaut est `true`.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="contextual" type="object">
  Menu contextuel pour le contenu optimisé par l'IA et les intégrations.

  <Expandable title="Contextuel">
    <ResponseField name="options" type="array of &#x22;copy&#x22; | &#x22;view&#x22; | &#x22;chatgpt&#x22; | &#x22;claude&#x22; | &#x22;perplexity&#x22; | &#x22;mcp&#x22; | &#x22;cursor&#x22; | &#x22;vscode&#x22; | object" required>
      Actions disponibles dans le menu contextuel. La première option apparaît par défaut.

      * `copy`: Copie la page actuelle au format Markdown dans le presse-papiers.
      * `view`: Affiche la page actuelle au format Markdown dans un nouvel onglet.
      * `chatgpt`: Envoie le contenu de la page actuelle à ChatGPT.
      * `claude`: Envoie le contenu de la page actuelle à Claude.
      * `perplexity`: Envoie le contenu de la page actuelle à Perplexity.
      * `mcp`: Copie l'URL de votre serveur MCP dans le presse-papiers.
      * `cursor`: Installe votre serveur MCP hébergé dans Cursor.
      * `vscode`: Installe votre serveur MCP hébergé dans VSCode.

      Définissez des options personnalisées pour le menu contextuel sous forme d'objets avec les propriétés suivantes :

      <Expandable title="Option personnalisée">
        <ResponseField name="title" type="string" required>
          Titre affiché pour l'option personnalisée.
        </ResponseField>

        <ResponseField name="description" type="string" required>
          Texte descriptif pour l'option personnalisée.
        </ResponseField>

        <ResponseField name="icon" type="string">
          Icône pour l'option personnalisée. Prend en charge les noms de bibliothèques d'icônes, les URL, les chemins ou le code SVG (Scalable Vector Graphics).
        </ResponseField>

        <ResponseField name="href" type="string or object" required>
          Destination du lien pour l'option personnalisée. Peut être une simple chaîne d'URL ou un objet avec une propriété `base` et, en option, des paramètres `query`.

          Valeurs de substitution possibles :

          * `$page`: Contenu de la page actuelle
          * `$path`: Chemin de la page actuelle
          * `$mcp`: URL du serveur MCP
        </ResponseField>
      </Expandable>

      <img src="https://mintcdn.com/anotherhorizon/KtT4EXjd_91dkOA7/images/page-context-menu.png?fit=max&auto=format&n=KtT4EXjd_91dkOA7&q=85&s=936a89a9a55f9db91d5329d67ea28313" alt="Menu contextuel" className="rounded-xl" width="1348" height="824" data-path="images/page-context-menu.png" />

      <Note>
        Le menu contextuel est uniquement disponible sur les déploiements de prévisualisation et de production.
      </Note>
    </ResponseField>
  </Expandable>
</ResponseField>

<div id="api-configurations">
  ### Configurations d’API
</div>

<ResponseField name="API" type="object">
  Paramètres de la documentation d'API et du bac à sable d'API interactif.

  <Expandable title="api">
    <ResponseField name="openapi" type="string or array or object">
      Fichiers de spécification OpenAPI pour générer la documentation d’API. Peut être une URL ou un chemin unique, ou un tableau d’URL ou de chemins.

      <Expandable title="openapi">
        <ResponseField name="source" type="string">
          URL ou chemin vers votre fichier de spécification OpenAPI.

          Longueur minimale : 1
        </ResponseField>

        <ResponseField name="directory" type="string">
          Répertoire dans lequel rechercher les fichiers OpenAPI.

          N’incluez pas de barre oblique initiale.
        </ResponseField>
      </Expandable>

      <CodeGroup>
        ```json Fichier unique theme={null}
        "openapi": "openapi.json"
        ```

        ```json Fichiers multiples theme={null}
        "openapi": [
          "openapi/v1.json",
          "openapi/v2.json",
          "https://api.example.com/openapi.yaml"
        ]
        ```

        ```json Répertoire theme={null}
        "openapi": {
          "source": "openapi.json",
          "directory": "api-docs"
        }
        ```
      </CodeGroup>
    </ResponseField>

    <ResponseField name="asyncapi" type="string or array or object">
      Fichiers de spécification AsyncAPI pour générer la documentation d’API. Peut être une seule URL ou un seul chemin, ou un tableau d’URL/chemins.

      <Expandable title="asyncapi">
        <ResponseField name="source" type="string">
          URL ou chemin vers votre fichier de spécification AsyncAPI.

          Longueur minimale : 1
        </ResponseField>

        <ResponseField name="directory" type="string">
          Répertoire dans lequel rechercher les fichiers AsyncAPI.

          N’incluez pas de barre oblique initiale.
        </ResponseField>
      </Expandable>

      <CodeGroup>
        ```json Fichier unique theme={null}
        "asyncapi": "asyncapi.json"
        ```

        ```json Plusieurs fichiers theme={null}
        "asyncapi": [
          "asyncapi/events.yaml",
          "asyncapi/webhooks.yaml",
          "https://api.example.com/asyncapi.json"
        ]
        ```

        ```json Répertoire theme={null}
        "asyncapi": {
          "source": "asyncapi.json",
          "directory": "websockets"
        }
        ```
      </CodeGroup>
    </ResponseField>

    <ResponseField name="params" type="object">
      Paramètres d’affichage des paramètres d’API.

      <Expandable title="Params">
        <ResponseField name="expanded" type="&#x22;all&#x22; | &#x22;closed&#x22;">
          Indique s’il faut développer tous les paramètres par défaut. La valeur par défaut est `closed`.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="bac à sable" type="object">
      Paramètres du bac à sable d’API.

      <Expandable title="Playground">
        <ResponseField name="display" type="&#x22;interactive&#x22; | &#x22;simple&#x22; | &#x22;none&#x22;">
          Mode d’affichage du bac à sable d’API. La valeur par défaut est `interactive`.
        </ResponseField>

        <ResponseField name="proxy" type="boolean">
          Indique s’il faut faire passer les requêtes d’API par un serveur proxy. La valeur par défaut est `true`.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="exemples" type="object">
      Configurations pour les exemples d’API générés automatiquement.

      <Expandable title="Examples">
        <ResponseField name="languages" type="array of string">
          Langues d’exemple pour les extraits d’API générés automatiquement. Les langues prises en charge incluent :

          * `bash` (affiché comme cURL)
          * `go`
          * `java`
          * `javascript`
          * `node` (affiché comme Node.js)
          * `php`
          * `powershell`
          * `python`
          * `ruby`
          * `swift`

          Les alias courants sont également pris en charge : `curl`, `golang`, `js`,  `nodejs`, `rb`, `sh`.
        </ResponseField>

        <ResponseField name="defaults" type="&#x22;required&#x22; | &#x22;all&#x22;">
          Indique s’il faut afficher les paramètres optionnels dans les exemples d’API. La valeur par défaut est `all`.
        </ResponseField>

        <ResponseField name="prefill" type="boolean">
          Indique s’il faut préremplir le bac à sable d’API avec les données provenant des exemples de schéma. Lorsque cette option est activée, le bac à sable renseigne automatiquement les champs de requête avec les valeurs d’exemple de votre spécification OpenAPI. La valeur par défaut est `false`.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="mdx" type="object">
      Configurations pour les pages d’API générées à partir de fichiers MDX.

      <Expandable title="Mdx">
        <ResponseField name="auth" type="object">
          Configuration de l’authentification pour les requêtes d’API basées sur MDX.

          <Expandable title="Auth">
            <ResponseField name="method" type="&#x22;bearer&#x22; | &#x22;basic&#x22; | &#x22;key&#x22; | &#x22;cobo&#x22;">
              Méthode d’authentification pour les requêtes d’API.
            </ResponseField>

            <ResponseField name="name" type="string">
              Nom utilisé pour l’authentification des requêtes d’API.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="server" type="string or array">
          Configuration du serveur pour les requêtes d’API.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<div id="seo-and-search">
  ### SEO et recherche
</div>

<ResponseField name="seo" type="object">
  Configurations d’indexation pour le SEO.

  <Expandable title="Seo">
    <ResponseField name="metatags" type="object">
      Balises meta ajoutées à chaque page. Doit être une paire key-value valide. Consultez la [référence des balises meta courantes](/fr/optimize/seo#common-meta-tags-reference) pour les options.
    </ResponseField>

    <ResponseField name="indexing" type="&#x22;navigable&#x22; | &#x22;all&#x22;">
      Indiquez quelles pages doivent être indexées par les moteurs de recherche. Choisissez `navigable` pour indexer uniquement les pages présentes dans la navigation de votre `docs.json`, ou `all` pour indexer toutes les pages. Valeur par défaut : `navigable`.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="search" type="object">
  Paramètres d’affichage de la recherche.

  <Expandable title="Search">
    <ResponseField name="prompt" type="string">
      Texte d’espace réservé affiché dans la barre de recherche.
    </ResponseField>
  </Expandable>
</ResponseField>

<div id="integrations">
  ### Intégrations
</div>

<ResponseField name="Intégrations" type="object">
  Intégrations tierces.

  <Expandable title="Intégrations">
    <ResponseField name="Amplitude" type="object">
      Intégration à Amplitude Analytics.

      <Expandable title="Amplitude">
        <ResponseField name="apiKey" type="string" required>
          Votre clé d'API Amplitude.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="Clarity" type="object">
      Intégration Microsoft Clarity.

      <Expandable title="Clarity">
        <ResponseField name="projectId" type="string" required>
          Votre identifiant de projet Microsoft Clarity.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="clearbit" type="object">
      Intégration d’enrichissement de données Clearbit.

      <Expandable title="Clearbit">
        <ResponseField name="publicApiKey" type="string" required>
          Votre clé d’API Clearbit.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="fathom" type="object">
      Intégration de Fathom Analytics.

      <Expandable title="Fathom">
        <ResponseField name="siteId" type="string" required>
          Votre ID de site Fathom.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="frontchat" type="object">
      Intégration de Front chat.

      <Expandable title="Frontchat">
        <ResponseField name="snippetId" type="string" required>
          Identifiant de votre extrait de code Front chat.

          Longueur minimale : 6
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="ga4" type="object">
      Intégration de Google Analytics 4.

      <Expandable title="Ga4">
        <ResponseField name="measurementId" type="string matching ^G" required>
          Votre ID de mesure de Google Analytics 4.

          Doit correspondre au motif : ^G
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="gtm" type="object">
      Intégration de Google Tag Manager.

      <Expandable title="Gtm">
        <ResponseField name="tagId" type="string matching ^G" required>
          Votre identifiant de balise Google Tag Manager.

          Doit correspondre au motif : ^G
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="Heap" type="object">
      Intégration à Heap Analytics.

      <Expandable title="Heap">
        <ResponseField name="appId" type="string" required>
          Votre ID d’application Heap.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="hightouch" type="object">
      Intégration Hightouch.

      <Expandable title="Hightouch">
        <ResponseField name="writeKey" type="string" required>
          Votre write key Hightouch.
        </ResponseField>

        <ResponseField name="apiHost" type="string">
          Votre hôte d’API Hightouch.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="hotjar" type="object">
      Intégration Hotjar.

      <Expandable title="Hotjar">
        <ResponseField name="hjid" type="string" required>
          Votre identifiant Hotjar.
        </ResponseField>

        <ResponseField name="hjsv" type="string" required>
          La version de votre script Hotjar.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="intercom" type="object">
      Intégration Intercom.

      <Expandable title="Intercom">
        <ResponseField name="appId" type="string" required>
          Votre identifiant d’application Intercom.

          Longueur minimale : 6
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="logrocket" type="object">
      Intégration LogRocket.

      <Expandable title="LogRocket">
        <ResponseField name="appId" type="string" required>
          Votre ID d’application LogRocket.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="mixpanel" type="object">
      Intégration Mixpanel.

      <Expandable title="Mixpanel">
        <ResponseField name="projectToken" type="string" required>
          Votre jeton de projet Mixpanel.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="osano" type="object">
      Intégration à Osano.

      <Expandable title="Osano">
        <ResponseField name="scriptSource" type="string" required>
          La source de votre script Osano.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="pirsch" type="object">
      Intégration de Pirsch Analytics.

      <Expandable title="Pirsch">
        <ResponseField name="id" type="string" required>
          Votre identifiant Pirsch.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="posthog" type="object">
      Intégration PostHog.

      <Expandable title="Posthog">
        <ResponseField name="apiKey" type="string matching ^phc\_" required>
          Votre clé d’API PostHog.

          Doit respecter le modèle : ^phc\_
        </ResponseField>

        <ResponseField name="apiHost" type="string (uri)">
          Votre hôte d’API PostHog.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="Plausible" type="object">
      Intégration de Plausible Analytics.

      <Expandable title="Plausible">
        <ResponseField name="domain" type="string" required>
          Votre domaine Plausible.
        </ResponseField>

        <ResponseField name="server" type="string">
          Votre serveur Plausible.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="segment" type="object">
      Intégration Segment.

      <Expandable title="Segment">
        <ResponseField name="key" type="string" required>
          Votre clé Segment.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="télémétrie" type="object">
      Paramètres de télémétrie.

      <Expandable title="Télémétrie">
        <ResponseField name="enabled" type="boolean">
          Indique s’il faut activer la télémétrie.

          <Note>
            Lorsque ce paramètre est défini sur `false`, les fonctionnalités de feedback sont également désactivées et n’apparaissent plus sur vos pages de documentation.
          </Note>
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="cookies" type="object">
      Paramètres des cookies.

      <Expandable title="Cookies">
        <ResponseField name="key" type="string">
          Clé pour les cookies.
        </ResponseField>

        <ResponseField name="value" type="string">
          Valeur pour les cookies.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<div id="errors">
  ### Erreurs
</div>

<ResponseField name="errors" type="object">
  Paramètres de gestion des erreurs.

  <Expandable title="Erreurs">
    <ResponseField name="404" type="object">
      Gestion de l’erreur 404 « Page non trouvée ».

      <Expandable title="404">
        <ResponseField name="redirect" type="boolean">
          Indique s’il faut rediriger automatiquement vers la page d’accueil lorsqu’une page est introuvable. La valeur par défaut est `true`.
        </ResponseField>

        <ResponseField name="title" type="string">
          Titre personnalisé pour la page d’erreur 404.
        </ResponseField>

        <ResponseField name="description" type="string">
          Description personnalisée pour la page d’erreur 404. Prend en charge le formatage MDX de base, y compris les liens, le texte en gras et en italique. Les composants personnalisés ne sont pas pris en charge.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<div id="examples">
  ## Exemples
</div>

<Tabs>
  <Tab title="Exemple de base">
    ```json docs.json lines wrap theme={null}
    {
      "$schema": "https://mintlify.com/docs.json",
      "theme": "maple",
      "name": "Example Co.",
      "description": "Example Co. est une entreprise qui fournit du contenu d'exemple et du texte de substitution.",
      "colors": {
        "primary": "#3B82F6",
        "light": "#F8FAFC",
        "dark": "#0F172A"
      },
      "navigation": {
        "dropdowns": [
          {
            "dropdown": "Documentation",
            "icon": "book",
            "description": "Comment utiliser le produit Example Co.",
            "groups": [
              {
                "group": "Prise en main",
                "pages": [
                  "index",
                  "quickstart"
                ]
              },
              {
                "group": "Personnalisation",
                "pages": [
                  "settings",
                  "users",
                  "features"
                ]
              },
              {
                "group": "Facturation",
                "pages": [
                  "billing/overview",
                  "billing/payments",
                  "billing/subscriptions"
                ]
              }
            ]
          },
          {
            "dropdown": "Journal des modifications",
            "icon": "history",
            "description": "Mises à jour et modifications",
            "pages": [
              "changelog"
            ]
          }
        ]
      },
      "logo": {
        "light": "/logo-light.svg",
        "dark": "/logo-dark.svg",
        "href": "https://example.com"
      },
      "navbar": {
        "links": [
          {
            "label": "Communauté",
            "href": "https://example.com/community"
          }
        ],
        "primary": {
          "type": "button",
          "label": "Commencer",
          "href": "https://example.com/start"
        }
      },
      "footer": {
        "socials": {
          "x": "https://x.com/example",
          "linkedin": "https://www.linkedin.com/company/example",
          "github": "https://github.com/example",
          "slack": "https://example.com/community"
        },
        "links": [
          {
            "header": "Ressources",
            "items": [
              {
                "label": "Clients",
                "href": "https://example.com/customers"
              },
              {
                "label": "Entreprise",
                "href": "https://example.com/enterprise"
              },
              {
                "label": "Demander un aperçu",
                "href": "https://example.com/preview"
              }
            ]
          },
          {
            "header": "Entreprise",
            "items": [
              {
                "label": "Carrières",
                "href": "https://example.com/careers"
              },
              {
                "label": "Blog",
                "href": "https://example.com/blog"
              },
              {
                "label": "Politique de confidentialité",
                "href": "https://example.com/legal/privacy"
              }
            ]
          }
        ]
      },
      "integrations": {
        "ga4": {
          "measurementId": "G-XXXXXXXXXX"
        },
        "telemetry": {
          "enabled": true
        },
        "cookies": {
          "key": "example_cookie_key",
          "value": "example_cookie_value"
        }
      },
      "contextual": {
        "options": [
          "copy",
          "view",
          "chatgpt",
          "claude"
        ]
      },
      "errors": {
        "404": {
          "redirect": false,
          "title": "Introuvable",
          "description": "Qu'est-il donc **arrivé** à cette _page_ ?"
        }
      }
    }
    ```
  </Tab>

  <Tab title="Exemple d’API interactif">
    ```json docs.json {43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,72,73,74,75,76,77,78,79} lines wrap theme={null}
    {
      "$schema": "https://mintlify.com/docs.json",
      "theme": "maple",
      "name": "Example Co.",
      "description": "Example Co. est une entreprise qui fournit du contenu d'exemple et du texte de substitution.",
      "colors": {
        "primary": "#3B82F6",
        "light": "#F8FAFC",
        "dark": "#0F172A"
      },
      "navigation": {
        "dropdowns": [
          {
            "dropdown": "Documentation",
            "icon": "book",
            "description": "Comment utiliser le produit Example Co.",
            "groups": [
              {
                "group": "Prise en main",
                "pages": [
                  "index",
                  "quickstart"
                ]
              },
              {
                "group": "Personnalisation",
                "pages": [
                  "settings",
                  "users",
                  "features"
                ]
              },
              {
                "group": "Facturation",
                "pages": [
                  "billing/overview",
                  "billing/payments",
                  "billing/subscriptions"
                ]
              }
            ]
          },
          {
            "dropdown": "Référence API",
            "icon": "terminal",
            "description": "Comment utiliser l'API Example Co.",
            "groups": [
              {
                "group": "Référence API",
                "pages": [
                  "api-reference/introduction"
                ]
              },
              {
                "group": "Points de terminaison",
                "openapi": {
                  "source": "openapi.json"
                }
              }
            ]
          },
          {
            "dropdown": "Journal des modifications",
            "icon": "history",
            "description": "Mises à jour et modifications",
            "pages": [
              "changelog"
            ]
          }
        ]
      },
      "api": {
        "playground": {
          "display": "interactif"
        },
        "examples": {
          "languages": ["javascript", "curl", "python"]
        }
      },
      "logo": {
        "light": "/logo-light.svg",
        "dark": "/logo-dark.svg",
        "href": "https://example.com"
      },
      "navbar": {
        "links": [
          {
            "label": "Communauté",
            "href": "https://example.com/community"
          }
        ],
        "primary": {
          "type": "button",
          "label": "Commencer",
          "href": "https://example.com/start"
        }
      },
      "footer": {
        "socials": {
          "x": "https://x.com/example",
          "linkedin": "https://www.linkedin.com/company/example",
          "github": "https://github.com/example",
          "slack": "https://example.com/community"
        },
        "links": [
          {
            "header": "Ressources",
            "items": [
              {
                "label": "Clients",
                "href": "https://example.com/customers"
              },
              {
                "label": "Entreprise",
                "href": "https://example.com/enterprise"
              },
              {
                "label": "Demander un aperçu",
                "href": "https://example.com/preview"
              }
            ]
          },
          {
            "header": "Entreprise",
            "items": [
              {
                "label": "Carrières",
                "href": "https://example.com/careers"
              },
              {
                "label": "Blog",
                "href": "https://example.com/blog"
              },
              {
                "label": "Politique de confidentialité",
                "href": "https://example.com/legal/privacy"
              }
            ]
          }
        ]
      },
      "integrations": {
        "ga4": {
          "measurementId": "G-XXXXXXXXXX"
        },
        "telemetry": {
          "enabled": true
        },
        "cookies": {
          "key": "example_cookie_key",
          "value": "example_cookie_value"
        }
      },
      "contextual": {
        "options": [
          "copy",
          "view",
          "chatgpt",
          "claude"
        ]
      },
      "errors": {
        "404": {
          "redirect": false,
          "title": "Introuvable",
          "description": "Que s'est-il donc **passé** avec cette _page_ ?"
        }
      }
    }
    ```
  </Tab>

  <Tab title="Exemple multilingue">
    ```json docs.json lines wrap theme={null}
    {
      "$schema": "https://mintlify.com/docs.json",
      "theme": "maple",
      "name": "Example Co.",
      "description": "Example Co. est une entreprise qui fournit du contenu d'exemple et du texte de substitution.",
      "colors": {
        "primary": "#3B82F6",
        "light": "#F8FAFC",
        "dark": "#0F172A"
      },
      "navigation": {
        "global": {
          "anchors": [
            {
              "anchor": "Documentation",
              "href": "https://mintlify.com/docs"
            },
            {
              "anchor": "Journal des modifications",
              "href": "https://mintlify.com/docs/changelog"
            }
          ]
        },
        "languages": [ // [!code highlight:3]
          {
            "language": "en",
            "dropdowns": [
              {
                "dropdown": "Documentation",
                "icon": "book",
                "description": "Comment utiliser le produit Example Co.",
                "pages": [
                  {
                    "group": "Premiers pas",
                    "pages": ["index", "quickstart"]
                  },
                  {
                    "group": "Personnalisation",
                    "pages": ["settings", "users", "features"]
                  },
                  {
                    "group": "Facturation",
                    "pages": [
                      "billing/overview",
                      "billing/payments",
                      "billing/subscriptions"
                    ]
                  }
                ]
              },
              {
                "dropdown": "Journal des modifications",
                "icon": "history",
                "description": "Mises à jour et modifications",
                "pages": ["changelog"]
              }
            ]
          },
          {
            "language": "es",// [!code highlight]
            "dropdowns": [
              {
                "dropdown": "Documentación",
                "icon": "book",
                "description": "Cómo usar el producto de Example Co.",
                "pages": [
                  {
                    "group": "Comenzando",
                    "pages": ["es/index", "es/quickstart"]
                  },
                  {
                    "group": "Personalización",
                    "pages": ["es/settings", "es/users", "es/features"]
                  },
                  {
                    "group": "Billing",
                    "pages": [
                      "es/billing/overview",
                      "es/billing/payments",
                      "es/billing/subscriptions"
                    ]
                  }
                ]
              },
              {
                "dropdown": "Changelog",
                "icon": "history",
                "description": "Actualizaciones y cambios",
                "pages": ["es/changelog"]
              }
            ]
          }
        ]
      },
      "logo": {
        "light": "/logo-light.svg",
        "dark": "/logo-dark.svg",
        "href": "https://example.com"
      },
      "navbar": {
        "links": [
          {
            "label": "Communauté",
            "href": "https://example.com/community"
          }
        ],
        "primary": {
          "type": "button",
          "label": "Commencer",
          "href": "https://example.com/start"
        }
      },
      "footer": {
        "socials": {
          "x": "https://x.com/example",
          "linkedin": "https://www.linkedin.com/company/example",
          "github": "https://github.com/example",
          "slack": "https://example.com/community"
        },
        "links": [
          {
            "header": "Ressources",
            "items": [
              {
                "label": "Clients",
                "href": "https://example.com/customers"
              },
              {
                "label": "Entreprise",
                "href": "https://example.com/enterprise"
              },
              {
                "label": "Demander un aperçu",
                "href": "https://example.com/preview"
              }
            ]
          },
          {
            "header": "Société",
            "items": [
              {
                "label": "Carrières",
                "href": "https://example.com/careers"
              },
              {
                "label": "Blog",
                "href": "https://example.com/blog"
              },
              {
                "label": "Politique de confidentialité",
                "href": "https://example.com/legal/privacy"
              }
            ]
          }
        ]
      },
      "integrations": {
        "ga4": {
          "measurementId": "G-XXXXXXXXXX"
        },
        "telemetry": {
          "enabled": true
        },
        "cookies": {
          "key": "example_cookie_key",
          "value": "example_cookie_value"
        }
      },
      "contextual": {
        "options": ["copy", "view", "chatgpt", "claude"]
      },
      "errors": {
        "404": {
          "redirect": false,
          "title": "Page introuvable",
          "description": "Que s'est-il donc **passé** avec cette _page_ ?"
        }
      }
    }
    ```
  </Tab>
</Tabs>

<div id="upgrading-from-mintjson">
  ## Mise à niveau depuis `mint.json`
</div>

Si votre projet de documentation utilise le fichier `mint.json` obsolète, suivez ces étapes pour passer à `docs.json`.

<Steps>
  <Step title="Installer ou mettre à jour l’interface en ligne de commande (CLI)">
    Si vous n’avez pas installé la [CLI](/fr/installation), installez-la maintenant :

    <CodeGroup>
      ```bash npm theme={null}
      npm i -g mint
      ```

      ```bash yarn theme={null}
      yarn global add mint
      ```

      ```bash pnpm theme={null}
      pnpm add -g mint
      ```
    </CodeGroup>

    Si vous avez déjà installé la CLI, assurez-vous qu’elle est à jour :

    ```bash theme={null}
    mint update
    ```
  </Step>

  <Step title="Créer votre fichier docs.json">
    Dans votre référentiel de documentation, exécutez :

    ```bash theme={null}
    mint upgrade
    ```

    Cette commande crée un fichier `docs.json` à partir de votre `mint.json` existant. Passez en revue le fichier généré pour vous assurer que tous les paramètres sont corrects.
  </Step>

  <Step title="Supprimer votre fichier mint.json">
    Après avoir vérifié que votre `docs.json` est correctement configuré, vous pouvez supprimer en toute sécurité votre ancien fichier `mint.json`.
  </Step>
</Steps>
