> ## 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.

# Votre première session

> Lancez votre première session et voyez ce que Devin peut faire

export const PromptBlock = ({children, type, agent, intent, playbookId}) => {
  var utm = 'utm_source=docs&utm_medium=use-case-gallery&utm_campaign=prompt-block';
  var tag = 'docs-use-case-gallery';
  var agentParams = (agent ? '&agent=' + agent : '') + (intent ? '&intent=' + intent : '') + (playbookId ? '&playbookId=' + playbookId : '');
  var label = type === 'schedule' ? 'Schedule in Devin' : type === 'playbook' ? 'Create Playbook' : type === 'knowledge' ? 'Add to Knowledge' : agent === 'advanced' ? 'Try in Devin' : agent === 'dana' ? 'Try in Dana' : agent === 'ada' ? 'Try in Ask Devin' : 'Try in Devin';
  var buildUrl = function (text) {
    var encoded = encodeURIComponent(text);
    if (type === 'schedule') return 'https://app.devin.ai/settings/schedules/create?' + utm + agentParams + '&prompt=' + encoded;
    if (type === 'playbook') return 'https://app.devin.ai/settings/playbooks/create?' + utm + '&body=' + encoded;
    if (type === 'knowledge') return 'https://app.devin.ai/knowledge?' + utm + '&body=' + encoded;
    if (agent === 'ada') return 'https://app.devin.ai/search?' + utm + '&noSubmit=true&prompt=' + encoded;
    return 'https://app.devin.ai/?tags=' + tag + '&' + utm + agentParams + '&prompt=' + encoded;
  };
  const ref = React.useRef(null);
  const [href, setHref] = React.useState('#');
  React.useEffect(() => {
    if (!ref.current) return;
    var codeEl = ref.current.querySelector('pre code');
    if (codeEl) {
      var text = codeEl.textContent.trim();
      if (text) setHref(buildUrl(text));
    }
    var header = ref.current.querySelector('[data-component-part="code-block-header"]');
    if (header && !header.querySelector('.prompt-block-devin-link')) {
      var link = document.createElement('a');
      link.href = href;
      link.target = '_blank';
      link.rel = 'noopener noreferrer';
      link.className = 'prompt-block-devin-link';
      link.style.cssText = 'display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:#fff;font-size:11px;font-weight:500;padding:4px 10px;border-radius:6px;white-space:nowrap;background:#317CFF;transition:background 0.2s;margin-left:8px;';
      link.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg> ' + label;
      link.onmouseenter = function () {
        link.style.background = '#2968D9';
      };
      link.onmouseleave = function () {
        link.style.background = '#317CFF';
      };
      header.appendChild(link);
    }
    var existingLink = ref.current.querySelector('.prompt-block-devin-link');
    if (existingLink && href !== '#') existingLink.href = href;
  });
  return <div className="prompt-block" ref={ref}>{children}</div>;
};

<Note>
  Avant de démarrer votre première session, assurez-vous d'avoir [indexé](/fr/onboard-devin/index-repo) et [configuré](/fr/onboard-devin/environment) vos dépôts. Ce sont des étapes essentielles qui aident Devin à comprendre et à travailler avec votre base de code.
</Note>

Maintenant que tout est configuré, lancez votre première session Devin ! Ce guide vous présentera la nouvelle interface de session et vous aidera à comprendre les meilleures façons d’interagir avec Devin.

<Tip>
  Vous préférez travailler depuis votre terminal ? [Devin CLI](/fr/cli) vous permet de démarrer des sessions directement en ligne de commande. Installez-le en 2 minutes avec `curl -fsSL https://cli.devin.ai/install.sh | bash`.
</Tip>

<div id="understanding-the-devin-session-page">
  ## Comprendre la page de session de Devin
</div>

Lorsque vous démarrez une nouvelle session, vous verrez deux modes principaux : **Ask** et **Agent**.

<Note>
  À moins que vous n'ayez déjà un plan entièrement défini, nous vous recommandons de commencer par le mode Ask pour travailler avec Devin à l’élaboration d’un plan, puis de passer au mode Agent pour le mettre en œuvre.
</Note>

