# Monorepos

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

GitBook peut synchroniser plusieurs répertoires du même dépôt avec plusieurs espaces. Lorsque vous activez Git Sync sur un espace, vous pouvez configurer un « répertoire du projet ». Il sera utilisé pour rechercher le `.gitbook.yaml` fichier du répertoire à synchroniser avec cet espace.

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, 3 espaces peuvent être créés sur GitBook et configurés avec différents répertoires racine :

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

L’option « Répertoire du projet » au niveau de Git Sync diffère du [`root` option](https://gitbook-v2-q67etdj25-gitbook.vercel.app/url/gitbook.com/docs/documentation/fr/getting-started/content-configuration#root) dans le menu `.gitbook.yaml` fichier de configuration. Le premier est utilisé pour rechercher `.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 limitée à ce répertoire.

## 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 un seul espace, puis avez décidé de passer à un monorepo avec plusieurs espaces s’y synchronisant ; ou vous devrez peut-être 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 que lors de la prochaine synchronisation (modification effectuée sur GitBook ou nouveau commit dans le dépôt Git).

#### **Si la prochaine opération 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 un espace vide sans contenu.

Nous recommandons que la prochaine opération 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 la prochaine opération 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 (dans la mesure du possible) ; cela peut provoquer des effets secondaires si d’autres parties de votre système dépendent de ces fichiers.
