> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.hodi.host/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Comment connecter mon dépôt Git ?

## GitHub

Cliquez sur **Connecter GitHub**, puis installez l'application Hodifly sur le compte ou l'organisation propriétaire de vos dépôts, en choisissant les dépôts auxquels donner accès.

Vos dépôts apparaissent ensuite automatiquement quand vous créez un nouveau projet.

## GitLab (gitlab.com et auto-hébergé)

Contrairement à GitHub, vous n'avez aucune application à installer. Voici les trois étapes pour connecter votre GitLab, qu'il soit sur gitlab.com ou que vous l'auto-hébergiez :

|| Votre GitLab auto-hébergé doit être accessible sur Internet et disposer d'un certificat SSL valide.

1. Dans GitLab, ouvrez votre projet › **Settings › Access Tokens**.
2. Créez un jeton avec le ***role* Maintainer** et le ***scope* **`api`.****
3. Dans le formulaire de nouveau projet Hodifly, choisissez **GitLab**, collez l'**URL de votre projet** (par exemple `https://gitlab.com/groupe/projet`), collez le jeton, puis cliquez sur **Valider**.

Hodifly vérifie le jeton et configure votre projet pour qu'il puisse être utilisé sur Hodifly.

### Mon jeton GitLab arrive à expiration, que se passe-t-il ?
Hodifly vous prévient par e-mail **environ 30 jours avant** l'expiration (puis à nouveau à l'approche de l'échéance, et une fois le jeton expiré), et affiche un avertissement sur le projet avec un lien **Mettre à jour le jeton**. Cliquez dessus et collez un jeton neuf. Si plusieurs projets partagent ce jeton, une seule mise à jour les renouvelle tous.

### Pourquoi le jeton GitLab a-t-il besoin de la portée `api` et du rôle Maintainer ?
Parce que Hodifly doit **créer un webhook** pour recevoir les notifications GitLab, publier les **statuts de commit** ainsi que les **liens d'aperçu de merge request** (`api`).
