> 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/getting-started/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. Lorsque vous activez 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 de 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 dans 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 l’ [`root` option](/docs/documentation/fr/getting-started/git-sync/content-configuration.md#root) dans le `.gitbook.yaml` de configuration du fichier. `.gitbook.yaml` lui-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 appliquée à ce répertoire.

### Comment fonctionnent les répertoires et les ressources dans les dépôts à plusieurs sections

Chaque section synchronisée a son propre **répertoire du projet**README/SUMMARY. `.gitbook.yaml` README/SUMMARY `root`, `README.md`, `SUMMARY.md`pages

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 d’ailleurs dans le dépôt et ne les réutilise pas.

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

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 qu’elle 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 souhaitée. 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 `root` est résolu à l’intérieur du périmètre synchronisé d’une section, voir [Configuration du contenu](/docs/documentation/fr/getting-started/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 le 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 qui s’y synchronisent ; ou vous pourriez avoir besoin de renommer le répertoire du projet.

Modifier le répertoire du projet sur un Git Sync existant peut avoir un impact inattendu sur le contenu ; le changement ne sera propagé qu’à la prochaine synchronisation (modification effectuée dans 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`, et 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, ne vous attendez pas à ce 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 (au mieux) ; cela peut entraîner 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/getting-started/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.