<div id="ask-mode">
  ### Mode Ask
</div>

**Ask Devin** est un mode léger pour explorer votre base de code et planifier des tâches avec Devin, sans modifier le code lui-même. Ask Devin prend désormais en charge à la fois les questions et la planification :

* **Poser des questions** sur le fonctionnement de votre code. Utilise une recherche de code avancée pour fournir des réponses détaillées, précises et bien référencées.
* **Planifier des tâches** en définissant le périmètre et en planifiant le travail avant l’implémentation. Devin génère des prompts riches en contexte pour les sessions Agent.

Lorsque vous lancez une session Devin depuis Ask Devin, le statut de la session est visible directement dans la conversation.

<Frame>
  <img src="https://mintcdn.com/cognitionai-enterprise/F5oUw1qMUFyqdYvx/images/get-started/ada-main-page.png?fit=max&auto=format&n=F5oUw1qMUFyqdYvx&q=85&s=4322113b3a37d34381ed9ce3643ce361" alt="Ask Mode" width="2758" height="1448" data-path="images/get-started/ada-main-page.png" />
</Frame>

<div id="triggering-ask-mode">
  #### Activer le mode Ask
</div>

Vous pouvez activer le mode Ask depuis la page principale ou depuis une page DeepWiki.

Pour utiliser le mode Ask depuis la page principale, basculez en mode Ask et sélectionnez le ou les dépôts sur lesquels vous voulez poser des questions.

<Frame>
  <img src="https://mintcdn.com/cognitionai-enterprise/F5oUw1qMUFyqdYvx/images/get-started/ada-session-page-entry.png?fit=max&auto=format&n=F5oUw1qMUFyqdYvx&q=85&s=419e52527134041c36d32968bd89cc70" alt="Ask Mode from Main Page" width="2758" height="1448" data-path="images/get-started/ada-session-page-entry.png" />
</Frame>

Pour utiliser le mode Ask depuis une page DeepWiki, saisissez une question dans la zone de saisie du chat en bas de la page et cliquez sur Ask. Cela limitera automatiquement les connaissances de Devin à ce dépôt spécifique.

<Frame>
  <img src="https://mintcdn.com/cognitionai-enterprise/F5oUw1qMUFyqdYvx/images/get-started/ada-deepwiki-entry.png?fit=max&auto=format&n=F5oUw1qMUFyqdYvx&q=85&s=8c6b34541551d6f6d879d75c1ae3b719" alt="Ask Mode from DeepWiki" width="2878" height="1471" data-path="images/get-started/ada-deepwiki-entry.png" />
</Frame>

Pour en savoir plus, consultez notre [guide Ask Devin](/fr/work-with-devin/ask-devin).

Une fois que vous avez travaillé avec Devin pour comprendre le problème et établir un plan, vous êtes prêt à passer en mode Agent.

<div id="agent-mode">
  ### Mode Agent
</div>

Le mode Agent est le mode d’autonomie complète de Devin, dans lequel il peut écrire du code, exécuter des commandes, naviguer sur le Web et réaliser des tâches complexes de bout en bout. Utilisez le mode Agent lorsque vous êtes prêt à :

* Implémenter des fonctionnalités ou corriger des bugs
* Créer des pull requests
* Exécuter des tests et déboguer des problèmes
* Effectuer des tâches en plusieurs étapes nécessitant des modifications de code

<div id="triggering-agent-mode">
  #### Déclencher le mode Agent
</div>

Vous pouvez déclencher le mode Agent depuis la page principale ou depuis une session Ask Devin. Lorsque vous démarrez une session depuis Ask Devin, son statut est affiché dans la conversation Ask Devin afin que vous puissiez en suivre l'avancement.

Pour les tâches qui ne sont pas entièrement définies, nous recommandons :

* Commencez par le **mode Ask** pour planifier la tâche
* **Créez un Devin Prompt**, qui s'appuiera sur votre session Ask pour créer un plan cadré
* Cliquez sur **Send to Devin** pour passer en mode Agent et exécuter la tâche

Ce processus est illustré ci-dessous :

