> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Intégration de GitHub Enterprise Server

> Connectez Devin à GitHub Enterprise Server ou à GitHub Enterprise Cloud avec résidence des données

<div id="overview">
  ## Vue d’ensemble
</div>

Devin prend en charge deux méthodes de connexion à GitHub Enterprise Server (GHES) et GitHub Enterprise Cloud (GHEC) avec résidence des données :

1. **application GitHub (recommandée)** — Enregistrez et installez une application GitHub dédiée sur votre instance GHES ou GHEC. Cette méthode offre une configuration simplifiée et ne nécessite pas de gérer de jetons d’accès personnels.
2. **Jeton d’accès personnel (PAT)** — Créez un compte de service et générez un jeton d’accès personnel avec des autorisations fines. Cette méthode fonctionne avec toutes les versions de GHES.

<Note>
  L’intégration application GitHub n’est actuellement disponible qu’en accès limité. Pour commencer, veuillez contacter votre interlocuteur Cognition.
</Note>

***

<div id="github-app-setup">
  ## Configuration de l’application GitHub
</div>

La configuration de l’application GitHub se fait en trois étapes :

1. **Enregistrement de l’application** — Enregistrez une application GitHub sur votre instance GHES ou GHEC. Vous n’avez besoin que d’**un seul enregistrement d’application par instance**.
2. **Configuration de l’application** — Configurez l’application enregistrée sur votre instance GHES ou GHEC (p. ex., rendez-la publique et désactivez l’expiration des jetons).
3. **Installation de l’application** — Installez l’application enregistrée dans chaque organisation GitHub à laquelle Devin doit accéder. Vous avez besoin d’**une installation par organisation**.

<div id="prerequisites">
  ### Prérequis
</div>

* Un utilisateur Devin disposant de l’autorisation **Gérer les autorisations Git**
* Droits de propriétaire ou d’administrateur sur l’organisation GitHub où l’application sera enregistrée

<div id="step-1-register-the-github-app">
  ### Étape 1 : Enregistrer l’application GitHub
</div>

1. Dans votre compte Devin, accédez à **Enterprise Settings** → **Intégrations** → **GitHub**.
2. Développez la section **Avancé** pour faire apparaître les options **GitHub Enterprise**.

<Frame>
  <img src="https://mintcdn.com/cognitionai-enterprise/Eif_NNHmp1Px-KLi/images/enterprise/ghes-app/ghes-advanced-section.png?fit=max&auto=format&n=Eif_NNHmp1Px-KLi&q=85&s=f3e1ea6a8b5b8992f5517ba2f5d7c22a" alt="Section avancée GitHub Enterprise" width="3840" height="1980" data-path="images/enterprise/ghes-app/ghes-advanced-section.png" />
</Frame>

3. Cliquez sur **Enregistrer l’application**.
4. Dans la fenêtre modale qui s’affiche, saisissez le **nom d’hôte** de votre instance GHES ou GHEC ainsi que l’**organisation** dans laquelle l’application sera enregistrée.

<Frame>
  <img src="https://mintcdn.com/cognitionai-enterprise/Eif_NNHmp1Px-KLi/images/enterprise/ghes-app/ghes-register-app-modal.png?fit=max&auto=format&n=Eif_NNHmp1Px-KLi&q=85&s=fd07f979ccd97d4776562da7dc71d591" alt="Fenêtre modale Enregistrer l’application" width="3840" height="1978" data-path="images/enterprise/ghes-app/ghes-register-app-modal.png" />
</Frame>

5. Vous serez redirigé vers GitHub. Cliquez sur **Enregistrer l’application** pour finaliser l’enregistrement.

<Frame>
  <img src="https://mintcdn.com/cognitionai-enterprise/Eif_NNHmp1Px-KLi/images/enterprise/ghes-app/ghes-github-register-page.png?fit=max&auto=format&n=Eif_NNHmp1Px-KLi&q=85&s=5c7eccabdfda442bd77ba97f46ba4d60" alt="Page d’enregistrement GitHub" width="3840" height="1986" data-path="images/enterprise/ghes-app/ghes-github-register-page.png" />
