> 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/documentation-as-code/git-sync/monorepos.md).

# Monorepos

GitBook prend en charge les monorepos. Un monorepo est un dépôt qui contient plus d’un projet logique (par ex. un client iOS et une application web).

GitBook peut synchroniser plusieurs répertoires du même dépôt avec plusieurs sections. Lors de l’activation de Git Sync sur une section, vous pouvez configurer un « Répertoire du projet ». Il sera utilisé pour rechercher le `.gitbook.yaml` fichier du répertoire à synchroniser avec cette section.

Exemple de structure d’un dépôt :

```
/
  package.json
  packages/
     styleguide/
        .gitbook.yaml
        README.md
        SUMMARY.md
     app/
        README.md
        SUMMARY.md
     api/
        .gitbook.yaml
        README.md
        SUMMARY.md
```

Dans cet exemple, trois sections peuvent être créées sur GitBook et configurées avec différents répertoires du projet :

* `packages/styleguide`
* `packages/app`
* `packages/api`

L’option « Répertoire du projet » au niveau de Git Sync diffère de la [`racine` option](/docs/documentation/fr/documentation-as-code/git-sync/content-configuration.md#root) dans le `.gitbook.yaml` fichier de configuration. La première est utilisée pour rechercher `.gitbook.yaml` elle-même, puis les deux sont combinés pour rechercher le reste des fichiers dans le répertoire. Si aucun `.gitbook.yaml` n’existe dans le « Répertoire du projet », la synchronisation utilisera la configuration par défaut propre à ce répertoire.

### Fonctionnement des répertoires et des ressources dans les dépôts à plusieurs sections

Chaque section synchronisée possède son propre **Répertoire de projet**. GitBook lit le `.gitbook.yaml` depuis le répertoire du projet configuré. Il résout ensuite `racine`, `README.md`, `SUMMARY.md`, les fichiers Markdown et les chemins des ressources à partir du périmètre synchronisé de cette section.

Dans un monorepo, chaque section synchronisée est limitée à son propre répertoire et à ses propres fichiers. Une section différente synchronisée depuis un autre répertoire n’hérite pas automatiquement des fichiers provenant d’ailleurs dans le dépôt, ni ne les réutilise.

Les ressources suivent la même règle. Un dossier `.gitbook/assets` au niveau du dépôt n’est pas partagé automatiquement entre les sections si celles-ci utilisent des répertoires du projet différents.

Si plusieurs sections ont besoin des mêmes fichiers, utilisez l’un de ces modèles :

* Placez les ressources à l’intérieur du répertoire de chaque section.
* Réorganisez le dépôt de sorte que le périmètre synchronisé de chaque section contienne les ressources auxquelles elle fait référence.

Lorsque vous configurez une nouvelle section dans un monorepo, créez d’abord dans le dépôt la structure de répertoires que vous souhaitez. GitBook n’infère pas pour vous une disposition partagée à plusieurs sections et ne crée pas de zone de ressources partagée.

Pour plus de détails sur la façon dont `racine` est résolu à l’intérieur du périmètre synchronisé d’une section, voir [Configuration du contenu](/docs/documentation/fr/documentation-as-code/git-sync/content-configuration.md#root).

Voici un exemple concret :

```
/
  packages/
    docs-en/
      .gitbook.yaml
      README.md
      SUMMARY.md
      .gitbook/
        assets/
          logo.png
    docs-fr/
      .gitbook.yaml
      README.md
      SUMMARY.md
      .gitbook/
        assets/
          logo.png
```

Dans ce dépôt, `packages/docs-en` et `packages/docs-fr` sont deux sections synchronisées distinctes. Un fichier référencé depuis `packages/docs-en/.gitbook/assets/logo.png` n’est pas automatiquement disponible pour la section synchronisée depuis `packages/docs-fr`.

## Mise à jour du répertoire du projet <a href="#updating" id="updating"></a>

{% hint style="info" %}
Dans la plupart des cas, nous recommandons l’étape suivante pour mettre à jour le répertoire du projet :

1. Désactiver le Git Sync existant
2. Déplacer les fichiers du dépôt Git vers le répertoire du projet
3. Reconfigurer Git Sync avec le nouveau répertoire du projet
   {% endhint %}

Dans certains cas, vous avez peut-être commencé avec un dépôt classique synchronisé avec une seule section, puis décidé de passer à un monorepo avec plusieurs sections synchronisées avec lui ; ou peut-être devez-vous renommer le répertoire du projet.

Modifier le répertoire du projet d’un Git Sync existant peut avoir un impact inattendu sur le contenu ; la modification ne sera propagée qu’à la synchronisation suivante (modification effectuée sur GitBook ou nouveau commit dans le dépôt Git).

GitBook s’attend à ce que tous les fichiers liés à GitBook pour cette section existent à l’intérieur du répertoire du projet configuré. Cela inclut les fichiers Markdown, `README.md`, `SUMMARY.md`, ainsi que toutes les ressources utilisées par cette section.

#### **Si l’opération suivante est une importation depuis le dépôt Git**:

GitBook s’attendra à trouver les pages et les fichiers dans le répertoire du projet. Si les fichiers n’ont pas déjà été déplacés dans le répertoire du projet du dépôt, le résultat de la synchronisation sera une section vide, sans contenu.

Nous recommandons que l’opération suivante soit un commit déplaçant tous les fichiers liés à GitBook (fichiers Markdown, README/SUMMARY et ressources) dans le dépôt vers leur nouvel emplacement correct, dans le répertoire du projet. Si des ressources restent en dehors du nouveau répertoire du projet, n’attendez pas qu’elles soient résolues pour cette section.

**Si l’opération suivante est une exportation de GitBook vers le dépôt Git**:

GitBook générera ou mettra à jour de nouveaux fichiers dans le nouveau répertoire du projet. Les fichiers synchronisés avec GitBook seront déplacés vers le nouveau répertoire du projet (du mieux possible) ; cela peut avoir des effets secondaires si d’autres parties de votre système dépendent de ces fichiers.


---

# 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/documentation-as-code/git-sync/monorepos.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.
