[{"data":1,"prerenderedAt":785},["ShallowReactive",2],{"/fr-fr/blog/10-best-practices-for-using-ai-powered-gitlab-duo-chat":3,"navigation-fr-fr":41,"banner-fr-fr":446,"footer-fr-fr":456,"blog-post-authors-fr-fr-Michael Friedrich":666,"blog-related-posts-fr-fr-10-best-practices-for-using-ai-powered-gitlab-duo-chat":680,"next-steps-fr-fr":723,"blog-promotions-fr-fr":732},{"id":4,"title":5,"authorSlugs":6,"body":8,"categorySlug":9,"config":10,"content":14,"description":8,"extension":28,"isFeatured":12,"meta":29,"navigation":12,"path":30,"publishedDate":20,"seo":31,"stem":36,"tagSlugs":37,"__hash__":40},"blogPosts/fr-fr/blog/10-best-practices-for-using-ai-powered-gitlab-duo-chat.yml","10 Best Practices For Using Ai Powered Gitlab Duo Chat",[7],"michael-friedrich",null,"ai-ml",{"slug":11,"featured":12,"template":13},"10-best-practices-for-using-ai-powered-gitlab-duo-chat",true,"BlogPost",{"title":15,"description":16,"authors":17,"heroImage":19,"date":20,"body":21,"category":9,"tags":22,"updatedDate":27},"GitLab Duo Chat : 10 bonnes pratiques à connaître","Découvrez nos conseils et astuces pour intégrer GitLab Duo Chat à vos workflows DevSecOps alimentés par l'IA. ",[18],"Michael Friedrich","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097639/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%281%29_77JeTV9gAmbXM0224acirV_1750097638765.png","2024-04-02","Entamer une conversation avec l'IA peut s'avérer difficile. Par quelle question commencer ? Comment la formuler ? Quel degré de contexte est nécessaire ? La conversation fournira-t-elle des résultats optimaux et efficaces ?\n\nDans ce tutoriel, découvrez 10 conseils et bonnes pratiques pour intégrer GitLab Duo Chat dans vos workflows DevSecOps alimentés par l'IA et affiner vos prompts afin d'obtenir des résultats optimaux.\n\n## Première étape : ouvrez GitLab Duo Chat\n[GitLab Duo Chat](https://docs.gitlab.com/ee/user/gitlab_duo_chat.html) est disponible dans l'interface utilisateur (UI) de GitLab, dans le Web IDE et dans les IDE de programmation pris en charge, comme VS Code.\nDans VS Code, vous pouvez ouvrir GitLab Duo Chat dans le volet de gauche par défaut. Vous pouvez également glisser-déposer l'icône dans le volet de droite. Ainsi, GitLab Duo Chat reste ouvert pendant que vous écrivez du code et que vous naviguez dans l'arborescence des fichiers, que vous effectuez des actions Git et plus encore. Pour réinitialiser l'emplacement de Chat, ouvrez la palette de commandes (en appuyant sur le raccourci clavier `Command+Maj+P` (sous macOS) ou `Ctrl+Maj+P` (sous Windows/Linux), puis saisissez `View: Reset View Locations`. La procédure à suivre est illustrée dans cette courte vidéo.\n\n\u003C!-- blank line -->\n\u003Cfigure class=\"video_container\">\n  \u003Ciframe src=\"https://www.youtube.com/embed/foZpUvWPRJQ\" frameborder=\"0\" allowfullscreen=\"true\"> \u003C/iframe>\n\u003C/figure>\n\u003C!-- blank line -->\n\nLe Web IDE et VS Code partagent le même framework : la même méthode fonctionne dans le Web IDE pour proposer des workflows plus efficaces.\n\n![Chat dans le Web IDE](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750097645344.png)\n\n## 10 bonnes pratiques à suivre pour une utilisation optimale de GitLab Duo Chat\n\n### 1. Discutez\n\nLes chats sont des conversations, pas des formulaires de recherche.\n\nPour lancer la conversation, commencez avec les termes de recherche que vous utiliseriez lors d'une recherche sur un navigateur et expérimentez en fonction de la réponse et des données de sortie. Dans cet exemple, commençons par un projet C# et les bonnes pratiques associées.\n> c# start project best practices\n![Prompt demandant les bonnes pratiques de démarrage d'un projet C# et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097646/Blog/Content%20Images/Blog/Content%20Images/image11_aHR0cHM6_1750097645345.png)\n\nLa réponse est utile pour comprendre un large champ d'application du langage C#, mais ne propose pas immédiatement de bonnes pratiques. Poursuivons avec une question plus ciblée dans le même contexte.\n> Please show the project structure for the C# project.\n![Prompt demandant la structure du projet C# et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image9_aHR0cHM6_1750097645346.png)\n\nCette réponse est utile. Poursuivons avec une question relative à [Git](https://about.gitlab.com/fr-fr/blog/what-is-git/ \"Qu'est-ce que Git ? \") et utilisons la même structure : demandons directement à l'IA de nous montrer un exemple.\n\n> Show an example for a .gitignore for C#\n![Prompt demandant un exemple de fichier .gitignore en langage C# et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image25_aHR0cHM6_1750097645347.png)\n\nPoursuivons avec GitLab CI/CD et demandons à l'IA comment créer le projet C#.\n\n> Show a GitLab CI/CD configuration for building the C# project\n![Prompt demandant un exemple de configuration de GitLab CI/CD pour la création du projet C# et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image16_aHR0cHM6_1750097645349.png)\n\nDans cet exemple, GitLab Duo Chat nous encourage à demander des modifications spécifiques. Demandons-lui d'utiliser le SDK .NET 8.0 au lieu du SDK .NET 6.0.\n> In the above example, please use the .NET SDK 8.0 image\n![Prompt demandant à GitLab Duo Chat d'utiliserl'image du SDK .NET 8.0 et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image32_aHR0cHM6_1750097645350.png)\n\nLa configuration CI/CD utilise l'interface de ligne de commande (CLI) .NET. Essayons de suivre cette bonne pratique pour générer des commandes plus efficaces afin de créer la structure des projets et des tests.\n> Explain how to create projects and test structure on the CLI\n![Prompt demandant d'expliquer comment créer des projets et tester la structure sur l'interface CLI et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image14_aHR0cHM6_1750097645351.png)\n\nNous pourrions exécuter ces commandes dans le terminal, mais, pour cet exemple, imaginons que nous souhaitions rester dans VS Code. Posons la question à Chat.\n\n> Explain how to open a new terminal in VS Code\n![Prompt demandant d'expliquer comment ouvrir un nouveau terminal dans VS Code et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image5_aHR0cHM6_1750097645351.png)\n\n### 2. Affinez le prompt pour gagner en productivité\n\nConsidérez GitLab Duo Chat comme un être humain et employez des phrases complètes qui fournissent suffisamment de contexte à vos pensées et à vos questions.\nSi vous êtes un utilisateur expérimenté de la recherche par navigateur, vous connaissez peut-être l'approche qui consiste à concevoir la question, à ajouter plus de termes pour affiner sa portée et redémarrer la recherche après avoir ouvert de nombreux onglets.\nDans le cas d'une recherche par navigateur, vous obtiendriez probablement quatre à cinq fenêtres de recherche différentes.\n```markdown\nc# start project best practices\nc# .gitignore\nc# gitlab cicd c# gitlab security scanning c# solutions and projects, application and tests\n```\nVous pouvez également suivre cette stratégie lors d'une conversation avec GitLab Duo Chat. Cela nécessite d'ajouter plus de contexte afin de la transformer en une approche conversationnelle. GitLab Duo Chat vous permet de poser plusieurs questions dans une même conversation.\nExemple : vous devez commencer par un nouveau projet C#, appliquer les bonnes pratiques, ajouter un fichier `.gitignore` et configurer CI/CD ainsi qu'un scanning de sécurité, comme dans la recherche ci-dessus. Dans Chat, vous pouvez regrouper plusieurs questions dans une même demande.\n\n> How can I get started creating an empty C# console application in VS Code? Please show a .gitignore and .gitlab-ci.yml configuration with steps for C#, and add security scanning for GitLab. Explain how solutions and projects in C# work, and how to add a test project on the CLI.\n![Prompt demandant d'ajouter plus de contexte et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image37_aHR0cHM6_1750097645352.png)\n\nDans cette réponse, Chat suggère de demander des exemples de configuration spécifiques dans les questions de suivi de la conversation. Pratique asynchrone : créez des questions de suivi. Vous pouvez omettre `C# ` comme contexte dans la même session de chat.\n\n> Please show an example for a .gitignore. Please show a CI/CD configuration. Include the SAST template.\n### 3. Suivez des patterns de prompt\nSuivez le pattern : `Énoncer le problème, demander de l'aide, fournir des demandes supplémentaires`. Vous ne pouvez pas penser à tout lorsque vous posez la première question. Commencez par `énoncer le problème, demander de l'aide` lors de la première itération.\n> I need to fulfill compliance requirements. How can I get started with Codeowners and approval rules ?\n\n![Prompt demandant de l'aide au sujet des Codeowners et des règles d'approbation et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image19_aHR0cHM6_1750097645352.png)\n\nMême si la réponse est utile, elle reste générique. Il se peut que vous souhaitiez obtenir une aide spécifique pour la configuration de votre équipe.\n> Please show an example for Codeowners with different teams : backend, frontend, release managers.\n![Prompt demandant un exemple de fichier Codeowners pour différentes équipes (backend, frontend, managers de release) et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image31_aHR0cHM6_1750097645353.png)\n\nUne alternative consiste à décrire la situation dans laquelle vous vous trouvez et à demander de l'aide. Suivez le modèle STAR (Situation, Tâche, Action et Résultat) pour construire votre conversation.\n> I have a Kubernetes cluster integrated in GitLab. Please generate a Yaml configuration for a Kubernetes service deployment. Explain how GitOps works as a second step. How to verify the results?\n![Prompt incluant plusieurs questions et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image27_aHR0cHM6_1750097645354.png)\n\n### 4. Utilisez une communication à contexte faible\nFournissez autant de contexte que nécessaire pour obtenir une réponse. L'historique précédent ou le code source ouvert ne fournit parfois pas de contexte utile. Pour obtenir une réponse plus adaptée, appliquez un pattern de [communication à contexte faible](https://handbook.gitlab.com/handbook/company/culture/all-remote/effective-communication/#understanding-low-context-communication), qui est utilisé dans les communications 100 % à distance chez GitLab.\n\nLa question suivante ne fournit pas suffisamment de contexte dans le cadre d'un projet C++.\n\n> Should I use virtual override instead of just override?\n![Prompt demandant si les utilisateurs doivent utiliser le remplacement virtuel au lieu d'un simple remplacement et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image34_aHR0cHM6_1750097645354.png)\n\nEssayez plutôt d'ajouter davantage de contexte :\n\n> When implementing a pure virtual function in an inherited class, should I use virtual function override, or just function override? Context is C++.\n![Prompt offrant plus de détails et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image36_aHR0cHM6_1750097645355.png)\n\nVous pouvez également consulter l'exemple dans la vidéo [GitLab Duo Coffee Chat : Refactor C++ functions into OOP classes for abstract database handling](https://youtu.be/Z9EJh0J9358?t=2190).\n### 5. Répétez la question\n\nL'IA n'est pas prévisible. Sa réponse peut parfois différer des résultats attendus, ou elle ne produit pas d'exemples de code source ni d'extraits de code de configuration en raison du manque de contexte. Il est recommandé de répéter la question et de préciser les conditions requises.\n\nDans l'exemple suivant, nous voulons créer une application C#. Lors de la première tentative, nous n'avons pas spécifié le type d'application alors que le langage C# peut servir à créer une console/un terminal ou des applications d'interface utilisateur. Le résultat ne fournit pas non plus d'exemple de code source vide. Le second prompt répété ajoute deux mots supplémentaires : `console` et `empty`.\n> How can I get started creating an C# application in VS Code? > > How can I get started creating an empty C# console application in VS Code?\nLes résultats du prompt diffèrent. La première réponse est utile pour commencer en suivant les instructions dans la fenêtre VS Code, mais elle ne nous indique pas où se trouve le code source et comment le modifier. La réponse obtenue suite à la répétition et à l'amélioration du prompt fournit des instructions sur la façon de remplacer le template par défaut par un code de type « hello world ».\n\n![Répétition/modification du prompt et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image28_aHR0cHM6_1750097645355.png)\n\nVous pouvez également combiner des stratégies de répétition et d'affinement, et demander à Chat de montrer un exemple de code d'application et de tests.\n\n> How can I get started creating an empty C# console application in VSCode? Please show an example for application and tests.\n![Prompt demandant un exemple d'application et de tests et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image3_aHR0cHM6_1750097645356.png)\n\n#### Répétez la question après avoir posé des questions génériques\nLorsque vous posez des questions génériques sur la technologie, GitLab Duo Chat peut ne pas être en mesure de vous aider. Dans le scénario suivant, nous n'avons pas pu obtenir de suggestion de framework et d'outils de compilation Java. Les possibilités de réponse sont trop nombreuses : elles peuvent concerner des outils de compilation tels que Maven et Gradle et [plus de 100 frameworks Java](https://fr.wikipedia.org/wiki/Liste_de_frameworks_Java), selon la pile technologique et les conditions requises.\n\n![Prompt demandant un framework et des outils de compilation Java et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image2_aHR0cHM6_1750097645356.png)\n\nNous souhaitons maintenant nous concentrer sur un environnement client avec [Java Spring Boot](https://spring.io/projects/spring-boot).\n> I want to create a Java Spring Boot application. Please explain the project structure and show a hello world example.\n![Prompt demandant des informations supplémentaires (notamment un exemple hello world) et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image26_aHR0cHM6_1750097645357.png)\n\nCe prompt donne déjà d'excellents résultats. Effectuez l'exercice asynchrone suivant : répétez le prompt et demandez comment déployer l'application, en ajoutant plus de détails à chaque étape. Vous pouvez également transformer le prompt en conversation de suivi.\n\n> I want to create a Java Spring Boot application. Please explain the project structure and show a hello world example. Show how to build and deploy the application in CI/CD. >\n> I want to create a Java Spring Boot application. Please explain the project structure and show a hello world example. Show how to build and deploy the application in CI/CD, using container images. >\n> I want to create a Java Spring Boot application. Please explain the project structure and show a hello world example. Show how to build and deploy the application in CI/CD, using container images. Use Kubernetes and GitOps in GitLab.\n### 6. Faites preuve de patience\n\nLes mots simples ou les phrases courtes peuvent ne pas générer les résultats souhaités, [comme le montre cet exemple vidéo](https://youtu.be/JketELxLNEw?t=1220). GitLab Duo Chat peut parfois deviner correctement à partir des données disponibles, mais peut également demander plus de contexte.\n\nExemple : le terme `labels` qui apparaît dans la documentation GitLab.\n\n![Prompt portant sur les labels et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image12_aHR0cHM6_1750097645357.png)\n\nLimitez la question aux énoncés de problèmes et ciblez l'utilisation du tableau des tickets.\n\n> Explain labels in GitLab. Provide an example for efficient usage with issue boards.\n\n![Prompt demandant d'inclure un exemple et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image21_aHR0cHM6_1750097645358.png)\n\nVous pouvez également formuler un énoncé de problème suivi d'une question et demander des exemples supplémentaires.\n\n> I don't know how to use labels in GitLab. Please provide examples, and how to use them for filters in different views. Explain these views with examples.\n\n![Prompt énonçant un problème et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image10_aHR0cHM6_1750097645358.png)\n\nDe plus, évitez les questions fermées et précisez le contexte.\n\n> Can you help me fix performance regressions?\n![Prompt demandant de l'aide pour corriger les régressions affectant les performances et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image18_aHR0cHM6_1750097645359.png)\n\nFournissez plutôt davantage de contexte sur la régression affectant les performances, y compris les langages de programmation, les frameworks, la pile technologique et les environnements. L'exemple suivant utilise un environnement datant d'il y a plusieurs années, qui peut encore être utile aujourd'hui.\n\n> My PHP application encounters performance regressions using PHP 5.6 and MySQL 5.5. Please explain potential root causes, and how to address them. The app is deployed on Linux VMs.\n![Prompt plus détaillé et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image24_aHR0cHM6_1750097645360.png)\n\n### 7. Réinitialisez la conversation et lancez-en une nouvelle\n\nIl peut arriver que l'historique du chat montre une courbe d'apprentissage différente et ne fasse pas appel au contexte adéquat pour les questions de suivi. Il est également possible que GitLab Duo Chat ne puisse pas répondre aux questions spécifiques que vous avez posées. L'IA générative n'est pas prévisible et peut donc parfois ne pas être en mesure de fournir certains exemples à l'instant précis. Cependant, elle peut les fournir dans sa réponse à une future question (ce comportement a été observé dans la version bêta de GitLab Duo Chat). Les grands modèles de langage (LLM) sous-jacents peuvent parfois insister pour donner une réponse spécifique, créant une boucle sans fin.\n\n> How can I get started creating an empty C# console application in VSCode? Please show a .gitignore and .gitlab-ci.yml configuration with steps for C#, and add security scanning for GitLab. Explain how solutions and projects in C# work, and how to add a test project on the CLI.\n\nAprès avoir posé la question ci-dessus et demandé un exemple de configuration, nous avons tenté de réduire la portée de la question afin d'obtenir une réponse plus adaptée. Nous n'avons pas obtenu le résultat escompté, car Chat prend en compte le contexte de l'historique du chat et fait référence aux réponses précédentes.\n\n> How can I get started creating an empty C# console application in VSCode? Please show a .gitignore and .gitlab-ci.yml configuration with steps for C#.\n![Prompt demandant des exemples de configuration et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image23_aHR0cHM6_1750097645360.png)\n\nPour forcer GitLab Duo Chat à utiliser un nouveau contexte, utilisez la commande slash `/reset` pour remettre la session à zéro. Répétez ensuite la question pour obtenir de meilleurs résultats. Vous pouvez également utiliser `/clean` ou `/clear` pour supprimer tous les messages de la conversation.\n\n### 8. Gagnez en productivité en utilisant les commandes slash dans l'IDE\n#### Explication du code\n\n- Q : Code généré ? Code existant ? Code hérité ?\n- R : Utilisez la [commande slash `/explain` dans l'IDE](https://docs.gitlab.com/ee/user/gitlab_duo_chat.html#explain-code-in-the-ide).\n- R2 : Affinez le prompt pour obtenir des réponses plus ciblées, par exemple : `/explain focus on potential shortcomings or bugs`.\n\n![Prompt utilisant la commande slash /explain](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/gitlab_duo_chat_slash_commands_explain_01_aHR0cHM6_1750097645361.png)\n\n![Prompt affiné](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image6_aHR0cHM6_1750097645361.png)\n\n#### Refactorisation du code\n\n- Q : Code illisible ? Code spaghetti trop long ? Aucune couverture de test ?\n- R : Utilisez la [commande slash `/refactor` dans l'IDE](https://docs.gitlab.com/ee/user/gitlab_duo_chat.html#refactor-code-in-the-ide).\n- R2 : Affinez le prompt pour effectuer des actions plus ciblées, par exemple refactoriser du code pour obtenir des patterns orientés objet : `/refactor into object-oriented classes with methods and attributes`.\n![Prompt utilisant la commande slash /refactor](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image35_aHR0cHM6_1750097645362.png)\n\n![Prompt affiné](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image30_aHR0cHM6_1750097645362.png)\n\n#### Génération de tests\n\n- Q : Le code peut être testé, mais créer les tests prend trop de temps ?\n- R : Utilisez la [commande slash `/tests` dans l'IDE](https://docs.gitlab.com/ee/user/gitlab_duo_chat.html#write-tests-in-the-ide).\n\n- R2 : Affinez le prompt pour utiliser des frameworks de test spécifiques ou des cibles de test. Vous pouvez également demander à GitLab Duo Chat de se concentrer sur la refactorisation du code, puis de générer des tests : `/tests focus on refactoring the code into functions, and generate tests`.\n\n![Prompt utilisant la commande slash /tests](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image29_aHR0cHM6_1750097645363.png)\n\n![Prompt affiné](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image4_aHR0cHM6_1750097645363.png)\n\nDécouvrez d'autres cas pratiques de workflows de développement complets dans notre [documentation](https://docs.gitlab.com/ee/user/gitlab_duo_examples.html).\n\n### 9. Affinez le prompt pour les commandes slash\n\nVous trouverez dans cet article de nombreux conseils pour rendre vos prompts plus spécifiques. Cette approche contribue à améliorer la productivité d'un workflow alimenté par l'IA. De la même manière, les commandes slash permettent d'obtenir de meilleurs résultats dans GitLab Duo Chat.\n\nRécemment, un client a posé la question suivante : « L'explication de code utilisant `/explain` peut-elle générer des commentaires intégrés au code ? ». La réponse est non. Vous pouvez cependant poser des questions de suivi à l'aide de prompts dans Chat et demander un résumé sous la forme d'un commentaire de code. Le langage de programmation doit être indiqué.\n\nDans l'exemple suivant, un [code client HTTP C++ utilisant la bibliothèque cURL](https://gitlab.com/gitlab-da/use-cases/ai/ai-workflows/gitlab-duo-prompts/-/blob/5cc9bdd65ee8ee16c548bea0402c18f8209d4d06/chat/slash-commands/c++/cli.cpp) nécessite plus de documentation. Vous pouvez affiner le prompt `/explain` en fournissant des instructions plus précises en demandant à GitLab Duo Chat d'expliquer le code en ajoutant des commentaires au code, puis copier-coller le prompt ainsi obtenu dans l'éditeur.\n\n> /explain add documentation, rewrite the code snippet\n![Prompt demandant d'ajouter de la documentation/de réécrire l'extrait de code et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image13_aHR0cHM6_1750097645363.png)\n\nVous pouvez également demander à GitLab Duo Chat de refactoriser le code source (via la commande `/refactor`) et de générer des commentaires au code via un prompt personnalisé.\n\n> /refactor add code comments and documentation\n\n![Prompt demandant de réusiner le code source et de générer des commentaires de code](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image15_aHR0cHM6_1750097645364.png)\n\n### 10. Utilisez les commandes slash de manière créative\n\nLorsque l'IA ne connaît pas la réponse à une question sur le code source ou le langage de programmation, réfléchissez à la manière dont les commandes slash `/explain`, `/refactor` et `/tests` peuvent vous aider.\n\nDans l'exemple suivant, une chaîne de requête SQL en C++ est créée sur une seule ligne. Pour améliorer la lisibilité et avoir la possibilité d'ajouter plus de colonnes de base de données à l'avenir, il peut être utile de choisir une chaîne multiligne.\n\n> std::string sql = \"CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, email TEXT NOT NULL)\";\n\nVous pouvez demander à GitLab Duo Chat des précisions à ce sujet, par exemple en posant la question suivante :\n\n> How to create a string in C++ using multiple lines?\nChat peut répondre avec une explication et éventuellement un exemple de code source. Dans ce contexte, il peut proposer de créer une valeur de chaîne C++ sur plusieurs lignes, par exemple en utilisant le caractère `\\n`, affectée à une variable.\nLa condition requise est plutôt de formater uniquement le code écrit et d'affecter des valeurs de variable dans plusieurs lignes. Il n'est pas nécessaire que la valeur de chaîne elle-même contienne une représentation de chaîne multiligne.\nVous disposez d'une alternative pour fournir un contexte supplémentaire dans VS Code et le Web IDE : sélectionnez le code source en question, effectuez un clic droit et accédez au menu `GitLab Duo Chat > Refactor`. Cela permet d'ouvrir la fenêtre de prompt de GitLab  Duo Chat et de déclencher immédiatement la tâche de code `/refactor`.\n\nCette dernière peut toutefois ne pas produire les résultats attendus. La refactorisation d'une chaîne SQL sur une seule ligne peut signifier beaucoup de choses : utiliser plusieurs lignes pour plus de lisibilité, créer des constantes et plus encore.\n\nLes tâches de code fournissent une option pour rendre le prompt plus spécifique. Vous pouvez ajouter plus de texte après la commande `/refactor` et demander à GitLab Duo Chat d'utiliser un type de code, un algorithme ou un design pattern spécifique.\nRéessayons en sélectionnant le code source, en affichant la fenêtre du chat, en saisissant le prompt suivant et en appuyant sur Entrée.\n> /refactor into a multi-line written string. Show different approaches for all C++ standards.\n![Prompt demandant de réusiner le code en une chaîne écrite multiligne et réponse obtenue](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image17_aHR0cHM6_1750097645364.png)\n\n**Astuce :** vous pouvez utiliser la fonctionnalité de suggestions de code de GitLab Duo pour affiner encore plus le code source après la refactorisation, ou utiliser d'autres affinements de prompt `/refactor`.\n\n>/refactor into a multi-line written string, show different approaches >\n> /refactor into multi-line string, not using raw string literals\n>\n> /refactor into a multi-line written string. (/refactor en une chaîne écrite multiligne.) Faites en sorte que le nom de la table soit paramétrable\n\nDécouvrez une autre approche avec le type `stringstream` dans la vidéo « [GitLab Duo Coffee Chat : Refactor C++ functions into OOP classes for abstract database handling](https://www.youtube.com/watch?v=Z9EJh0J9358) ».\n#### Explication des vulnérabilités\n\nLe résultat peut être aléatoire, mais vous pouvez également exécuter la commande slash `/explain` pour obtenir des explications sur les failles de sécurité. Dans cet exemple, le [code C](https://gitlab.com/gitlab-da/use-cases/ai/ai-workflows/gitlab-duo-prompts/-/blob/5a5f293dfbfac7222ca4013d8f9ce9b462e4cd3a/chat/slash-commands/c/vuln.c) contient plusieurs vulnérabilités liées notamment à des dépassements de mémoire tampon strcpy(), à des fichiers modifiables par tout le monde et à des attaques de type « race condition ».\n\n> /explain why this code has multiple vulnerabilities\n![Prompt demandant des explications sur les multiples vulnérabilités du code](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image20_aHR0cHM6_1750097645365.png)\n\n#### Refactorisation du code C  en langage Rust\n\nLe langage Rust garantit la sécurité de la mémoire. Vous pouvez demander à GitLab Duo Chat de refactoriser le [code C](https://gitlab.com/gitlab-da/use-cases/ai/ai-workflows/gitlab-duo-prompts/-/blob/5a5f293dfbfac7222ca4013d8f9ce9b462e4cd3a/chat/slash-commands/c/vuln.c)  vulnérable en Rust, en utilisant la commande `/refactor`. Entraînez-vous avec des prompts plus précis afin d'obtenir de meilleurs résultats.\n\n> /refactor into Rust and use high level libraries\n![Prompt dans Chat](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097645/Blog/Content%20Images/Blog/Content%20Images/image8_aHR0cHM6_1750097645366.png)\n\n### Raccourcis\nEssayez ces raccourcis dans votre environnement et entraînez-vous de manière asynchrone avec GitLab Duo Chat.\n\n1. Inspectez le code vulnérable des CVE et demandez le problème rencontré et comment y remédier, en utilisant le prompt `/explain why is this code vulnerable`. **Astuce :** importez des projets open source dans GitLab pour tirer parti des explications de code de GitLab Duo Chat.\n1. Essayez de refactoriser le code dans de nouveaux langages de programmation pour faciliter la migration du code hérité.\n1. Vous pouvez également essayer de réusiner le code d'une configuration Jenkins dans GitLab CI/CD, en utilisant le prompt `/refactor into GitLab CI/CD configuration`.\n### En savoir plus\n\nIl existe de nombreux environnements et défis différents à relever. Consultez notre [documentation sur GitLab Duo Chat](https://docs.gitlab.com/ee/user/gitlab_duo_chat.html) pour découvrir plus d'exemples pratiques, ainsi qu'une section contenant des [exemples de cas d'utilisation de GitLab Duo](https://docs.gitlab.com/ee/user/gitlab_duo_examples.html) contenant des informations sur les workflows DevSecOps alimentés par l'IA, notamment à l'aide de GitLab Duo Chat.\n> Vous souhaitez utiliser GitLab Duo Chat ? [Commencez votre essai gratuit dès aujourd'hui](https://about.gitlab.com/fr-fr/sales/).\n",[23,24,25,26],"AI/ML","tutorial","DevSecOps platform","features","2025-03-12","yml",{},"/fr-fr/blog/10-best-practices-for-using-ai-powered-gitlab-duo-chat",{"title":15,"description":16,"ogTitle":15,"ogDescription":16,"noIndex":32,"ogImage":19,"ogUrl":33,"ogSiteName":34,"ogType":35,"canonicalUrls":33},false,"https://about.gitlab.com/blog/10-best-practices-for-using-ai-powered-gitlab-duo-chat","https://about.gitlab.com","article","fr-fr/blog/10-best-practices-for-using-ai-powered-gitlab-duo-chat",[38,24,39,26],"aiml","devsecops-platform","h7nKOo_AfPao6qEJ9S2oxRZSngdLRlt8SA4JVx_hBQw",{"data":42},{"logo":43,"freeTrial":48,"sales":53,"login":58,"items":63,"search":373,"minimal":408,"duo":427,"pricingDeployment":436},{"config":44},{"href":45,"dataGaName":46,"dataGaLocation":47},"/fr-fr/","gitlab logo","header",{"text":49,"config":50},"Commencer un essai gratuit",{"href":51,"dataGaName":52,"dataGaLocation":47},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr&glm_content=default-saas-trial/","free trial",{"text":54,"config":55},"Contacter l'équipe commerciale",{"href":56,"dataGaName":57,"dataGaLocation":47},"/fr-fr/sales/","sales",{"text":59,"config":60},"Connexion",{"href":61,"dataGaName":62,"dataGaLocation":47},"https://gitlab.com/users/sign_in/","sign in",[64,91,188,193,294,354],{"text":65,"config":66,"cards":68},"Plateforme",{"dataNavLevelOne":67},"platform",[69,75,83],{"title":65,"description":70,"link":71},"La plateforme d'orchestration intelligente pour le DevSecOps",{"text":72,"config":73},"Découvrir notre plateforme",{"href":74,"dataGaName":67,"dataGaLocation":47},"/fr-fr/platform/",{"title":76,"description":77,"link":78},"GitLab Duo Agent Platform","L'IA agentique pour l'ensemble du cycle de développement logiciel",{"text":79,"config":80},"Découvrir GitLab Duo",{"href":81,"dataGaName":82,"dataGaLocation":47},"/fr-fr/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":84,"description":85,"link":86},"Choisir GitLab","Découvrez les principales raisons pour lesquelles les entreprises choisissent GitLab",{"text":87,"config":88},"En savoir plus",{"href":89,"dataGaName":90,"dataGaLocation":47},"/fr-fr/why-gitlab/","why gitlab",{"text":92,"left":12,"config":93,"link":95,"lists":99,"footer":170},"Produit",{"dataNavLevelOne":94},"solutions",{"text":96,"config":97},"Voir toutes les solutions",{"href":98,"dataGaName":94,"dataGaLocation":47},"/fr-fr/solutions/",[100,125,148],{"title":101,"description":102,"link":103,"items":108},"Automatisation","CI/CD et automatisation pour accélérer le déploiement",{"config":104},{"icon":105,"href":106,"dataGaName":107,"dataGaLocation":47},"AutomatedCodeAlt","/fr-fr/solutions/delivery-automation/","automated software delivery",[109,113,116,121],{"text":110,"config":111},"CI/CD",{"href":112,"dataGaLocation":47,"dataGaName":110},"/fr-fr/solutions/continuous-integration/",{"text":76,"config":114},{"href":81,"dataGaLocation":47,"dataGaName":115},"gitlab duo agent platform - product menu",{"text":117,"config":118},"Gestion du code source",{"href":119,"dataGaLocation":47,"dataGaName":120},"/fr-fr/solutions/source-code-management/","Source Code Management",{"text":122,"config":123},"Livraison de logiciels automatisée",{"href":106,"dataGaLocation":47,"dataGaName":124},"Automated software delivery",{"title":126,"description":127,"link":128,"items":133},"Sécurité","Livrez du code plus rapidement sans compromettre la sécurité",{"config":129},{"href":130,"dataGaName":131,"dataGaLocation":47,"icon":132},"/fr-fr/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[134,138,143],{"text":135,"config":136},"Tests de sécurité des applications",{"href":130,"dataGaName":137,"dataGaLocation":47},"Application security testing",{"text":139,"config":140},"Sécurité de la chaîne d'approvisionnement logicielle",{"href":141,"dataGaLocation":47,"dataGaName":142},"/fr-fr/solutions/supply-chain/","Software supply chain security",{"text":144,"config":145},"Conformité logicielle",{"href":146,"dataGaName":147,"dataGaLocation":47},"/fr-fr/solutions/software-compliance/","Software Compliance",{"title":149,"link":150,"items":155},"Mesures",{"config":151},{"icon":152,"href":153,"dataGaName":154,"dataGaLocation":47},"DigitalTransformation","/fr-fr/solutions/visibility-measurement/","visibility and measurement",[156,160,165],{"text":157,"config":158},"Visibilité et mesures",{"href":153,"dataGaLocation":47,"dataGaName":159},"Visibility and Measurement",{"text":161,"config":162},"Gestion de la chaîne de valeur",{"href":163,"dataGaLocation":47,"dataGaName":164},"/fr-fr/solutions/value-stream-management/","Value Stream Management",{"text":166,"config":167},"Données d'analyse et informations clés",{"href":168,"dataGaLocation":47,"dataGaName":169},"/fr-fr/solutions/analytics-and-insights/","Analytics and insights",{"title":171,"items":172},"GitLab pour",[173,178,183],{"text":174,"config":175},"Entreprises",{"href":176,"dataGaLocation":47,"dataGaName":177},"/fr-fr/enterprise/","enterprise",{"text":179,"config":180},"PME",{"href":181,"dataGaLocation":47,"dataGaName":182},"/fr-fr/small-business/","small business",{"text":184,"config":185},"Secteur public",{"href":186,"dataGaLocation":47,"dataGaName":187},"/fr-fr/solutions/public-sector/","public sector",{"text":189,"config":190},"Tarifs",{"href":191,"dataGaName":192,"dataGaLocation":47,"dataNavLevelOne":192},"/fr-fr/pricing/","pricing",{"text":194,"config":195,"link":197,"lists":201,"feature":281},"Ressources",{"dataNavLevelOne":196},"resources",{"text":198,"config":199},"Afficher toutes les ressources",{"href":200,"dataGaName":196,"dataGaLocation":47},"/fr-fr/resources/",[202,235,253],{"title":203,"items":204},"Premiers pas",[205,210,215,220,225,230],{"text":206,"config":207},"Installation",{"href":208,"dataGaName":209,"dataGaLocation":47},"/fr-fr/install/","install",{"text":211,"config":212},"Guides de démarrage",{"href":213,"dataGaName":214,"dataGaLocation":47},"/fr-fr/get-started/","quick setup checklists",{"text":216,"config":217},"Apprentissage",{"href":218,"dataGaLocation":47,"dataGaName":219},"https://university.gitlab.com/","learn",{"text":221,"config":222},"Documentation sur le produit",{"href":223,"dataGaName":224,"dataGaLocation":47},"https://docs.gitlab.com/","product documentation",{"text":226,"config":227},"Vidéos sur les bonnes pratiques",{"href":228,"dataGaName":229,"dataGaLocation":47},"/fr-fr/getting-started-videos/","best practice videos",{"text":231,"config":232},"Intégrations",{"href":233,"dataGaName":234,"dataGaLocation":47},"/fr-fr/integrations/","integrations",{"title":236,"items":237},"Découvrir",[238,243,248],{"text":239,"config":240},"Témoignages clients",{"href":241,"dataGaName":242,"dataGaLocation":47},"/fr-fr/customers/","customer success stories",{"text":244,"config":245},"Blog",{"href":246,"dataGaName":247,"dataGaLocation":47},"/fr-fr/blog/","blog",{"text":249,"config":250},"Travail à distance",{"href":251,"dataGaName":252,"dataGaLocation":47},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":254,"items":255},"Connecter",[256,261,266,271,276],{"text":257,"config":258},"Services GitLab",{"href":259,"dataGaName":260,"dataGaLocation":47},"/fr-fr/services/","services",{"text":262,"config":263},"Communauté",{"href":264,"dataGaName":265,"dataGaLocation":47},"/community/","community",{"text":267,"config":268},"Forum",{"href":269,"dataGaName":270,"dataGaLocation":47},"https://forum.gitlab.com/","forum",{"text":272,"config":273},"Événements",{"href":274,"dataGaName":275,"dataGaLocation":47},"/events/","events",{"text":277,"config":278},"Partenaires",{"href":279,"dataGaName":280,"dataGaLocation":47},"/fr-fr/partners/","partners",{"backgroundColor":282,"textColor":283,"text":284,"image":285,"link":289},"#2f2a6b","#fff","L'avenir du développement logiciel. Tendances et perspectives.",{"altText":286,"config":287},"carte promo The Source",{"src":288},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":290,"config":291},"Lire les articles les plus récents",{"href":292,"dataGaName":293,"dataGaLocation":47},"/fr-fr/the-source/","the source",{"text":295,"config":296,"lists":298},"Société",{"dataNavLevelOne":297},"company",[299],{"items":300},[301,306,312,314,319,324,329,334,339,344,349],{"text":302,"config":303},"À propos",{"href":304,"dataGaName":305,"dataGaLocation":47},"/fr-fr/company/","about",{"text":307,"config":308,"footerGa":311},"Carrières",{"href":309,"dataGaName":310,"dataGaLocation":47},"/jobs/","jobs",{"dataGaName":310},{"text":272,"config":313},{"href":274,"dataGaName":275,"dataGaLocation":47},{"text":315,"config":316},"Leadership",{"href":317,"dataGaName":318,"dataGaLocation":47},"/company/team/e-group/","leadership",{"text":320,"config":321},"Équipe",{"href":322,"dataGaName":323,"dataGaLocation":47},"/company/team/","team",{"text":325,"config":326},"Manuel",{"href":327,"dataGaName":328,"dataGaLocation":47},"https://handbook.gitlab.com/","handbook",{"text":330,"config":331},"Relations avec les investisseurs",{"href":332,"dataGaName":333,"dataGaLocation":47},"https://ir.gitlab.com/","investor relations",{"text":335,"config":336},"Centre de confiance",{"href":337,"dataGaName":338,"dataGaLocation":47},"/fr-fr/security/","trust center",{"text":340,"config":341},"Centre pour la transparence de l'IA",{"href":342,"dataGaName":343,"dataGaLocation":47},"/fr-fr/ai-transparency-center/","ai transparency center",{"text":345,"config":346},"Newsletter",{"href":347,"dataGaName":348,"dataGaLocation":47},"/company/contact/#contact-forms","newsletter",{"text":350,"config":351},"Presse",{"href":352,"dataGaName":353,"dataGaLocation":47},"/press/","press",{"text":355,"config":356,"lists":357},"Nous contacter",{"dataNavLevelOne":297},[358],{"items":359},[360,363,368],{"text":54,"config":361},{"href":56,"dataGaName":362,"dataGaLocation":47},"talk to sales",{"text":364,"config":365},"Portail d’assistance",{"href":366,"dataGaName":367,"dataGaLocation":47},"https://support.gitlab.com","support portal",{"text":369,"config":370},"Portail clients GitLab",{"href":371,"dataGaName":372,"dataGaLocation":47},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":374,"login":375,"suggestions":382},"Fermer",{"text":376,"link":377},"Pour rechercher des dépôts et des projets, connectez-vous à",{"text":378,"config":379},"gitlab.com",{"href":61,"dataGaName":380,"dataGaLocation":381},"search login","search",{"text":383,"default":384},"Suggestions",[385,387,392,394,399,404],{"text":76,"config":386},{"href":81,"dataGaName":76,"dataGaLocation":381},{"text":388,"config":389},"Suggestions de code (IA)",{"href":390,"dataGaName":391,"dataGaLocation":381},"/fr-fr/solutions/code-suggestions/","Code Suggestions (AI)",{"text":110,"config":393},{"href":112,"dataGaName":110,"dataGaLocation":381},{"text":395,"config":396},"GitLab sur AWS",{"href":397,"dataGaName":398,"dataGaLocation":381},"/fr-fr/partners/technology-partners/aws/","GitLab on AWS",{"text":400,"config":401},"GitLab sur Google Cloud ",{"href":402,"dataGaName":403,"dataGaLocation":381},"/fr-fr/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":405,"config":406},"Pourquoi utiliser GitLab ?",{"href":89,"dataGaName":407,"dataGaLocation":381},"Why GitLab?",{"freeTrial":409,"mobileIcon":414,"desktopIcon":419,"secondaryButton":422},{"text":410,"config":411},"Commencer votre essai gratuit",{"href":412,"dataGaName":52,"dataGaLocation":413},"https://gitlab.com/-/trials/new/","nav",{"altText":415,"config":416},"Icône GitLab",{"src":417,"dataGaName":418,"dataGaLocation":413},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":415,"config":420},{"src":421,"dataGaName":418,"dataGaLocation":413},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":423,"config":424},"Commencer",{"href":425,"dataGaName":426,"dataGaLocation":413},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr/get-started/","get started",{"freeTrial":428,"mobileIcon":432,"desktopIcon":434},{"text":429,"config":430},"En savoir plus sur GitLab Duo",{"href":81,"dataGaName":431,"dataGaLocation":413},"gitlab duo",{"altText":415,"config":433},{"src":417,"dataGaName":418,"dataGaLocation":413},{"altText":415,"config":435},{"src":421,"dataGaName":418,"dataGaLocation":413},{"freeTrial":437,"mobileIcon":442,"desktopIcon":444},{"text":438,"config":439},"Retour aux tarifs",{"href":191,"dataGaName":440,"dataGaLocation":413,"icon":441},"back to pricing","GoBack",{"altText":415,"config":443},{"src":417,"dataGaName":418,"dataGaLocation":413},{"altText":415,"config":445},{"src":421,"dataGaName":418,"dataGaLocation":413},{"title":447,"button":448,"config":453},"Découvrez comment l'IA agentique transforme la livraison logicielle",{"text":449,"config":450},"Regarder GitLab Transcend maintenant",{"href":451,"dataGaName":452,"dataGaLocation":47},"/fr-fr/events/transcend/virtual/","transcend event",{"layout":454,"icon":455,"disabled":12},"release","AiStar",{"data":457},{"text":458,"source":459,"edit":465,"contribute":470,"config":475,"items":480,"minimal":657},"Git est une marque déposée de Software Freedom Conservancy et notre utilisation de « GitLab » est sous licence",{"text":460,"config":461},"Afficher le code source de la page",{"href":462,"dataGaName":463,"dataGaLocation":464},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":466,"config":467},"Modifier cette page",{"href":468,"dataGaName":469,"dataGaLocation":464},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":471,"config":472},"Veuillez contribuer",{"href":473,"dataGaName":474,"dataGaLocation":464},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":476,"facebook":477,"youtube":478,"linkedin":479},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[481,504,558,590,625],{"title":65,"links":482,"subMenu":487},[483],{"text":484,"config":485},"Plateforme DevSecOps",{"href":74,"dataGaName":486,"dataGaLocation":464},"devsecops platform",[488],{"title":189,"links":489},[490,494,499],{"text":491,"config":492},"Voir les forfaits",{"href":191,"dataGaName":493,"dataGaLocation":464},"view plans",{"text":495,"config":496},"Pourquoi choisir GitLab Premium ?",{"href":497,"dataGaName":498,"dataGaLocation":464},"/fr-fr/pricing/premium/","why premium",{"text":500,"config":501},"Pourquoi choisir GitLab Ultimate ?",{"href":502,"dataGaName":503,"dataGaLocation":464},"/fr-fr/pricing/ultimate/","why ultimate",{"title":505,"links":506},"Solutions",[507,512,515,517,522,527,531,534,537,542,544,546,548,553],{"text":508,"config":509},"Transformation digitale",{"href":510,"dataGaName":511,"dataGaLocation":464},"/fr-fr/topics/digital-transformation/","digital transformation",{"text":513,"config":514},"Sécurité et conformité",{"href":130,"dataGaName":137,"dataGaLocation":464},{"text":122,"config":516},{"href":106,"dataGaName":107,"dataGaLocation":464},{"text":518,"config":519},"Développement agile",{"href":520,"dataGaName":521,"dataGaLocation":464},"/fr-fr/solutions/agile-delivery/","agile delivery",{"text":523,"config":524},"Transformation cloud",{"href":525,"dataGaName":526,"dataGaLocation":464},"/fr-fr/topics/cloud-native/","cloud transformation",{"text":528,"config":529},"SCM",{"href":119,"dataGaName":530,"dataGaLocation":464},"source code management",{"text":110,"config":532},{"href":112,"dataGaName":533,"dataGaLocation":464},"continuous integration & delivery",{"text":161,"config":535},{"href":163,"dataGaName":536,"dataGaLocation":464},"value stream management",{"text":538,"config":539},"GitOps",{"href":540,"dataGaName":541,"dataGaLocation":464},"/fr-fr/solutions/gitops/","gitops",{"text":174,"config":543},{"href":176,"dataGaName":177,"dataGaLocation":464},{"text":179,"config":545},{"href":181,"dataGaName":182,"dataGaLocation":464},{"text":184,"config":547},{"href":186,"dataGaName":187,"dataGaLocation":464},{"text":549,"config":550},"Formation",{"href":551,"dataGaName":552,"dataGaLocation":464},"/fr-fr/solutions/education/","education",{"text":554,"config":555},"Services financiers",{"href":556,"dataGaName":557,"dataGaLocation":464},"/fr-fr/solutions/finance/","financial services",{"title":194,"links":559},[560,562,565,567,570,572,575,578,580,582,584,586,588],{"text":206,"config":561},{"href":208,"dataGaName":209,"dataGaLocation":464},{"text":563,"config":564},"Guides de démarrage rapide",{"href":213,"dataGaName":214,"dataGaLocation":464},{"text":216,"config":566},{"href":218,"dataGaName":219,"dataGaLocation":464},{"text":221,"config":568},{"href":223,"dataGaName":569,"dataGaLocation":464},"docs",{"text":244,"config":571},{"href":246,"dataGaName":247},{"text":573,"config":574},"Histoires de réussite client",{"href":241,"dataGaLocation":464},{"text":576,"config":577},"Histoires de succès client",{"href":241,"dataGaName":242,"dataGaLocation":464},{"text":249,"config":579},{"href":251,"dataGaName":252,"dataGaLocation":464},{"text":257,"config":581},{"href":259,"dataGaName":260,"dataGaLocation":464},{"text":262,"config":583},{"href":264,"dataGaName":265,"dataGaLocation":464},{"text":267,"config":585},{"href":269,"dataGaName":270,"dataGaLocation":464},{"text":272,"config":587},{"href":274,"dataGaName":275,"dataGaLocation":464},{"text":277,"config":589},{"href":279,"dataGaName":280,"dataGaLocation":464},{"title":295,"links":591},[592,594,597,599,601,603,605,609,614,616,618,620],{"text":302,"config":593},{"href":304,"dataGaName":297,"dataGaLocation":464},{"text":595,"config":596},"Emplois",{"href":309,"dataGaName":310,"dataGaLocation":464},{"text":315,"config":598},{"href":317,"dataGaName":318,"dataGaLocation":464},{"text":320,"config":600},{"href":322,"dataGaName":323,"dataGaLocation":464},{"text":325,"config":602},{"href":327,"dataGaName":328,"dataGaLocation":464},{"text":330,"config":604},{"href":332,"dataGaName":333,"dataGaLocation":464},{"text":606,"config":607},"Sustainability",{"href":608,"dataGaName":606,"dataGaLocation":464},"/sustainability/",{"text":610,"config":611},"Diversité, inclusion et appartenance (DIB)",{"href":612,"dataGaName":613,"dataGaLocation":464},"/fr-fr/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":335,"config":615},{"href":337,"dataGaName":338,"dataGaLocation":464},{"text":345,"config":617},{"href":347,"dataGaName":348,"dataGaLocation":464},{"text":350,"config":619},{"href":352,"dataGaName":353,"dataGaLocation":464},{"text":621,"config":622},"Déclaration de transparence sur l'esclavage moderne",{"href":623,"dataGaName":624,"dataGaLocation":464},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":355,"links":626},[627,630,635,637,642,647,652],{"text":628,"config":629},"Échanger avec un expert",{"href":56,"dataGaName":57,"dataGaLocation":464},{"text":631,"config":632},"Aide",{"href":633,"dataGaName":634,"dataGaLocation":464},"https://support.gitlab.com/hc/en-us/articles/11626483177756-GitLab-Support","get help",{"text":369,"config":636},{"href":371,"dataGaName":372,"dataGaLocation":464},{"text":638,"config":639},"Statut",{"href":640,"dataGaName":641,"dataGaLocation":464},"https://status.gitlab.com/","status",{"text":643,"config":644},"Conditions d'utilisation",{"href":645,"dataGaName":646},"/terms/","terms of use",{"text":648,"config":649},"Déclaration de confidentialité",{"href":650,"dataGaName":651,"dataGaLocation":464},"/fr-fr/privacy/","privacy statement",{"text":653,"config":654},"Préférences en matière de cookies",{"dataGaName":655,"dataGaLocation":464,"id":656,"isOneTrustButton":12},"cookie preferences","ot-sdk-btn",{"items":658},[659,661,664],{"text":643,"config":660},{"href":645,"dataGaName":646,"dataGaLocation":464},{"text":662,"config":663},"Politique de confidentialité",{"href":650,"dataGaName":651,"dataGaLocation":464},{"text":653,"config":665},{"dataGaName":655,"dataGaLocation":464,"id":656,"isOneTrustButton":12},[667],{"id":668,"title":18,"body":8,"config":669,"content":671,"description":8,"extension":28,"meta":675,"navigation":12,"path":676,"seo":677,"stem":678,"__hash__":679},"blogAuthors/en-us/blog/authors/michael-friedrich.yml",{"template":670},"BlogAuthor",{"name":18,"config":672},{"headshot":673,"ctfId":674},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659879/Blog/Author%20Headshots/dnsmichi-headshot.jpg","dnsmichi",{},"/en-us/blog/authors/michael-friedrich",{},"en-us/blog/authors/michael-friedrich","lJ-nfRIhdG49Arfrxdn1Vv4UppwD51BB13S3HwIswt4",[681,697,709],{"content":682,"config":695},{"title":683,"description":684,"authors":685,"body":688,"heroImage":689,"date":690,"category":9,"tags":691},"GitLab et Vertex AI sur Google Cloud : vers un développement logiciel agentique","Découvrez comment les clients Google Cloud adoptent GitLab et Vertex AI pour les modèles de base, les contrôles d'entreprise et la richesse de Model Garden.\n",[686,687],"Regnard Raquedan","Rajesh Agadi","GitLab Duo Agent Platform redéfinit la façon dont les organisations conçoivent, sécurisent et livrent leurs logiciels. Depuis sa disponibilité générale en janvier 2026, la plateforme intègre l'IA agentique à chaque phase du cycle de développement logiciel. GitLab Duo Agent Platform constitue une couche d'orchestration intelligente au sein de laquelle les équipes de développement et leurs agents spécialisés planifient, codent, révisent et corrigent ensemble les vulnérabilités de sécurité.\n\nGrâce à ce partenariat, [GitLab Duo Agent Platform](https://about.gitlab.com/fr-fr/gitlab-duo-agent-platform/) automatise l'orchestration du développement logiciel et la gestion du contexte du cycle de vie via son intégration à Vertex AI sur Google Cloud, qui alimente la couche de modèles pour les appels d'agents. Les équipes continuent de travailler sur les tickets, les merge requests, les pipelines et les workflows de sécurité, tandis que l'inférence suit la posture Google Cloud qu'elles ont déjà définie.\n\nLes avancées des modèles Vertex AI de Google Cloud élargissent les possibilités d'utilisation de GitLab Duo Agent Platform pour les clients Google Cloud. Ces derniers bénéficient d'un plan de contrôle [DevSecOps](https://about.gitlab.com/fr-fr/topics/devsecops/ \"Qu'est-ce que le DevSecOps ?\") alimenté par l'IA dans GitLab, soutenu par une infrastructure d'IA en constante évolution dans Vertex AI, ainsi que par les options de déploiement et d'intégration flexibles de GitLab Duo Agent Platform. Cette combinaison permet des workflows agentiques plus performants et mieux gouvernés à l'échelle de l'entreprise.\n\n![Illustration conceptuelle de GitLab Duo Agent Platform intégré à Vertex AI de Google Cloud pour alimenter le développement logiciel agentique et les workflows d'IA gouvernés](https://res.cloudinary.com/about-gitlab-com/image/upload/v1776165990/b7jlux9kydafncwy8spc.png)\n\n## Des agents qui interviennent tout au long du cycle de vie\n\nDe nombreux outils d'IA se concentrent sur une seule tâche : accélérer la [génération de code](https://about.gitlab.com/fr-fr/topics/devops/ai-code-generation-guide/ \"Génération de code\"). GitLab Duo Agent Platform va plus loin. La plateforme orchestre des agents d'IA sur l'ensemble du cycle de vie du développement logiciel (SDLC), de la planification à la livraison en passant par les contrôles de sécurité, et ce pour de nombreuses équipes travaillant sur de multiples projets et releases. À cette échelle, les assistants d'IA pour le code sont indispensables à l'innovation continue, mais ne suffisent pas à eux seuls.\n\nLes assistants de codage à usage unique ont rarement une vision complète de l'état d'un projet. Le backlog, les merge requests en attente, les jobs en échec et les résultats de sécurité sont disponibles dans GitLab, mais une fenêtre de chat distincte dans un assistant de codage n'hérite pas de cette vue d'ensemble du [SDLC](https://about.gitlab.com/fr-fr/blog/what-is-sdlc/ \"Qu'est-ce que le SDLC ?\"). Ce manque se traduit par des transferts manuels, des explications répétées à une IA dépourvue de contexte, et des équipes de gouvernance qui tentent de cartographier les flux de données entre des outils qui n'ont jamais été conçus comme un système unifié.\n\nGitLab Duo Agent Platform contribue à combler ce fossé en exécutant des agents et des flows sur les mêmes objets que ceux utilisés quotidiennement par les équipes d'ingénierie. Vertex AI fournit ensuite les modèles et services que ces agents sollicitent lorsque Google Cloud est votre environnement d'inférence de référence, la passerelle d'IA (AI-Gateway) de GitLab gérant les accès afin que les administrateurs disposent d'une cartographie claire des connexions. Par exemple, l'agent Planner analyse les backlogs, décompose les epics en tâches structurées et applique des frameworks de priorisation pour aider les équipes à décider de ce qu'elles doivent développer ensuite. L'agent Security Analyst trie les vulnérabilités, détaille les risques en langage clair et recommande des mesures correctives par ordre de priorité. Des flows intégrés connectent ces agents au sein de processus de bout en bout, sans que les équipes de développement aient à gérer chaque transfert manuellement.\n\nAgentic Chat dans GitLab Duo Agent Platform offre une expérience unifiée pour les équipes de développement. Elles formulent des requêtes en langage naturel pour obtenir des réponses contextuelles basées sur un raisonnement multi-étapes qui s'appuie sur l'état complet d'un projet : ses tickets, ses merge requests, ses pipelines, ses résultats de sécurité et son code source. GitLab servant de système d'enregistrement pour le SDLC avec un modèle de données unifié, les agents GitLab Duo opèrent dans un contexte de cycle de vie qui échappe aux assistants d'IA autonomes et spécifiques à un outil.\n\n### Amplifiés par Vertex AI\n\nGitLab Duo Agent Platform est conçue pour offrir une flexibilité en matière de modèles, car elle attribue différentes capacités à différents modèles en fonction de ceux qui offrent les meilleures performances pour une tâche donnée. Ce choix architectural porte ses fruits sur Google Cloud, où Vertex AI joue le rôle d'environnement géré pour les modèles de base et les services associés, et offre un vaste écosystème de modèles et une infrastructure gérée qui contribuent à repousser encore plus loin les capacités de la plateforme.\n\nLes dernières générations de modèles d'IA disponibles via Vertex AI apportent des améliorations significatives en matière de raisonnement, d'utilisation des outils et de compréhension des contextes longs par rapport aux versions précédentes. Des propriétés sur lesquelles s'appuient les agents de GitLab sur de nombreux projets et équipes qui disposent de codes sources volumineux et complexes. Des fenêtres de contexte plus longues et une intégration plus riche des outils dans les modèles sous-jacents élargissent ce que les agents peuvent accomplir en une seule action, ce qui est particulièrement important pour des charges de travail telles que l'analyse approfondie du backlog ou le contrôle de sécurité d'un monorepo.\n\n[Vertex AI Model Garden](https://cloud.google.com/model-garden), avec son accès à un large éventail de modèles de base, offre aux clients la flexibilité nécessaire pour effectuer ces choix en fonction des performances, des coûts et des exigences réglementaires, sans la contrainte d'un fournisseur unique.\n\nPar ailleurs, les clients de GitLab peuvent utiliser la fonctionnalité Bring Your Own Model (BYOM) pour GitLab Duo Agent Platform, afin que les fournisseurs et les passerelles approuvés s'intègrent là où votre modèle de sécurité l'exige. L'article [consacré à GitLab Duo Agent Platform Self-Hosted et BYOM](https://about.gitlab.com/fr-fr/blog/agentic-ai-enterprise-control-self-hosted-duo-agent-platform-and-byom/) décrit le fonctionnement de cette configuration. Grâce à cette option de déploiement, les clients accèdent à un plus large éventail d'options de modèles qu'ils peuvent adapter à leur processus de développement logiciel : le bon modèle pour le bon workflow, avec les bonnes mesures de protection.\n\nPour GitLab, la décision de s'appuyer sur Vertex AI a été motivée par le besoin d'une fiabilité de niveau entreprise et d'une gamme de modèles inégalée. Vertex AI et Model Garden prennent entièrement en charge les aspects les plus complexes de l'hébergement des [grands modèles de langage (LLM)](https://about.gitlab.com/fr-fr/blog/large-language-model/ \"Qu'est-ce qu'un LLM ?\"), ce qui signifie que la livraison rapide de versions, la robustesse de la sécurité et la rigueur de la gouvernance sont intégrées de façon transparente dans l'intégration. Au-delà de l'offre de modèles Gemini, Vertex AI offre un accès mondial à faible latence à un vaste catalogue de modèles tiers et [open source](https://about.gitlab.com/fr-fr/blog/what-is-open-source/ \"Qu'est-ce que l'open source ?\").\n\nCombiné à l'approche de pointe de Google Cloud en matière de confidentialité des données et de protection des modèles, Vertex AI s'est imposé comme le choix évident pour alimenter l'[expérience développeur](https://about.gitlab.com/fr-fr/topics/devops/what-is-developer-experience/ \"Expérience développeur\") nouvelle génération de GitLab.\n\nEn intégrant Vertex AI Model Garden à son backend, GitLab renforce considérablement sa plateforme [DevSecOps](https://about.gitlab.com/fr-fr/topics/devsecops/ \"Qu'est-ce que le DevSecOps ?\") sans en répercuter la complexité sur les utilisateurs. Les équipes de développement n'ont pas à évaluer ni à gérer les LLM sous-jacents ; elles bénéficient au contraire d'un workflow simplifié et assisté par l'IA pour construire leurs applications.\n\nGitLab gère entièrement l'orchestration cloud et permet aux équipes de développement de se concentrer pleinement sur l'écriture d'un code de qualité, tandis que Vertex AI alimente les fonctionnalités qui les accompagnent.\n\n## Ce que cela signifie pour les clients Google Cloud\n\nGitLab Duo Agent Platform fournit déjà des agents d'IA qui opèrent sur l'ensemble du cycle de vie logiciel au sein d'un système d'enregistrement unique et gouverné. Sur Google Cloud, la plateforme favorise une innovation rapide à mesure que Vertex AI continue de faire évoluer les couches de modèles et d'infrastructure.\n\nPour les clients Google Cloud, cette intégration se traduit par une livraison logicielle rationalisée avec une gouvernance d'entreprise stricte. Pour les équipes d'ingénierie de plateforme, cela signifie normaliser les modèles Vertex qui alimentent les suggestions, les analyses et les corrections dans GitLab, plutôt que de répertorier des dizaines d'outils côté client. Les programmes de sécurité en bénéficient lorsque les agents proposent et valident des correctifs au même endroit où les équipes trient déjà les résultats, ce qui réduit les changements de contexte et les tâches qui s'échapperaient autrement vers des canaux non gérés.\n\nDu point de vue de l'économie et des politiques cloud, orienter l'inférence des agents vers Vertex depuis GitLab maintient l'utilisation à proximité des accords et contrôles déjà en place sur Google Cloud, ce qui contribue à éviter les dépenses redondantes et les chemins parallèles qui contournent les processus d'approvisionnement.\n\nVertex AI étant un fournisseur d'infrastructure sous-jacente de GitLab Duo Agent Platform, les organisations peuvent considérablement accroître la productivité de leurs équipes de développement sans les contraintes et les risques liés à la gestion de chaînes d'outils d'IA fragmentées. Les équipes restent alignées au sein d'un système d'enregistrement unique et sécurisé, ce qui leur permet de construire des applications plus rapidement et de livrer en toute confiance.\n\nLa collaboration entre GitLab et Google Cloud se construit depuis 2018. Aujourd'hui, elle représente l'une des collaborations les plus complètes pour les organisations qui souhaitent passer d'expérimentations en matière d'IA à un développement logiciel agentique entièrement gouverné sur Google Cloud. À mesure que les deux plateformes continuent d'évoluer, GitLab en élargissant son orchestration d'agents et son contexte développeur, et Vertex AI en repoussant les limites des capacités des modèles et de l'infrastructure des agents, la valeur ajoutée pour les clients communs ne cessera de croître.\n\n> [Commencez un essai gratuit de GitLab Duo Agent Platform](https://about.gitlab.com/fr-fr/free-trial/?utm_medium=blog&utm_source=blog&utm_campaign=eg_emea_x_trial_x_fr_blog_fr) pour découvrir la puissance de GitLab et Vertex AI sur Google Cloud.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663121/Blog/Hero%20Images/LogoLockupPlusLight.png","2026-04-15",[23,280,692,693,694],"google","news","product",{"featured":12,"template":13,"slug":696},"gitlab-and-vertex-ai-on-google-cloud",{"content":698,"config":707},{"title":699,"description":700,"authors":701,"heroImage":703,"date":704,"body":705,"category":9,"tags":706},"Accélérez votre développement avec GitLab Duo Agent Platform et Claude","Découvrez comment tirer parti des modèles d'IA externes comme Claude d'Anthropic pour automatiser la génération de code et la création de pipelines directement dans GitLab.",[702],"Cesar Saavedra","https://res.cloudinary.com/about-gitlab-com/image/upload/v1772058602/epl3sinfezlzxnppxak6.png","2026-04-09","Les équipes de développement logiciel modernes sont confrontées à un défi majeur : comment maintenir la cadence de développement tout en garantissant la qualité du code, la sécurité et la cohérence dans le cadre de projets complexes ?\n\nBien que les assistants IA pour le code aient accéléré la productivité individuelle des équipes, ils fonctionnent souvent en marge du workflow de développement global. Ce manque d'intégration oblige les développeurs à basculer constamment entre différents outils, à traduire manuellement les suggestions de l'IA en code exploitable et à consacrer un temps précieux à des tâches répétitives qui pourraient être automatisées.\n\n[GitLab Duo Agent Platform](https://about.gitlab.com/fr-fr/gitlab-duo-agent-platform/) résout ce problème en offrant une intégration transparente avec des modèles d'IA externes comme Claude d'Anthropic, Codex d'OpenAI et bien d'autres encore.\n\nEn créant des agents externes au sein de GitLab Duo Agent Platform, les organisations peuvent personnaliser les capacités de l'IA selon leurs besoins, workflows et normes spécifiques, directement dans l'environnement GitLab qu'elles connaissent. Les agents comprennent le contexte de votre projet, respectent vos normes de code et peuvent accomplir de manière autonome des tâches complexes en plusieurs étapes, de l'idée initiale au code prêt pour la production.\n\nRegardez cette démonstration vidéo et suivez les étapes ci-dessous pour vous lancer :\n\n\n\u003Cfigure class=\"video_container\">\n  \u003Ciframe src=\"https://www.youtube.com/embed/BPmoVCeyWJA?si=50ktjKxPUNpicXve\" frameborder=\"0\" allowfullscreen=\"true\"> \u003C/iframe>\n\u003C/figure>\n\n\n## Cas d'utilisation concrets\n\nVoici trois cas d'utilisation qui illustrent comment les agents externes transforment le cycle de vie du développement :\n\n### 1. De l'idée au code\n\nEn partant d'un projet vide et d'une description détaillée du ticket, l'agent externe (dans ce cas, Claude) prend en charge l'intégralité du développement de l'application. Le titre du ticket correspond à l'application souhaitée et la description énumère ses spécifications.\n\nL'agent lit le contexte (informations du projet, ressources associées, etc.), analyse les exigences détaillées dans le ticket, génère une application web Java full stack avec les composants d'interface utilisateur appropriés, implémente la logique métier avec les taux d'intérêt indiqués et crée une merge request comprenant l'ensemble du code prêt à être révisé.\n\nL'application générée inclut des classes Java backend, des fichiers HTML/CSS/JavaScript frontend et la configuration du build en fonction des spécifications du ticket d'origine. Les équipes peuvent ensuite tester l'application localement, vérifier les fonctionnalités et continuer à itérer avec l'agent par le biais d'une conversation en langage naturel.\n\n![Ticket détaillant les exigences de l'application](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772058387/irzlmm0gukanjt7ryq9b.png \"Ticket détaillant les exigences de l'application\")\n\n\n\n![Prompt pour que l'agent externe crée une merge request avec implémentation de l'application](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772058392/ajr6nquefob7lefdcxng.png \"Prompt pour que l'agent externe crée une merge request avec implémentation  de l'application\")\n\n\n\n\n![Implémentation terminée par l'agent externe](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772058387/gbwwawybg9u4jzibuurw.png \"Implémentation terminée par l'agent externe\")\n\n\n\n![Nouvelle application créée par l'agent externe](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772058387/rijlwchqo1zytp842bld.png \"Nouvelle application créée par l'agent externe\")\n\n\n\n![Build et exécution locale de l'application](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772058386/aycpfxa0mdbfbxf2ydu3.png \"Build et exécution locale de l'application\")\n\n\n\n![Test local de l'application](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772058388/rxlvwmzlx8vor92qhotl.png \"Test local de l'application\")\n\n### 2. Revue de code\n\nL'assurance qualité ne se limite pas à la génération de code. Dans le deuxième cas d'utilisation, le même agent externe effectue une revue de code complète de l'application qu'il a créée. En mentionnant l'agent dans un commentaire de la merge request, les équipes reçoivent une analyse détaillée comprenant les points forts du code, les problèmes critiques, les préoccupations de priorité moyenne, les améliorations mineures, les évaluations de sécurité, les notes de test, les métriques du code et les recommandations accompagnées d'un statut d'approbation. Ce processus de revue automatisée garantit la cohérence et détecte les problèmes potentiels avant qu'ils n'atteignent la production. Il permet aussi de libérer les développeurs expérimentés pour qu'ils se concentrent sur les décisions architecturales plutôt que sur les inspections routinières du code.\n\n\n![Demande de revue de code à l'agent externe](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772058387/ri7x5qkx9bfnidfn8gx1.png \"Demande de revue de code à l'agent externe\")\n\n\n\n![Résultats de la revue de code par l'agent externe](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772058392/trdamdekrnvkbnfz0twg.png \"Résultats de la revue de code par l'agent externe\")\n\n\n\n### 3. Création d'un pipeline pour construire une image de conteneur\n\nLe dernier cas d'utilisation se concentre sur une lacune courante : l'automatisation du déploiement. Lorsque la merge request ne dispose pas de [pipeline CI/CD](https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/ \"Qu'est-ce qu'un pipeline CI/CD ?\"), les équipes peuvent simplement demander à l'agent externe d'en créer un. L'agent génère une configuration de pipeline complète qui construit l'application, crée un Dockerfile au moyen d'images de base adaptées à la version Java du projet, construit une image [Docker](https://about.gitlab.com/fr-fr/blog/what-is-docker-comprehensive-guide/ \"Qu'est-ce que Docker ?\") et la déploie dans le registre de conteneurs intégré de GitLab. Le pipeline s'exécute automatiquement et suit les étapes de build, de création d'image Docker et de déploiement dans le registre sans configuration ni intervention manuelle.\n\n\n![Prompt pour que l'agent externe crée un pipeline et une image de conteneur](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772058392/bwqipksewm1hejuycwqh.png \"Prompt pour que l'agent externe crée un pipeline et une image de conteneur\")\n\n\n\n![Nouveau pipeline et fichiers Dockerfile créés par l'agent externe](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772058395/agyr8hhc1vax7aarsxoj.png \"Nouveau pipeline et fichiers Dockerfile créés par l'agent externe\")\n\n\n\n![Exécution réussie du pipeline venant d'être créé](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772058395/cdm4mye5edkpemedpxts.png \"Exécution réussie du pipeline venant d'être créé\")\n\n\n\n![Image de conteneur créée suite à l'exécution du pipeline](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772058395/bifx71xz9k7vedbo9xl3.png \"Image de conteneur créée suite à l'exécution du pipeline\")\n\n## Résumé\n\nAvec ses agents externes, GitLab Duo Agent Platform représente un changement fondamental dans la manière dont les organisations abordent le développement logiciel. En remédiant à l'isolation des outils d'IA et à la fragmentation des workflows, les agents externes offrent une automatisation intelligente directement dans les plateformes que les équipes utilisent déjà. Plutôt que de traiter l'IA comme un assistant de codage séparé, GitLab Duo Agent Platform intègre de manière transparente des modèles externes comme Claude dans votre workflow GitLab, pour que les agents puissent comprendre le contexte complet du projet, respecter les normes de l'organisation et gérer en toute autonomie des tâches complexes à chaque étape du [SDLC](https://about.gitlab.com/fr-fr/blog/what-is-sdlc/ \"Qu'est-ce que le SDLC ?\").\n\nLa proposition de valeur est claire : les équipes de développement accélèrent les délais de livraison, maintiennent une qualité de code cohérente, réduisent le travail répétitif et libèrent les ingénieurs expérimentés afin qu'ils se concentrent sur l'innovation plutôt que sur les tâches routinières. De la génération de code prêt pour la production basée sur des descriptions de tickets à la réalisation de revues de code approfondies et à l'automatisation des pipelines de déploiement, les agents externes deviennent des collaborateurs de confiance qui comprennent les besoins et normes spécifiques de votre organisation.\n\nDécouvrez comment votre équipe peut livrer plus rapidement et maintenir une qualité de code supérieure sans changer de contexte tout au long du cycle de vie du développement logiciel. Essayez [GitLab Duo Agent Platform](https://about.gitlab.com/fr-fr/gitlab-duo-agent-platform/?utm_medium=blog&utm_source=blog&utm_campaign=eg_emea_x_trial_x_fr_blog_fr) dès aujourd'hui. Ensuite, consultez notre article [« Démarrer avec GitLab Duo Agent Platform : le guide complet »](https://about.gitlab.com/fr-fr/blog/gitlab-duo-agent-platform-complete-getting-started-guide/).\n\n",[694,23,26],{"featured":32,"template":13,"slug":708},"gitlab-duo-agent-platform-with-claude-accelerates-development",{"content":710,"config":721},{"date":711,"title":712,"description":713,"authors":714,"heroImage":717,"body":718,"category":9,"tags":719},"2026-04-01","Accélérer l'innovation dans la chaîne de développement logiciel avec GitLab Duo Agent Platform et AWS Bedrock","Enjeux actuels, vision de GitLab et cas d'usage concrets : découvrez comment une orchestration intelligente des agents d'IA peut transformer votre organisation.",[715,716],"Olivier Dupré","Charlotte Delbosc","https://res.cloudinary.com/about-gitlab-com/image/upload/f_auto,q_auto,c_lfill/v1751464636/htrk5th3q0tq1rcfntkp.png","Accélérer le développement logiciel grâce à l'intelligence artificielle, c'est la promesse que beaucoup d'entreprises cherchent à tenir. Mais entre la multiplication des outils, la multiplication des modèles et la pression croissante en matière de [sécurité et de conformité](https://about.gitlab.com/fr-fr/blog/meet-regulatory-standards-with-gitlab/ \"Sécurité et conformité\"), la réalité est souvent plus complexe qu'un simple gain de productivité sur l'écriture de code.\n\nComment passer d'une IA expérimentale et fragmentée à une IA véritablement industrialisée, gouvernée et intégrée à l'ensemble du cycle de développement logiciel ? C'est la question centrale à laquelle GitLab répond avec GitLab Duo Agent Platform, en offrant à ses clients toute la flexibilité dont ils ont besoin en termes d’hébergement des modèles, pour répondre à leurs contraintes opérationnelles.\n\nDécouvrez dans cet article comment l'orchestration intelligente des agents d'IA peut transformer l’ensemble du cycle de développement logiciel, à travers deux cas d’usage concrets avec AWS Bedrock comme backend LLM.\n\n> 🎯 Essayez [GitLab Duo Agent Platform](https://about.gitlab.com/fr-fr/gitlab-duo-agent-platform/?utm_medium=blog&utm_source=blog&utm_campaign=eg_emea_x_trial_x_fr_blog_fr) dès aujourd'hui !\n\n## L'IA en entreprise : de l'expérimentation à la gouvernance à grande échelle\n\nEn 2025, **près de 88 % des organisations utilisaient déjà l'IA dans au moins une fonction métier**, selon une enquête de McKinsey. Un chiffre qui illustre un basculement majeur : l'IA n'est plus un sujet d'expérimentation isolée. Elle est devenue un enjeu de production, de gouvernance et de gestion des risques à l'échelle de l'entreprise.\n\n![Enquête de McKinsey 2025](https://res.cloudinary.com/about-gitlab-com/image/upload/v1774026444/orfmpn658y49717y3n8f.png)\n\nSur les deux dernières années, l'utilisation de l'IA générative s’est intensifiée, entraînant dans son sillage une multiplication d'outils, de modèles et de preuves de concept. Une complexité croissante qui soulève une question de fond : qui utilise quel modèle, avec quelles données, et sous quel niveau de sécurité et de conformité ? Face à ce manque de visibilité, les entreprises réclament désormais davantage de traçabilité, de contrôle et de gouvernance sur leur utilisation de l’IA. \n\n## Le paradoxe de l'IA dans le développement logiciel\n\nDans la chaîne de développement logiciel, un paradoxe s'est installé : l'IA a certes accéléré la phase de codage, mais toutes les autres étapes du cycle de développement logiciel restent des goulots d'étranglement. Spécifications, revues de code, tests, sécurité, déploiements, surveillance… autant d'étapes qui n'ont pas encore pleinement profité des avantages de l’intelligence artificielle.\n\nC’est dans ce contexte que s'inscrit la stratégie de GitLab : passer d’une approche fragmentée de l’IA à une plateforme unifiée où le code, la sécurité et la conformité ainsi que l’IA coexistent au même endroit. \n\n## GitLab : de l’approche DevSecOps  à l’orchestration intelligente\n\nGitLab a transformé sa plateforme, d’une simple plateforme [CI/CD](https://about.gitlab.com/fr-fr/topics/ci-cd/ \"Qu'est-ce que le CI/CD ?\") pour gérer étape par étape le cycle de vie logiciel à une **plateforme d'orchestration intelligente** qui unifie à la fois le DevSecOps et l'IA.\n\nL'objectif n'est plus seulement d'automatiser chaque étape individuellement, mais de **permettre aux équipes d'orchestrer leurs agents d’IA** pour livrer des logiciels plus vite, de manière plus sécurisée, et avec une gouvernance renforcée depuis une plateforme unique.\n\n### Une intégration adaptée à vos besoins\n\nL'approche de GitLab s’adapte à vos contraintes existantes : \n\n* **Intégration à vos workflows existants** : projets, pipelines, outils.\n* **Exploitation de votre contexte métier** : les agents GitLab s'appuient sur votre code et votre contexte pour être immédiatement opérationnels sur vos applications.\n* **Respect de vos règles de sécurité et de conformité** : politiques d'accès, localisation des données.\n* **Maîtrise totale de votre infrastructure** : avec des modèles auto-gérés ou hébergés sur AWS, vous avez la possibilité d'utiliser les modèles de votre choix, tout en conservant vos données et votre contrôle. Et si vos contraintes l'exigent, vous pouvez également basculer sur AWS European Sovereign Cloud, voire fonctionner en environnement totalement isolé d'Internet.\n\nPour illustrer concrètement ces capacités, intéressons-nous aux deux cas d'usage suivants.\n\n## GitLab Duo Agent Platform et AWS Bedrock en pratique\n\nLes deux cas d'usage présentés ci-dessous s'appuient sur une instance GitLab déployée sur AWS, avec AWS Bedrock comme backend LLM. Les modèles ont été préalablement configurés dans GitLab pour alimenter les différentes fonctionnalités de GitLab Duo Agent Platform : suggestion de code, GitLab Duo Agentic Chat, explication de code, etc. \n\n### Cas d'usage 1 : utilisation de l’agent Security Analyst\n\nLes scans SAST et SCA sont essentiels, mais ils génèrent souvent un volume important de vulnérabilités, difficiles à classer, prioriser et traiter efficacement. C'est là qu'intervient l'agent Security Analyst de GitLab. Cet agent d’IA spécialisé joue le rôle d'un analyste sécurité augmenté : \n\n* Il se connecte aux résultats des scans de sécurité.\n* Il analyse les vulnérabilités et estime leurs niveaux de risque.\n* Il priorise les éléments critiques et propose des plans de remédiation.\n\nLes bénéfices sont mesurables : moins de bruit pour les développeurs, un gain de temps pour les équipes AppSec, et une réduction observable du volume de vulnérabilités en production.\n\nLa sécurité n'est pas le seul domaine où les agents d’IA font la différence. Le cas d'usage suivant montre comment cette même logique d'orchestration peut transformer le quotidien des équipes de développement avec l’aide de plusieurs agents spécialisés. \n\n### Cas d'usage 2 : de la user story à la merge request avec des agents d’IA\n\nTransformer une user story en code fonctionnel, accompagné de tests et d’une documentation, est un processus long et variable d'un développeur à l'autre. \n\nPour faciliter le travail des équipes, GitLab propose un **flow “Développeur” qui orchestre simultanément plusieurs agents d’IA** à partir d’un simple ticket :\n\n1. Un agent propose le **plan de développement** et **génère le code**.\n2. Un agent **effectue les tests**.\n3. Un agent **rédige et met à jour la documentation**.\n\nCe flow de bout en bout permet de gagner un temps précieux entre l’idée et le développement, tout en standardisant les pratiques et en garantissant la conformité avec les contraintes de l'entreprise.\n\n## L'IA comme levier industriel\n\nL'enjeu n'est pas d'avoir plus d'IA, mais de faire en sorte que **les équipes et les agents d’IA collaborent ensemble à l'échelle de l'entreprise**. Avec GitLab et son approche d’orchestration intelligente, les équipes DevSecOps alignent leurs workflows, leurs règles de sécurité et leurs modèles pour faire de l’IA un véritable avantage compétitif. \n\n> 🎯 Prêt à accélérer votre développement logiciel ? Essayez [GitLab Duo Agent Platform](https://about.gitlab.com/fr-fr/gitlab-duo-agent-platform/?utm_medium=blog&utm_source=blog&utm_campaign=eg_emea_x_trial_x_fr_blog_fr) dès aujourd'hui !\n\n### Ressources complémentaires\n\n* [GitLab Duo Agent Platform : le guide complet](https://about.gitlab.com/fr-fr/blog/gitlab-duo-agent-platform-complete-getting-started-guide/)\n* [Démarrer avec GitLab Duo Agent Platform](https://about.gitlab.com/fr-fr/blog/introduction-to-gitlab-duo-agent-platform/)\n* [Démarrer avec GitLab Duo Agentic Chat](https://about.gitlab.com/fr-fr/blog/getting-started-with-gitlab-duo-agentic-chat/)\n* [GitLab Duo Agent Platform : comprendre les agents](https://about.gitlab.com/fr-fr/blog/understanding-agents-foundational-custom-external/)\n* [Comprendre les flows : workflows multi-agents](https://about.gitlab.com/fr-fr/blog/understanding-flows-multi-agent-workflows/)\n* [Découvrir le catalogue d'IA : créer et partager des agents et des flows](https://about.gitlab.com/fr-fr/blog/ai-catalog-discover-and-share-agents/)\n* [Surveiller, gérer et automatiser les workflows d'IA](https://about.gitlab.com/fr-fr/blog/monitor-manage-automate-ai-workflows/) \n* [Intégrer le Model Context Protocol](https://about.gitlab.com/fr-fr/blog/duo-agent-platform-with-mcp/)\n* [Personnaliser GitLab Duo Agent Platform : règles, prompts et workflows](https://about.gitlab.com/fr-fr/blog/customizing-gitlab-duo-chat-rules-prompts-workflows/)",[720,23,25],"AWS",{"featured":12,"template":13,"slug":722},"gitlab-duo-agent-platform-and-aws-bedrock",{"header":724,"blurb":725,"button":726,"secondaryButton":730},"Commencez à développer plus rapidement dès aujourd'hui","Découvrez ce que votre équipe peut accomplir avec la plateforme d'orchestration intelligente pour le DevSecOps.\n",{"text":49,"config":727},{"href":728,"dataGaName":52,"dataGaLocation":729},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/fr-fr/","feature",{"text":54,"config":731},{"href":56,"dataGaName":57,"dataGaLocation":729},{"promotions":733},[734,747,759,771],{"id":735,"categories":736,"header":737,"text":738,"button":739,"image":744},"ai-modernization",[9],"Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":740,"config":741},"Get your AI maturity score",{"href":742,"dataGaName":743,"dataGaLocation":247},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":745},{"src":746},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":748,"categories":749,"header":751,"text":738,"button":752,"image":756},"devops-modernization",[694,750],"devsecops","Are you just managing tools or shipping innovation?",{"text":753,"config":754},"Get your DevOps maturity score",{"href":755,"dataGaName":743,"dataGaLocation":247},"/assessments/devops-modernization-assessment/",{"config":757},{"src":758},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":760,"categories":761,"header":763,"text":738,"button":764,"image":768},"security-modernization",[762],"security","Are you trading speed for security?",{"text":765,"config":766},"Get your security maturity score",{"href":767,"dataGaName":743,"dataGaLocation":247},"/assessments/security-modernization-assessment/",{"config":769},{"src":770},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":772,"paths":773,"header":776,"text":777,"button":778,"image":783},"github-azure-migration",[774,775],"migration-from-azure-devops-to-gitlab","integrating-azure-devops-scm-and-gitlab","Is your team ready for GitHub's Azure move?","GitHub is already rebuilding around Azure. Find out what it means for you.",{"text":779,"config":780},"See how GitLab compares to GitHub",{"href":781,"dataGaName":782,"dataGaLocation":247},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":784},{"src":758},1776449970778]