</Frame>

6. Une fois redirigé vers Devin, l’application GitHub est désormais enregistrée dans votre organisation GitHub.

<div id="step-2-configure-the-github-app">
  ### Étape 2 : Configurer l’application GitHub
</div>

Après l’enregistrement, configurez l’application sur votre instance GHES ou GHEC :

1. Sur votre instance GHES ou GHEC, accédez à l’organisation GitHub indiquée lors de l’enregistrement.
2. Accédez à **Settings** → **Developer Settings** → **GitHub Apps** et sélectionnez l’application Devin.

<Frame>
  <img src="https://mintcdn.com/cognitionai-enterprise/Eif_NNHmp1Px-KLi/images/enterprise/ghes-app/ghes-developer-settings-apps.png?fit=max&auto=format&n=Eif_NNHmp1Px-KLi&q=85&s=ecb51f6bd5c69af15a9baa9bbbd95fd0" alt="Developer Settings - GitHub Apps" width="3840" height="1970" data-path="images/enterprise/ghes-app/ghes-developer-settings-apps.png" />
</Frame>

3. Dans la section **Advanced**, sous **Danger zone**, cliquez sur **Make public**. Cela permet d’installer l’application dans d’autres organisations de la même instance.
4. Accédez à la section **Optional features** et désactivez **User-to-server token expiration**. Cela empêche l’expiration des jetons d’accès et évite aux utilisateurs d’avoir à réautoriser l’application régulièrement.

<Frame>
  <img src="https://mintcdn.com/cognitionai-enterprise/Eif_NNHmp1Px-KLi/images/enterprise/ghes-app/ghes-token-expiration.png?fit=max&auto=format&n=Eif_NNHmp1Px-KLi&q=85&s=1464c705255791100d0b73abe98d9cb3" alt="Paramètre User-to-server token expiration" width="3840" height="1980" data-path="images/enterprise/ghes-app/ghes-token-expiration.png" />
</Frame>

<div id="step-3-install-the-github-app">
  ### Étape 3 : Installer l’application GitHub
</div>

1. Dans votre compte Devin, accédez à **Enterprise Settings** → **Intégrations** → **GitHub**.
2. Développez la section **Avancé** et cliquez sur **Installer l’application**.
3. Dans la fenêtre modale, sélectionnez l’application GitHub enregistrée pour votre instance GHES ou GHEC.

<Frame>
  <img src="https://mintcdn.com/cognitionai-enterprise/Eif_NNHmp1Px-KLi/images/enterprise/ghes-app/ghes-install-app-modal.png?fit=max&auto=format&n=Eif_NNHmp1Px-KLi&q=85&s=aa91656d28604c82cedb3da957c9d6de" alt="Fenêtre modale Installer l’application" width="3840" height="1982" data-path="images/enterprise/ghes-app/ghes-install-app-modal.png" />
</Frame>

4. Vous serez redirigé vers GitHub, où vous pourrez choisir une organisation GitHub et sélectionner les dépôts auxquels accorder l’accès à Devin. Nous vous recommandons de donner accès à **tous les dépôts**.
5. Une fois l’installation terminée, vous serez redirigé vers Devin. Une nouvelle connexion Git apparaîtra dans **Settings** → **Intégrations** → **GitHub**.

Répétez cette étape pour chaque organisation GitHub supplémentaire que vous souhaitez connecter.

<div id="troubleshooting">
  ### Dépannage
</div>

Si vous rencontrez des problèmes lors de l’enregistrement ou de l’installation de l’application GitHub, veuillez contacter votre représentant chez Cognition ou écrire à [enterprise@cognition.ai](mailto:enterprise@cognition.ai).

***

<div id="personal-access-token-setup">
  ## Configuration du jeton d’accès personnel
</div>

L’intégration de Devin à votre environnement GitHub permet à Devin d’accéder à vos dépôts et de créer des pull requests. Cela fait de Devin un véritable collaborateur au sein de votre équipe d’ingénierie.

