> ## 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 Azure DevOps

> Utilisez Devin directement dans vos dépôts Azure DevOps

<Info>
  Devin prend également en charge la connexion à Azure DevOps via un principal de service Microsoft Entra, ce qui ne nécessite pas de compte de service dédié disposant de privilèges élevés d’administrateur d’annuaire. Selon vos besoins, cette méthode peut être plus adaptée — consultez [Azure DevOps (principal de service)](/fr/enterprise/integrations/azure-devops-service-principal).
</Info>

<div id="why-integrate-devin-with-azure-devops">
  ## Pourquoi intégrer Devin à Azure DevOps ?
</div>

Intégrer Devin à votre organisation Azure DevOps permet à Devin de cloner des dépôts, de créer des pull requests (PR) et de collaborer efficacement avec votre équipe. Cette intégration permet à Devin de s’intégrer de façon transparente à votre flux de développement existant.

Contrairement à certaines autres intégrations de gestion de code source, Azure DevOps n’affiche pas les applications tierces de la même manière. Au lieu de cela, toute la gestion des connexions se fait dans Devin, sous **Enterprise Settings > Integrations**.

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

Avant de configurer l'intégration Azure DevOps, vous devez :

1. **Créer un utilisateur Azure DevOps dédié pour Devin** - Créez un nouveau compte Azure DevOps spécifiquement pour Devin (par exemple, `devin@yourcompany.com`). Ce compte de service dédié permet une gestion des accès plus simple et de meilleurs journaux d'audit.

2. **Accorder à l'utilisateur Devin un rôle d'administrateur suffisant** - Le nouveau compte de service Devin doit être en mesure d'accorder le consentement administrateur pour le tenant (Application Administrator, Cloud Application Administrator ou Global Administrator). Microsoft limite l'accès des applications tierces, sauf si un administrateur disposant de privilèges suffisants accorde un consentement au niveau du tenant.

3. **Vous préparer au flux de connexion** - Pour finaliser l'intégration, vous devrez :
   * Être connecté à **Devin** avec votre compte personnel
   * Être connecté à **Azure DevOps** avec le compte de service Devin (le nouveau compte pouvant accorder le consentement administrateur pour votre tenant)

<Note>
  Les deux sessions de navigateur doivent rester actives pendant le processus de configuration de l'intégration : votre compte Devin pour initier la connexion, et le compte de service Devin dans Azure DevOps pour autoriser le consentement OAuth.
</Note>

<div id="authentication-and-permissions">
  ## Authentification et autorisations
</div>

Devin utilise OAuth 2.0 via MSAL de Microsoft (Microsoft Authentication Library) pour se connecter à Azure DevOps. Le compte de service Devin doit être habilité à accorder le consentement administrateur pour le tenant (Application Administrator, Cloud Application Administrator ou Global Administrator) afin de mener à bien le flux d’authentification OAuth. Azure DevOps repose sur des comptes de service, donc Devin se connecte en utilisant l’identité de l’utilisateur Devin autorisé plutôt qu’une application enregistrée.

<div id="rbac-and-permission-model">
  ### Modèle RBAC et gestion des autorisations
</div>

L'intégration de Devin avec Azure DevOps repose sur un modèle strict de contrôle d'accès basé sur les rôles (RBAC) qui dissocie authentification et autorisation. Cela garantit que Devin n'accède qu'aux dépôts explicitement autorisés par les administrateurs Enterprise.

Lorsque vous connectez Azure DevOps à Devin :

1. Un enregistrement de connexion est créé, contenant le jeton d'actualisation chiffré et lié à l'identité de l'utilisateur
2. Devin génère des enregistrements d'autorisations pour définir quelles organisations, quels projets et quels dépôts sont accessibles
3. À l'exécution, des vérifications sont effectuées sur l'ensemble des dépôts et comparées à la liste des autorisations afin de garantir le respect des périmètres définis

Pour les clients Enterprise, les autorisations peuvent être répliquées d'une organisation à l'autre, et tous les accès au niveau des dépôts sont gérés via l'**interface Devin Enterprise** sous Integrations.

<div id="azure-devops-hierarchy">
  ## Hiérarchie Azure DevOps
</div>

Azure DevOps utilise une hiérarchie à trois niveaux : **Organisation > Projet > Référentiel**. Devin gère cette structure en interne et peut découvrir et interagir avec les référentiels à n'importe quel niveau, pourvu que l'utilisateur connecté dispose des autorisations nécessaires.

<div id="setting-up-the-integration">
  ## Configuration de l’intégration
</div>

