# Onglets (/fr/components/tabs)

<!-- agent-signals: reading_time_min: 4 · est_tokens: 1753 · updated: 2026-07-30 -->
Related: [Accordion](/fr/components/accordions.md), [Badge](/fr/components/badge.md), [Bannière](/fr/components/banner.md), [Encarts](/fr/components/callouts.md), [Cartes](/fr/components/cards.md), [Groupes de code](/fr/components/code-groups.md)

Utilisez des onglets pour organiser le contenu en plusieurs panneaux entre lesquels les utilisateurs peuvent basculer. Vous pouvez ajouter autant d’onglets que nécessaire et inclure d’autres composants dans chaque onglet.

<Tabs>
  <Tab title="Premier onglet">
    ☝️ Bienvenue dans le contenu visible uniquement dans le premier onglet.

    Vous pouvez ajouter autant de composants que vous le souhaitez à l’intérieur des onglets. Par exemple, un code block :

    ```java title="HelloWorld.java"
      class HelloWorld {
          public static void main(String[] args) {
              System.out.println("Hello, World!");
          }
      }
    ```
  </Tab>

  <Tab title="Deuxième onglet" icon="<svg xmlns=&#x22;http://www.w3.org/2000/svg&#x22; viewBox=&#x22;0 0 24 24&#x22; fill=&#x22;none&#x22;><path d=&#x22;M7.64584 15.7108C7.23279 14.8966 7 13.9755 7 13C7 9.78484 9.5 7.5 13 7C17.0817 6.4169 18.8333 4.16667 20 3C23.5 16 17 19 13 19C11.9071 19 10.8825 18.7078 10 18.1973&#x22; stroke=&#x22;currentColor&#x22; stroke-linecap=&#x22;round&#x22; stroke-linejoin=&#x22;round&#x22; stroke-width=&#x22;1.5&#x22;/><path d=&#x22;M3 21C3.5 18 5.45791 16.1355 10 15C13.2167 14.1958 15.4634 12.1791 17 10.0549&#x22; stroke=&#x22;currentColor&#x22; stroke-linecap=&#x22;round&#x22; stroke-width=&#x22;1.5&#x22;/></svg>">
    ✌️ Voici du contenu qui se trouve uniquement dans le deuxième onglet.

    Celui-ci a une icône <Icon icon="<svg xmlns=&#x22;http://www.w3.org/2000/svg&#x22; viewBox=&#x22;0 0 24 24&#x22; fill=&#x22;none&#x22;><path d=&#x22;M7.64584 15.7108C7.23279 14.8966 7 13.9755 7 13C7 9.78484 9.5 7.5 13 7C17.0817 6.4169 18.8333 4.16667 20 3C23.5 16 17 19 13 19C11.9071 19 10.8825 18.7078 10 18.1973&#x22; stroke=&#x22;currentColor&#x22; stroke-linecap=&#x22;round&#x22; stroke-linejoin=&#x22;round&#x22; stroke-width=&#x22;1.5&#x22;/><path d=&#x22;M3 21C3.5 18 5.45791 16.1355 10 15C13.2167 14.1958 15.4634 12.1791 17 10.0549&#x22; stroke=&#x22;currentColor&#x22; stroke-linecap=&#x22;round&#x22; stroke-width=&#x22;1.5&#x22;/></svg>" /> !
  </Tab>

  <Tab title="Troisième onglet">
    💪 Voici du contenu qui se trouve uniquement dans le troisième onglet.
  </Tab>
</Tabs>

````mdx title="Tabs example"
<Tabs>
  <Tab title="Premier onglet">
    ☝️ Bienvenue dans le contenu visible uniquement dans le premier onglet.

    Vous pouvez ajouter autant de composants que vous le souhaitez à l'intérieur des onglets. Par exemple, un code block :
    ```java HelloWorld.java
      class HelloWorld {
          public static void main(String[] args) {
              System.out.println("Hello, World!");
          }
      }
    ```
  </Tab>
  <Tab title="Deuxième onglet" icon="leaf">
    ✌️ Voici du contenu qui se trouve uniquement dans le deuxième onglet.

    Celui-ci a une icône <Icon icon="leaf" /> !
  </Tab>
  <Tab title="Troisième onglet">
    💪 Voici du contenu qui se trouve uniquement dans le troisième onglet.
  </Tab>