<div id="create-a-service-account-for-devin">
  ### **Créer un compte de service pour Devin**
</div>

1. Dans votre GitHub Enterprise, créez un nouveau compte GitHub que Devin utilisera. Il est important de le faire pour garantir que tous les accès et l’activité de Devin puissent être correctement suivis et gérés.
2. Ajoutez le compte de service nouvellement créé à toutes les organisations GitHub concernées en tant que **Membre**. Vérifiez que le compte a accès à tous les dépôts auxquels Devin est censé accéder.

<div id="generate-a-personal-access-token-for-devin">
  ### **Générer un jeton d'accès personnel pour Devin**
</div>

1. Une fois connecté au compte de service, cliquez sur la photo de profil dans le coin supérieur droit, puis cliquez sur <Icon icon="gear" iconType="regular" size="16" /> **Settings**.
2. Dans la barre latérale gauche, cliquez sur <Icon icon="code" iconType="regular" size="16" /> **Developer settings**.
3. Dans la barre latérale gauche, sous <Icon icon="key" iconType="regular" size="16" /> **Personal access tokens**, cliquez sur **Fine-grained tokens**.
4. Cliquez sur **Generate new token**.
5. Renseignez le **Token name** et la **Expiration**.\
   **Remarque :** Lorsque le jeton expire, Devin perd immédiatement tout accès à GitHub et un nouveau jeton doit être créé.
6. Sous **Resource owner**, sélectionnez la bonne organisation.

<Accordion title="Problème courant : l'organisation n'apparaît pas" icon="triangle-exclamation">
  Si vous ne voyez pas la bonne organisation sous "Resource owner", assurez-vous que l'instance Enterprise et l'organisation ont activé l'utilisation de jetons d'accès personnels à granularité fine.

  #### **Activation dans les paramètres Enterprise**

  Seuls les administrateurs Enterprise peuvent mettre à jour ces paramètres. Assurez-vous que les jetons d'accès personnels sont également activés dans les paramètres de l'organisation concernée.

  1. Dans le coin supérieur droit de GitHub Enterprise Server, cliquez sur votre photo de profil, puis cliquez sur **Enterprise settings**.
  2. En haut de la page, cliquez sur <Icon icon="scale-balanced" iconType="regular" size="16" /> **Policies**.
  3. Sous **Policies**, cliquez sur <Icon icon="key" iconType="regular" size="16" /> **Personal access tokens**.
  4. Sélectionnez l'onglet **Fine-grained tokens**.
  5. Sous **Fine-grained personal access tokens**, activez l'accès.
  6. Cliquez sur **Save**.

  #### **Activation dans les paramètres de l'organisation**

  Seuls les administrateurs d'organisation peuvent mettre à jour ces paramètres. Assurez-vous que les jetons d'accès personnels sont également activés dans les paramètres Enterprise.

  1. Dans le coin supérieur droit de GitHub, cliquez sur votre photo de profil, puis cliquez sur <Icon icon="building" iconType="regular" size="16" /> **Organizations**.
  2. À côté de l'organisation, cliquez sur **Settings**.
  3. Dans la barre latérale gauche, sous <Icon icon="key" iconType="regular" size="16" /> **Personal access tokens**, cliquez sur **Settings**.
  4. Sélectionnez l'onglet **Fine-grained tokens**.
  5. Sous **Fine-grained personal access tokens**, activez l'accès pour votre organisation.
  6. Cliquez sur **Save**.
</Accordion>

7. Sous **Repository access**, sélectionnez les dépôts avec lesquels vous souhaitez que Devin travaille. Les jetons incluent toujours un accès en lecture seule à tous les dépôts publics sur GitHub.
8. Assurez-vous que le jeton dispose des autorisations suivantes, requises pour que Devin fonctionne correctement :

| Permission    | Niveau d'accès      | Description                                                                                 |
| :------------ | :------------------ | :------------------------------------------------------------------------------------------ |
| Contents      | Lecture et écriture | Autoriser Devin à contribuer à la base de code                                              |
| Issues        | Lecture et écriture | Autoriser Devin à ouvrir de nouveaux tickets                                                |
| Metadata      | Lecture seule       | Autoriser Devin à consulter les métadonnées essentielles d'un dépôt, comme son propriétaire |
| Pull requests | Lecture et écriture | Autoriser Devin à créer de nouvelles pull requests (PR)                                     |