<Frame>
  <img src="https://mintcdn.com/cognitionai-enterprise/o-vVqnQzugDuTQBr/images/get-started/ada-to-agent.gif?s=7b6553fa3595bf3d6382c6657e3e5adb" alt="Ask Mode to Agent Mode" width="800" height="541" data-path="images/get-started/ada-to-agent.gif" />
</Frame>

Pour utiliser le mode Agent depuis la page principale, activez le mode Agent et sélectionnez le ou les dépôts avec lesquels vous voulez travailler.

<Frame>
  <img src="https://mintcdn.com/cognitionai-enterprise/F5oUw1qMUFyqdYvx/images/get-started/agent-mode.png?fit=max&auto=format&n=F5oUw1qMUFyqdYvx&q=85&s=730174eadb0bbd98f231b9ace8ce7a8d" alt="Agent Mode" width="2660" height="1431" data-path="images/get-started/agent-mode.png" />
</Frame>

Lorsque vous démarrez une session Agent, vous configurez quelques options : la sélection d'un dépôt et la sélection d'un Agent.

<div id="selecting-a-repository">
  #### Sélection d’un dépôt
</div>

Sélectionnez le dépôt avec lequel vous souhaitez que Devin travaille. Cliquez sur le sélecteur de dépôt pour voir tous les dépôts qui ont été [ajoutés à la machine de Devin](/fr/onboard-devin/environment).

<Frame>
  <img src="https://mintcdn.com/cognitionai-enterprise/F5oUw1qMUFyqdYvx/images/get-started/repo-selector.png?fit=max&auto=format&n=F5oUw1qMUFyqdYvx&q=85&s=3b61fbcd38b6aaf1c82984afeb481afa" alt="Sélecteur de dépôt" width="2004" height="1094" data-path="images/get-started/repo-selector.png" />
</Frame>

Lorsque vous sélectionnez un dépôt, Devin :

* A accès à votre base de code et peut la modifier
* Utilise la bonne branche comme point de départ
* Peut créer des pull requests vers le dépôt approprié

<div id="selecting-an-agent">
  #### Sélection d’un agent
</div>

Vous pouvez choisir la configuration d’agent que Devin utilise pour votre session. Différents agents peuvent avoir des capacités différentes ou être optimisés pour des types de tâches spécifiques.

Les agents disponibles incluent :

* **Devin** (par défaut) — Un ingénieur logiciel IA généraliste pour développer des fonctionnalités, corriger des bugs, refactoriser du code et effectuer la plupart des tâches de développement.
* **Fast Mode** — Un mode optimisé pour les tâches rapides et bien définies en termes de périmètre.
* **[Dana](/fr/work-with-devin/data-analyst)** — Un agent analyste de données optimisé pour interroger des bases de données, analyser des données et créer des visualisations.

<Frame>
  <img src="https://mintcdn.com/cognitionai-enterprise/F5oUw1qMUFyqdYvx/images/get-started/agent-selector.png?fit=max&auto=format&n=F5oUw1qMUFyqdYvx&q=85&s=f2b6da8aa45e29b237e8ef0ea0cfbef8" alt="Sélecteur d’agent" width="2046" height="908" data-path="images/get-started/agent-selector.png" />
</Frame>

<Tip>
  Si vous ne savez pas quel agent utiliser, l’agent Devin par défaut fonctionne bien pour la plupart des tâches.
</Tip>

<div id="using-mentions">
  ## Utiliser les mentions @
</div>

Utilisez les mentions `@` pour donner à Devin un contexte précis sur des fichiers, des dépôts ou d'autres ressources. Lorsque vous tapez `@` dans la zone de saisie du chat, vous verrez un menu déroulant des mentions disponibles :

* **@Repos** - Faire référence à un dépôt spécifique
* **@Files** - Faire référence à un fichier spécifique dans votre base de code
* **[@Macros](/fr/product-guides/knowledge)** - Faire référence à une macro pour une entrée Knowledge
* **[@Playbooks](/fr/product-guides/creating-playbooks)** - Faire référence à un playbook d'équipe ou de communauté, c'est-à-dire des modèles de prompt détaillés qui peuvent être utilisés pour guider le comportement de Devin
* **[@Skills](/fr/product-guides/skills)** - Faire référence à une skill définie dans votre dépôt (procédures réutilisables enregistrées dans des fichiers `SKILL.md`)
* **[@Secrets](/fr/product-guides/secrets)** - Faire référence à un secret spécifique (par ex. des clés API, des identifiants, etc.) provenant du gestionnaire de session de Devin
* **@Sessions** - Faire référence à une session précédente de Devin pour le contexte

