> 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/la-documentation-comme-code/git-sync/content-configuration.md).

# Configuration du contenu

Configurez Git Sync par le code

Git Sync utilise trois fichiers. Choisissez le fichier qui contrôle la partie de Git Sync dont vous avez besoin :

* `gitbook-docs.yaml` configure le site et associe les espaces aux répertoires du dépôt.
* `.gitbook.yaml` configure la manière dont GitBook lit le contenu d’un espace.
* `SUMMARY.md` définit la navigation d’un espace.

### Configurez le site avec gitbook-docs.yaml

`gitbook-docs.yaml` configure l’ensemble du site. Il se trouve dans le répertoire du projet Git Sync. GitBook utilise la racine du dépôt lorsque vous ne définissez pas de **répertoire du projet**.

Utilisez `gitbook-docs.yaml` pour définir la structure de votre site et associer chaque espace à un répertoire. Chaque élément dans `site.structure` a une `clé`. Le `content.directory` définit son répertoire de dépôt. Si un espace d’un site ne se synchronise pas avec le dépôt du site, son `content.directory` est `null`.

#### Les clés identifient vos espaces

Git Sync reconnaît chaque espace et section grâce à sa `clé`, et non par son titre, son chemin ou son répertoire. La clé est la manière dont GitBook associe une entrée dans `gitbook-docs.yaml` au contenu existant d’une synchronisation à la suivante.

{% hint style="danger" %}
**Modifier la clé d’un espace `clé` remplace cet espace.** GitBook considère l’ancienne clé comme supprimée et la nouvelle clé comme un nouvel espace. Il crée un nouvel espace, y importe votre contenu depuis le répertoire associé, et laisse l’espace d’origine dans votre organisation, détaché du site.

Vos pages réapparaissent, mais dans un nouvel espace avec un nouvel ID d’espace. Les liens, cartes et appels d’API qui font référence à l’ancien ID ne se résolvent plus, et tout ce qui existe uniquement dans GitBook plutôt que dans votre dépôt reste dans l’espace d’origine.

Restaurer la clé d’origine n’annule pas cela. Cela crée un autre nouvel espace et y importe le contenu.
{% endhint %}

Vous pouvez choisir librement les clés lors de la création initiale d’une entrée, et GitBook les génère pour vous lors de l’enregistrement du mappage du contenu du site. Une fois qu’un espace est en ligne, considérez sa clé comme permanente :

* Pour renommer un espace, modifiez son `titre`. La clé reste la même.
* Pour changer l’URL d’un espace, modifiez son `chemin`. La clé reste la même.

Cet exemple associe les espaces anglais et français à des répertoires distincts :

{% code title="gitbook-docs.yaml" expandable="true" %}

```yaml
$schema: https://api.gitbook.com/gitbook-docs.yaml
site:
  title: Documentation
  structure:
    - type: section
      key: documentation
      title: Documentation
      path: documentation
      children:
        - type: space
          key: docs-en
          title: Anglais
          path: docs
          default: true
          content:
            directory: ./docs/en
            language: en
        - type: space
          key: docs-fr
          title: Français
          path: fr
          content:
            directory: ./docs/fr
            language: fr
```

{% endcode %}

<details>

<summary>Configurez des propriétés supplémentaires du site</summary>

Utilisez ces propriétés facultatives pour affiner la structure de votre site :

| Propriété              | À utiliser pour                                                          |
| ---------------------- | ------------------------------------------------------------------------ |
| `type: section-group`  | Regrouper des sections liées sous un même titre de navigation.           |
| `description`          | Ajouter une description à une section.                                   |
| `icon`                 | Ajouter une icône à une section ou à un groupe de sections.              |
| `localizedTitle`       | Traduire le titre d’une section, d’un groupe de sections ou d’un espace. |
| `localizedDescription` | Traduire la description d’une section.                                   |
| `hidden`               | Masquer un espace de la navigation du site.                              |