Des autorisations supplémentaires aideront Devin à mieux collaborer avec votre équipe en fonction du travail que vous lui demandez d'effectuer.

9. Cliquez sur **Generate Token** et enregistrez le jeton qui s'affiche.\
   **Remarque :** Une approbation d'un administrateur peut être requise selon vos paramètres GitHub.
10. Pour valider que le jeton dispose de tous les accès et autorisations nécessaires, **créez et poussez une branche de test** depuis votre machine locale vers un dépôt de l'organisation.
11. Une fois le jeton généré et testé, contactez votre interlocuteur Cognition pour finaliser le processus de configuration. Si vous ne travaillez pas actuellement directement avec notre équipe, contactez [enterprise@cognition.ai](mailto:enterprise@cognition.ai).

<div id="validating-pat-permissions-locally">
  ### **Validation locale des autorisations du PAT**
</div>

Avant de partager le jeton avec Cognition, vérifiez qu’il dispose des bonnes autorisations en poussant une branche de test :

```bash theme={null}
# Authenticate with gh CLI using your token
export GH_TOKEN=your_personal_access_token
export GH_HOST=your-github-enterprise-server.com

# Clone the repository
gh repo clone your-organization/your-repository
cd your-repository

# Create a test branch
git checkout -b test-devin-token-$(date +%s)

# Make a small change
echo "# Test" >> TEST.md
git add TEST.md
git commit -m "Test: Validate Devin token permissions"

# Push the branch (tests contents write permission)
git push origin HEAD

# Create a pull request (tests pull requests write permission)
gh pr create --title "Test : Validation des permissions du jeton Devin" \
  --body "Ceci est une PR de test pour valider les permissions du jeton." \
  --base main

# Clean up: close the test PR and delete the test branch
gh pr close pr-number --delete-branch
```

**Résultats attendus :** Le push et la création de PR doivent réussir sans erreurs d’authentification. Si le push échoue, vérifiez que le jeton dispose de l’autorisation « Contents: Read and write ». Si la création de la PR échoue, vérifiez que le jeton dispose de l’autorisation « Pull requests: Read and write ».

<div id="using-devin-with-the-github-integration">
  ## **Utiliser Devin avec l’intégration GitHub**
</div>

Maintenant que GitHub est intégré, vous pouvez configurer quelles sous-organisations Devin ont accès à chaque dépôt (voir [Autorisations de dépôt](/fr/enterprise/integrations/git-integrations#repository-permissions)).

Une fois l’intégration configurée, vous pouvez aller sur l’application web Devin et vous pouvez désormais mentionner n’importe quel dépôt dans votre prompt en utilisant @ !

Si vous utilisez un dépôt pour la première fois, nous vous recommandons de suivre le [processus de configuration de l’environnement de développement dans le parcours d’onboarding](/fr/onboard-devin/environment) afin de garantir que Devin dispose des informations les plus exactes et à jour pour travailler avec votre base de code.

<Tip>Devin répondra automatiquement à tous les commentaires de PR tant que la session n’a pas été archivée.</Tip>

<div id="security-considerations">
  ### **Considérations de sécurité**
</div>

Quelques informations supplémentaires concernant les autorisations de Devin dans GitHub :

* Nous vous recommandons d'activer les protections de branches sur `master` afin de garantir que les contrôles sont appliqués avant que Devin ne puisse fusionner des modifications.
* Si Devin est connecté au compte GitHub de votre organisation, il disposera des mêmes autorisations que tout utilisateur ayant accès aux organisations GitHub et Devin.
* Devin ne reflètera pas les autorisations de l'utilisateur qui exécute une session avec Devin : il conservera les autorisations qui lui ont été accordées au niveau de l'organisation.
* Devin ne peut pas créer de nouveaux dépôts dans votre compte GitHub.