<Frame>
  <img src="https://mintcdn.com/cognitionai-enterprise/F5oUw1qMUFyqdYvx/images/get-started/at-mention.png?fit=max&auto=format&n=F5oUw1qMUFyqdYvx&q=85&s=dbcade626b2b560f9dbf90589b27a6b8" alt="At Mentions" width="1860" height="1104" data-path="images/get-started/at-mention.png" />
</Frame>

Les mentions @ aident Devin à comprendre exactement sur quoi vous travaillez et à réduire l'ambiguïté dans vos prompts.

<div id="scoping-your-first-session">
  ## Définir le périmètre de votre première session
</div>

Commencez par des tâches qui ont **des critères de réussite clairs** et **fournissent à Devin le contexte dont il a besoin** — comme vous le feriez en confiant du travail à un membre de votre équipe. À mesure que vous prenez vos marques, essayez des tâches de plus en plus complexes. Nous avons vu des utilisateurs travailler avec Devin sur tout, des corrections de petits bugs aux refactorings ciblés, jusqu’aux migrations à grande échelle et à la création de fonctionnalités complètes à partir de zéro.

<Tip>
  En règle générale, si une tâche vous prend trois heures ou moins, Devin peut très probablement la réaliser. Pour les projets plus importants, découpez-les en sessions ciblées et exécutez-les en parallèle avec des [Devins managés](/fr/work-with-devin/advanced-capabilities#managed-devins).
</Tip>

<div id="first-time-prompt-ideas">
  ## Idées de prompts pour une première utilisation
</div>

<AccordionGroup>
  <Accordion title="Ajout d’un nouveau point de terminaison d’API" icon="code-pull-request">
    <PromptBlock>
      ```Adding a new API endpoint theme={null}
      Créez un nouvel endpoint /users/stats qui renvoie un objet JSON avec le nombre d'utilisateurs et l'âge moyen à l'inscription. 

      Utilisez notre table users déjà existante dans PostgreSQL. 

      Vous pouvez vous référer à l'endpoint /orders/stats dans statsController.js pour comprendre comment nous structurons les réponses. 

      Assurez-vous que le nouvel endpoint est couvert par la suite de tests StatsController.test.js.
      ```
    </PromptBlock>
  </Accordion>

  <Accordion title="Petites fonctionnalités côté front-end" icon="sun">
    <PromptBlock>
      ```Small frontend features theme={null}
      Dans `UserProfileComponent`, ajoutez un menu déroulant qui affiche une liste de rôles utilisateur (admin, éditeur, lecteur). 

      Utilisez les styles de `DropdownBase`. 

      Lorsqu'un rôle est sélectionné, appelez l'API existante pour définir le rôle de l'utilisateur. 

      Validez en vérifiant que la sélection met à jour le rôle de l'utilisateur dans la base de données. Référez-vous à votre Knowledge pour savoir comment tester correctement.
      ```
    </PromptBlock>
  </Accordion>

  <Accordion title="Écrivez des tests unitaires" icon="flask">
    <PromptBlock>
      ```Write unit tests theme={null}
      Ajoutez des tests Jest pour les méthodes d’AuthService : login et logout. 

      Assurez-vous que la couverture de tests pour ces deux fonctions est d’au moins 80 %. 

      Utilisez UserService.test.js comme exemple.

      Après l’implémentation, exécutez `npm test -- --coverage` et vérifiez que le rapport de couverture indique plus de 80 % pour les deux fonctions. 

      Vérifiez également que les tests réussissent avec des identifiants valides et non valides, et que logout efface correctement les données de session.
      ```
    </PromptBlock>
  </Accordion>

  <Accordion title="Migration ou refactorisation de code existant" icon="code-pull-request">
    <PromptBlock>
      ```Migrating or refactoring existing code theme={null}
      Migrez logger.js de JavaScript vers TypeScript. 

      Nous avons déjà un tsconfig.json et une suite de tests LoggerTest.test.js pour la validation. 

      Assurez-vous que la compilation se fait sans erreurs et veillez à ne pas modifier la configuration existante !

      Après la migration, vérifiez en : 
      1) exécutant `tsc` pour confirmer l'absence d'erreurs de typage
      2) exécutant la suite de tests avec `npm test LoggerTest.test.js` pour vérifier que tous les tests passent
      3) vérifiant que tous les appels existants aux méthodes du logger dans l'ensemble du code fonctionnent toujours sans erreurs de typage.
      ```
    </PromptBlock>
  </Accordion>

  <Accordion title="Mise à jour des API ou des requêtes de base de données" icon="database">
    <PromptBlock>
      ```Updating APIs or database queries theme={null}
      Nous passons de pg à Sequelize (voir https://sequelize.org/api/v6/identifiers). 

      Veuillez mettre à jour les requêtes de `UserModel` pour utiliser les méthodes Sequelize. 

      Reportez-vous à `OrderModel` pour voir comment nous procédons dans ce codebase.

      Après l’implémentation, procédez aux vérifications suivantes :
      1) exécuter `npm run test:integration UserModel.test.js` pour vérifier que tous les tests d’intégration passent
      2) confirmer que les performances des requêtes ne se sont pas dégradées en vérifiant le temps d’exécution sur un jeu de données de test de 1000 utilisateurs
      3) valider que toutes les opérations CRUD maintiennent toujours l’intégrité des données en exécutant `npm run test:e2e user-flows.test.js`
      ```
    </PromptBlock>
  </Accordion>

  <Accordion title="Créez rapidement une PR (nous recommandons d’utiliser ce prompt dans un Playbook)" icon="code-pull-request">
    <PromptBlock>
      ```txt Quick PR theme={null}
      ## Vue d'ensemble
      La tâche consiste à créer rapidement une pull request sur un dépôt.
      Comme il s'agit d'une PR « rapide », vous n'avez pas besoin d'exécuter du code ni de tester quoi que ce soit ; faites simplement une PR et l'utilisateur s'occupera des tests. Votre seule responsabilité est de lire et d'écrire du code.

      ## Ce dont nous avons besoin de la part de l'utilisateur
      - Le dépôt sur lequel créer une pull request

      ## Procédure
      ### Préparer votre espace de travail
      1. Accédez au dépôt concerné sur votre machine (demandez des précisions à l'utilisateur si vous ne parvenez pas à l'identifier).
          - Basculez sur la branche principale et notez son nom.
          - Basculez sur une nouvelle branche puisque vous allez créer une pull request. Le nom de la branche doit avoir le format `devin/<timestamp>-<your-branch-name>`. Par exemple `devin/1700000000-fix-popup`. Exécutez `git remote -v && git pull && git checkout -b devin/$(date +%s)-{branch-name}` et remplacez `{branch-name}` par le nom de la branche que vous souhaitez créer.
      2. Étudiez la demande, le codebase et planifiez les changements
          - Passez en revue les fichiers et sections de code les plus pertinents, en identifiant les extraits concernés.
          - Informez l'utilisateur de votre plan
      ### Travailler sur la PR elle-même
      3. Apportez les modifications au code
          - Ne changez rien qui n'ait pas été explicitement demandé par l'utilisateur
      4. Créez la PR
          - Validez (commit) et poussez les modifications, puis informez l'utilisateur.
          - Consultez la section de conseils pour la commande exacte permettant de créer la PR
          - Créez une pull request et relisez la PR pour vérifier qu'elle est correcte.
          - Assurez-vous que toutes les GitHub Actions passent avec succès et apportez les modifications nécessaires jusqu'à ce que ce soit le cas
          - Envoyez le lien de la PR à l'utilisateur et résumez ce que vous avez changé.
      5. Traitez tout retour de revue ; renvoyez le lien de la PR à chaque fois que vous apportez des modifications
          - Si vous devez faire des mises à jour, poussez simplement des commits supplémentaires sur la même branche ; n'en créez pas une nouvelle


      ## Spécification de la tâche
      - Le lien de la PR est inclus dans vos messages à l'utilisateur
      - La PR a été relue après sa création
      - La PR n'inclut aucune modification parasite
      - La PR ne change rien qui n'ait pas été explicitement demandé par l'utilisateur
      - La description de la PR doit inclure un résumé des changements, formaté sous forme de checklist
      - La description de la PR doit mentionner que le code a été écrit sans tests, et inclure - [ ] Test the changes as an item
      - La description de la PR doit inclure le pied de page suivant : "Cette PR a été écrite par [Devin](https://devin.ai/) :angel:"
      - La description de la PR doit inclure toutes les métadonnées fournies par l'utilisateur (par exemple, les tags de tickets Linear avec la syntaxe appropriée)
      - La description de la PR ne doit pas être mal formatée (utilisez --body-file au lieu de --body si les sauts de ligne sont corrompus !)

      ## Actions interdites
      - NE PAS essayer d'accéder à github.com via le navigateur, vous ne serez pas authentifié.
      - NE JAMAIS faire de force push sur des branches ! Préférez les merges aux rebases pour ne pas perdre de travail.
      - NE PAS pousser directement sur la branche principale.

      ## Conseils et indications
      - Revérifiez le nom de la branche principale (qui peut être `main` ou `master`) en utilisant `git branch`.
      - Pour les dépôts avec CI/CD via GitHub Actions, vous pouvez consulter les logs de build en utilisant la gh cli. Si l'on vous demande de corriger un build ou un problème de lint, commencez par consulter les logs de build récents.
      - Vérifiez `git status` avant de valider (commit) ou d'ajouter des fichiers.
      - Utilisez `git diff` pour voir quelles modifications vous avez apportées avant de valider.
      - Si vous mettez à jour un dépôt existant, utilisez `gh cli` pour créer des pull requests.
      - Envoyez le lien de la PR à l'utilisateur à chaque fois que vous faites une mise à jour et demandez-lui de relire à nouveau, afin de lui faciliter la tâche.
      - Vous devriez déjà être autorisé à accéder à tous les dépôts mentionnés par l'utilisateur. Sinon, demandez à l'utilisateur de vous accorder l'accès.
      ```
    </PromptBlock>
  </Accordion>
</AccordionGroup>

Si vous souhaitez explorer des exemples plus détaillés de ce que Devin peut faire (et comment), consultez nos **cas d'usage**.

<CardGroup cols={1}>
  <Card title="Découvrir les cas d'usage" icon="grid-2" href="/fr/use-cases/gallery/index">
    Explorez des exemples pratiques à travers les workflows d'ingénierie — chacun inclut des prompts que vous pouvez essayer immédiatement.
  </Card>
</CardGroup>

<div id="after-your-session">
  ## Après votre session
</div>

Une fois que Devin a terminé, ouvrez les [Session Insights](/fr/product-guides/session-insights) et cliquez sur **Générer une analyse** : vous y verrez une chronologie de ce qui s’est passé, des commentaires exploitables et une version améliorée de votre prompt que vous pourrez réutiliser pour des tâches similaires à l’avenir.

<div id="next-steps">
  ## Prochaines étapes
</div>

Une fois que vous êtes à l'aise avec les sessions de base, explorez ces ressources pour tirer davantage parti de Devin :

<CardGroup cols={2}>
  <Card title="Intégrations" icon="plug" href="/fr/integrations/overview">
    Connectez Devin à vos outils existants comme GitHub, Slack, Jira et bien plus.
  </Card>

  <Card title="Playbooks" icon="book" href="/fr/product-guides/creating-playbooks">
    Découvrez comment utiliser les Playbooks pour mettre en œuvre des tâches.
  </Card>

  <Card title="Knowledge" icon="lightbulb" href="/fr/product-guides/knowledge">
    Ajoutez du contenu dans Knowledge pour aider Devin à mieux comprendre les pratiques de votre équipe.
  </Card>
</CardGroup>
