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

# Migrer vers une configuration déclarative

> Passez de la configuration d’environnement classique aux blueprints déclaratifs. Devin peut effectuer l’essentiel de la migration pour vous.

La configuration déclarative (blueprints) est la nouvelle génération de configuration d’environnement : versionnée, composable et mise à jour automatiquement. Ce guide vous explique comment migrer depuis l’assistant interactif classique.

<Warning>
  La configuration d’environnement classique est en cours de dépréciation. Il y a deux dates à retenir :

  * **30 juin 2026 :** Toutes les organisations passent à la configuration déclarative (blueprints). Votre configuration classique ne sera pas supprimée, et vous pourrez y revenir.
  * **31 juillet 2026 :** Votre configuration classique de la machine restera disponible comme référence jusqu’à cette date, afin que vous puissiez vous y reporter ou y revenir pendant que vous finalisez votre migration. Après le 31 juillet, elle sera supprimée.

  Migrez avant le 30 juin 2026 pour éviter toute interruption. Les clients Enterprise qui ont besoin de plus de temps doivent contacter leur équipe de compte.
</Warning>

<div id="why-migrate">
  ## Pourquoi migrer ?
</div>

Avec l’assistant de configuration classique, l’environnement de Devin est un snapshot configuré manuellement qui peut évoluer au fil du temps. Les dépendances deviennent obsolètes, les modifications de configuration obligent à relancer l’assistant, et il n’y a aucun historique des versions. La configuration déclarative résout ces problèmes :

* **Mises à jour automatiques** : les blueprints sont reconstruits lorsque votre repo change, ce qui permet aux dépendances de rester à jour
* **Versionnée** : la configuration de votre environnement se trouve à côté de votre code, avec un historique complet
* **Composable** : les blueprints Enterprise, org et repo s’empilent proprement
* **Reproductible** : chaque build produit le même résultat à partir du même blueprint
* **Sessions plus rapides** : les snapshots sont préconstruits, avec les repos clonés et les dépendances installées, afin que les sessions soient prêtes à l’emploi dès leur démarrage

<Info>Votre configuration classique continue de fonctionner jusqu’au 30 juin 2026, puis reste disponible pour la migration jusqu’au 31 juillet 2026, et vous pouvez revenir à la configuration classique pour votre organisation d’ici là.</Info>

<div id="before-you-start">
  ## Avant de commencer
</div>

<AccordionGroup>
  <Accordion title="Vérifier que votre organisation est éligible">
    Cherchez une bannière sur la page **Machine Configuration** (la page de configuration classique) portant la mention **"Passer à la configuration déclarative de l’environnement"**. Si elle apparaît, votre organisation est éligible.

    Si vous ne voyez pas cette bannière, la configuration déclarative n’a pas encore été activée pour votre organisation. Son déploiement se fait progressivement. Contactez l’administrateur de votre entreprise ou le support.
  </Accordion>

  <Accordion title="Qui peut migrer">
    La migration nécessite les autorisations **d’administrateur de l’organisation** (`ManageOrgSettings`). Si vous n’êtes pas administrateur de l’organisation, un message « Accès administrateur requis » s’affichera sur la page de migration.
  </Accordion>

  <Accordion title="Est-ce réversible ?">
    Oui, jusqu’au 31 juillet 2026. Votre snapshot actuel est conservé, vous pouvez donc revenir avant cette date pour que votre organisation y rebascule. Après le 30 juin, toutes les organisations seront en configuration déclarative, bien que votre configuration classique de la machine reste disponible pour y revenir jusqu’au 31 juillet 2026.
  </Accordion>
</AccordionGroup>

<div id="migration-steps">
  ## Étapes de migration
</div>

<div id="1-go-to-the-migration-page">
  ### 1. Accédez à la page de migration
</div>

Accédez à **Settings > Environment migration**, ou cliquez sur **Get started** sur la bannière affichée sur la page Machine Configuration.

<div id="2-enable-declarative-configuration">
  ### 2. Activer la configuration déclarative
</div>

Cliquez sur **Activer pour l’organisation**. Cette option fait passer votre organisation à des snapshots basés sur des blueprints pour les nouvelles sessions.

<Info>Cela n’affecte pas votre snapshot existant. Il est conservé au cas où vous auriez besoin de revenir en arrière.</Info>

<div id="3-let-devin-generate-your-blueprints">
  ### 3. Laissez Devin générer vos blueprints
</div>

**Devin s’occupe du travail à votre place.**

Cliquez sur **Start migration** et sélectionnez les repos que vous souhaitez migrer en premier. Vous n’avez pas besoin de tout migrer d’un seul coup. Commencez par vos repos les plus utilisés.

Lorsque vous démarrez la migration, Devin crée **deux sessions** :

* Une **session principale** exécutée dans le nouvel environnement déclaratif, qui génère les blueprints
* Une **session auxiliaire** exécutée à partir de votre snapshot existant, que Devin utilise pour examiner ce qui est actuellement installé (versions des langages, packages système, services en cours d’exécution, etc.)

Devin analyse votre snapshot existant, identifie les outils et dépendances installés, puis génère la configuration de blueprint équivalente. Les résultats s’affichent sur votre page **Settings > Environment > Blueprints**.

<Tip>
  Votre snapshot existant est une « boîte noire » de tout ce que vous avez configuré au fil du temps. Devin inspecte ce snapshot, répertorie ce qui est installé et le consigne automatiquement sous la forme d’un blueprint reproductible.
</Tip>

<div id="4-review-and-adjust">
  ### 4. Passer en revue et ajuster
</div>

Une fois les blueprints générés par Devin :