</Tabs>
````

Les onglets dont les titres correspondent restent synchronisés sur toute la page. Par exemple, si vous avez plusieurs groupes d’onglets qui incluent un titre d’onglet `JavaScript`, le fait de sélectionner `JavaScript` dans un groupe d’onglets sélectionne automatiquement `JavaScript` dans les autres. Cela permet aux utilisateurs qui choisissent un langage ou un framework une fois de voir ce choix reflété partout. Les onglets se synchronisent également avec les [groupes de code](/fr/components/code-groups) dont les titres correspondent.

Pour désactiver la synchronisation des onglets, ajoutez `sync={false}` à un composant `<Tabs>`.

```mdx title="Disable tab sync example"
<Tabs sync={false}>
  <Tab title="Premier onglet">
    Ce groupe d'onglets fonctionne de manière indépendante.
  </Tab>
  <Tab title="Deuxième onglet">
    La sélection d'onglets ici n'affectera pas les autres groupes d'onglets.
  </Tab>
</Tabs>
```

<div id="tabs-properties">
  ## Propriétés de Tabs [#propriétés-de-tabs]
</div>

Définissez ces propriétés sur le composant conteneur `<Tabs>`.

<ResponseField name="defaultTabIndex" type="number" default="0">
  L'index de l'onglet à afficher par défaut (base zéro). Par exemple, définissez-le sur `1` pour afficher le deuxième onglet au chargement de la page.
</ResponseField>

<ResponseField name="sync" type="boolean" default="true">
  Lorsque `true`, les onglets se synchronisent avec les autres onglets et groupes de code de la page dont les titres correspondent. Définissez cette valeur sur `false` pour rendre les onglets indépendants.
</ResponseField>

<ResponseField name="borderBottom" type="boolean">
  Ajoute une bordure inférieure et un padding au conteneur des onglets. Utile pour séparer visuellement le contenu présenté dans des onglets du reste de la page, en particulier lorsque les onglets contiennent un contenu de longueurs variables.
</ResponseField>

<div id="tab-properties">
  ## Propriétés de Tab [#propriétés-de-tab]
</div>

Définissez ces propriétés sur chaque composant `<Tab>` individuel.

<ResponseField name="title" type="string">
  Le titre de l'onglet. Des titres courts facilitent la navigation. Les onglets dont les titres correspondent synchronisent leurs sélections.
</ResponseField>

<ResponseField name="id" type="string">
  Un ID personnalisé pour l'onglet, utilisé pour les liens d'ancrage. S'il n'est pas fourni, la valeur par défaut est la même que `title`.
</ResponseField>

<ResponseField name="icon" type="string">
  Une icône [Font Awesome](https://fontawesome.com/icons), une icône [Lucide](https://lucide.dev/icons), une URL d'icône ou un chemin relatif vers une icône.
</ResponseField>

<ResponseField name="iconType" type="string">
  Pour les icônes Font Awesome uniquement : l'un de `regular`, `solid`, `light`, `thin`, `sharp-solid`, `duotone`, `brands`.
</ResponseField>

<ResponseField name="id" type="string">
  Un ID personnalisé pour l’onglet, utilisé pour les liens d’ancrage. S’il n’est pas fourni, la valeur par défaut est la même que `title`.
</ResponseField>

<ResponseField name="icon" type="string">
  Une icône [Font Awesome](https://fontawesome.com/icons), une icône [Lucide](https://lucide.dev/icons), une URL d’icône ou un chemin relatif vers une icône.
</ResponseField>

<ResponseField name="iconType" type="string">
  Pour les icônes Font Awesome uniquement : l’un de `regular`, `solid`, `light`, `thin`, `sharp-solid`, `duotone`, `brands`.
</ResponseField>

<ResponseField name="sync" type="boolean" default="true">
  Lorsque `true`, les onglets se synchronisent avec les autres onglets et groupes de code de la page dont les titres correspondent. Définissez cette valeur sur `false` pour rendre les onglets indépendants.
</ResponseField>

<ResponseField name="borderBottom" type="boolean">
  Ajoute une bordure inférieure et un padding au conteneur des onglets. Utile pour séparer visuellement le contenu présenté dans des onglets du reste de la page, en particulier lorsque les onglets contiennent un contenu de longueurs variables.
</ResponseField>
