[{"data":1,"prerenderedAt":783},["ShallowReactive",2],{"/fr-fr/blog/developing-gitlab-duo-blending-ai-and-root-cause-analysis-to-fix-ci-cd":3,"navigation-fr-fr":45,"banner-fr-fr":451,"footer-fr-fr":461,"blog-post-authors-fr-fr-Rutvik Shah|Michael Friedrich":671,"blog-related-posts-fr-fr-developing-gitlab-duo-blending-ai-and-root-cause-analysis-to-fix-ci-cd":697,"assessment-promotions-fr-fr":736,"next-steps-fr-fr":774},{"id":4,"title":5,"authorSlugs":6,"body":9,"categorySlug":10,"config":11,"content":15,"description":9,"extension":30,"isFeatured":13,"meta":31,"navigation":13,"path":32,"publishedDate":22,"seo":33,"stem":39,"tagSlugs":40,"__hash__":44},"blogPosts/fr-fr/blog/developing-gitlab-duo-blending-ai-and-root-cause-analysis-to-fix-ci-cd.yml","Developing Gitlab Duo Blending Ai And Root Cause Analysis To Fix Ci Cd",[7,8],"rutvik-shah","michael-friedrich",null,"ai-ml",{"slug":12,"featured":13,"template":14},"developing-gitlab-duo-blending-ai-and-root-cause-analysis-to-fix-ci-cd",true,"BlogPost",{"title":16,"description":17,"authors":18,"heroImage":21,"date":22,"body":23,"category":10,"tags":24},"GitLab Duo : l'IA combinée à l'analyse des causes profondes pour réparer les pipelines CI/CD","Découvrez comment nous avons associé une fonctionnalité d'analyse des causes profondes à l'IA pour vous aider à réparer les pipelines CI/CD défectueux.",[19,20],"Rutvik Shah","Michael Friedrich","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097321/Blog/Hero%20Images/Blog/Hero%20Images/blog-hero-banner-1-0178-820x470-fy25_7JlF3WlEkswGQbcTe8DOTB_1750097321081.png","2024-06-06","***L'IA générative marque une avancée majeure dans le domaine du développement logiciel, simplifiant le processus de développement, de sécurisation et d'exploitation des logiciels. Notre série d'articles de blog, rédigée par nos équipes produit et ingénierie, vous propose un aperçu de notre processus de création, de test et de déploiement des fonctionnalités d'IA que vous avez besoin d'intégrer dans l'ensemble de l'entreprise. Explorez les nouvelles capacités de GitLab Duo et découvrez comment elles aident les équipes DevSecOps à livrer de meilleurs résultats aux clients.***\n\nAvez-vous déjà été contraint d'interrompre votre workflow [DevSecOps](https://about.gitlab.com/fr-fr/topics/devsecops/ \"Qu'est-ce que le DevSecOps ?\"), voire de retarder votre processus de déploiement logiciel, alors que vous cherchiez la cause profonde d'un problème de pipeline [CI/CD](https://about.gitlab.com/fr-fr/topics/ci-cd/benefits-continuous-integration/) ? Traditionnellement, lorsqu'un problème survient au cours du processus de création de logiciels, les développeurs doivent parcourir les fichiers journaux et le résoudre après de multiples essais. [L'analyse des causes profondes de GitLab Duo](https://about.gitlab.com/fr-fr/gitlab-duo/), l'une de nos fonctionnalités alimentées par l'IA, élimine les hypothèses en déterminant la cause profonde de l'échec d'un pipeline CI/CD.\n\nDécouvrez dans cet article ce qu’est l'analyse des causes profondes et comment appliquer cette fonctionnalité GitLab Duo alimentée par l'IA à votre workflow DevSecOps.\n\n> Vous avez manqué notre événement virtuel à l’occasion du lancement de GitLab 17 ? [Accédez au replay !](https://about.gitlab.com/fr-fr/eighteen/)\n\n## Qu’est-ce que l'analyse des causes profondes ?\n\nL'analyse des causes profondes de GitLab Duo est une fonctionnalité alimentée par l'IA qui analyse les journaux pour vous aider à identifier une cause profonde et suggère une solution lorsqu'un job log CI/CD échoue.\n\nBien qu'elle soit souvent utilisée pour gérer les incidents liés aux produits, ses méthodes et ses pratiques de débogage se retrouvent dans tous les workflows DevSecOps. Lorsque les équipes Ops, les administrateurs et les ingénieurs de plateforme enquêtent sur les échecs de pipeline, ils sont confrontés à des erreurs de déploiement de l'Infrastructure as Code (IaC), à des problèmes liés à [Kubernetes](https://about.gitlab.com/fr-fr/blog/kubernetes-the-container-orchestration-solution/ \"Qu'est-ce que Kubernetes ? \") et [GitOps](https://about.gitlab.com/fr-fr/topics/gitops/ \"GitOps\"), ainsi qu'à de longues traces d'appels détaillant la séquence complète des fonctions ou des méthodes impliquées dans les défaillances.\n\nRassemblant les équipes sur une seule interface, la fonctionnalité d'analyse des causes profondes de GitLab Duo fait appel à l'IA pour résumer, analyser et proposer des correctifs afin que les entreprises puissent déployer plus rapidement des logiciels sécurisés.\n\nUn pipeline peut échouer pour diverses raisons, notamment des erreurs de syntaxe dans le code, des dépendances manquantes, des échecs de test pendant le processus de compilation, des délais d'attente dépassés lors du déploiement de Kubernetes et de l'IaC, ainsi que de nombreux autres problèmes potentiels. Lorsque de tels échecs se produisent, toute l'équipe a la responsabilité d'examiner minutieusement les logs générés par le pipeline. Ce processus d'examen du job log consiste à vérifier minutieusement les sorties détaillées pour identifier les erreurs spécifiques et les causes profondes de l'échec du pipeline. Par exemple, le pipeline suivant a enregistré plusieurs échecs qui doivent être examinés et corrigés.\n\n![Image illustrant plusieurs échecs de jobs](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097332/Blog/Content%20Images/Blog/Content%20Images/image3_aHR0cHM6_1750097332601.png)\n\nLa durée nécessaire pour corriger ces échecs est très variable et grandement influencée par plusieurs facteurs, tels que :\n\n* la connaissance du projet par le développeur,\n* son niveau d'expérience avec des problèmes similaires,\n* son niveau de compétence global en matière de dépannage et de résolution de problèmes dans le contexte du pipeline.\n\nL'analyse manuelle peut être extrêmement difficile et chronophage, dans la mesure où les données des journaux se composent de journaux d'applications et de messages système rassemblant de nombreuses sources d'échec potentielles. Un correctif de pipeline typique peut consister en plusieurs itérations et en un changement de contexte. La complexité et la nature non structurée des fichiers journaux illustrent à la perfection la manière dont l'IA générative permet d'accélérer les tâches. L'utilisation de l'IA peut réduire considérablement le temps nécessaire pour identifier et corriger une erreur de pipeline. Elle abaisse également le niveau d'expertise nécessaire pour réparer un pipeline comme celui présenté ci-dessus.\n\nRegardez la fonctionnalité d’analyse des causes profondes de GitLab Duo en action :\n\n\u003C!-- blank line -->\n\n\u003Cfigure class=\"video_container\">\n\n \u003Ciframe src=\"https://www.youtube.com/embed/sTpSLwX5DIs?si=J6-0Bf6PtYjrHX1K\" frameborder=\"0\" allowfullscreen=\"true\"> \u003C/iframe>\n\n\u003C/figure>\n\n\u003C!-- blank line -->\n\n## Comment fonctionne l'analyse des causes profondes ?\n\n[L'analyse des causes profondes](https://docs.gitlab.com/ee/user/ai_experiments.html#root-cause-analysis) transmet une partie du job log CI/CD à la [passerelle d'IA de GitLab](https://docs.gitlab.com/ee/architecture/blueprints/ai_gateway/). GitLab intègre ce segment dans les limites du token du grand modèle de langage (LLM) et l'associe à un prompt créé en amont afin de fournir des informations sur les raisons possibles de l'échec du job. Le prompt demande également au LLM de fournir un exemple de résolution du job qui a échoué.\n\nVoici deux exemples de scénarios où la fonctionnalité d'analyse des causes profondes de GitLab peut vous être utile.\n\n#### 1. Analysez une erreur de dépendance Python\n\nUne application Python peut importer des modules de package contenant des fonctionnalités qui ne sont pas fournies dans la bibliothèque standard. Le projet « [Challenge - Root Cause Analysis - Python Config](https://gitlab.com/gitlab-da/use-cases/ai/ai-workflows/gitlab-duo-challenges/root-cause-analysis/challenge-root-cause-analysis-python-config) » met en œuvre une application qui analyse la configuration et initialise une base de données SQLite. Ces deux éléments fonctionnent sans dépendance. Le projet utilise les meilleures pratiques CI/CD avec une mise en cache et un environnement Python. La dernière implémentation de la fonctionnalité ajoute un client de mise en cache Redis et la compilation CI/CD échoue maintenant pour une raison quelconque.\n\nGrâce à la fonctionnalité d'analyse des causes profondes de GitLab Duo, vous pouvez immédiatement repérer que le texte `ModuleNotFoundError` signifie que le module n'est pas installé dans l'environnement Python. GitLab Duo suggère également un exemple de correctif : l'installation du module Redis via le gestionnaire de paquets PIP.\n\n![Image représentant le message 'modulenotfounderror' et la résolution suggérée par GitLab Duo](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097332/Blog/Content%20Images/Blog/Content%20Images/image2_aHR0cHM6_1750097332602.png)\n\nPour consulter le pipeline défectueux, cliquez sur [ce lien](https://gitlab.com/gitlab-da/use-cases/ai/ai-workflows/gitlab-duo-challenges/root-cause-analysis/challenge-root-cause-analysis-python-config/-/jobs/6992716398).\n\nLe prompt d'analyse des causes profondes de GitLab fournit un résumé du problème, qui semble découler d'un module `redis` manquant. Essayons de le résoudre en installant le module `redis`. Vous pouvez appeler `pip install redis` dans la section `script` du job CI/CD, ou utiliser une approche plus sophistiquée avec le fichier `requirements.txt`. Ce dernier est utile si vous souhaitez avoir une source unique de vérité pour les dépendances installées dans l'environnement de développement et les pipelines CI/CD.\n\n```yaml\ntest:\n  extends: [.python-req]\n  stage: test\n  before_script:\n    # [🦊] hint: Root cause analysis. # Solution 1: Install redis using pip\n    - pip install redis\n    # Solution 2: Add redis to requirements.txt, use pip\n    - pip install -r requirements.txt\n\n  script:\n    - python src/main.py\n\n```\n\nUne fois la dépendance Python manquante corrigée, le job CI/CD échoue à nouveau. Utilisez une nouvelle fois l'analyse des causes profondes de GitLab et vous constaterez qu'aucun service Redis n'est en cours d'exécution dans le job. Dans GitLab Duo Chat, saisissez le prompt `How to start a Redis service in CI/CD` (Comment démarrer un service Redis dans CI/CD) pour apprendre à configurer l'attribut `services` dans le job CI/CD.\n\n![Illustre le prompt indiquant comment démarrer un service Redis](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097333/Blog/Content%20Images/Blog/Content%20Images/image6_aHR0cHM6_1750097332602.png)\n\nModifiez le fichier `.gitlab-ci.yml` avec le job `test` et indiquez le service `redis`.\n\n```yaml\ntest:\n  extends: [.python-req]\n  stage: test\n  before_script:\n    # [🦊] hint: Root cause analysis.\n    # Solution 1: Install redis using pip\n    - pip install redis\n    # Solution 2: Add redis to requirements.txt, use pip\n    - pip install -r requirements.txt\n\n  script:\n    - python src/main.py\n\n  # Solution 3 - Running Redis\n  services:\n    - redis\n\n```\n\nL'exécution du serveur Redis vous permet d'exécuter avec succès l'application Python et d'enregistrer sa sortie dans le job log CI/CD.\n\n![sortie de l'application Python](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097332/Blog/Content%20Images/Blog/Content%20Images/image4_aHR0cHM6_1750097332603.png)\n\nLa solution est fournie dans le [dépôt solution/](https://gitlab.com/gitlab-da/use-cases/ai/ai-workflows/gitlab-duo-challenges/root-cause-analysis/challenge-root-cause-analysis-python-config/-/tree/main/solution?ref_type=heads).\n\n**Conseil :** vous pouvez également demander à [GitLab Duo Chat](https://docs.gitlab.com/ee/user/gitlab_duo_chat.html) de suivre les problèmes potentiels à l'avenir.\n\n```markdown\nHow to lint Python code? Which tools are recommended for CI/CD.\nHow to pin a package version in Python requirements file?\nWhat are possible ways that this exception stacktrace is triggered in the future?\nAre there ways to prevent the application from failing?\n```\n\nL'exemple suivant est plus avancé et comprend plusieurs échecs.\n\n#### 2. Analysez le runtime Go manquant\n\nLes jobs CI/CD peuvent être exécutés dans des conteneurs, générés à partir de l'attribut `image` fourni. Si le conteneur ne fournit pas de runtime de langage de programmation, les sections `script` exécutées faisant référence au binaire `go` échouent. Par exemple, il est nécessaire de comprendre et de corriger le message d'erreur `/bin/sh: eval: line 149: go: not found`.\n\nPlusieurs raisons peuvent expliquer que la commande `go` ne se trouve pas dans le contexte de runtime du conteneur :\n\n1. Le job utilise une image de conteneur minimale, par exemple `alpine`, et le runtime du langage Go n'a pas été installé.\n2. Le job utilise la mauvaise image de conteneur par défaut, par exemple, celle indiquée au-dessus de la configuration CI/CD ou correspondant au mot-clé `default`.\n3. Le job utilise le Shell executor (exécuteur Shell) à la place de l'image de conteneur. Le runtime Go n'est pas installé sur le système d'exploitation hôte, il échoue pour un autre motif ou n'est pas configuré.\n\nNotre projet « [Challenge - Root Cause Analysis - Go GitLab Release Fetcher](https://gitlab.com/gitlab-da/use-cases/ai/ai-workflows/gitlab-duo-challenges/root-cause-analysis/challenge-root-cause-analysis-go-gitlab-release-fetcher) » propose un exercice d'analyse et de résolution des problèmes CI/CD avec une application de récupération de versions GitLab, écrite en langage Go. Les jobs CI/CD `build` et `docker-build` échouent. La résolution du problème a différentes portées : comprendre pourquoi le runtime Go n'est pas installé et en apprendre davantage sur la syntaxe `Dockerfile`.\n\n![Capture d'écran montrant l'échec du job Modifier l'étiquette Docker](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097332/Blog/Content%20Images/Blog/Content%20Images/image5_aHR0cHM6_1750097332603.png)\n\nLe [dépôt `solution/`](https://gitlab.com/gitlab-da/use-cases/ai/ai-workflows/gitlab-duo-challenges/root-cause-analysis/challenge-root-cause-analysis-go-gitlab-release-fetcher) suggère deux solutions possibles après l'analyse des causes profondes.\n\n## Entraînez-vous à utiliser l'analyse des causes profondes\n\nVoici plusieurs scénarios pour lesquels vous pouvez vous entraîner à travailler avec la fonctionnalité d'analyse des causes profondes de GitLab.\n\n* Lorsque vous rencontrez des délais d'attente expirés ou des erreurs de déploiements.\n* Lorsque des pipelines IaC OpenTofu ou Terraform ne parviennent pas à provisionner vos ressources cloud.\n* Lorsque le playbook Ansible échoue et affiche un message d'erreur cryptique d'autorisation dans le CI/CD.\n* Lorsque la trace d'appels Java contient 10 pages.\n* Lorsqu'un script shell met en évidence une erreur d'exécution.\n* Lorsqu'un script Perl échoue sur la seule ligne que ce script contient.\n* Lorsque le job CI/CD est interrompu et que la section qui en serait la cause n'est pas évidente.\n* Lorsqu'un délai d'attente de connexion réseau est atteint et que vous pensez qu'il ne peut pas s'agir du DNS.\n\n## Quels sont les prochains développements prévus pour l'analyse des causes profondes de GitLab Duo ?\n\nNous voulons aider nos utilisateurs à réduire le nombre d'itérations nécessaires pour valider leurs [pipelines CI/CD](https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/ \"Qu'est-ce qu'un pipeline CI/CD ? \"). À l'avenir, la fonctionnalité d'analyse des causes profondes de GitLab s'ouvrira systématiquement et affichera la réponse dans GitLab Duo Chat, notre assistant d'IA. Les utilisateurs pourront alors s'appuyer sur la recommandation pour générer un correctif plus précis en posant des questions spécifiques (par exemple, des correctifs spécifiques pour un langage de programmation particulier) ou en demandant des correctifs alternatifs en fonction de la cause profonde identifiée.\n\nPar exemple, voici le résultat de l'analyse des causes profondes d'un job ayant rencontré un échec :\n\n![Réponse de l'Analyse des causes profondes](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097332/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750097332603.png)\n\nLes utilisateurs peuvent poser des questions de suivi qui approfondissent la réponse générée par l'IA.\n\n* Je ne veux pas créer ma propre image [Docker](https://about.gitlab.com/fr-fr/blog/what-is-docker-comprehensive-guide/ \"Qu'est-ce que Docker ?\"). Veuillez suggérer d'autres façons de résoudre le problème.\n* Je n'ai pas accès à la création d'image Docker. Il semble que le binaire Go soit manquant. Pouvez-vous suggérer des images alternatives ?\n\nGitLab exécutera également un benchmark de la qualité des réponses générées et mettra en place des améliorations pour rendre l'utilisation plus conviviale et efficace.\n\nConsultez notre [epic sur la disponibilité générale de l'analyse des causes profondes](https://gitlab.com/groups/gitlab-org/-/epics/13080) pour en savoir plus et laissez un commentaire sur notre [ticket dédié à l'analyse des causes profondes](https://gitlab.com/groups/gitlab-org/-/epics/13872) pour nous dire ce que vous pensez de cette fonctionnalité.\n\n## Profitez dès maintenant des nombreux avantages de l'analyse des causes profondes\n\nPour activer cette fonctionnalité, consultez notre [documentation](https://docs.gitlab.com/ee/user/ai_experiments.html#root-cause-analysis). L'analyse des causes profondes est disponible actuellement pour nos clients GitLab Ultimate et sera bientôt disponible dans GitLab Auto-géré et GitLab Dedicated.\n\nVous souhaitez tester GitLab Ultimate ? Commencez dès aujourd'hui [un essai gratuit de 30 jours](https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/blog&glm_content=default-saas-trial).\n\n## En savoir plus sur le « Développement de GitLab Duo »\n\n* [Développement de GitLab Duo : comment nous validons et testons les modèles d'IA à grande échelle](https://about.gitlab.com/fr-fr/blog/developing-gitlab-duo-ai-impact-analytics-dashboard-measures-the-roi-of-ai/)\n* [Développement de GitLab Duo : mesurer le ROI de l’IA avec le tableau de bord d'analyse d'impact](https://about.gitlab.com/fr-fr/blog/developing-gitlab-duo-ai-impact-analytics-dashboard-measures-the-roi-of-ai/)\n* [Développement de GitLab Duo : comment nous utilisons nos propres fonctionnalités d'IA](https://about.gitlab.com/fr-fr/blog/developing-gitlab-duo-ai-impact-analytics-dashboard-measures-the-roi-of-ai/)\n* [Développement de GitLab Duo : tester et sécuriser le code généré par l'IA](https://about.gitlab.com/fr-fr/blog/how-gitlab-duo-helps-secure-and-thoroughly-test-ai-generated-code/)\n",[25,26,27,28,29],"AI/ML","tutorial","DevSecOps","DevSecOps platform","features","yml",{},"/fr-fr/blog/developing-gitlab-duo-blending-ai-and-root-cause-analysis-to-fix-ci-cd",{"ogTitle":34,"ogImage":21,"ogDescription":17,"ogSiteName":35,"noIndex":36,"ogType":37,"ogUrl":38,"title":34,"canonicalUrls":38,"description":17},"GitLab Duo : l'IA combinée à l'analyse des causes profondes","https://about.gitlab.com",false,"article","https://about.gitlab.com/blog/developing-gitlab-duo-blending-ai-and-root-cause-analysis-to-fix-ci-cd","fr-fr/blog/developing-gitlab-duo-blending-ai-and-root-cause-analysis-to-fix-ci-cd",[41,26,42,43,29],"aiml","devsecops","devsecops-platform","rFiftZSsDr62DMHWGr3aQxFmGcjiuXiOUy_jmi8uBDA",{"data":46},{"logo":47,"freeTrial":52,"sales":57,"login":62,"items":67,"search":377,"minimal":412,"duo":431,"pricingDeployment":441},{"config":48},{"href":49,"dataGaName":50,"dataGaLocation":51},"/fr-fr/","gitlab logo","header",{"text":53,"config":54},"Commencer un essai gratuit",{"href":55,"dataGaName":56,"dataGaLocation":51},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr&glm_content=default-saas-trial/","free trial",{"text":58,"config":59},"Contacter l'équipe commerciale",{"href":60,"dataGaName":61,"dataGaLocation":51},"/fr-fr/sales/","sales",{"text":63,"config":64},"Connexion",{"href":65,"dataGaName":66,"dataGaLocation":51},"https://gitlab.com/users/sign_in/","sign in",[68,95,192,197,298,358],{"text":69,"config":70,"cards":72},"Plateforme",{"dataNavLevelOne":71},"platform",[73,79,87],{"title":69,"description":74,"link":75},"La plateforme d'orchestration intelligente pour le DevSecOps",{"text":76,"config":77},"Découvrir notre plateforme",{"href":78,"dataGaName":71,"dataGaLocation":51},"/fr-fr/platform/",{"title":80,"description":81,"link":82},"GitLab Duo Agent Platform","L'IA agentique pour l'ensemble du cycle de développement logiciel",{"text":83,"config":84},"Découvrir GitLab Duo",{"href":85,"dataGaName":86,"dataGaLocation":51},"/fr-fr/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":88,"description":89,"link":90},"Choisir GitLab","Découvrez les principales raisons pour lesquelles les entreprises choisissent GitLab",{"text":91,"config":92},"En savoir plus",{"href":93,"dataGaName":94,"dataGaLocation":51},"/fr-fr/why-gitlab/","why gitlab",{"text":96,"left":13,"config":97,"link":99,"lists":103,"footer":174},"Produit",{"dataNavLevelOne":98},"solutions",{"text":100,"config":101},"Voir toutes les solutions",{"href":102,"dataGaName":98,"dataGaLocation":51},"/fr-fr/solutions/",[104,129,152],{"title":105,"description":106,"link":107,"items":112},"Automatisation","CI/CD et automatisation pour accélérer le déploiement",{"config":108},{"icon":109,"href":110,"dataGaName":111,"dataGaLocation":51},"AutomatedCodeAlt","/fr-fr/solutions/delivery-automation/","automated software delivery",[113,117,120,125],{"text":114,"config":115},"CI/CD",{"href":116,"dataGaLocation":51,"dataGaName":114},"/fr-fr/solutions/continuous-integration/",{"text":80,"config":118},{"href":85,"dataGaLocation":51,"dataGaName":119},"gitlab duo agent platform - product menu",{"text":121,"config":122},"Gestion du code source",{"href":123,"dataGaLocation":51,"dataGaName":124},"/fr-fr/solutions/source-code-management/","Source Code Management",{"text":126,"config":127},"Livraison de logiciels automatisée",{"href":110,"dataGaLocation":51,"dataGaName":128},"Automated software delivery",{"title":130,"description":131,"link":132,"items":137},"Sécurité","Livrez du code plus rapidement sans compromettre la sécurité",{"config":133},{"href":134,"dataGaName":135,"dataGaLocation":51,"icon":136},"/fr-fr/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[138,142,147],{"text":139,"config":140},"Tests de sécurité des applications",{"href":134,"dataGaName":141,"dataGaLocation":51},"Application security testing",{"text":143,"config":144},"Sécurité de la chaîne d'approvisionnement logicielle",{"href":145,"dataGaLocation":51,"dataGaName":146},"/fr-fr/solutions/supply-chain/","Software supply chain security",{"text":148,"config":149},"Conformité logicielle",{"href":150,"dataGaName":151,"dataGaLocation":51},"/fr-fr/solutions/software-compliance/","Software Compliance",{"title":153,"link":154,"items":159},"Mesures",{"config":155},{"icon":156,"href":157,"dataGaName":158,"dataGaLocation":51},"DigitalTransformation","/fr-fr/solutions/visibility-measurement/","visibility and measurement",[160,164,169],{"text":161,"config":162},"Visibilité et mesures",{"href":157,"dataGaLocation":51,"dataGaName":163},"Visibility and Measurement",{"text":165,"config":166},"Gestion de la chaîne de valeur",{"href":167,"dataGaLocation":51,"dataGaName":168},"/fr-fr/solutions/value-stream-management/","Value Stream Management",{"text":170,"config":171},"Données d'analyse et informations clés",{"href":172,"dataGaLocation":51,"dataGaName":173},"/fr-fr/solutions/analytics-and-insights/","Analytics and insights",{"title":175,"items":176},"GitLab pour",[177,182,187],{"text":178,"config":179},"Entreprises",{"href":180,"dataGaLocation":51,"dataGaName":181},"/fr-fr/enterprise/","enterprise",{"text":183,"config":184},"PME",{"href":185,"dataGaLocation":51,"dataGaName":186},"/fr-fr/small-business/","small business",{"text":188,"config":189},"Secteur public",{"href":190,"dataGaLocation":51,"dataGaName":191},"/fr-fr/solutions/public-sector/","public sector",{"text":193,"config":194},"Tarifs",{"href":195,"dataGaName":196,"dataGaLocation":51,"dataNavLevelOne":196},"/fr-fr/pricing/","pricing",{"text":198,"config":199,"link":201,"lists":205,"feature":285},"Ressources",{"dataNavLevelOne":200},"resources",{"text":202,"config":203},"Afficher toutes les ressources",{"href":204,"dataGaName":200,"dataGaLocation":51},"/fr-fr/resources/",[206,239,257],{"title":207,"items":208},"Premiers pas",[209,214,219,224,229,234],{"text":210,"config":211},"Installation",{"href":212,"dataGaName":213,"dataGaLocation":51},"/fr-fr/install/","install",{"text":215,"config":216},"Guides de démarrage",{"href":217,"dataGaName":218,"dataGaLocation":51},"/fr-fr/get-started/","quick setup checklists",{"text":220,"config":221},"Apprentissage",{"href":222,"dataGaLocation":51,"dataGaName":223},"https://university.gitlab.com/","learn",{"text":225,"config":226},"Documentation sur le produit",{"href":227,"dataGaName":228,"dataGaLocation":51},"https://docs.gitlab.com/","product documentation",{"text":230,"config":231},"Vidéos sur les bonnes pratiques",{"href":232,"dataGaName":233,"dataGaLocation":51},"/fr-fr/getting-started-videos/","best practice videos",{"text":235,"config":236},"Intégrations",{"href":237,"dataGaName":238,"dataGaLocation":51},"/fr-fr/integrations/","integrations",{"title":240,"items":241},"Découvrir",[242,247,252],{"text":243,"config":244},"Témoignages clients",{"href":245,"dataGaName":246,"dataGaLocation":51},"/fr-fr/customers/","customer success stories",{"text":248,"config":249},"Blog",{"href":250,"dataGaName":251,"dataGaLocation":51},"/fr-fr/blog/","blog",{"text":253,"config":254},"Travail à distance",{"href":255,"dataGaName":256,"dataGaLocation":51},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":258,"items":259},"Connecter",[260,265,270,275,280],{"text":261,"config":262},"Services GitLab",{"href":263,"dataGaName":264,"dataGaLocation":51},"/fr-fr/services/","services",{"text":266,"config":267},"Communauté",{"href":268,"dataGaName":269,"dataGaLocation":51},"/community/","community",{"text":271,"config":272},"Forum",{"href":273,"dataGaName":274,"dataGaLocation":51},"https://forum.gitlab.com/","forum",{"text":276,"config":277},"Événements",{"href":278,"dataGaName":279,"dataGaLocation":51},"/events/","events",{"text":281,"config":282},"Partenaires",{"href":283,"dataGaName":284,"dataGaLocation":51},"/fr-fr/partners/","partners",{"backgroundColor":286,"textColor":287,"text":288,"image":289,"link":293},"#2f2a6b","#fff","L'avenir du développement logiciel. Tendances et perspectives.",{"altText":290,"config":291},"carte promo The Source",{"src":292},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":294,"config":295},"Lire les articles les plus récents",{"href":296,"dataGaName":297,"dataGaLocation":51},"/fr-fr/the-source/","the source",{"text":299,"config":300,"lists":302},"Société",{"dataNavLevelOne":301},"company",[303],{"items":304},[305,310,316,318,323,328,333,338,343,348,353],{"text":306,"config":307},"À propos",{"href":308,"dataGaName":309,"dataGaLocation":51},"/fr-fr/company/","about",{"text":311,"config":312,"footerGa":315},"Carrières",{"href":313,"dataGaName":314,"dataGaLocation":51},"/jobs/","jobs",{"dataGaName":314},{"text":276,"config":317},{"href":278,"dataGaName":279,"dataGaLocation":51},{"text":319,"config":320},"Leadership",{"href":321,"dataGaName":322,"dataGaLocation":51},"/company/team/e-group/","leadership",{"text":324,"config":325},"Équipe",{"href":326,"dataGaName":327,"dataGaLocation":51},"/company/team/","team",{"text":329,"config":330},"Manuel",{"href":331,"dataGaName":332,"dataGaLocation":51},"https://handbook.gitlab.com/","handbook",{"text":334,"config":335},"Relations avec les investisseurs",{"href":336,"dataGaName":337,"dataGaLocation":51},"https://ir.gitlab.com/","investor relations",{"text":339,"config":340},"Centre de confiance",{"href":341,"dataGaName":342,"dataGaLocation":51},"/fr-fr/security/","trust center",{"text":344,"config":345},"Centre pour la transparence de l'IA",{"href":346,"dataGaName":347,"dataGaLocation":51},"/fr-fr/ai-transparency-center/","ai transparency center",{"text":349,"config":350},"Newsletter",{"href":351,"dataGaName":352,"dataGaLocation":51},"/company/contact/#contact-forms","newsletter",{"text":354,"config":355},"Presse",{"href":356,"dataGaName":357,"dataGaLocation":51},"/press/","press",{"text":359,"config":360,"lists":361},"Nous contacter",{"dataNavLevelOne":301},[362],{"items":363},[364,367,372],{"text":58,"config":365},{"href":60,"dataGaName":366,"dataGaLocation":51},"talk to sales",{"text":368,"config":369},"Portail d’assistance",{"href":370,"dataGaName":371,"dataGaLocation":51},"https://support.gitlab.com","support portal",{"text":373,"config":374},"Portail clients GitLab",{"href":375,"dataGaName":376,"dataGaLocation":51},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":378,"login":379,"suggestions":386},"Fermer",{"text":380,"link":381},"Pour rechercher des dépôts et des projets, connectez-vous à",{"text":382,"config":383},"gitlab.com",{"href":65,"dataGaName":384,"dataGaLocation":385},"search login","search",{"text":387,"default":388},"Suggestions",[389,391,396,398,403,408],{"text":80,"config":390},{"href":85,"dataGaName":80,"dataGaLocation":385},{"text":392,"config":393},"Suggestions de code (IA)",{"href":394,"dataGaName":395,"dataGaLocation":385},"/fr-fr/solutions/code-suggestions/","Code Suggestions (AI)",{"text":114,"config":397},{"href":116,"dataGaName":114,"dataGaLocation":385},{"text":399,"config":400},"GitLab sur AWS",{"href":401,"dataGaName":402,"dataGaLocation":385},"/fr-fr/partners/technology-partners/aws/","GitLab on AWS",{"text":404,"config":405},"GitLab sur Google Cloud ",{"href":406,"dataGaName":407,"dataGaLocation":385},"/fr-fr/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":409,"config":410},"Pourquoi utiliser GitLab ?",{"href":93,"dataGaName":411,"dataGaLocation":385},"Why GitLab?",{"freeTrial":413,"mobileIcon":418,"desktopIcon":423,"secondaryButton":426},{"text":414,"config":415},"Commencer votre essai gratuit",{"href":416,"dataGaName":56,"dataGaLocation":417},"https://gitlab.com/-/trials/new/","nav",{"altText":419,"config":420},"Icône GitLab",{"src":421,"dataGaName":422,"dataGaLocation":417},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":419,"config":424},{"src":425,"dataGaName":422,"dataGaLocation":417},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":427,"config":428},"Commencer",{"href":429,"dataGaName":430,"dataGaLocation":417},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr/get-started/","get started",{"freeTrial":432,"mobileIcon":437,"desktopIcon":439},{"text":433,"config":434},"En savoir plus sur GitLab Duo",{"href":435,"dataGaName":436,"dataGaLocation":417},"/fr-fr/gitlab-duo/","gitlab duo",{"altText":419,"config":438},{"src":421,"dataGaName":422,"dataGaLocation":417},{"altText":419,"config":440},{"src":425,"dataGaName":422,"dataGaLocation":417},{"freeTrial":442,"mobileIcon":447,"desktopIcon":449},{"text":443,"config":444},"Retour aux tarifs",{"href":195,"dataGaName":445,"dataGaLocation":417,"icon":446},"back to pricing","GoBack",{"altText":419,"config":448},{"src":421,"dataGaName":422,"dataGaLocation":417},{"altText":419,"config":450},{"src":425,"dataGaName":422,"dataGaLocation":417},{"title":452,"button":453,"config":458},"Découvrez comment l'IA agentique transforme la livraison logicielle",{"text":454,"config":455},"Regarder GitLab Transcend maintenant",{"href":456,"dataGaName":457,"dataGaLocation":51},"/fr-fr/events/transcend/virtual/","transcend event",{"layout":459,"icon":460},"release","AiStar",{"data":462},{"text":463,"source":464,"edit":470,"contribute":475,"config":480,"items":485,"minimal":662},"Git est une marque déposée de Software Freedom Conservancy et notre utilisation de « GitLab » est sous licence",{"text":465,"config":466},"Afficher le code source de la page",{"href":467,"dataGaName":468,"dataGaLocation":469},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":471,"config":472},"Modifier cette page",{"href":473,"dataGaName":474,"dataGaLocation":469},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":476,"config":477},"Veuillez contribuer",{"href":478,"dataGaName":479,"dataGaLocation":469},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":481,"facebook":482,"youtube":483,"linkedin":484},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[486,509,563,595,630],{"title":69,"links":487,"subMenu":492},[488],{"text":489,"config":490},"Plateforme DevSecOps",{"href":78,"dataGaName":491,"dataGaLocation":469},"devsecops platform",[493],{"title":193,"links":494},[495,499,504],{"text":496,"config":497},"Voir les forfaits",{"href":195,"dataGaName":498,"dataGaLocation":469},"view plans",{"text":500,"config":501},"Pourquoi choisir GitLab Premium ?",{"href":502,"dataGaName":503,"dataGaLocation":469},"/fr-fr/pricing/premium/","why premium",{"text":505,"config":506},"Pourquoi choisir GitLab Ultimate ?",{"href":507,"dataGaName":508,"dataGaLocation":469},"/fr-fr/pricing/ultimate/","why ultimate",{"title":510,"links":511},"Solutions",[512,517,520,522,527,532,536,539,542,547,549,551,553,558],{"text":513,"config":514},"Transformation digitale",{"href":515,"dataGaName":516,"dataGaLocation":469},"/fr-fr/topics/digital-transformation/","digital transformation",{"text":518,"config":519},"Sécurité et conformité",{"href":134,"dataGaName":141,"dataGaLocation":469},{"text":126,"config":521},{"href":110,"dataGaName":111,"dataGaLocation":469},{"text":523,"config":524},"Développement agile",{"href":525,"dataGaName":526,"dataGaLocation":469},"/fr-fr/solutions/agile-delivery/","agile delivery",{"text":528,"config":529},"Transformation cloud",{"href":530,"dataGaName":531,"dataGaLocation":469},"/fr-fr/topics/cloud-native/","cloud transformation",{"text":533,"config":534},"SCM",{"href":123,"dataGaName":535,"dataGaLocation":469},"source code management",{"text":114,"config":537},{"href":116,"dataGaName":538,"dataGaLocation":469},"continuous integration & delivery",{"text":165,"config":540},{"href":167,"dataGaName":541,"dataGaLocation":469},"value stream management",{"text":543,"config":544},"GitOps",{"href":545,"dataGaName":546,"dataGaLocation":469},"/fr-fr/solutions/gitops/","gitops",{"text":178,"config":548},{"href":180,"dataGaName":181,"dataGaLocation":469},{"text":183,"config":550},{"href":185,"dataGaName":186,"dataGaLocation":469},{"text":188,"config":552},{"href":190,"dataGaName":191,"dataGaLocation":469},{"text":554,"config":555},"Formation",{"href":556,"dataGaName":557,"dataGaLocation":469},"/fr-fr/solutions/education/","education",{"text":559,"config":560},"Services financiers",{"href":561,"dataGaName":562,"dataGaLocation":469},"/fr-fr/solutions/finance/","financial services",{"title":198,"links":564},[565,567,570,572,575,577,580,583,585,587,589,591,593],{"text":210,"config":566},{"href":212,"dataGaName":213,"dataGaLocation":469},{"text":568,"config":569},"Guides de démarrage rapide",{"href":217,"dataGaName":218,"dataGaLocation":469},{"text":220,"config":571},{"href":222,"dataGaName":223,"dataGaLocation":469},{"text":225,"config":573},{"href":227,"dataGaName":574,"dataGaLocation":469},"docs",{"text":248,"config":576},{"href":250,"dataGaName":251},{"text":578,"config":579},"Histoires de réussite client",{"href":245,"dataGaLocation":469},{"text":581,"config":582},"Histoires de succès client",{"href":245,"dataGaName":246,"dataGaLocation":469},{"text":253,"config":584},{"href":255,"dataGaName":256,"dataGaLocation":469},{"text":261,"config":586},{"href":263,"dataGaName":264,"dataGaLocation":469},{"text":266,"config":588},{"href":268,"dataGaName":269,"dataGaLocation":469},{"text":271,"config":590},{"href":273,"dataGaName":274,"dataGaLocation":469},{"text":276,"config":592},{"href":278,"dataGaName":279,"dataGaLocation":469},{"text":281,"config":594},{"href":283,"dataGaName":284,"dataGaLocation":469},{"title":299,"links":596},[597,599,602,604,606,608,610,614,619,621,623,625],{"text":306,"config":598},{"href":308,"dataGaName":301,"dataGaLocation":469},{"text":600,"config":601},"Emplois",{"href":313,"dataGaName":314,"dataGaLocation":469},{"text":319,"config":603},{"href":321,"dataGaName":322,"dataGaLocation":469},{"text":324,"config":605},{"href":326,"dataGaName":327,"dataGaLocation":469},{"text":329,"config":607},{"href":331,"dataGaName":332,"dataGaLocation":469},{"text":334,"config":609},{"href":336,"dataGaName":337,"dataGaLocation":469},{"text":611,"config":612},"Sustainability",{"href":613,"dataGaName":611,"dataGaLocation":469},"/sustainability/",{"text":615,"config":616},"Diversité, inclusion et appartenance (DIB)",{"href":617,"dataGaName":618,"dataGaLocation":469},"/fr-fr/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":339,"config":620},{"href":341,"dataGaName":342,"dataGaLocation":469},{"text":349,"config":622},{"href":351,"dataGaName":352,"dataGaLocation":469},{"text":354,"config":624},{"href":356,"dataGaName":357,"dataGaLocation":469},{"text":626,"config":627},"Déclaration de transparence sur l'esclavage moderne",{"href":628,"dataGaName":629,"dataGaLocation":469},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":359,"links":631},[632,635,640,642,647,652,657],{"text":633,"config":634},"Échanger avec un expert",{"href":60,"dataGaName":61,"dataGaLocation":469},{"text":636,"config":637},"Aide",{"href":638,"dataGaName":639,"dataGaLocation":469},"https://support.gitlab.com/hc/en-us/articles/11626483177756-GitLab-Support","get help",{"text":373,"config":641},{"href":375,"dataGaName":376,"dataGaLocation":469},{"text":643,"config":644},"Statut",{"href":645,"dataGaName":646,"dataGaLocation":469},"https://status.gitlab.com/","status",{"text":648,"config":649},"Conditions d'utilisation",{"href":650,"dataGaName":651},"/terms/","terms of use",{"text":653,"config":654},"Déclaration de confidentialité",{"href":655,"dataGaName":656,"dataGaLocation":469},"/fr-fr/privacy/","privacy statement",{"text":658,"config":659},"Préférences en matière de cookies",{"dataGaName":660,"dataGaLocation":469,"id":661,"isOneTrustButton":13},"cookie preferences","ot-sdk-btn",{"items":663},[664,666,669],{"text":648,"config":665},{"href":650,"dataGaName":651,"dataGaLocation":469},{"text":667,"config":668},"Politique de confidentialité",{"href":655,"dataGaName":656,"dataGaLocation":469},{"text":658,"config":670},{"dataGaName":660,"dataGaLocation":469,"id":661,"isOneTrustButton":13},[672,685],{"id":673,"title":19,"body":9,"config":674,"content":676,"description":9,"extension":30,"meta":680,"navigation":13,"path":681,"seo":682,"stem":683,"__hash__":684},"blogAuthors/en-us/blog/authors/rutvik-shah.yml",{"template":675},"BlogAuthor",{"name":19,"config":677},{"headshot":678,"ctfId":679},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749661843/Blog/Author%20Headshots/rutvik_shah_headshot.png","6co92rUBTbWcyV3EW23iEx",{},"/en-us/blog/authors/rutvik-shah",{},"en-us/blog/authors/rutvik-shah","JRArwqK-9V0Orki_E-QqmcQG2AsaZP6XGqa-9ZB6GR8",{"id":686,"title":20,"body":9,"config":687,"content":688,"description":9,"extension":30,"meta":692,"navigation":13,"path":693,"seo":694,"stem":695,"__hash__":696},"blogAuthors/en-us/blog/authors/michael-friedrich.yml",{"template":675},{"name":20,"config":689},{"headshot":690,"ctfId":691},"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",[698,711,723],{"content":699,"config":709},{"title":700,"heroImage":701,"description":702,"authors":703,"date":705,"body":706,"category":10,"tags":707},"10 prompts IA pour accélérer votre livraison logicielle","https://res.cloudinary.com/about-gitlab-com/image/upload/v1772632341/duj8vaznbhtyxxhodb17.png","Éliminez les backlogs de révision, les délais de sécurité et la coordination manuelle grâce à des invites IA prêtes à l'emploi couvrant chaque étape du cycle de développement logiciel.\n",[704],"Chandler Gibbons","2026-03-04","Les outils de développement assistés par l'IA aident les équipes de développement à générer du code plus vite que jamais. Alors pourquoi les équipes ne livrent-elles pas plus rapidement ?\n\nLe développement ne représente aujourd’hui que 20 % du cycle de vie de la livraison logicielle, les 80 % restants deviennent le goulot d'étranglement : les backlogs de révision du code s'accumulent, les scans de sécurité peinent à suivre le rythme, la documentation prend du retard, et la coordination manuelle génère des surcharges croissantes.\n\nLa bonne nouvelle est que les mêmes capacités d'IA qui accélèrent le codage individuel peuvent éliminer ces retards à l'échelle de l'équipe. Il suffit d'appliquer l'IA à l'ensemble du cycle de développement logiciel, et pas uniquement lors de la phase de codage.\n\nVous trouverez ci-dessous 10 prompts prêts à l'emploi issus de la [bibliothèque de prompts de GitLab Duo Agent Platform](https://about.gitlab.com/gitlab-duo/prompt-library/), qui aident les équipes à surmonter les obstacles courants pour accélérer la livraison logicielle. Chaque prompt correspond à un ralentissement spécifique qui apparaît lorsque la productivité individuelle augmente sans que les processus de l'équipe ne s'améliorent en conséquence.\n\n## Comment transformer la révision de code de goulot d'étranglement en accélérateur ?\n\nLes développeurs génèrent des demandes de fusion plus rapidement grâce à l'IA, mais les réviseurs humains peuvent vite se retrouver débordés lorsque les cycles de révision s'étendent de quelques heures à plusieurs jours. L'IA peut prendre en charge les tâches de révision courantes, libérant ainsi les réviseurs pour qu'ils se concentrent sur l'architecture et la logique métier plutôt que sur la détection d'erreurs logiques basiques ou de violations de contrats d'API.\n\n### Réviser une demande de fusion pour détecter les erreurs logiques\n\n**Complexité** : Débutant\n\n**Catégorie** : Révision de code\n\n**Invite de la bibliothèque** :\n\n```text\n\nReview this MR for logical errors, edge cases, and potential bugs: [MR URL or paste code]\n\n```\n\n**Pourquoi c'est utile** : Les outils de lint automatisés détectent les problèmes de syntaxe, mais les erreurs logiques nécessitent de comprendre l'intention. Cette invite identifie les bugs avant même que les réviseurs humains n'examinent le code, réduisant les cycles de révision de plusieurs allers-retours à souvent une seule validation.\n\n### Identifier les changements incompatibles dans une demande de fusion\n\n**Complexité** : Débutant\n\n **Catégorie** : Révision de code\n\n**Invite de la bibliothèque** :\n\n```text\nDoes this MR introduce any breaking changes?\n\nChanges:\n[PASTE CODE DIFF]\n\nCheck for:\n1. API signature changes\n2. Removed or renamed public methods\n3. Changed return types\n4. Modified database schemas\n5. Breaking configuration changes\n```\n\n**Pourquoi c'est utile** : Les changements incompatibles découverts lors du déploiement peuvent entraîner des retours arrière et des incidents. Cette invite déplace cette détection en amont, au stade de la demande de fusion, là où les correctifs sont plus rapides et moins coûteux.\n\n## Comment décaler la sécurité vers la gauche sans ralentir le développement ?\n\nLes analyses de sécurité génèrent des centaines de résultats. Les équipes sécurité trient manuellement chacun d'eux pendant que les développeurs attendent l'autorisation de déployer. La plupart des résultats sont des faux positifs ou des problèmes à faible risque, mais identifier les véritables menaces demande expertise et temps. L'IA peut prioriser les résultats selon leur exploitabilité réelle et corriger automatiquement les vulnérabilités courantes, permettant aux équipes sécurité de se concentrer sur les menaces qui comptent vraiment.\n\n### Analyser les résultats d'une analyse de sécurité\n\n**Complexité** : Intermédiaire\n\n**Catégorie** : Sécurité\n\n**Agent** : Duo Security Analyst\n\n**Invite de la bibliothèque** :\n\n\n```text\n@security_analyst Analyze these security scan results:\n\n[PASTE SCAN OUTPUT]\n\nFor each finding:\n1. Assess real risk vs false positive\n2. Explain the vulnerability\n3. Suggest remediation\n4. Prioritize by severity\n```\n\n\n**Pourquoi c'est utile** : La majorité des résultats d'analyses de sécurité sont des faux positifs ou des problèmes à faible risque. Cette invite aide les équipes sécurité à se concentrer sur les résultats qui comptent vraiment, réduisant le temps de remédiation de plusieurs semaines à quelques jours.\n\n### Réviser le code pour détecter des problèmes de sécurité\n\n**Complexité** : Intermédiaire\n\n**Catégorie** : Sécurité\n\n**Agent** : Duo Security Analyst\n\n**Invite de la bibliothèque** :\n\n```text\n@security_analyst Review this code for security issues:\n\n[PASTE CODE]\n\nCheck for:\n1. Injection vulnerabilities\n2. Authentication/authorization flaws\n3. Data exposure risks\n4. Insecure dependencies\n5. Cryptographic issues\n```\n\n**Pourquoi c'est utile** : Les révisions de sécurité traditionnelles interviennent après l'écriture du code. Cette invite permet aux développeurs de détecter et corriger les problèmes de sécurité avant de créer une demande de fusion, supprimant les allers-retours qui retardent les déploiements.\n\n## Comment maintenir la documentation à jour au fil des évolutions du code ?\n\nLe code évolue plus vite que la documentation. L'intégration de nouveaux développeurs prend des semaines parce que les docs sont obsolètes ou inexistantes. Les équipes savent que la documentation est importante, mais elle est toujours reportée quand les délais approchent. Automatiser la génération et la mise à jour de la documentation dans le cadre de votre flux de travail standard garantit que les docs restent à jour sans effort manuel supplémentaire.\n\n\n### Générer des notes de version à partir des demandes de fusion\n\n**Complexité** : Débutant\n\n**Catégorie** : Documentation\n\n**Invite de la bibliothèque** :\n\n```text\nGenerate release notes for these merged MRs:\n[LIST MR URLs or paste titles]\n\nGroup by:\n1. New features\n2. Bug fixes\n3. Performance improvements\n4. Breaking changes\n5. Deprecations\n```\n**Pourquoi c'est utile** : La compilation manuelle des notes de version prend des heures et comporte souvent des erreurs ou des omissions. La génération automatisée garantit que chaque version dispose de notes complètes sans alourdir votre processus de publication.\n\n### Mettre à jour la documentation après des modifications du code\n\n**Complexité** : Débutant\n\n**Catégorie** : Documentation\n\n**Invite de la bibliothèque** :\n\n```text\nI changed this code:\n\n[PASTE CODE CHANGES]\n\nWhat documentation needs updating? Check:\n1. README files\n2. API documentation\n3. Architecture diagrams\n4. Onboarding guides\n```\n\n**Pourquoi c'est utile** : La dérive de la documentation survient parce que les équipes oublient quels docs doivent être mis à jour après des modifications du code. Cette invite intègre la maintenance de la documentation dans votre flux de développement, plutôt que d'en faire une tâche séparée perpétuellement reportée.\n\n## Comment réduire la complexité de la planification ?\n\nLes grandes fonctionnalités se retrouvent bloquées en phase de planification. Les équipes passent des semaines en réunions pour délimiter le périmètre et identifier les dépendances. La complexité semble insurmontable et il est difficile de savoir par où commencer. L'IA peut décomposer méthodiquement un travail complexe en tâches concrètes et réalisables, avec des dépendances claires et des critères d'acceptation précis — transformant des semaines de planification en une mise en œuvre ciblée.\n\n### Décomposer un epic en issues\n\n**Complexité** : Intermédiaire\n\n**Catégorie** : Documentation\n\n**Agent** : Duo Planner\n\n**Invite de la bibliothèque** :\n\n ```text\nBreak down this epic into implementable issues:\n\n[EPIC DESCRIPTION]\n\nConsider:\n1. Technical dependencies\n2. Reasonable issue sizes\n3. Clear acceptance criteria\n4. Logical implementation order\n```\n\n**Pourquoi c'est utile** : Cette invite transforme une semaine de réunions de planification en 30 minutes de décomposition assistée par l'IA suivie d'une revue d'équipe. Les équipes démarrent l'implémentation plus tôt, avec une direction plus claire.\n\n## Comment améliorer la couverture de tests sans alourdir l'effort ?\n\nLes développeurs écrivent du code plus vite, mais si les tests ne suivent pas le rythme, la couverture diminue et les bugs passent au travers. Écrire des tests complets manuellement est chronophage, et les développeurs manquent souvent les cas limites sous pression des délais. Générer des tests automatiquement permet aux développeurs de réviser et d'affiner plutôt que d'écrire depuis zéro, maintenant la qualité sans sacrifier la vélocité.\n\n### Générer des tests unitaires\n\n**Complexité** : Débutant\n\n**Catégorie** : Tests\n\n**Invite de la bibliothèque** :\n\n ```text\nGenerate unit tests for this function:\n\n[PASTE FUNCTION]\n\nInclude tests for:\n1. Happy path\n2. Edge cases\n3. Error conditions\n4. Boundary values\n5. Invalid inputs\n```\n\n**Pourquoi c'est utile** : Écrire des tests manuellement est chronophage, et les développeurs manquent souvent les cas limites. Cette invite génère des suites de tests complètes en quelques secondes, que les développeurs peuvent réviser et ajuster plutôt qu'écrire de zéro.\n\n### Identifier les lacunes de couverture de tests\n\n**Complexité** : Débutant\n\n**Catégorie** : Tests\n\n**Invite de la bibliothèque** :\n\n```text\nAnalyze test coverage for [MODULE/COMPONENT]:\n\nCurrent coverage: [PERCENTAGE]\n\nIdentify:\n1. Untested functions/methods\n2. Uncovered edge cases\n3. Missing error scenario tests\n4. Integration points without tests\n5. Priority areas to test next\n```\n\n**Pourquoi c'est utile** : Cette invite révèle les angles morts de votre suite de tests avant qu'ils ne provoquent des incidents en production. Les équipes peuvent améliorer systématiquement la couverture là où cela compte le plus.\n\n## Comment réduire le temps moyen de résolution lors du débogage ?\n\nLes incidents en production prennent des heures à diagnostiquer. Les développeurs parcourent des logs et des traces d'appel pendant que les utilisateurs subissent des interruptions de service. Chaque minute de débogage représente une minute de productivité perdue et potentiellement un manque à gagner. L'IA peut accélérer l'analyse des causes profondes en interprétant des messages d'erreur complexes et en proposant des correctifs précis, réduisant le temps de diagnostic de plusieurs heures à quelques minutes.\n\n### Déboguer un pipeline en échec\n\n**Complexité** : Débutant\n\n**Catégorie** : Débogage\n\n**Invite de la bibliothèque** :\n\n\n```text\nThis pipeline is failing:\n\nJob: [JOB NAME]\nStage: [STAGE]\nError: [PASTE ERROR MESSAGE/LOG]\n\nHelp me:\n1. Identify the root cause\n2. Suggest a fix\n3. Explain why it started failing\n4. Prevent similar issues\n```\n\n**Pourquoi c'est utile** : Les échecs de pipeline CI/CD bloquent des équipes entières. Cette invite diagnostique les pannes en quelques secondes au lieu des 15 à 30 minutes que les développeurs consacrent habituellement aux investigations, maintenant ainsi une vélocité de déploiement élevée.\n\n## Passer des gains individuels à l'accélération collective\n\nCes invites illustrent une évolution dans la manière dont les équipes exploitent l'IA pour la livraison logicielle. Plutôt que de se concentrer uniquement sur la productivité individuelle des développeurs, elles s'attaquent aux défis de coordination, de qualité et de partage des connaissances qui contraignent réellement la vélocité des équipes.\n\nLa [bibliothèque d'invites complète](https://about.gitlab.com/gitlab-duo/prompt-library/) contient plus de 100 invites couvrant toutes les étapes du cycle de vie logiciel : planification, développement, sécurité, tests, déploiement et opérations. Chaque invite est étiquetée par niveau de complexité (Débutant, Intermédiaire, Avancé) et classée par cas d'usage, facilitant la recherche du bon point de départ pour votre équipe.\n\nCommencez par les invites étiquetées « Débutant » qui s'attaquent aux obstacles les plus pressants de votre équipe. À mesure que votre équipe prend confiance, explorez les invites intermédiaires et avancées qui permettent des flux de travail plus sophistiqués. L'objectif n'est pas seulement un développement plus rapide — c'est une livraison logicielle plus rapide, plus sûre et de meilleure qualité, de la planification jusqu'à la mise en production.\n",[25,708],"DevOps platform",{"featured":36,"template":14,"slug":710},"10-ai-prompts-to-speed-your-teams-software-delivery",{"content":712,"config":721},{"title":713,"description":714,"authors":715,"date":717,"body":718,"category":10,"tags":719,"heroImage":720},"GitLab Duo Agent Platform : comment réinventer le développement logiciel avec l’IA agentique","Découvrez comment GitLab Duo Agent Platform transforme la collaboration entre équipes de développement et les agents d’IA.\n",[716],"GitLab France Team","2026-02-24","> *Cet article de blog est un résumé de notre webinaire sur la Collaboration entre agents d’IA et développeurs animé par Lucas Rangeard (Solutions Architect) et Chloé Cartron (Senior Solutions Architect). Pour visionner le replay, [cliquez ici](https://learn.gitlab.com/fr-oct-agentic-ai/duo-ai-fr).* \n\nStructurer un besoin client en ticket, diviser un ticket en sous-tâches assignables, et implémenter la fonctionnalité : trois opérations qui, dans un cycle de développement traditionnel, s'enchaînent de manière séquentielle entraînant un goulot d'étranglement bien connu des [équipes DevOps](https://about.gitlab.com/fr-fr/topics/devops/build-a-devops-team/ \"équipes DevOps\").\n\nGrâce à GitLab Duo Agent Platform, ces trois tâches sont exécutées en parallèle, avec une merge request prête à être revue en quelques minutes. \n\nDécouvrez dans cet article les capacités de GitLab Duo Agent Platform conçue pour transformer la collaboration entre équipes de développement et agents intelligents et apprenez comment mettre en place des flows, de la création d’un ticket au développement d’une application à travers trois cas d’usage.\n\n## GitLab Duo Agent Platform : une orchestration agentique native\n\n[GitLab Duo Agent Platform](https://about.gitlab.com/fr-fr/gitlab-duo-agent-platform/ \"GitLab Duo Agent Platform\") représente une évolution majeure dans notre approche du DevSecOps. En disponibilité générale depuis janvier 2026 pour les clients GitLab Premium et GitLab Ultimate (GitLab.com et GitLab Self-Managed), GitLab Duo Agent Platform permet aux équipes de développement de collaborer avec des agents d’IA sur l'ensemble du cycle de développement logiciel ([SDLC](https://about.gitlab.com/fr-fr/blog/what-is-sdlc/ \"Qu'est-ce que le SDLC ?\")).\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’orchestration agentique au coeur du SDLC\n\nNotre approche repose sur trois piliers interconnectés :\n\n* **Nous conservons ce qui fait notre force** : une plateforme unifiée avec un système de données centralisé et des APIs.\n* **Nous ajoutons une couche d'intelligence agentique** : des agents spécialisés travaillant ensemble et de manière autonome. \n* **Nous créons un graphe de connaissances reliant l'ensemble des données entre elles** : votre code, vos tickets, vos déploiements, vos scans de sécurité. Cette interconnexion permet aux agents de comprendre votre contexte complet et de prendre des décisions éclairées rapidement. \n\n### Des agents spécialisés tout au long du SDLC\n\nGitLab Duo Agent Platform ne vise pas à remplacer les équipes de développement, mais à leur fournir des partenaires capables d'exécuter des tâches en parallèle. \n\nLes utilisateurs ont accès à trois types d’agents différents : les [agents par défaut](https://docs.gitlab.com/user/duo_agent_platform/agents/foundational_agents/) comme [Planner](https://docs.gitlab.com/user/duo_agent_platform/agents/foundational_agents/planner/), [Security Analyst](https://docs.gitlab.com/user/duo_agent_platform/agents/foundational_agents/security_analyst_agent/) et [Data Analyst](https://docs.gitlab.com/user/duo_agent_platform/agents/foundational_agents/data_analyst/) pour les tâches courantes de développement, les [agents personnalisables](https://docs.gitlab.com/user/duo_agent_platform/agents/custom/) pour les workflows spécifiques à votre équipe, ainsi que les [agents externes](https://docs.gitlab.com/user/duo_agent_platform/agents/external/) comme Claude Code ou OpenAI Codex. Pour en savoir plus sur les agents, consultez notre article de blog [GitLab Duo Agent Platform : comprendre les agents](https://about.gitlab.com/fr-fr/blog/understanding-agents-foundational-custom-external/).\n\nCes agents partagent un contexte unifié. Ils peuvent accéder aux tickets, au code source, aux [pipelines CI/CD](https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/ \"Qu'est-ce qu'un pipeline CI/CD ?\"), aux merge requests et à l'historique de déploiement, selon les permissions données. \n\n> Chez NatWest, l'intégration des agents d’IA dans le cycle de développement logiciel a permis d'améliorer « la productivité, la vélocité et l'efficacité » des équipes, selon Bal Kang, Engineering Platform Lead. \n\n## Comment l'IA agentique réduit les temps d'attente entre chaque étape ?\n\nDans un cycle de développement traditionnel, les étapes s'enchaînent les unes après les autres. Rédaction des spécifications, découpage en tâches, implémentation, tests, revue de code : chaque phase attend la précédente. Ce modèle séquentiel génère des temps morts et limite la capacité des équipes à traiter plusieurs demandes simultanément.\n\nL'approche agentique change cette dynamique. En déléguant des tâches à des agents autonomes, les équipes de développement peuvent avancer sur plusieurs fronts en parallèle. Pendant qu'un agent implémente une fonctionnalité, un autre structure une nouvelle demande, et un troisième prépare une analyse de sécurité. Le cycle de développement global est raccourci.\n\nL'objectif : permettre aux équipes de développement de déléguer certaines tâches à des agents pendant qu'ils se concentrent sur d'autres tâches à plus forte valeur ajoutée, tout en gardant le contrôle sur les résultats.\n\n## 3 exemples de flows à tester\n\nDécouvrez comment GitLab Duo Agent Platform transforme le quotidien des équipes grâce à ces trois cas d'usage qui peuvent être exécutés simultanément. \n\n### Transformer une idée en ticket structuré\n\nAvec GitLab Duo Agentic Chat, les utilisateurs peuvent générer un ticket complet et personnalisable à partir d'une idée en formulant leur demande en langage naturel à l’aide du modèle IA de leur choix. \n\nCe ticket comprend le titre correspondant au besoin, la user story, les critères d'acceptance, les contraintes techniques, la « definition of done », ainsi que tout autre élément de gestion de projet propre aux équipes : personnes assignées, labels, date de début et date de fin de la tâche, confidentialité du ticket, etc.\n\nL'action proposée est soumise à validation. Une fois approuvé, le ticket apparaît dans le backlog en quelques secondes.\n\n### Diviser un ticket en sous-tâches\n\nUn ticket couvrant plusieurs fonctionnalités peut être divisé automatiquement en sous-tickets distincts. L'agent crée les sous tickets, maintient les références avec le ticket parent, et préserve la cohérence des critères d'acceptance. Ce mécanisme transforme un besoin business global en un ensemble de tâches assignables aux équipes. \n\n### Générer une merge request depuis un ticket\n\nÀ partir d’un ticket décrivant une fonctionnalité à implémenter, l'agent analyse le contexte du projet, comprend l'architecture existante, et génère le code correspondant. Il modifie les fichiers nécessaires, crée une merge request et le pipeline CI/CD se lance automatiquement.\n\nIl est également possible d'assigner GitLab Duo comme relecteur sur une merge request. L'agent analyse les changements, identifie les points d'attention et laisse des commentaires dans la merge request, offrant un premier niveau de revue avant la sollicitation des pairs.\n\n## Une collaboration entre humains et IA\n\nUn aspect distingue GitLab Duo Agent Platform des approches purement automatisées : chaque action proposée par un agent nécessite une validation explicite. L'utilisateur visualise ce que l'agent souhaite exécuter et approuve ou ajuste le travail effectué par l’agent avant d’effectuer une action.\nCette approche répond aux exigences des équipes en matière de gouvernance. L'agent accélère l'exécution, mais les décisions restent sous contrôle humain. Une approche indispensable dans un contexte où la qualité du code et la sécurité ne peuvent être compromises.\n\n## Le catalogue d’IA : un écosystème agentique\n\nAu-delà des agents natifs, GitLab développe un écosystème ouvert : le catalogue d’IA. Ce dernier permet de découvrir, utiliser et partager des agents et des flows développés par GitLab, ainsi que par toute la communauté.\n\nLes options de partage sont flexibles : ouverture à la communauté ou restriction à des usages internes selon les besoins de gouvernance.\n\nCette approche permet d'imaginer un agent expert en migration de bases de données, ou encore un flow d’optimisation de performance tous intégrés nativement dans GitLab. \n\nCes agents et flows s'intègrent à votre interface GitLab et identifient rapidement votre contexte et vos projets.\n\n## Prérequis\n\nPour utiliser GitLab Duo Agent Platform, plusieurs conditions sont requises :\n\n* Disposer de la version 18.8 ou ultérieure de GitLab ou d’un compte GitLab.com.\n* Être abonné à [GitLab Premium](https://about.gitlab.com/fr-fr/pricing/premium/) ou [GitLab Ultimate](https://about.gitlab.com/fr-fr/pricing/ultimate/)\n\nGitLab Duo Agent Platform utilise par défaut les modèles d'IA fournis par GitLab. Une configuration alternative utilisant les modèles des clients est disponible [pour les installations auto hébergées](https://docs.gitlab.com/administration/gitlab_duo_self_hosted/#gitlab-duo-agent-platform). Pour en savoir plus, consultez notre article [IA agentique avec contrôle d'entreprise : 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/).\n\n## Perspectives : l'IA agentique au coeur du DevSecOps\n\nGitLab Duo Agent Platform marque une évolution dans l'intégration de l'IA dans le cycle de développement DevSecOps. Il ne s'agit plus uniquement de suggestions de code, mais d'une véritable orchestration agentique où des agents spécialisés prennent en charge des workflows complets.\n\nVous souhaitez en savoir plus sur les flows ? Consultez notre article [Comprendre les flows : workflows multi-agents](https://about.gitlab.com/fr-fr/blog/understanding-flows-multi-agent-workflows/) et découvrez comment utiliser les [flows par défaut](https://docs.gitlab.com/user/duo_agent_platform/flows/foundational_flows/) et les [flows personnalisables](https://docs.gitlab.com/user/duo_agent_platform/flows/custom/).\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 !",[25],"https://res.cloudinary.com/about-gitlab-com/image/upload/v1765809212/noh0mdfn9o94ry9ykura.png",{"featured":36,"template":14,"slug":722},"gitlab-duo-agent-platform-software-development-agentic-ai",{"content":724,"config":734},{"title":725,"description":726,"authors":727,"heroImage":729,"date":730,"body":731,"category":10,"tags":732},"IA agentique avec contrôle d'entreprise : GitLab Duo Agent Platform Self-Hosted et BYOM","Découvrez comment GitLab 18.9 offre aux entreprises des secteurs réglementés une IA agentique gouvernée grâce à GitLab Duo Agent Platform Self-Hosted et à la prise en charge Bring Your Own Model.",[728],"Rebecca Carter","https://res.cloudinary.com/about-gitlab-com/image/upload/v1771438388/t6sts5qw4z8561gtlxiq.png","2026-02-19","Pour les organisations qui opèrent dans des secteurs réglementés, la transition vers l'automatisation alimentée par l'IA s'accompagne de contraintes strictes. La résidence des données, le contrôle des fournisseurs et la gouvernance ne sont pas négociables. De nombreuses organisations ont déjà investi massivement dans leurs propres modèles, avec des processus d'approbation rigoureux qui régissent leur fonctionnement et leur déploiement.\n\nAvec [GitLab 18.9](https://about.gitlab.com/releases/2026/02/19/gitlab-18-9-released/), nous proposons deux fonctionnalités qui comblent une lacune stratégique critique pour ces organisations et transformons [GitLab Duo Agent Platform](https://about.gitlab.com/fr-fr/gitlab-duo-agent-platform/) en un plan de contrôle d'IA prêt à être déployé et gouvernable pour les environnements réglementaires les plus stricts.\n\n## GitLab Duo Agent Platform Self-Hosted pour les licences cloud en ligne\nAvec GitLab Duo Agent Platform, les équipes d'ingénierie créent des flows alimentés par l'IA qui automatisent des séquences de tâches, allant de la refactorisation des services au renforcement des pipelines CI/CD en passant par la hiérarchisation des vulnérabilités. Jusqu'à présent, l'utilisation de GitLab Duo Agent Platform en production avec des modèles auto-hébergés était principalement alignée sur des chemins de licence hors ligne ou complémentaires et n'était pas conçue pour les clients disposant de licences cloud en ligne qui opèrent dans des environnements avec des réglementations strictes.\n\nDésormais en disponibilité générale, [GitLab Duo Agent Platform Self-Hosted pour les licences cloud en ligne](https://docs.gitlab.com/subscriptions/subscription-add-ons/#gitlab-duo-agent-platform-self-hosted) introduit un modèle de facturation basé sur l'usage alimenté par les [GitLab Credits](https://about.gitlab.com/fr-fr/blog/introducing-gitlab-credits/). Cette approche offre la mesure transparente et prévisible dont les entreprises ont besoin pour instaurer la confiance et la refacturation interne.\n* **Résidence et contrôle des données** : vous pouvez désormais exécuter GitLab Duo Agent Platform en production sur des licences cloud en ligne tout en utilisant des modèles hébergés sur votre propre infrastructure ou dans des environnements cloud approuvés. Vous contrôlez ainsi le lieu d'exécution des modèles et la façon dont le trafic d'inférence est acheminé dans vos environnements approuvés.\n* **Transparence des coûts et refacturation** : bénéficiez d'une transparence granulaire des coûts grâce aux GitLab Credits et au décompte par requête, deux éléments essentiels pour une refacturation interne précise et le respect des normes réglementaires en matière de reporting.\n* **Accélération de l'adoption** : supprime un obstacle majeur au déploiement de l'IA agentique dans des secteurs comme les services financiers, les administrations publiques et les infrastructures critiques, où l'acheminement des données via des fournisseurs d'IA externes n'est tout simplement pas envisageable. Avec GitLab 18.9, GitLab Duo Agent Platform devient un environnement de déploiement de premier ordre pour les licences cloud en ligne.\n\n## Bring Your Own Model\nL'auto-hébergement de la couche d'orchestration n'est qu'une partie de la solution. De nombreux clients de secteurs réglementés ont déjà investi massivement dans leurs propres modèles : des LLM adaptés à leur domaine, des déploiements dans une région dédiée ou air-gapped pour la souveraineté des données, et des modèles fermés et internes conçus en fonction d'un profil de risque spécifique.\n\n**Bring Your Own Model (BYOM)** renforce la flexibilité de GitLab Duo Agent Platform. Les administrateurs peuvent connecter des modèles tiers ou auto-hébergés via la [passerelle d'IA (AI-Gateway) de GitLab](https://docs.gitlab.com/administration/gitlab_duo/gateway/), et les clients choisissent et contrôlent le modèle.\n* **Intégration et gouvernance** : les modèles BYOM apparaissent aux côtés des modèles gérés par GitLab dans le plan de contrôle d'IA de GitLab. GitLab Duo Agent Platform peut ainsi les traiter comme des options prêtes à l'emploi pour l'entreprise.\n* **Mappage granulaire** : une fois enregistrés via la passerelle d'IA, les modèles peuvent être mappés à des flows ou des fonctionnalités spécifiques de GitLab Duo Agent Platform. Vous pouvez ainsi exercer un contrôle étroit sur les agents et les flows, ainsi que sur les modèles utilisés. Les administrateurs restent toujours responsables de la validation des modèles, des performances et de l'évaluation des risques. Vous êtes responsable de la compatibilité, des performances et de l'évaluation des risques pour les modèles que vous apportez.\n\nEnsemble, ces fonctionnalités donnent aux responsables d'ingénierie un contrôle complet sur l'IA agentique. Ce plan de contrôle unique et gouverné pour l'IA agentique remplace l'ensemble fragmenté de solutions ponctuelles et d'outils d'IA non gérés sur lesquels de nombreuses organisations s'appuient aujourd'hui. Il s'agit d'une combinaison que les organisations réglementées réclamaient depuis longtemps : la liberté de choisir son modèle accompagnée d'une gouvernance forte, au sein de la même plateforme DevSecOps en laquelle elles ont déjà confiance.\n\n> Vous souhaitez essayer GitLab Duo Agent Platform ? [Contactez-nous ou commencez un essai gratuit dès aujourd'hui](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).\n\n-----------\n\n_Cet article de blog contient des « déclarations prospectives » au sens de la section 27A du Securities Act de 1933, tel que modifié, et de la section 21E du Securities Exchange Act de 1934. Bien que nous croyions que les attentes reflétées dans ces déclarations sont raisonnables, elles sont soumises à des risques, incertitudes, hypothèses et autres facteurs connus et inconnus qui peuvent entraîner des résultats ou des issues réels sensiblement différents. Des informations supplémentaires sur ces risques et autres facteurs sont incluses sous la rubrique « Facteurs de risque » dans nos dépôts auprès de la SEC. Nous ne nous engageons pas à mettre à jour ou à réviser ces déclarations après la date de cet article de blog, sauf si la loi l'exige._",[25,733,29],"product",{"featured":13,"template":14,"slug":735},"agentic-ai-enterprise-control-self-hosted-duo-agent-platform-and-byom",{"promotions":737},[738,751,762],{"id":739,"categories":740,"header":741,"text":742,"button":743,"image":748},"ai-modernization",[10],"Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":744,"config":745},"Get your AI maturity score",{"href":746,"dataGaName":747,"dataGaLocation":251},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":749},{"src":750},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":752,"categories":753,"header":754,"text":742,"button":755,"image":759},"devops-modernization",[733,42],"Are you just managing tools or shipping innovation?",{"text":756,"config":757},"Get your DevOps maturity score",{"href":758,"dataGaName":747,"dataGaLocation":251},"/assessments/devops-modernization-assessment/",{"config":760},{"src":761},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":763,"categories":764,"header":766,"text":742,"button":767,"image":771},"security-modernization",[765],"security","Are you trading speed for security?",{"text":768,"config":769},"Get your security maturity score",{"href":770,"dataGaName":747,"dataGaLocation":251},"/assessments/security-modernization-assessment/",{"config":772},{"src":773},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"header":775,"blurb":776,"button":777,"secondaryButton":781},"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":53,"config":778},{"href":779,"dataGaName":56,"dataGaLocation":780},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/fr-fr/","feature",{"text":58,"config":782},{"href":60,"dataGaName":61,"dataGaLocation":780},1773350850163]