1. Accédez à **Settings > Environment > Blueprints** pour passer en revue ce qui a été généré
2. Vérifiez l'état du build. Assurez-vous qu'il affiche **Success**.
3. Démarrez une session de test pour vérifier que tout fonctionne :
   * Vérifiez que les repos sont clonés et que les dépendances sont installées
   * Essayez d'exécuter vos commandes de lint, de test et de build
   * Vérifiez que les outils ou runtimes personnalisés sont disponibles

S'il manque quelque chose, modifiez directement le blueprint. Vous pouvez ajouter des étapes `initialize`, des commandes `maintenance` ou des entrées `knowledge`.

<div id="rolling-back">
  ## Retour en arrière
</div>

Si quelque chose ne fonctionne pas, vous pouvez revenir en arrière avant le 31 juillet 2026 :

1. Accédez à **Settings > Environment migration**
2. Cliquez sur **Revenir au mode classique**
3. Votre organisation revient immédiatement au snapshot précédent

Votre snapshot existant est entièrement préservé. Rien n’est perdu. Vous pourrez retenter la migration dès que vous serez prêt.

<Info>
  Après le 30 juin 2026, toutes les organisations utilisent une configuration déclarative, mais la configuration classique de votre machine reste disponible pour y revenir jusqu’au 31 juillet 2026, date à laquelle elle sera supprimée. Les clients Enterprise qui ont besoin de plus de temps doivent contacter l’équipe en charge de leur compte.
</Info>

<div id="mapping-classic-setup-steps-to-blueprints">
  ## Correspondance entre les étapes de configuration classiques et les blueprints
</div>

Si vous préférez rédiger votre blueprint manuellement (ou comprendre la correspondance), voici comment les étapes de l’assistant classique se traduisent :

| Étape classique de configuration | Équivalent dans un blueprint               | Remarques                                                                                                   |
| -------------------------------- | ------------------------------------------ | ----------------------------------------------------------------------------------------------------------- |
| Git pull                         | *Automatique*                              | Les blueprints gèrent automatiquement `git clone` et `git pull`                                             |
| Secrets                          | Onglet Secrets dans l’éditeur de blueprint | À configurer dans l’onglet **Secrets** de chaque éditeur de blueprint                                       |
| Installer les dépendances        | `initialize`                               | Configuration ponctuelle : environnement d’exécution, packages système, outils globaux                      |
| Gérer les dépendances            | `maintenance`                              | Commandes de dépendances exposées à l’agent au démarrage de la session : `npm install`, `pip install`, etc. |
| Lint                             | `knowledge` (`name: lint`)                 | À titre de référence uniquement, non exécuté lors des builds                                                |
| Test                             | `knowledge` (`name: test`)                 | À titre de référence uniquement, non exécuté lors des builds                                                |
| Lancer l’application             | `knowledge` (`name: dev-server`)           | À titre de référence uniquement, non exécuté lors des builds                                                |
| Notes supplémentaires            | `knowledge`                                | Entrées en texte libre pour Devin                                                                           |

<div id="example">
  ### Exemple
</div>

**Configuration classique :**

* Installer les dépendances : `nvm use 20 && npm install`
* Gérer les dépendances : `npm install`
* Lint : `npm run lint`
* Tests : `npm test`
* Lancer l’application : `npm run dev`

**Blueprint équivalent :**

```yaml theme={null}
initialize: |
  curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
  source ~/.bashrc
  nvm install 20

maintenance: |
  npm install

knowledge:
  - name: lint
    contents: npm run lint
  - name: test
    contents: npm test
  - name: dev-server
    contents: npm run dev
```

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

<AccordionGroup>
  <Accordion title="Échec du build">
    Consultez les logs de build pour identifier l’erreur précise. Causes courantes :

    * Une commande qui fonctionnait dans le terminal de configuration classique ne fonctionne pas dans le contexte de build (par ex., des invites interactives qui nécessitent des flags `-y`)
    * Des secrets manquants (assurez-vous que les secrets sont configurés dans l’onglet **Secrets** de l’éditeur de blueprint)
    * Comparez les commandes de votre blueprint à vos commandes d’origine pour repérer les différences
  </Accordion>

  <Accordion title="Dépendances manquantes dans les sessions">
    Assurez-vous que votre section `maintenance` inclut les mêmes commandes d’installation de dépendances que l’étape classique **Gérer les dépendances**. Les commandes comme `npm install` ou `pip install -r requirements.txt`
    doivent être placées dans `maintenance`, et non dans `initialize`.
  </Accordion>

  <Accordion title="Devin ne sait pas comment exécuter le lint ou les tests">
    Vérifiez que votre section `knowledge` contient des entrées nommées `lint` et `test` avec les bonnes commandes. Devin recherche ces noms lorsqu’il vérifie son travail.
  </Accordion>

  <Accordion title="Les modifications personnalisées du profil shell ne sont pas appliquées">
    Si votre configuration classique modifiait `~/.bashrc`, `~/.profile` ou un autre fichier de configuration du shell, déplacez ces modifications dans `initialize` :

    ```yaml theme={null}
    initialize: |
      echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
      echo 'export NODE_ENV=development' >> ~/.bashrc
    ```
  </Accordion>

  <Accordion title="Git pull ne fonctionne pas">
    Les blueprints exécutent automatiquement le clonage git pendant les builds. Si les repos ne sont pas clonés, vérifiez qu’ils sont ajoutés sur la page **Settings > Environment > Blueprints** et que Devin y a accès via votre intégration Git.
  </Accordion>
</AccordionGroup>

<div id="related-pages">
  ## Pages connexes
</div>

* [Configuration déclarative de l'environnement](/fr/onboard-devin/environment/blueprints)
* [Référence des blueprints](/fr/onboard-devin/environment/blueprint-reference)
* [Bibliothèque de modèles](/fr/onboard-devin/environment/templates)