1. **Connectez-vous aux deux comptes :**
   * Connectez-vous à votre compte Devin sur [app.devin.ai](https://app.devin.ai)
   * Dans un autre navigateur ou dans une fenêtre de navigation privée, connectez-vous à Azure DevOps avec le compte de service Devin (le compte pouvant accorder le consentement administrateur pour votre tenant)

2. Dans votre compte Devin Enterprise, accédez à [**Settings > Enterprise Settings > Integrations**](https://app.devin.ai/settings/integrations)

<Frame>
  <img src="https://mintcdn.com/cognitionai-enterprise/3ebez2F_BP_PSsOZ/images/enterprise/Connect-ADO.png?fit=max&auto=format&n=3ebez2F_BP_PSsOZ&q=85&s=47ef1a34aefb7078de8a85c3df00eda8" alt="Comptes Azure DevOps connectés" width="3590" height="1856" data-path="images/enterprise/Connect-ADO.png" />
</Frame>

3. Une fois sur la page Integrations, cliquez sur le bouton **Connect to Azure DevOps**.

<Frame>
  <img src="https://mintcdn.com/cognitionai-enterprise/3ebez2F_BP_PSsOZ/images/enterprise/Connect-To-ADO.png?fit=max&auto=format&n=3ebez2F_BP_PSsOZ&q=85&s=4075d3d642d3ee18d6a4adc9ca8ca18b" alt="Se connecter à Azure DevOps" width="1240" height="508" data-path="images/enterprise/Connect-To-ADO.png" />
</Frame>

4. Un nouvel onglet de navigateur s’ouvre et vous demande d’accorder à Devin l’accès à votre organisation Azure DevOps. **Assurez-vous d’être connecté avec le compte de service Devin** (le compte pouvant accorder le consentement administrateur pour votre tenant).

<Frame>
  <div style={{maxWidth: '400px', margin: '0 auto'}}>
    <img src="https://mintcdn.com/cognitionai-enterprise/JQ4gdhcxD51zUhW4/images/enterprise/ADO-Permission.png?fit=max&auto=format&n=JQ4gdhcxD51zUhW4&q=85&s=8466ae7515f4df2f1dc3f25c501af951" alt="Autorisations Azure DevOps" width="930" height="1224" data-path="images/enterprise/ADO-Permission.png" />
  </div>
</Frame>

5. Une fois les autorisations accordées, vous verrez votre intégration Azure DevOps et vos dépôts connectés à nouveau sur la page Integrations, dans les Enterprise Settings.

<Frame>
  <img src="https://mintcdn.com/cognitionai-enterprise/3ebez2F_BP_PSsOZ/images/enterprise/ADO-Org-in-Devin.png?fit=max&auto=format&n=3ebez2F_BP_PSsOZ&q=85&s=25ec108c99fbbc4027160d4d1f092035" alt="Azure DevOps intégré" width="1216" height="1118" data-path="images/enterprise/ADO-Org-in-Devin.png" />
</Frame>

6. Maintenant que Devin a accès à votre Azure DevOps, vous pouvez accorder des autorisations à n’importe quelle sous-organisation au sein de votre compte Enterprise. Pour ce faire, sélectionnez **Git Permissions** dans votre intégration Azure DevOps, choisissez une sous-organisation et accordez des autorisations soit au niveau du groupe, soit au niveau du dépôt.

<Frame>
  <img src="https://mintcdn.com/cognitionai-enterprise/3ebez2F_BP_PSsOZ/images/enterprise/ADO-git-permissions.png?fit=max&auto=format&n=3ebez2F_BP_PSsOZ&q=85&s=a7209e1948168deeed05b037afe4a3ef" alt="Autorisations Git Azure DevOps" width="2414" height="630" data-path="images/enterprise/ADO-git-permissions.png" />
</Frame>

7. Pour chaque organisation à laquelle des autorisations ont été accordées, accédez à **Devin's Settings > Devin's Machine**, cliquez sur **+ Repository** et intégrez les dépôts dans Devin's Machine.

<div id="what-devin-can-access">
  ## Ce à quoi Devin peut accéder
</div>

L'intégration Azure DevOps de Devin est axée **uniquement sur les opérations Git**, notamment :

| Fonctionnalité              | Description                                                             |
| --------------------------- | ----------------------------------------------------------------------- |
| Lister les dépôts           | Afficher les dépôts disponibles et leurs métadonnées                    |
| Consulter les branches      | Accéder aux informations sur les branches et à l'historique des commits |
| Créer des pull requests     | Ouvrir de nouvelles PR pour des modifications de code                   |
| Consulter les pull requests | Accéder aux événements, commentaires et statuts des PR                  |
| Pousser du code             | Pousser de nouvelles branches et des commits vers les dépôts            |

<div id="what-devin-cannot-access">
  ## Ce à quoi Devin n'a pas accès
</div>

L'intégration est délibérément limitée aux fonctionnalités Git uniquement. Devin **n'a pas** accès à :

* Éléments de travail (tableaux)
* Pipelines ou builds
* Plans de test
* Artefacts
* Wiki
* Connexions de service

<Note>
  Si votre organisation a besoin que Devin prenne en charge ces domaines supplémentaires à l'avenir, cela nécessitera des autorisations OAuth plus larges et une nouvelle logique côté fournisseur. Veuillez contacter [enterprise@cognition.ai](mailto:enterprise@cognition.ai) pour discuter de vos besoins.
</Note>

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

Le système est conçu selon le principe du moindre privilège :

* **OAuth fournit les capacités, le RBAC définit les limites** - OAuth accorde la capacité technique d’accéder à Azure DevOps, mais une couche supplémentaire d’autorisations Git applique les véritables limites d’accès
* **Accès explicite uniquement** - Devin n’accède jamais à des dépôts ou des projets qui ne lui ont pas été explicitement accordés dans l’interface Enterprise
* **Identifiants chiffrés** - Tous les jetons de rafraîchissement sont chiffrés et stockés de manière sécurisée
* **Piste d’audit** - L’utilisation d’un compte de service dédié facilite le suivi de l’activité de Devin dans vos journaux d’audit Azure DevOps
* **Stratégies de branche respectées** - Les PR de Devin sont soumises aux mêmes stratégies de branche et exigences de revue que celles de tout autre contributeur

<div id="best-practices">
  ## Bonnes pratiques
</div>

* **Utiliser le compte de service Devin dédié** - Utilisez toujours le compte Azure DevOps dédié créé pour Devin plutôt que de vous connecter avec un compte personnel.
* **Activer les stratégies de branche** - Configurez des stratégies de branche dans Azure DevOps pour garantir que toutes les modifications suivent un processus de revue approprié avant d’être fusionnées.
* **Utiliser des autorisations au niveau du dépôt** - Accordez à Devin l’accès uniquement aux dépôts spécifiques dont il a besoin, plutôt qu’un accès à l’ensemble de l’organisation.
* **Surveiller les journaux d’accès** - Examinez régulièrement les journaux d’audit d’Azure DevOps pour suivre l’activité de Devin.
* **Documenter votre configuration** - Conservez une documentation interne indiquant à quels dépôts Devin a accès et pour quels motifs.

<Tip>
  Nous vous recommandons de configurer des stratégies de branche dans Azure DevOps pour garantir que toutes les modifications suivent un processus de revue approprié avant d’être fusionnées.
</Tip>

<Note>
  Si votre Microsoft Entra ID est intégré au HRIS (Human Resources Information System) de votre organisation, des étapes de configuration supplémentaires peuvent être nécessaires pour finaliser l’intégration à Azure DevOps. Veuillez contacter [l’équipe d’assistance Devin](mailto:enterprise@cognition.ai) pour obtenir de l’aide sur la configuration avancée.
</Note>

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

**Le consentement OAuth échoue :**

* Vérifiez que le compte de service Devin peut accorder le consentement administrateur pour le tenant (nécessite le rôle Application Administrator, Cloud Application Administrator ou Global Administrator)
* Vérifiez que votre tenant Microsoft Entra ID autorise le consentement aux applications tierces
* Assurez-vous que vous êtes connecté à Azure DevOps avec le compte de service Devin (et non votre compte personnel) lors de la finalisation du flux OAuth

**Devin ne voit pas mes dépôts :**

* Vérifiez que le compte de service Devin a accès aux dépôts dans Azure DevOps
* Vérifiez que les autorisations sur les dépôts ont été accordées dans les Enterprise Settings de Devin
* Assurez-vous que les dépôts ont été ajoutés à la Devin's Machine

**La création de pull request (PR) échoue :**

* Confirmez que le compte de service Devin dispose des autorisations de contributeur sur le dépôt cible
* Vérifiez que les stratégies de branche ne bloquent pas la création de la PR
* Vérifiez que la branche cible existe et est accessible

<div id="network-setup">
  ## Configuration réseau
</div>

Si le filtrage IP est activé sur votre instance Azure DevOps, vous devrez ajouter les adresses IP de Devin à la liste d’autorisation.

Pour consulter la liste la plus récente, reportez-vous à notre [documentation sur la mise sur liste d’autorisation des adresses IP](/fr/admin/common-issues#ip-whitelisting).