GitBook crée ou met à jour `gitbook-docs.yaml` lorsqu’il enregistre le mappage du contenu du site.

</details>

### Configurez un espace avec .gitbook.yaml

`.gitbook.yaml` configure un seul espace. Il se trouve dans le répertoire associé de cet espace. Utilisez-le pour définir la racine du contenu, la première page, le fichier de navigation et les redirections.

Les principaux réglages sont :

* `root` définit le répertoire que GitBook lit. La valeur par défaut est `./`.
* `structure.readme` définit la première page. La valeur par défaut est `README.md`.
* `structure.summary` définit le fichier de navigation. La valeur par défaut est `SUMMARY.md`.
* `redirects` associe les anciens chemins aux nouveaux chemins au sein de l’espace.

Voici une configuration typique :

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

```yaml
root: ./

structure:
  readme: README.md
  summary: SUMMARY.md

redirects:
  previous/page: new-folder/page.md
```

{% endcode %}

#### Définissez la racine du contenu

Définissez `root` lorsque le contenu d’un espace se trouve dans un sous-répertoire :

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

```yaml
root: ./docs/
```

{% endcode %}

{% hint style="warning" %}
Les chemins dans `.gitbook.yaml` sont relatifs à `root`. Avec `root: ./docs/`, `structure.summary: ./product/SUMMARY.md` se résout en `./docs/product/SUMMARY.md`.
{% endhint %}

Dans un monorepo, `root` ne s’applique qu’à l’intérieur du répertoire d’espace associé. Cela ne rend pas les répertoires frères accessibles. Pour les configurations de dépôt multi-espaces, voir [Monorepos](/docs/documentation/fr/la-documentation-comme-code/git-sync/monorepos.md).

#### Définissez la première page et le fichier de navigation

Utilisez `structure.readme` et `structure.summary` pour définir des chemins de fichiers personnalisés :

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

```yaml
structure:
  readme: ./product/README.md
  summary: ./product/SUMMARY.md
```

{% endcode %}

{% hint style="warning" %}
Lorsque Git Sync est activé, gérez `README.md` les fichiers dans votre dépôt. Les modifier dans GitBook peut créer des conflits ou des pages en double.
{% endhint %}

#### Configurez les redirections

Configurez les redirections au niveau de l’espace dans `.gitbook.yaml`. Les chemins de redirection ne s’appliquent qu’au sein de cet espace.

Vous pouvez également gérer les redirections au niveau du site dans l’application GitBook. Voir [Redirections du site](/docs/documentation/fr/publier/site-redirects.md).

### Configurez la navigation avec SUMMARY.md

`SUMMARY.md` définit la table des matières d’un espace. GitBook le recherche dans le `root` répertoire configuré.

Si GitBook ne trouve pas `SUMMARY.md`, il déduit la navigation à partir de vos dossiers et fichiers Markdown. GitBook crée ou met à jour `SUMMARY.md` lorsque vous modifiez la navigation dans GitBook.

Utilisez des titres pour les groupes de pages et des liens imbriqués pour les pages enfants :

{% code title="SUMMARY.md" %}

```markdown
# Résumé

## Produit

* [Aperçu](README.md)
  * [Prise en main](getting-started.md)
  * [Configuration](configuration.md)

## Référence

* [Référence de l’API](api.md)
```

{% endcode %}

Chaque fichier Markdown ne peut apparaître qu’une seule fois dans `SUMMARY.md`. Une page ne peut avoir qu’une seule URL dans un espace.

#### Définissez les libellés de navigation

Ajoutez un titre de lien de page lorsque le libellé de navigation diffère du titre de la page :

{% code title="SUMMARY.md" %}

```markdown
# Résumé

* [Titre principal de la page](page.md "Libellé de navigation")
```

{% endcode %}

GitBook utilise le titre du lien de page dans la barre latérale, la pagination et les liens relatifs. Sans celui-ci, GitBook utilise le titre de la page.


---

# 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/la-documentation-comme-code/git-sync/content-configuration.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.
