# Activation de la synchronisation GitLab

### Commencer

Dans l’espace que vous souhaitez synchroniser avec votre dépôt GitLab, rendez-vous dans le menu de l’espace en haut à droite, et sélectionnez **Synchroniser avec Git**. Dans la liste des fournisseurs, sélectionnez **GitLab Sync**, puis cliquez sur **Configurer**.

<figure><img src="https://3903131528-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNkEGS7hzeqa35sMXQZ4X%2Fuploads%2FYmaLCLRBnzEYREzUVmLR%2F10_01_25_git_sync-gitlab.svg?alt=media&#x26;token=8ded6039-4bc7-4601-8841-b6b1afe083c8" alt="A GitBook screenshot showing GitLab Sync configuration options"><figcaption><p>Options de configuration de GitLab Sync.</p></figcaption></figure>

### Générez et saisissez votre jeton d’accès API

Vous pouvez générer un jeton d’accès API dans les paramètres utilisateur de votre compte GitLab.

{% hint style="info" %}
Il existe deux types de jetons d’accès dans GitLab : Projet et Personnel. Notez que pour que l’intégration fonctionne, vous devrez utiliser un jeton Personnel, que vous pouvez générer depuis le menu des préférences utilisateur de GitLab.
{% endhint %}

Assurez-vous d’activer les accès suivants pour votre jeton :

* `api`
* `read_repository`
* `write_repository`

Si les jetons que vous créez ont également un rôle spécifique qui leur est attribué, assurez-vous aussi qu’il dispose d’un rôle `Mainteneur` ou `Admin`.

Vous pouvez ensuite coller le jeton dans le champ du jeton d’accès API lors de la configuration de votre intégration GitLab.

### Sélectionnez un dépôt et une branche

Sélectionnez le dépôt que vous souhaitez garder synchronisé avec votre contenu GitBook.

{% hint style="info" %}
**Vous ne voyez pas votre dépôt ?** Assurez-vous d’avoir défini les bonnes autorisations lors de la création de votre jeton API.
{% endhint %}

Une fois le bon dépôt sélectionné, choisissez la branche sur laquelle vous souhaitez que les commits soient poussés et synchronisés.

{% hint style="warning" %}
Pour de nombreux dépôts GitLab, la branche `main` peut être automatiquement définie comme protégée. Si c’est le cas, nous vous recommandons d’ajouter une branche spécifique pour synchroniser votre contenu. Vous pourrez ensuite fusionner cette branche dans `main` et conserver la protection en place.
{% endhint %}

### Effectuer une synchronisation initiale

Lors de la première synchronisation, vous aurez la possibilité de synchroniser dans l’une des deux directions :

1. Git<mark style="color:rouge;">**Book**</mark> -> Git**Lab** synchronisera le contenu de votre espace **vers** la branche sélectionnée. C’est idéal si vous partez d’un dépôt vide et souhaitez rapidement y ajouter votre contenu GitBook.
2. Git**Lab** -> Git<mark style="color:rouge;">**Book**</mark> synchronisera le contenu de votre espace **depuis** la branche sélectionnée. C’est idéal si vous avez déjà du contenu markdown dans un dépôt et souhaitez l’importer dans GitBook.

### Écrire et valider

Vous êtes prêt. Vous remarquerez que si votre espace était en mode [édition en direct](https://gitbook-open-v2-preview.gitbook.workers.dev/url/gitbook.com/docs/documentation/fr/collaboration/live-edits), les modifications en direct sont maintenant verrouillées. Cela permet à GitBook de synchroniser de manière fiable le contenu vers votre dépôt lorsque quelqu’un de votre équipe fusionne une[ demande de modification](https://gitbook-open-v2-preview.gitbook.workers.dev/url/gitbook.com/docs/documentation/fr/collaboration/change-requests) dans GitBook.

Lorsque vous modifiez sur GitBook, chaque fusion de demande de modification entraînera un commit sur la branche GitLab sélectionnée.

Lorsque vous validez sur GitLab, chaque commit sera synchronisé dans votre espace GitBook comme un commit d’historique.
