[{"data":1,"prerenderedAt":1991},["ShallowReactive",2],{"/fr-fr/blog/duo-agent-platform-with-mcp":3,"navigation-fr-fr":1210,"banner-fr-fr":1643,"footer-fr-fr":1651,"blog-post-authors-fr-fr-Itzik Gan Baruch":1890,"blog-related-posts-fr-fr-duo-agent-platform-with-mcp":1905,"blog-promotions-fr-fr":1930,"next-steps-fr-fr":1982},{"id":4,"title":5,"authors":6,"body":8,"category":1188,"date":1189,"description":1190,"extension":1191,"externalUrl":1192,"faq":1192,"featured":1193,"heroImage":1194,"meta":1195,"navigation":1196,"path":1197,"seo":1198,"slug":1200,"stem":1201,"tags":1202,"template":1207,"updatedDate":1208,"__hash__":1209},"blogPosts/fr-fr/blog/duo-agent-platform-with-mcp.md","Intégrer le Model Context Protocol",[7],"Itzik Gan Baruch",{"type":9,"value":10,"toc":1168},"minimark",[11,24,27,42,56,61,64,67,71,74,90,93,97,100,104,119,122,145,149,155,164,174,178,192,242,250,451,459,466,470,483,493,695,709,712,731,738,742,745,750,756,761,767,771,774,777,780,806,814,818,825,828,837,842,847,871,908,1011,1015,1018,1026,1030,1033,1039,1043,1046,1073,1082,1086,1089,1103,1107,1115,1119,1144,1147,1155,1164],[12,13,14],"p",{},[15,16,17,18,23],"em",{},"Bienvenue dans la partie 7 de notre guide en huit parties, ",[19,20,22],"a",{"href":21},"/fr-fr/blog/gitlab-duo-agent-platform-complete-getting-started-guide/","Démarrer avec GitLab Duo Agent Platform",", où vous apprendrez à maîtriser la création et le déploiement d'agents d'IA et de workflows au sein de votre cycle de vie de développement. Suivez des tutoriels qui vous guideront de votre première interaction jusqu'à la mise en place de workflows d'automatisation entièrement personnalisés et prêts pour la mise en production.",[12,25,26],{},"L'intelligence artificielle (IA) accélère le développement : elle génère du code, débogue et automatise les tâches répétitives. Cependant, seule, elle reste limitée à ses données d'entraînement ou aux sources publiques, alors que les équipes de développement doivent souvent utiliser des systèmes internes : suivi de projet, tableaux de bord, bases de données, fichiers de design dans Figma ou documents Google Drive.",[12,28,29,30,35,36,41],{},"Désormais intégré à ",[19,31,34],{"href":32,"rel":33},"https://about.gitlab.com/fr-fr/gitlab-duo-agent-platform/",[],"GitLab Duo Agent Platform",", le Model Context Protocol (",[19,37,40],{"href":38,"rel":39},"https://about.gitlab.com/topics/ai/model-context-protocol/",[],"MCP",") permet à l'IA d'accéder en toute sécurité aux services internes pour que les équipes de développement bénéficient d'une assistance complète, directement accessibles dans les workflows.",[43,44,45],"blockquote",{},[12,46,47,48,55],{},"🎯 Essayez ",[49,50,51],"strong",{},[19,52,34],{"href":53,"rel":54},"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 !",[57,58,60],"h2",{"id":59},"quest-ce-que-le-mcp","Qu'est-ce que le MCP ?",[12,62,63],{},"Introduit pour la première fois par Anthropic en 2024, le MCP est une norme ouverte qui connecte l'IA aux données et aux outils. Il fonctionne comme un canal bidirectionnel sécurisé : les clients MCP (applications d'IA, agents d'IA autonomes ou outils de développement) envoient des requêtes de données ou d'actions, tandis que les serveurs MCP répondent avec des informations fiables et autorisées issues de leurs sources de données connectées.",[12,65,66],{},"Les serveurs MCP agissent comme des passerelles sécurisées vers divers systèmes : ils peuvent se connecter à des bases de données, des API, des systèmes de fichiers, des services cloud ou tout autre service externe pour collecter et transmettre des données. Les outils et agents d'IA, lorsqu'ils utilisent le MCP, ne se limitent plus aux informations sur lesquelles ils ont été entraînés. Ils peuvent accéder à des informations en temps réel et exécuter des actions concrètes (par exemple, reprogrammer des réunions ou vérifier la disponibilité dans un calendrier), tout en garantissant des contrôles rigoureux en matière de sécurité, de confidentialité et d'audit.",[57,68,70],{"id":69},"exemples-de-mcp-orientés-développement","Exemples de MCP orientés développement",[12,72,73],{},"Les équipes de développement profitent de fonctionnalités puissantes lorsqu'elles connectent le MCP à leurs outils et workflows de développement. Voici des exemples pratiques des possibilités de l'IA avec les serveurs MCP dans un contexte de développement :",[75,76,77,81,84,87],"ul",{},[78,79,80],"li",{},"Examiner les tickets ouverts et créer des merge requests",[78,82,83],{},"Récupérer les logs de déploiement et les traces d'erreur",[78,85,86],{},"Consulter les messages d'équipe dans Slack concernant les décisions techniques",[78,88,89],{},"Reprogrammer des réunions ou vérifier la disponibilité dans le calendrier pour la coordination d'équipe",[12,91,92],{},"Ces capacités orientées développement permettent à l'IA de fournir une assistance significative directement au sein des workflows des équipes, sans nécessiter de changement de contexte entre les outils.",[57,94,96],{"id":95},"pourquoi-utiliser-le-mcp","Pourquoi utiliser le MCP ?",[12,98,99],{},"Vous vous demandez peut-être : pourquoi utiliser le MCP si l'IA peut déjà appeler directement les API des systèmes ? Le passage par le MCP s'impose, car chaque API possède ses propres mécanismes d'authentification, formats de données et comportements. L'IA devrait donc recourir à des connecteurs spécifiques pour chaque système et les mettre à jour en permanence à mesure que les API évoluent, ce qui rendrait les intégrations directes complexes et propices aux erreurs. Le MCP résout ce problème : il offre une interface standardisée et sécurisée qui gère automatiquement l'authentification, les autorisations et la conversion des données. Les outils d'IA peuvent ainsi se connecter de manière cohérente à n'importe quel système, avec des intégrations rapides, stables et fiables.",[57,101,103],{"id":102},"prise-en-charge-du-mcp-par-gitlab","Prise en charge du MCP par GitLab",[12,105,106,107,112,113,118],{},"Avec l'intégration du MCP, ",[19,108,111],{"href":109,"rel":110},"https://about.gitlab.com/fr-fr/blog/gitlab-duo-chat-gets-agentic-ai-makeover/",[],"GitLab Duo Agentic Chat"," franchit une nouvelle étape : l'IA n'est plus isolée, mais pleinement connectée aux outils que les équipes de développement utilisent quotidiennement. Ces dernières peuvent interagir en langage naturel avec l'ensemble de leurs outils, sans jamais quitter leur environnement de développement intégré (",[19,114,117],{"href":115,"rel":116},"https://about.gitlab.com/fr-fr/blog/what-is-an-ide/",[],"IDE",") favori. GitLab Duo Agent Platform leur apporte une assistance complète sans casser leur rythme ni perturber leur concentration.",[12,120,121],{},"GitLab offre une prise en charge complète du MCP par le biais de deux workflows complémentaires :",[75,123,124,135],{},[78,125,126,134],{},[49,127,128,133],{},[19,129,132],{"href":130,"rel":131},"https://docs.gitlab.com/user/gitlab_duo/model_context_protocol/mcp_clients/",[],"Workflow client MCP"," :"," GitLab Duo Agent Platform sert de client MCP et permet à ses fonctionnalités d'accéder à divers outils et services externes.",[78,136,137,144],{},[49,138,139,133],{},[19,140,143],{"href":141,"rel":142},"https://docs.gitlab.com/user/gitlab_duo/model_context_protocol/mcp_server/",[],"Workflow serveur MCP"," GitLab agit aussi comme serveur MCP. Des outils d'IA comme Claude Desktop, Cursor et d'autres applications compatibles peuvent ainsi se connecter en toute sécurité à votre instance GitLab.",[57,146,148],{"id":147},"démonstration-interactive-du-workflow-client-mcp","Démonstration interactive du workflow client MCP",[12,150,151,154],{},[49,152,153],{},"Imaginez un lundi matin classique :"," le service de paiement de votre entreprise renvoie soudainement des erreurs de délai d'attente dépassé. Les clients ne peuvent plus finaliser leurs achats, et vous devez rapidement en trouver la cause. En temps normal, vous ouvrez Jira pour consulter le ticket d'incident, vous parcourez Slack à la recherche de mises à jour, puis vous vérifiez les tableaux de bord Grafana pour repérer d'éventuels pics d'erreurs. Grâce à la prise en charge du MCP dans GitLab, vous pouvez désormais effectuer toutes ces actions, directement depuis le chat intégré à votre IDE. Le MCP met en corrélation les données de tous vos systèmes et vous offre instantanément une vue d'ensemble, sans que vous deviez quitter votre workflow de développement.",[12,156,157,158,163],{},"Pour découvrir cette fonctionnalité par vous-même, nous avons créé une ",[19,159,162],{"href":160,"rel":161},"https://gitlab.navattic.com/mcp",[],"démonstration interactive"," qui reproduit le scénario du service de paiement décrit ci-dessus. Cliquez sur l'image ci-dessous pour lancer la démo.",[12,165,166],{},[19,167,169],{"href":160,"rel":168},[],[170,171],"img",{"alt":172,"src":173},"Démonstration du MCP","https://res.cloudinary.com/about-gitlab-com/image/upload/v1758206468/osf0wkwe1l45oc6zjdhr.png",[57,175,177],{"id":176},"configuration-du-client-mcp-dans-gitlab","Configuration du client MCP dans GitLab",[12,179,180,181,185,186,191],{},"Pour commencer à poser des questions dans ",[19,182,111],{"href":183,"rel":184},"https://docs.gitlab.com/user/gitlab_duo_chat/agentic_chat/",[]," ou le ",[19,187,190],{"href":188,"rel":189},"https://docs.gitlab.com/user/duo_agent_platform/flows/foundational_flows/software_development/",[],"flow Software Development",", vous devez configurer le MCP dans votre environnement de développement. Voici comment procéder :",[75,193,194,208,214,225,234],{},[78,195,196,199,200,203,204,207],{},[49,197,198],{},"Activer l'aperçu des fonctionnalités"," : dans les paramètres de votre groupe, accédez à ",[49,201,202],{},"GitLab Duo"," dans la barre latérale gauche, puis cochez la case « Activer les fonctionnalités expérimentales et bêta de GitLab Duo » dans la section ",[49,205,206],{},"Aperçu des fonctionnalités",".",[78,209,210,213],{},[49,211,212],{},"Activer le MCP pour votre groupe"," : activez la prise en charge du MCP dans les paramètres de votre groupe GitLab pour que les fonctionnalités de GitLab Duo puissent se connecter à des systèmes externes.",[78,215,216,219,220,224],{},[49,217,218],{},"Configurer les serveurs MCP"," : définissez les serveurs MCP au format JSON dans le fichier ",[221,222,223],"code",{},"mcp.json",". Créez ce fichier à cet emplacement :",[78,226,227,230,231],{},[49,228,229],{},"Windows :"," ",[221,232,233],{},"C:\\Users\\\u003Cusername>\\AppData\\Roaming\\GitLab\\duo\\mcp.json",[78,235,236,230,239],{},[49,237,238],{},"Autres systèmes d'exploitation :",[221,240,241],{},"~/.gitlab/duo/mcp.json",[12,243,244,245,207],{},"Pour des configurations spécifiques à un workspace, consultez la section ",[19,246,249],{"href":247,"rel":248},"https://docs.gitlab.com/user/gitlab_duo/model_context_protocol/mcp_clients/#create-workspace-configuration",[],"Configuration du workspace",[251,252,257],"pre",{"className":253,"code":254,"language":255,"meta":256,"style":256},"language-json shiki shiki-themes github-light","{\n  \"mcpServers\": {\n    \"server-name\": {\n      \"type\": \"stdio\",\n      \"command\": \"path/to/server\",\n      \"args\": [\"--arg1\", \"value1\"],\n      \"env\": {\n        \"ENV_VAR\": \"value\"\n      }\n    },\n    \"http-server\": {\n      \"type\": \"http\",\n      \"url\": \"http://localhost:3000/mcp\"\n    },\n    \"sse-server\": {\n      \"type\": \"sse\",\n      \"url\": \"http://localhost:3000/mcp/sse\"\n    }\n  }\n}\n","json","",[221,258,259,268,278,286,302,315,336,344,355,361,367,375,387,398,403,411,423,433,439,445],{"__ignoreMap":256},[260,261,264],"span",{"class":262,"line":263},"line",1,[260,265,267],{"class":266},"sgsFI","{\n",[260,269,271,275],{"class":262,"line":270},2,[260,272,274],{"class":273},"sYu0t","  \"mcpServers\"",[260,276,277],{"class":266},": {\n",[260,279,281,284],{"class":262,"line":280},3,[260,282,283],{"class":273},"    \"server-name\"",[260,285,277],{"class":266},[260,287,289,292,295,299],{"class":262,"line":288},4,[260,290,291],{"class":273},"      \"type\"",[260,293,294],{"class":266},": ",[260,296,298],{"class":297},"sYBdl","\"stdio\"",[260,300,301],{"class":266},",\n",[260,303,305,308,310,313],{"class":262,"line":304},5,[260,306,307],{"class":273},"      \"command\"",[260,309,294],{"class":266},[260,311,312],{"class":297},"\"path/to/server\"",[260,314,301],{"class":266},[260,316,318,321,324,327,330,333],{"class":262,"line":317},6,[260,319,320],{"class":273},"      \"args\"",[260,322,323],{"class":266},": [",[260,325,326],{"class":297},"\"--arg1\"",[260,328,329],{"class":266},", ",[260,331,332],{"class":297},"\"value1\"",[260,334,335],{"class":266},"],\n",[260,337,339,342],{"class":262,"line":338},7,[260,340,341],{"class":273},"      \"env\"",[260,343,277],{"class":266},[260,345,347,350,352],{"class":262,"line":346},8,[260,348,349],{"class":273},"        \"ENV_VAR\"",[260,351,294],{"class":266},[260,353,354],{"class":297},"\"value\"\n",[260,356,358],{"class":262,"line":357},9,[260,359,360],{"class":266},"      }\n",[260,362,364],{"class":262,"line":363},10,[260,365,366],{"class":266},"    },\n",[260,368,370,373],{"class":262,"line":369},11,[260,371,372],{"class":273},"    \"http-server\"",[260,374,277],{"class":266},[260,376,378,380,382,385],{"class":262,"line":377},12,[260,379,291],{"class":273},[260,381,294],{"class":266},[260,383,384],{"class":297},"\"http\"",[260,386,301],{"class":266},[260,388,390,393,395],{"class":262,"line":389},13,[260,391,392],{"class":273},"      \"url\"",[260,394,294],{"class":266},[260,396,397],{"class":297},"\"http://localhost:3000/mcp\"\n",[260,399,401],{"class":262,"line":400},14,[260,402,366],{"class":266},[260,404,406,409],{"class":262,"line":405},15,[260,407,408],{"class":273},"    \"sse-server\"",[260,410,277],{"class":266},[260,412,414,416,418,421],{"class":262,"line":413},16,[260,415,291],{"class":273},[260,417,294],{"class":266},[260,419,420],{"class":297},"\"sse\"",[260,422,301],{"class":266},[260,424,426,428,430],{"class":262,"line":425},17,[260,427,392],{"class":273},[260,429,294],{"class":266},[260,431,432],{"class":297},"\"http://localhost:3000/mcp/sse\"\n",[260,434,436],{"class":262,"line":435},18,[260,437,438],{"class":266},"    }\n",[260,440,442],{"class":262,"line":441},19,[260,443,444],{"class":266},"  }\n",[260,446,448],{"class":262,"line":447},20,[260,449,450],{"class":266},"}\n",[75,452,453],{},[78,454,455,458],{},[49,456,457],{},"Installer et configurer votre IDE"," : assurez-vous que VSCodium ou Visual Studio Code est installé, ainsi que l'extension GitLab Workflow (version 6.28.2 ou ultérieure pour une prise en charge de base du MCP, version 6.35.6 ou ultérieure pour une prise en charge complète).",[12,460,461,462,207],{},"Pour des instructions détaillées étape par étape, des exemples de configuration et des conseils de dépannage, consultez la ",[19,463,465],{"href":130,"rel":464},[],"documentation sur les clients MCP de GitLab",[57,467,469],{"id":468},"exemple-de-projet","Exemple de projet",[12,471,472,473,478,479,482],{},"En complément de cette démonstration, nous partageons le ",[19,474,477],{"href":475,"rel":476},"https://gitlab.com/gitlab-da/use-cases/ai/gitlab-duo-agent-platform/mcp/gitlab-duo-mcp-demo.git",[],"projet"," qui a servi de ",[49,480,481],{},"base",". Ce projet vous permet de reproduire le même flow dans votre propre environnement et d'expérimenter concrètement les capacités du MCP de GitLab.",[12,484,485,486,488,489,492],{},"Ce projet illustre le fonctionnement du MCP dans une configuration d'entreprise simulée, à l'aide de données fictives provenant de Jira, Slack et Grafana pour modéliser un scénario de réponse aux incidents. Le fichier ",[221,487,223],{}," inclus montre comment se connecter à un serveur MCP local (",[221,490,491],{},"enterprise-data-v2",") ou, en option, comment étendre cette configuration aux services AWS pour une intégration cloud.",[251,494,496],{"className":253,"code":495,"language":255,"meta":256,"style":256},"{\n  \"mcpServers\": {\n    \"enterprise-data-v2\": {\n      \"type\": \"stdio\",\n      \"command\": \"node\",\n      \"args\": [\"src/server.js\"],\n      \"cwd\": \"/path/to/your/project\"\n    },\n    \"aws-knowledge\": {\n      \"type\": \"stdio\"\n      \"command\": \"npx\",\n      \"args\": [\"mcp-remote\", \"https://knowledge-mcp.global.api.aws\"]\n    },\n    \"aws-console\": {\n      \"type\": \"stdio\"\n      \"command\": \"npx\",\n      \"args\": [\"@imazhar101/mcp-aws-server\"],\n      \"env\": {\n        \"AWS_REGION\": \"YOUR_REGION\",\n        \"AWS_PROFILE\": \"default\"\n      }\n    }\n  }\n}\n",[221,497,498,502,508,515,525,536,547,557,561,568,577,590,607,611,618,626,636,647,653,665,675,680,685,690],{"__ignoreMap":256},[260,499,500],{"class":262,"line":263},[260,501,267],{"class":266},[260,503,504,506],{"class":262,"line":270},[260,505,274],{"class":273},[260,507,277],{"class":266},[260,509,510,513],{"class":262,"line":280},[260,511,512],{"class":273},"    \"enterprise-data-v2\"",[260,514,277],{"class":266},[260,516,517,519,521,523],{"class":262,"line":288},[260,518,291],{"class":273},[260,520,294],{"class":266},[260,522,298],{"class":297},[260,524,301],{"class":266},[260,526,527,529,531,534],{"class":262,"line":304},[260,528,307],{"class":273},[260,530,294],{"class":266},[260,532,533],{"class":297},"\"node\"",[260,535,301],{"class":266},[260,537,538,540,542,545],{"class":262,"line":317},[260,539,320],{"class":273},[260,541,323],{"class":266},[260,543,544],{"class":297},"\"src/server.js\"",[260,546,335],{"class":266},[260,548,549,552,554],{"class":262,"line":338},[260,550,551],{"class":273},"      \"cwd\"",[260,553,294],{"class":266},[260,555,556],{"class":297},"\"/path/to/your/project\"\n",[260,558,559],{"class":262,"line":346},[260,560,366],{"class":266},[260,562,563,566],{"class":262,"line":357},[260,564,565],{"class":273},"    \"aws-knowledge\"",[260,567,277],{"class":266},[260,569,570,572,574],{"class":262,"line":363},[260,571,291],{"class":273},[260,573,294],{"class":266},[260,575,576],{"class":297},"\"stdio\"\n",[260,578,579,581,585,588],{"class":262,"line":369},[260,580,307],{"class":297},[260,582,584],{"class":583},"sB1qb",":",[260,586,587],{"class":297}," \"npx\"",[260,589,301],{"class":266},[260,591,592,594,596,599,601,604],{"class":262,"line":377},[260,593,320],{"class":273},[260,595,323],{"class":266},[260,597,598],{"class":297},"\"mcp-remote\"",[260,600,329],{"class":266},[260,602,603],{"class":297},"\"https://knowledge-mcp.global.api.aws\"",[260,605,606],{"class":266},"]\n",[260,608,609],{"class":262,"line":389},[260,610,366],{"class":266},[260,612,613,616],{"class":262,"line":400},[260,614,615],{"class":273},"    \"aws-console\"",[260,617,277],{"class":266},[260,619,620,622,624],{"class":262,"line":405},[260,621,291],{"class":273},[260,623,294],{"class":266},[260,625,576],{"class":297},[260,627,628,630,632,634],{"class":262,"line":413},[260,629,307],{"class":297},[260,631,584],{"class":583},[260,633,587],{"class":297},[260,635,301],{"class":266},[260,637,638,640,642,645],{"class":262,"line":425},[260,639,320],{"class":273},[260,641,323],{"class":266},[260,643,644],{"class":297},"\"@imazhar101/mcp-aws-server\"",[260,646,335],{"class":266},[260,648,649,651],{"class":262,"line":435},[260,650,341],{"class":273},[260,652,277],{"class":266},[260,654,655,658,660,663],{"class":262,"line":441},[260,656,657],{"class":273},"        \"AWS_REGION\"",[260,659,294],{"class":266},[260,661,662],{"class":297},"\"YOUR_REGION\"",[260,664,301],{"class":266},[260,666,667,670,672],{"class":262,"line":447},[260,668,669],{"class":273},"        \"AWS_PROFILE\"",[260,671,294],{"class":266},[260,673,674],{"class":297},"\"default\"\n",[260,676,678],{"class":262,"line":677},21,[260,679,360],{"class":266},[260,681,683],{"class":262,"line":682},22,[260,684,438],{"class":266},[260,686,688],{"class":262,"line":687},23,[260,689,444],{"class":266},[260,691,693],{"class":262,"line":692},24,[260,694,450],{"class":266},[12,696,697,700,701,704,705,708],{},[49,698,699],{},"Remarque de sécurité :"," le composant ",[221,702,703],{},"aws-console"," utilise un paquet de serveur MCP développé par la communauté (",[221,706,707],{},"@imazhar101/mcp-aws-server",") pour l'intégration avec AWS qui n'a pas été vérifié de manière indépendante. Il est exclusivement destiné à des fins de démonstration et de formation. Pour une utilisation en environnement de production, évaluez soigneusement les paquets ou privilégiez des solutions officielles.",[12,710,711],{},"En outre, configurez vos identifiants AWS à l'aide de profils d'interface de ligne de commande AWS (AWS CLI) ou de rôles Identity and Access Management (IAM), plutôt que de les coder en dur dans le fichier de configuration. Le SDK AWS détectera automatiquement les identifiants présents dans votre environnement, ce qui constitue l'approche recommandée pour garantir une bonne gouvernance et assurer la conformité aux politiques de sécurité de niveau entreprise.",[12,713,714,715,719,720,723,724,727,728,730],{},"Pour commencer, ",[19,716,718],{"href":475,"rel":717},[],"clonez le projet",", installez les dépendances avec ",[221,721,722],{},"npm install",", puis démarrez le serveur MCP local avec ",[221,725,726],{},"npm start",". Créez un fichier ",[221,729,241],{}," avec la configuration ci-dessus, mettez à jour le chemin d'accès du fichier pour qu'il corresponde à votre configuration locale et redémarrez VS Code pour charger la configuration MCP. Vous pouvez également ajouter vos identifiants AWS pour activer une intégration cloud en direct.",[12,732,733,734,207],{},"Clonez le projet ici : ",[19,735,737],{"href":475,"rel":736},[],"démo MCP de GitLab Duo",[57,739,741],{"id":740},"exemples-de-prompts-à-tester-avec-le-projet-de-démonstration","Exemples de prompts à tester avec le projet de démonstration",[12,743,744],{},"Une fois le projet de démo configuré, vous pouvez commencer à explorer vos données et outils directement depuis GitLab Duo Agentic Chat dans votre IDE. Voici plusieurs prompts à tester :",[75,746,747],{},[78,748,749],{},"« À quels outils peux-tu accéder via le MCP ? »",[12,751,752],{},[170,753],{"alt":754,"src":755},"À quels outils peux-tu accéder via le MCP ?","https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203432/xmahjenvoa82ov3kttqx.png",[75,757,758],{},[78,759,760],{},"« Montre-moi des discussions Slack récentes concernant le problème avec la base de données. »",[12,762,763],{},[170,764],{"alt":765,"src":766},"Discussion Slack sur les outils accessibles via le MCP","https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203432/wdwp5xzq6umeanb1xwbq.png",[57,768,770],{"id":769},"capacités-du-serveur-mcp-de-gitlab","Capacités du serveur MCP de GitLab",[12,772,773],{},"Jusqu'à présent, nous avons vu comment GitLab Duo Agent Platform agit comme un client MCP, en se connectant à des serveurs MCP externes. Penchons-nous maintenant sur les capacités du serveur MCP de GitLab.",[12,775,776],{},"Le serveur MCP de GitLab permet à des outils d'IA comme Cursor ou Claude Desktop de se connecter en toute sécurité à votre instance GitLab et d'interagir avec vos données de développement en langage naturel. L'authentification repose sur le mécanisme d'enregistrement dynamique des clients OAuth 2.0, ce qui permet aux outils d'IA de s'enregistrer automatiquement et d'accéder à vos données GitLab avec les autorisations appropriées.",[12,778,779],{},"Actuellement, le serveur prend en charge les actions suivantes :",[75,781,782,788,794,800],{},[78,783,784,787],{},[49,785,786],{},"Tickets"," : pour obtenir des informations ou créer de nouveaux tickets",[78,789,790,793],{},[49,791,792],{},"Merge requests"," : pour afficher les informations, les commits et les modifications de fichiers",[78,795,796,799],{},[49,797,798],{},"Pipelines"," : pour répertorier les jobs et les pipelines associés aux merge requests",[78,801,802,805],{},[49,803,804],{},"Informations sur le serveur"," : pour vérifier la version du serveur MCP",[12,807,808,809,207],{},"Pour obtenir la liste complète des outils et des fonctionnalités disponibles, consultez la ",[19,810,813],{"href":811,"rel":812},"https://docs.gitlab.com/user/gitlab_duo/model_context_protocol/mcp_server/#available-tools-and-capabilities",[],"documentation relative au serveur MCP",[57,815,817],{"id":816},"démonstration-interactive-du-serveur-mcp-de-gitlab","Démonstration interactive du serveur MCP de GitLab",[12,819,820,821,207],{},"Découvrez le serveur MCP de GitLab grâce à notre ",[19,822,162],{"href":823,"rel":824},"https://gitlab.navattic.com/gitlab-mcp-server",[],[12,826,827],{},"Elle vous guide pas à pas dans la configuration de Cursor avec le serveur MCP et l'utilisation de Cursor Chat pour vous connecter en toute sécurité à votre instance GitLab. Vous découvrirez comment afficher des tickets, en créer de nouveaux ou encore consulter les merge requests, le tout en langage naturel, sans jamais quitter votre environnement de développement.",[12,829,830],{},[19,831,833],{"href":823,"rel":832},[],[170,834],{"alt":835,"src":836},"Démonstration du serveur MCP","https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203431/y2zdd71miiw0pkwd0a5a.png",[838,839,841],"h3",{"id":840},"comment-configurer-le-serveur-mcp-dans-votre-outil-dia","Comment configurer le serveur MCP dans votre outil d'IA",[12,843,844],{},[49,845,846],{},"Prérequis :",[75,848,849,860],{},[78,850,851,852,855,856,859],{},"Assurez-vous que ",[49,853,854],{},"Node.js"," et ",[49,857,858],{},"npm"," sont installés.",[78,861,862,863,866,867,870],{},"Vérifiez que tout le monde peut accéder à ",[221,864,865],{},"npx"," en exécutant ",[221,868,869],{},"npx --version"," dans votre terminal.",[872,873,874,891],"ol",{},[78,875,876,879],{},[49,877,878],{},"Activer les feature flags",[75,880,881],{},[78,882,883,884,855,887,890],{},"Activez ",[221,885,886],{},"mcp_server",[221,888,889],{},"oauth_dynamic_client_registration"," dans votre instance GitLab.",[78,892,893,896],{},[49,894,895],{},"Ajouter la configuration du serveur MCP de GitLab à votre outil d'IA",[75,897,898],{},[78,899,900,901,903,904,907],{},"Ajoutez l'entrée correspondant au serveur MCP au fichier de configuration de votre outil (",[221,902,223],{}," pour Cursor, ",[221,905,906],{},"claude_desktop_config.json"," pour Claude Desktop) :",[251,909,911],{"className":253,"code":910,"language":255,"meta":256,"style":256},"{\n  \"mcpServers\": {\n    \"GitLab\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"mcp-remote\",\n        \"https://\u003Cyour-gitlab-instance>/api/v4/mcp\",\n        \"--static-oauth-client-metadata\",\n        \"{\\\"scope\\\": \\\"mcp\\\"}\"\n      ]\n    }\n  }\n}\n",[221,912,913,917,923,930,941,948,955,962,969,994,999,1003,1007],{"__ignoreMap":256},[260,914,915],{"class":262,"line":263},[260,916,267],{"class":266},[260,918,919,921],{"class":262,"line":270},[260,920,274],{"class":273},[260,922,277],{"class":266},[260,924,925,928],{"class":262,"line":280},[260,926,927],{"class":273},"    \"GitLab\"",[260,929,277],{"class":266},[260,931,932,934,936,939],{"class":262,"line":288},[260,933,307],{"class":273},[260,935,294],{"class":266},[260,937,938],{"class":297},"\"npx\"",[260,940,301],{"class":266},[260,942,943,945],{"class":262,"line":304},[260,944,320],{"class":273},[260,946,947],{"class":266},": [\n",[260,949,950,953],{"class":262,"line":317},[260,951,952],{"class":297},"        \"mcp-remote\"",[260,954,301],{"class":266},[260,956,957,960],{"class":262,"line":338},[260,958,959],{"class":297},"        \"https://\u003Cyour-gitlab-instance>/api/v4/mcp\"",[260,961,301],{"class":266},[260,963,964,967],{"class":262,"line":346},[260,965,966],{"class":297},"        \"--static-oauth-client-metadata\"",[260,968,301],{"class":266},[260,970,971,974,977,980,982,984,986,989,991],{"class":262,"line":357},[260,972,973],{"class":297},"        \"{",[260,975,976],{"class":273},"\\\"",[260,978,979],{"class":297},"scope",[260,981,976],{"class":273},[260,983,294],{"class":297},[260,985,976],{"class":273},[260,987,988],{"class":297},"mcp",[260,990,976],{"class":273},[260,992,993],{"class":297},"}\"\n",[260,995,996],{"class":262,"line":363},[260,997,998],{"class":266},"      ]\n",[260,1000,1001],{"class":262,"line":369},[260,1002,438],{"class":266},[260,1004,1005],{"class":262,"line":377},[260,1006,444],{"class":266},[260,1008,1009],{"class":262,"line":389},[260,1010,450],{"class":266},[838,1012,1014],{"id":1013},"enregistrement-et-authentification","Enregistrement et authentification",[12,1016,1017],{},"Lors de la première connexion, l'outil d'IA va :",[75,1019,1020,1023],{},[78,1021,1022],{},"S'enregistrer automatiquement en tant qu'application OAuth",[78,1024,1025],{},"Demander l'autorisation pour la portée mcp",[838,1027,1029],{"id":1028},"autorisation-dans-le-navigateur","Autorisation dans le navigateur",[12,1031,1032],{},"Lors de la connexion, le client MCP ouvrira automatiquement votre navigateur par défaut pour finaliser le flux OAuth. Examinez et approuvez la requête d'accès dans GitLab afin d'autoriser la connexion et d'obtenir un token pour accéder à l'API de manière sécurisée.",[12,1034,1035],{},[170,1036],{"alt":1037,"src":1038},"Demande d'accès","https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203431/szkjoqkdxstdbdh4eirv.png",[838,1040,1042],{"id":1041},"utilisation-du-serveur-mcp","Utilisation du serveur MCP",[12,1044,1045],{},"Dès que votre outil d'IA est connecté au serveur MCP, vous pouvez interagir avec vos données GitLab (tickets, merge requests, pipelines), directement depuis votre environnement de développement. Par exemple :",[75,1047,1048,1053,1058,1063,1068],{},[78,1049,1050],{},[221,1051,1052],{},"Obtenir les informations du ticket 42 dans le projet 123",[78,1054,1055],{},[221,1056,1057],{},"Créer un nouveau ticket intitulé « Corriger le bug de connexion » avec une description concernant les caractères spéciaux des mots de passe",[78,1059,1060],{},[221,1061,1062],{},"Afficher tous les commits dans la merge request 15 du projet gitlab-org/gitlab",[78,1064,1065],{},[221,1066,1067],{},"Quels fichiers ont été modifiés dans la merge request 25 ?",[78,1069,1070],{},[221,1071,1072],{},"Afficher tous les jobs du pipeline 12345",[43,1074,1075],{},[12,1076,1077,1078,207],{},"Cette fonctionnalité est expérimentale, contrôlée par un feature flag et n'est pas encore destinée à une utilisation en production. Pour des instructions détaillées étape par étape, des exemples de configuration et des conseils de dépannage, consultez la ",[19,1079,1081],{"href":141,"rel":1080},[],"documentation concernant le serveur MCP de GitLab",[57,1083,1085],{"id":1084},"résumé","Résumé",[12,1087,1088],{},"GitLab Duo Agent Platform prend en charge le MCP et offre des workflows de développement optimisés par l'IA avec intégration d'outils externes. Avec la prise en charge du MCP, GitLab agit à la fois comme un client et un serveur :",[75,1090,1091,1097],{},[78,1092,1093,1096],{},[49,1094,1095],{},"Client MCP :"," GitLab Duo Agent Platform peut accéder en toute sécurité aux données et services de systèmes externes et apporte un contexte complet directement dans l'IDE.",[78,1098,1099,1102],{},[49,1100,1101],{},"Serveur MCP :"," des outils d'IA externes comme Cursor ou Claude Desktop peuvent se connecter à votre instance GitLab, accéder aux données de projet et effectuer des actions, le tout dans un cadre sécurisé et conforme à vos politiques de confidentialité. Cette prise en charge bidirectionnelle réduit le changement de contexte, accélère les workflows de développement et permet à l'IA de fournir une assistance pertinente à travers l'ensemble de vos outils.",[57,1104,1106],{"id":1105},"perspectives","Perspectives",[12,1108,1109,1110,1114],{},"Vous maîtrisez désormais l'utilisation des agents, la création de flows, la découverte de solutions dans le catalogue d'IA, la gestion des workflows via la section Automatisation et l'extension des capacités avec le MCP. La dernière étape consiste à personnaliser GitLab Duo en fonction des besoins spécifiques de votre équipe. Pour ce faire, consultez la ",[19,1111,1113],{"href":1112},"/blog/customizing-gitlab-duo-chat-rules-prompts-workflows/","Partie 8",", où vous apprendrez à créer des règles de chat personnalisées, à élaborer des prompts système efficaces, à configurer les outils des agents, à mettre en place des intégrations MCP et à adapter les flows aux workflows uniques de votre équipe.",[57,1116,1118],{"id":1117},"ressources","Ressources",[75,1120,1121,1127,1133,1139],{},[78,1122,1123],{},[19,1124,1126],{"href":130,"rel":1125},[],"Documentation relative aux clients MCP",[78,1128,1129],{},[19,1130,1132],{"href":141,"rel":1131},[],"Documentation relative au serveur MCP",[78,1134,1135],{},[19,1136,1138],{"href":38,"rel":1137},[],"Qu'est-ce que le Model Context Protocol ?",[78,1140,1141],{},[19,1142,34],{"href":32,"rel":1143},[],[1145,1146],"hr",{},[12,1148,1149,230,1152],{},[49,1150,1151],{},"Article suivant :",[19,1153,1154],{"href":1112},"Partie 8 : personnaliser GitLab Duo Agent Platform : règles de chat, prompts et workflows",[12,1156,1157,230,1160],{},[49,1158,1159],{},"Article précédent :",[19,1161,1163],{"href":1162},"/fr-fr/blog/monitor-manage-automate-ai-workflows/","Partie 6 : surveiller, gérer et automatiser les workflows d'IA",[1165,1166,1167],"style",{},"html pre.shiki code .sgsFI, html code.shiki .sgsFI{--shiki-default:#24292E}html pre.shiki code .sYu0t, html code.shiki .sYu0t{--shiki-default:#005CC5}html pre.shiki code .sYBdl, html code.shiki .sYBdl{--shiki-default:#032F62}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .sB1qb, html code.shiki .sB1qb{--shiki-default:#B31D28;--shiki-default-font-style:italic}",{"title":256,"searchDepth":270,"depth":270,"links":1169},[1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1185,1186,1187],{"id":59,"depth":270,"text":60},{"id":69,"depth":270,"text":70},{"id":95,"depth":270,"text":96},{"id":102,"depth":270,"text":103},{"id":147,"depth":270,"text":148},{"id":176,"depth":270,"text":177},{"id":468,"depth":270,"text":469},{"id":740,"depth":270,"text":741},{"id":769,"depth":270,"text":770},{"id":816,"depth":270,"text":817,"children":1180},[1181,1182,1183,1184],{"id":840,"depth":280,"text":841},{"id":1013,"depth":280,"text":1014},{"id":1028,"depth":280,"text":1029},{"id":1041,"depth":280,"text":1042},{"id":1084,"depth":270,"text":1085},{"id":1105,"depth":270,"text":1106},{"id":1117,"depth":270,"text":1118},"ai","2025-10-29","Utilisez GitLab Duo avec des services externes via MCP. Connectez-vous à Jira, Slack, AWS et plus encore en tant que client MCP ou autorisez des outils d'IA externes à accéder à vos données GitLab en tant que serveur MCP.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1765809212/noh0mdfn9o94ry9ykura.png",{},true,"/fr-fr/blog/duo-agent-platform-with-mcp",{"title":5,"description":1199},"Utilisez GitLab Duo avec des services externes via MCP : comme client MCP avec accès à Jira, Slack et AWS ou comme serveur MCP avec des outils d'IA.","duo-agent-platform-with-mcp","fr-fr/blog/duo-agent-platform-with-mcp",[1203,1204,1205,1206],"AI","product","features","tutorial","BlogPost","2026-01-27","x17oq8pShFB9EM5i5HWF8VjuKaO0sQgCGDgEXZTfpvs",{"logo":1211,"freeTrial":1216,"sales":1221,"login":1226,"items":1231,"search":1559,"minimal":1594,"duo":1613,"switchNav":1622,"pricingDeployment":1633},{"config":1212},{"href":1213,"dataGaName":1214,"dataGaLocation":1215},"/fr-fr/","gitlab logo","header",{"text":1217,"config":1218},"Commencer un essai gratuit",{"href":1219,"dataGaName":1220,"dataGaLocation":1215},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr&glm_content=default-saas-trial/","free trial",{"text":1222,"config":1223},"Demander une démo",{"href":1224,"dataGaName":1225,"dataGaLocation":1215},"/fr-fr/sales/?contact-topic=request-demo","sales",{"text":1227,"config":1228},"Connexion",{"href":1229,"dataGaName":1230,"dataGaLocation":1215},"https://gitlab.com/users/sign_in/","sign in",[1232,1261,1363,1368,1481,1537],{"text":1233,"config":1234,"menu":1236},"Plateforme",{"dataNavLevelOne":1235},"platform",{"type":1237,"columns":1238},"cards",[1239,1245,1253],{"title":1233,"description":1240,"link":1241},"La plateforme d'orchestration intelligente pour le DevSecOps",{"text":1242,"config":1243},"Explorer notre plateforme",{"href":1244,"dataGaName":1235,"dataGaLocation":1215},"/fr-fr/platform/",{"title":1246,"description":1247,"link":1248},"GitLab Duo Agent Platform","L'IA agentique pour l'ensemble du cycle de développement logiciel",{"text":1249,"config":1250},"Découvrir GitLab Duo",{"href":1251,"dataGaName":1252,"dataGaLocation":1215},"/fr-fr/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":1254,"description":1255,"link":1256},"Pourquoi GitLab ?","Découvrez les principales raisons pour lesquelles les entreprises choisissent GitLab",{"text":1257,"config":1258},"En savoir plus",{"href":1259,"dataGaName":1260,"dataGaLocation":1215},"/fr-fr/why-gitlab/","why gitlab",{"text":1262,"left":1196,"config":1263,"menu":1265},"Produit",{"dataNavLevelOne":1264},"solutions",{"type":1266,"link":1267,"columns":1271,"feature":1342},"lists",{"text":1268,"config":1269},"Voir toutes les solutions",{"href":1270,"dataGaName":1264,"dataGaLocation":1215},"/fr-fr/solutions/",[1272,1297,1320],{"title":1273,"description":1274,"link":1275,"items":1280},"Automatisation","CI/CD et automatisation pour accélérer le déploiement",{"config":1276},{"icon":1277,"href":1278,"dataGaName":1279,"dataGaLocation":1215},"AutomatedCodeAlt","/fr-fr/solutions/delivery-automation/","automated software delivery",[1281,1285,1288,1293],{"text":1282,"config":1283},"CI/CD",{"href":1284,"dataGaLocation":1215,"dataGaName":1282},"/fr-fr/solutions/continuous-integration/",{"text":1246,"config":1286},{"href":1251,"dataGaLocation":1215,"dataGaName":1287},"gitlab duo agent platform - product menu",{"text":1289,"config":1290},"Gestion du code source",{"href":1291,"dataGaLocation":1215,"dataGaName":1292},"/fr-fr/solutions/source-code-management/","Source Code Management",{"text":1294,"config":1295},"Livraison de logiciels automatisée",{"href":1278,"dataGaLocation":1215,"dataGaName":1296},"Automated software delivery",{"title":1298,"description":1299,"link":1300,"items":1305},"Sécurité","Livrez du code plus rapidement sans compromettre la sécurité",{"config":1301},{"href":1302,"dataGaName":1303,"dataGaLocation":1215,"icon":1304},"/fr-fr/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[1306,1310,1315],{"text":1307,"config":1308},"Tests de sécurité des applications",{"href":1302,"dataGaName":1309,"dataGaLocation":1215},"Application security testing",{"text":1311,"config":1312},"Sécurité de la chaîne d'approvisionnement logicielle",{"href":1313,"dataGaLocation":1215,"dataGaName":1314},"/fr-fr/solutions/supply-chain/","Software supply chain security",{"text":1316,"config":1317},"Conformité logicielle",{"href":1318,"dataGaName":1319,"dataGaLocation":1215},"/fr-fr/solutions/software-compliance/","software compliance",{"title":1321,"link":1322,"items":1327},"Mesures",{"config":1323},{"icon":1324,"href":1325,"dataGaName":1326,"dataGaLocation":1215},"DigitalTransformation","/fr-fr/solutions/visibility-measurement/","visibility and measurement",[1328,1332,1337],{"text":1329,"config":1330},"Visibilité et mesures",{"href":1325,"dataGaLocation":1215,"dataGaName":1331},"Visibility and Measurement",{"text":1333,"config":1334},"Gestion de la chaîne de valeur",{"href":1335,"dataGaLocation":1215,"dataGaName":1336},"/fr-fr/solutions/value-stream-management/","Value Stream Management",{"text":1338,"config":1339},"Analyses et informations",{"href":1340,"dataGaLocation":1215,"dataGaName":1341},"/fr-fr/solutions/analytics-and-insights/","Analytics and insights",{"title":1343,"type":1266,"items":1344},"GitLab",[1345,1351,1357],{"text":1346,"config":1347},"Entreprises",{"icon":1348,"href":1349,"dataGaLocation":1215,"dataGaName":1350},"Building","/fr-fr/enterprise/","enterprise",{"text":1352,"config":1353},"Pour les PME",{"icon":1354,"href":1355,"dataGaLocation":1215,"dataGaName":1356},"Work","/fr-fr/small-business/","small business",{"text":1358,"config":1359},"Pour le secteur public",{"icon":1360,"href":1361,"dataGaLocation":1215,"dataGaName":1362},"Organization","/fr-fr/solutions/public-sector/","public sector",{"text":1364,"config":1365},"Tarifs",{"href":1366,"dataGaName":1367,"dataGaLocation":1215,"dataNavLevelOne":1367},"/fr-fr/pricing/","pricing",{"text":1118,"config":1369,"menu":1371},{"dataNavLevelOne":1370},"resources",{"type":1266,"link":1372,"columns":1376,"feature":1470},{"text":1373,"config":1374},"Afficher toutes les ressources",{"href":1375,"dataGaName":1370,"dataGaLocation":1215},"/fr-fr/resources/",[1377,1410,1437],{"title":1378,"items":1379},"Premiers pas",[1380,1385,1390,1395,1400,1405],{"text":1381,"config":1382},"Installation",{"href":1383,"dataGaName":1384,"dataGaLocation":1215},"/fr-fr/install/","install",{"text":1386,"config":1387},"Guides de démarrage",{"href":1388,"dataGaName":1389,"dataGaLocation":1215},"/fr-fr/get-started/","quick setup checklists",{"text":1391,"config":1392},"Apprentissage",{"href":1393,"dataGaLocation":1215,"dataGaName":1394},"https://university.gitlab.com/","learn",{"text":1396,"config":1397},"Documentation",{"href":1398,"dataGaName":1399,"dataGaLocation":1215},"https://docs.gitlab.com/","product documentation",{"text":1401,"config":1402},"Vidéos sur les bonnes pratiques",{"href":1403,"dataGaName":1404,"dataGaLocation":1215},"/fr-fr/getting-started-videos/","best practice videos",{"text":1406,"config":1407},"Intégrations",{"href":1408,"dataGaName":1409,"dataGaLocation":1215},"/fr-fr/integrations/","integrations",{"title":1411,"items":1412},"Découvrir",[1413,1418,1423,1428,1432],{"text":1414,"config":1415},"Témoignages clients",{"href":1416,"dataGaName":1417,"dataGaLocation":1215},"/fr-fr/customers/","customer success stories",{"text":1419,"config":1420},"Blog",{"href":1421,"dataGaName":1422,"dataGaLocation":1215},"/fr-fr/blog/","blog",{"text":1424,"config":1425},"Demo Hub",{"href":1426,"dataGaName":1427,"dataGaLocation":1215},"/fr-fr/demo-hub/","demo hub",{"text":1429,"config":1430},"The Source",{"href":1431,"dataGaName":1422,"dataGaLocation":1215},"/fr-fr/the-source/",{"text":1433,"config":1434},"Travail à distance",{"href":1435,"dataGaName":1436,"dataGaLocation":1215},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":1438,"items":1439},"Connecter",[1440,1445,1450,1455,1460,1465],{"text":1441,"config":1442},"Services GitLab",{"href":1443,"dataGaName":1444,"dataGaLocation":1215},"/fr-fr/services/","services",{"text":1446,"config":1447},"Contribuer",{"href":1448,"dataGaName":1449,"dataGaLocation":1215},"https://contributors.gitlab.com","contribute",{"text":1451,"config":1452},"Communauté",{"href":1453,"dataGaName":1454,"dataGaLocation":1215},"/community/","community",{"text":1456,"config":1457},"Forum",{"href":1458,"dataGaName":1459,"dataGaLocation":1215},"https://forum.gitlab.com/","forum",{"text":1461,"config":1462},"Événements",{"href":1463,"dataGaName":1464,"dataGaLocation":1215},"/events/","events",{"text":1466,"config":1467},"Partenaires",{"href":1468,"dataGaName":1469,"dataGaLocation":1215},"/fr-fr/partners/","partners",{"config":1471,"title":1474,"text":1475,"link":1476},{"background":1472,"textColor":1473},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1777322348/qpq8yrgn8knii57omj0c.png')","#000","Nouveautés de GitLab","Découvrez les dernières fonctionnalités et améliorations.",{"text":1477,"config":1478},"Lire les articles les plus récents",{"href":1479,"dataGaName":1480,"dataGaLocation":1215},"/fr-fr/whats-new/","whats new",{"text":1482,"config":1483,"menu":1485},"Société",{"dataNavLevelOne":1484},"company",{"type":1266,"columns":1486},[1487],{"items":1488},[1489,1494,1500,1502,1507,1512,1517,1522,1527,1532],{"text":1490,"config":1491},"À propos",{"href":1492,"dataGaName":1493,"dataGaLocation":1215},"/fr-fr/company/","about",{"text":1495,"config":1496,"footerGa":1499},"Carrières",{"href":1497,"dataGaName":1498,"dataGaLocation":1215},"/jobs/","jobs",{"dataGaName":1498},{"text":1461,"config":1501},{"href":1463,"dataGaName":1464,"dataGaLocation":1215},{"text":1503,"config":1504},"Leadership",{"href":1505,"dataGaName":1506,"dataGaLocation":1215},"/company/team/e-group/","leadership",{"text":1508,"config":1509},"Manuel",{"href":1510,"dataGaName":1511,"dataGaLocation":1215},"https://handbook.gitlab.com/","handbook",{"text":1513,"config":1514},"Relations avec les investisseurs",{"href":1515,"dataGaName":1516,"dataGaLocation":1215},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":1518,"config":1519},"Trust Center",{"href":1520,"dataGaName":1521,"dataGaLocation":1215},"/fr-fr/security/","trust center",{"text":1523,"config":1524},"Centre pour la transparence de l'IA",{"href":1525,"dataGaName":1526,"dataGaLocation":1215},"/fr-fr/ai-transparency-center/","ai transparency center",{"text":1528,"config":1529},"Newsletter",{"href":1530,"dataGaName":1531,"dataGaLocation":1215},"/company/contact/#contact-forms","newsletter",{"text":1533,"config":1534},"Presse",{"href":1535,"dataGaName":1536,"dataGaLocation":1215},"/press/","press",{"text":1538,"config":1539,"menu":1540},"Nous contacter",{"dataNavLevelOne":1484},{"type":1266,"columns":1541},[1542],{"items":1543},[1544,1549,1554],{"text":1545,"config":1546},"Contacter l'équipe commerciale",{"href":1547,"dataGaName":1548,"dataGaLocation":1215},"/fr-fr/sales/","talk to sales",{"text":1550,"config":1551},"Assistance GitLab",{"href":1552,"dataGaName":1553,"dataGaLocation":1215},"https://support.gitlab.com/hc/en-us","support portal",{"text":1555,"config":1556},"Portail clients GitLab",{"href":1557,"dataGaName":1558,"dataGaLocation":1215},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":1560,"login":1561,"suggestions":1568},"Fermer",{"text":1562,"link":1563},"Pour rechercher des dépôts et des projets, connectez-vous à",{"text":1564,"config":1565},"GitLab.com",{"href":1229,"dataGaName":1566,"dataGaLocation":1567},"search login","search",{"text":1569,"default":1570},"Suggestions",[1571,1573,1578,1580,1585,1590],{"text":1246,"config":1572},{"href":1251,"dataGaName":34,"dataGaLocation":1567},{"text":1574,"config":1575},"Suggestions de code (IA)",{"href":1576,"dataGaName":1577,"dataGaLocation":1567},"/fr-fr/solutions/code-suggestions/","Code Suggestions (AI)",{"text":1282,"config":1579},{"href":1284,"dataGaName":1282,"dataGaLocation":1567},{"text":1581,"config":1582},"GitLab sur AWS",{"href":1583,"dataGaName":1584,"dataGaLocation":1567},"/fr-fr/partners/technology-partners/aws/","GitLab on AWS",{"text":1586,"config":1587},"GitLab sur Google Cloud",{"href":1588,"dataGaName":1589,"dataGaLocation":1567},"/fr-fr/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":1591,"config":1592},"Pourquoi utiliser GitLab ?",{"href":1259,"dataGaName":1593,"dataGaLocation":1567},"Why GitLab?",{"freeTrial":1595,"mobileIcon":1600,"desktopIcon":1605,"secondaryButton":1608},{"text":1596,"config":1597},"Commencer votre essai gratuit",{"href":1598,"dataGaName":1220,"dataGaLocation":1599},"https://gitlab.com/-/trials/new/","nav",{"altText":1601,"config":1602},"Icône GitLab",{"src":1603,"dataGaName":1604,"dataGaLocation":1599},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":1601,"config":1606},{"src":1607,"dataGaName":1604,"dataGaLocation":1599},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":1609,"config":1610},"Commencer",{"href":1611,"dataGaName":1612,"dataGaLocation":1599},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr/get-started/","get started",{"freeTrial":1614,"mobileIcon":1618,"desktopIcon":1620},{"text":1615,"config":1616},"En savoir plus sur GitLab Duo",{"href":1251,"dataGaName":1617,"dataGaLocation":1599},"gitlab duo",{"altText":1601,"config":1619},{"src":1603,"dataGaName":1604,"dataGaLocation":1599},{"altText":1601,"config":1621},{"src":1607,"dataGaName":1604,"dataGaLocation":1599},{"button":1623,"mobileIcon":1628,"desktopIcon":1630},{"text":1624,"config":1625},"/switch",{"href":1626,"dataGaName":1627,"dataGaLocation":1599},"#contact","switch",{"altText":1601,"config":1629},{"src":1603,"dataGaName":1604,"dataGaLocation":1599},{"altText":1601,"config":1631},{"src":1632,"dataGaName":1604,"dataGaLocation":1599},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":1634,"mobileIcon":1639,"desktopIcon":1641},{"text":1635,"config":1636},"Retour aux tarifs",{"href":1366,"dataGaName":1637,"dataGaLocation":1599,"icon":1638},"back to pricing","GoBack",{"altText":1601,"config":1640},{"src":1603,"dataGaName":1604,"dataGaLocation":1599},{"altText":1601,"config":1642},{"src":1607,"dataGaName":1604,"dataGaLocation":1599},{"title":1644,"button":1645,"config":1649},"GitLab Orbit est arrivé : la couche de contexte pour les agents d'IA.",{"text":1257,"config":1646},{"href":1647,"dataGaName":1648,"dataGaLocation":1215},"/fr-fr/gitlab-orbit/","orbit",{"layout":1650,"disabled":1193},"release",{"data":1652},{"text":1653,"source":1654,"edit":1660,"contribute":1665,"config":1669,"items":1674,"minimal":1882},"Git est une marque déposée de Software Freedom Conservancy et notre utilisation de « GitLab » est sous licence.",{"text":1655,"config":1656},"Afficher le code source de la page",{"href":1657,"dataGaName":1658,"dataGaLocation":1659},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":1661,"config":1662},"Modifier cette page",{"href":1663,"dataGaName":1664,"dataGaLocation":1659},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":1446,"config":1666},{"href":1667,"dataGaName":1668,"dataGaLocation":1659},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":1670,"facebook":1671,"youtube":1672,"linkedin":1673},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[1675,1721,1774,1817,1849],{"title":1364,"links":1676,"subMenu":1691},[1677,1681,1686],{"text":1678,"config":1679},"Voir les forfaits",{"href":1366,"dataGaName":1680,"dataGaLocation":1659},"view plans",{"text":1682,"config":1683},"GitLab Premium",{"href":1684,"dataGaName":1685,"dataGaLocation":1659},"/fr-fr/pricing/premium/","why premium",{"text":1687,"config":1688},"GitLab Ultimate",{"href":1689,"dataGaName":1690,"dataGaLocation":1659},"/fr-fr/pricing/ultimate/","why ultimate",[1692],{"title":1538,"links":1693},[1694,1696,1698,1701,1706,1711,1716],{"text":1545,"config":1695},{"href":1547,"dataGaName":1225,"dataGaLocation":1659},{"text":1550,"config":1697},{"href":1552,"dataGaName":1553,"dataGaLocation":1659},{"text":1699,"config":1700},"Portail clients",{"href":1557,"dataGaName":1558,"dataGaLocation":1659},{"text":1702,"config":1703},"Statut",{"href":1704,"dataGaName":1705,"dataGaLocation":1659},"https://status.gitlab.com/","status",{"text":1707,"config":1708},"Conditions d'utilisation",{"href":1709,"dataGaName":1710,"dataGaLocation":1659},"/terms/","terms of use",{"text":1712,"config":1713},"Politique de confidentialité",{"href":1714,"dataGaName":1715,"dataGaLocation":1659},"/fr-fr/privacy/","privacy statement",{"text":1717,"config":1718},"Gestion des cookies",{"dataGaName":1719,"dataGaLocation":1659,"id":1720,"isOneTrustButton":1196},"cookie preferences","ot-sdk-btn",{"title":1262,"links":1722,"subMenu":1731},[1723,1727],{"text":1724,"config":1725},"Plateforme DevSecOps",{"href":1244,"dataGaName":1726,"dataGaLocation":1659},"devsecops platform",{"text":1728,"config":1729},"Développement assisté par l'IA",{"href":1251,"dataGaName":1730,"dataGaLocation":1659},"ai-assisted development",[1732],{"title":1733,"links":1734},"Thèmes",[1735,1739,1744,1749,1754,1759,1764,1769],{"text":1282,"config":1736},{"href":1737,"dataGaName":1738,"dataGaLocation":1659},"/fr-fr/topics/ci-cd/","cicd",{"text":1740,"config":1741},"GitOps",{"href":1742,"dataGaName":1743,"dataGaLocation":1659},"/fr-fr/topics/gitops/","gitops",{"text":1745,"config":1746},"DevOps",{"href":1747,"dataGaName":1748,"dataGaLocation":1659},"/fr-fr/topics/devops/","devops",{"text":1750,"config":1751},"Contrôle de version",{"href":1752,"dataGaName":1753,"dataGaLocation":1659},"/fr-fr/topics/version-control/","version control",{"text":1755,"config":1756},"DevSecOps",{"href":1757,"dataGaName":1758,"dataGaLocation":1659},"/fr-fr/topics/devsecops/","devsecops",{"text":1760,"config":1761},"Cloud-native",{"href":1762,"dataGaName":1763,"dataGaLocation":1659},"/fr-fr/topics/cloud-native/","cloud native",{"text":1765,"config":1766},"IA pour la programmation",{"href":1767,"dataGaName":1768,"dataGaLocation":1659},"/fr-fr/topics/devops/ai-for-coding/","ai for coding",{"text":1770,"config":1771},"IA agentique",{"href":1772,"dataGaName":1773,"dataGaLocation":1659},"/fr-fr/topics/agentic-ai/","agentic ai",{"title":1775,"links":1776},"Solutions",[1777,1780,1782,1787,1790,1793,1796,1799,1801,1804,1807,1812],{"text":1307,"config":1778},{"href":1302,"dataGaName":1779,"dataGaLocation":1659},"Application Security Testing",{"text":1294,"config":1781},{"href":1278,"dataGaName":1279,"dataGaLocation":1659},{"text":1783,"config":1784},"Développement Agile",{"href":1785,"dataGaName":1786,"dataGaLocation":1659},"/fr-fr/solutions/agile-delivery/","agile delivery",{"text":1289,"config":1788},{"href":1291,"dataGaName":1789,"dataGaLocation":1659},"source code management",{"text":1282,"config":1791},{"href":1284,"dataGaName":1792,"dataGaLocation":1659},"continuous integration & delivery",{"text":1333,"config":1794},{"href":1335,"dataGaName":1795,"dataGaLocation":1659},"value stream management",{"text":1740,"config":1797},{"href":1798,"dataGaName":1743,"dataGaLocation":1659},"/fr-fr/solutions/gitops/",{"text":1346,"config":1800},{"href":1349,"dataGaName":1350,"dataGaLocation":1659},{"text":1802,"config":1803},"PME",{"href":1355,"dataGaName":1356,"dataGaLocation":1659},{"text":1805,"config":1806},"Secteur public",{"href":1361,"dataGaName":1362,"dataGaLocation":1659},{"text":1808,"config":1809},"Éducation",{"href":1810,"dataGaName":1811,"dataGaLocation":1659},"/fr-fr/solutions/education/","education",{"text":1813,"config":1814},"Services financiers",{"href":1815,"dataGaName":1816,"dataGaLocation":1659},"/fr-fr/solutions/finance/","financial services",{"title":1118,"links":1818},[1819,1821,1823,1825,1828,1830,1833,1835,1837,1839,1841,1843,1845,1847],{"text":1381,"config":1820},{"href":1383,"dataGaName":1384,"dataGaLocation":1659},{"text":1386,"config":1822},{"href":1388,"dataGaName":1389,"dataGaLocation":1659},{"text":1391,"config":1824},{"href":1393,"dataGaName":1394,"dataGaLocation":1659},{"text":1396,"config":1826},{"href":1398,"dataGaName":1827,"dataGaLocation":1659},"docs",{"text":1419,"config":1829},{"href":1421,"dataGaName":1422,"dataGaLocation":1659},{"text":1831,"config":1832},"Nouveautés",{"href":1479,"dataGaName":1480,"dataGaLocation":1659},{"text":1414,"config":1834},{"href":1416,"dataGaName":1417,"dataGaLocation":1659},{"text":1433,"config":1836},{"href":1435,"dataGaName":1436,"dataGaLocation":1659},{"text":1441,"config":1838},{"href":1443,"dataGaName":1444,"dataGaLocation":1659},{"text":1446,"config":1840},{"href":1448,"dataGaName":1449,"dataGaLocation":1659},{"text":1451,"config":1842},{"href":1453,"dataGaName":1454,"dataGaLocation":1659},{"text":1456,"config":1844},{"href":1458,"dataGaName":1459,"dataGaLocation":1659},{"text":1461,"config":1846},{"href":1463,"dataGaName":1464,"dataGaLocation":1659},{"text":1466,"config":1848},{"href":1468,"dataGaName":1469,"dataGaLocation":1659},{"title":1482,"links":1850},[1851,1853,1855,1857,1859,1861,1866,1871,1873,1875,1877],{"text":1490,"config":1852},{"href":1492,"dataGaName":1484,"dataGaLocation":1659},{"text":1495,"config":1854},{"href":1497,"dataGaName":1498,"dataGaLocation":1659},{"text":1503,"config":1856},{"href":1505,"dataGaName":1506,"dataGaLocation":1659},{"text":1508,"config":1858},{"href":1510,"dataGaName":1511,"dataGaLocation":1659},{"text":1513,"config":1860},{"href":1515,"dataGaName":1516,"dataGaLocation":1659},{"text":1862,"config":1863},"Développement durable",{"href":1864,"dataGaName":1865,"dataGaLocation":1659},"/sustainability/","Sustainability",{"text":1867,"config":1868},"Diversité, inclusion et appartenance (DIB)",{"href":1869,"dataGaName":1870,"dataGaLocation":1659},"/fr-fr/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":1518,"config":1872},{"href":1520,"dataGaName":1521,"dataGaLocation":1659},{"text":1528,"config":1874},{"href":1530,"dataGaName":1531,"dataGaLocation":1659},{"text":1533,"config":1876},{"href":1535,"dataGaName":1536,"dataGaLocation":1659},{"text":1878,"config":1879},"Déclaration de transparence sur l'esclavage moderne",{"href":1880,"dataGaName":1881,"dataGaLocation":1659},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1883},[1884,1886,1888],{"text":1707,"config":1885},{"href":1709,"dataGaName":1710,"dataGaLocation":1659},{"text":1717,"config":1887},{"dataGaName":1719,"dataGaLocation":1659,"id":1720,"isOneTrustButton":1196},{"text":1712,"config":1889},{"href":1714,"dataGaName":1715,"dataGaLocation":1659},[1891],{"id":1892,"title":7,"body":1192,"config":1893,"content":1895,"description":1192,"extension":1899,"meta":1900,"navigation":1196,"path":1901,"seo":1902,"stem":1903,"__hash__":1904},"blogAuthors/en-us/blog/authors/itzik-gan-baruch.yml",{"template":1894},"BlogAuthor",{"name":7,"config":1896},{"headshot":1897,"ctfId":1898},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749658921/Blog/Author%20Headshots/iganbaruch-headshot.jpg","iganbaruch","yml",{},"/en-us/blog/authors/itzik-gan-baruch",{},"en-us/blog/authors/itzik-gan-baruch","bz9VMiTQ1ixvnoxUFk0jiUcnLG3oQsymgXNCqyRqfsk",[1906,1914,1922],{"title":1907,"description":1908,"heroImage":1909,"category":1188,"date":1910,"authors":1911,"slug":1913,"externalUrl":1192},"Moderniser Java avec Cursor et GitLab","Ce tutoriel commence par la correction ciblée de tests, introduit des murs qualité et met en œuvre des modifications de code en tenant compte du contexte du cycle de développement, des tests et des preuves de revue.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1776457632/llddiylsgwuze0u1rjks.png","2026-08-12",[1912],"Michael Friedrich","modernize-java-with-cursor-and-gitlab",{"title":1915,"description":1916,"heroImage":1917,"category":1188,"date":1918,"authors":1919,"slug":1921,"externalUrl":1192},"Comment utiliser des agents d'IA pour migrer la limitation de débit de GitLab","Découvrez comment notre équipe composée de trois personnes a utilisé GitLab Duo Agent Platform, ainsi que d'autres outils d'IA, pour migrer avec succès le système de limitation de débit et les leçons que nous en avons tirées.","https://res.cloudinary.com/about-gitlab-com/image/upload/f_auto,q_auto,c_lfill/v1773075582/yiosxfhwk8rfkulrtchv.png","2026-08-10",[1920],"Sam Wiskow","ai-agents-for-migrating-rate-limiting-system",{"title":1923,"description":1924,"heroImage":1925,"category":1188,"date":1926,"authors":1927,"slug":1929,"externalUrl":1192},"Codage agentique : le contexte fait la différence","Les agents de codage accélèrent le développement. Grâce au contexte dans GitLab, les entreprises évitent les correctifs superficiels et raccourcissent les cycles de revue.","https://res.cloudinary.com/about-gitlab-com/image/upload/f_auto,q_auto,c_lfill/v1773856365/gsx2c0vqlswox3ldmq88.jpg","2026-08-03",[1928],"Jessica Taylor","agentic-coding-only-as-good-as-context",{"promotions":1931},[1932,1945,1956,1968],{"id":1933,"categories":1934,"header":1935,"text":1936,"button":1937,"image":1942},"ai-modernization",[1188],"L'IA tient-elle ses promesses à grande échelle ?","Le questionnaire ne prendra pas plus de 5 minutes.",{"text":1938,"config":1939},"Obtenez votre score de maturité IA",{"href":1940,"dataGaName":1941,"dataGaLocation":1422},"/fr-fr/assessments/ai-modernization-assessment/","modernization assessment",{"config":1943},{"src":1944},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":1946,"categories":1947,"header":1948,"text":1936,"button":1949,"image":1953},"devops-modernization",[1204,1758],"Vous contentez-vous de gérer des outils ou de livrer des innovations ?",{"text":1950,"config":1951},"Obtenez votre score de maturité DevOps",{"href":1952,"dataGaName":1941,"dataGaLocation":1422},"/fr-fr/assessments/devops-modernization-assessment/",{"config":1954},{"src":1955},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1957,"categories":1958,"header":1960,"text":1936,"button":1961,"image":1965},"security-modernization",[1959],"security","Faut-il sacrifier la rapidité pour garantir la sécurité ?",{"text":1962,"config":1963},"Obtenez votre score de maturité en matière de sécurité",{"href":1964,"dataGaName":1941,"dataGaLocation":1422},"/fr-fr/assessments/security-modernization-assessment/",{"config":1966},{"src":1967},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1969,"paths":1970,"header":1973,"text":1974,"button":1975,"image":1980},"github-azure-migration",[1971,1972],"migration-from-azure-devops-to-gitlab","integrating-azure-devops-scm-and-gitlab","Votre équipe est-elle prête pour la migration de GitHub vers Azure ?","GitHub a déjà commencé sa migration vers Azure. Découvrez ce que cela signifie pour vous.",{"text":1976,"config":1977},"Découvrez les différences entre GitLab et GitHub",{"href":1978,"dataGaName":1979,"dataGaLocation":1422},"/fr-fr/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1981},{"src":1955},{"header":1983,"blurb":1984,"button":1985,"secondaryButton":1989},"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":1217,"config":1986},{"href":1987,"dataGaName":1220,"dataGaLocation":1988},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/fr-fr/","feature",{"text":1545,"config":1990},{"href":1547,"dataGaName":1225,"dataGaLocation":1988},1786803746527]