[{"data":1,"prerenderedAt":1406},["ShallowReactive",2],{"/fr-fr/blog/structuring-the-gitlab-package-registry-for-enterprise-scale":3,"navigation-fr-fr":622,"banner-fr-fr":1057,"footer-fr-fr":1065,"blog-post-authors-fr-fr-Tim Rizzi":1303,"blog-related-posts-fr-fr-structuring-the-gitlab-package-registry-for-enterprise-scale":1318,"blog-promotions-fr-fr":1344,"next-steps-fr-fr":1397},{"id":4,"title":5,"authors":6,"body":8,"category":599,"date":600,"description":601,"extension":602,"externalUrl":603,"faq":603,"featured":604,"heroImage":605,"meta":606,"navigation":604,"path":607,"seo":608,"slug":613,"stem":614,"tags":615,"template":619,"updatedDate":620,"__hash__":621},"blogPosts/fr-fr/blog/structuring-the-gitlab-package-registry-for-enterprise-scale.md","Comment structurer le registre de paquets de GitLab à l'échelle de l'entreprise",[7],"Tim Rizzi",{"type":9,"value":10,"toc":583},"minimark",[11,15,20,23,36,39,56,61,64,97,101,104,115,119,122,128,220,225,286,290,293,297,365,369,375,378,382,393,397,404,447,451,454,462,466,510,514,558,562,565,568,579],[12,13,14],"p",{},"À mesure que les entreprises gagnent en taille et en complexité, la gestion des paquets développés en interne devient de plus en plus complexe. Alors que les gestionnaires de paquets traditionnels, comme JFrog Artifactory et Sonatype Nexus, utilisent un dépôt centralisé, GitLab adopte une approche résolument différente, adaptée aux pratiques des équipes de développement modernes.\nDécouvrez dans cet article comment structurer efficacement le registre de paquets de GitLab à l'échelle de votre entreprise, en prenant comme exemples les paquets Maven et npm.",[16,17,19],"h2",{"id":18},"comprendre-le-modèle-de-registre-de-paquets-de-gitlab","Comprendre le modèle de registre de paquets de GitLab",[12,21,22],{},"Si vous utilisez un gestionnaire de paquets traditionnel, l'approche de GitLab peut sembler différente au premier abord. Au lieu d'utiliser un dépôt centralisé unique, GitLab intègre la gestion des paquets directement dans la structure de vos projets et de vos groupes, et concrètement, cela implique que :",[24,25,26,30,33],"ul",{},[27,28,29],"li",{},"Vos équipes publient leurs paquets dans les projets spécifiques où réside le code source.",[27,31,32],{},"Vos équipes utilisent les paquets provenant des registres de groupe racine, qui regroupent tous les paquets des sous-projets.",[27,34,35],{},"Le contrôle d'accès hérite des autorisations que vous avez définies dans GitLab actuellement.",[12,37,38],{},"Ce modèle offre plusieurs avantages :",[24,40,41,44,47,50,53],{},[27,42,43],{},"Une propriété claire des paquets, étroitement liée à leur code source.",[27,45,46],{},"Un contrôle d'accès granulaire, sans configuration supplémentaire.",[27,48,49],{},"Une intégration fluide et simplifiée aux pipelines CI/CD.",[27,51,52],{},"Un alignement naturel sur la structure des équipes.",[27,54,55],{},"Une URL unique permettant d'accéder à tous les paquets de l'entreprise via le groupe racine.",[57,58,60],"h3",{"id":59},"la-puissance-du-registre-de-paquets-au-niveau-du-groupe-racine","La puissance du registre de paquets au niveau du groupe racine",[12,62,63],{},"Bien que GitLab prenne en charge l'utilisation de paquets à différents niveaux de groupe, l'utilisation au niveau du groupe racine est une bonne pratique adoptée par nos utilisateurs. Voici pourquoi :",[24,65,66,73,79,85,91],{},[27,67,68,72],{},[69,70,71],"strong",{},"Point d'accès unique :"," une seule URL permet d'accéder à l'ensemble des paquets privés de votre entreprise.",[27,74,75,78],{},[69,76,77],{},"Nommage cohérent des paquets :"," les points de terminaison au niveau des groupes permettent aux équipes de conserver leurs conventions de nommage préférées, sans risque de conflits.",[27,80,81,84],{},[69,82,83],{},"Configuration simplifiée :"," tous les développeurs peuvent utiliser la même configuration pour accéder aux paquets.",[27,86,87,90],{},[69,88,89],{},"Gestion sécurisée des accès :"," associée aux tokens de déploiement, elle facilite la rotation et renforce le contrôle d'accès.",[27,92,93,96],{},[69,94,95],{},"Organisation hiérarchique :"," elle reflète naturellement la structure de votre entreprise tout en garantissant un accès unifié.",[16,98,100],{"id":99},"exemple-concret-structure-dentreprise","Exemple concret : structure d'entreprise",[12,102,103],{},"Voyons comment cela fonctionne dans la pratique avec une grande entreprise :",[105,106,112],"pre",{"className":107,"code":109,"language":110,"meta":111},[108],"language-text","company/ (root group)\n├── retail-division/\n│   ├── shared-libraries/     # Division-specific shared code\n│   └── teams/\n│       ├── checkout/        # Team publishes packages here\n│       └── inventory/       # Team publishes packages here\n├── banking-division/\n│   ├── shared-libraries/    # Division-specific shared code\n│   └── teams/\n│       ├── payments/       # Team publishes packages here\n│       └── fraud/         # Team publishes packages here\n└── shared-platform/        # Enterprise-wide shared code\n    ├── java-commons/      # Shared Java libraries\n    └── ui-components/     # Shared UI components\n","text","",[113,114,109],"code",{"__ignoreMap":111},[57,116,118],{"id":117},"configuration-de-la-publication","Configuration de la publication",[12,120,121],{},"Les équipes publient leurs paquets dans les registres de leurs projets respectifs, assurant ainsi une propriété claire et bien définie :",[123,124,125],"ol",{},[27,126,127],{},"Exemple de paquets Maven",[105,129,133],{"className":130,"code":131,"language":132,"meta":111,"style":111},"language-xml shiki shiki-themes github-light","\u003C!-- checkout/pom.xml -->\n\u003CdistributionManagement>\n    \u003Crepository>\n        \u003Cid>gitlab-maven\u003C/id>\n        \u003Curl>${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/maven\u003C/url>\n    \u003C/repository>\n\u003C/distributionManagement>\n","xml",[113,134,135,144,158,169,185,200,210],{"__ignoreMap":111},[136,137,140],"span",{"class":138,"line":139},"line",1,[136,141,143],{"class":142},"sAwPA","\u003C!-- checkout/pom.xml -->\n",[136,145,147,151,155],{"class":138,"line":146},2,[136,148,150],{"class":149},"sgsFI","\u003C",[136,152,154],{"class":153},"shJU0","distributionManagement",[136,156,157],{"class":149},">\n",[136,159,161,164,167],{"class":138,"line":160},3,[136,162,163],{"class":149},"    \u003C",[136,165,166],{"class":153},"repository",[136,168,157],{"class":149},[136,170,172,175,178,181,183],{"class":138,"line":171},4,[136,173,174],{"class":149},"        \u003C",[136,176,177],{"class":153},"id",[136,179,180],{"class":149},">gitlab-maven\u003C/",[136,182,177],{"class":153},[136,184,157],{"class":149},[136,186,188,190,193,196,198],{"class":138,"line":187},5,[136,189,174],{"class":149},[136,191,192],{"class":153},"url",[136,194,195],{"class":149},">${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/maven\u003C/",[136,197,192],{"class":153},[136,199,157],{"class":149},[136,201,203,206,208],{"class":138,"line":202},6,[136,204,205],{"class":149},"    \u003C/",[136,207,166],{"class":153},[136,209,157],{"class":149},[136,211,213,216,218],{"class":138,"line":212},7,[136,214,215],{"class":149},"\u003C/",[136,217,154],{"class":153},[136,219,157],{"class":149},[123,221,222],{"start":146},[27,223,224],{},"Exemple de paquets npm",[105,226,230],{"className":227,"code":228,"language":229,"meta":111,"style":111},"language-json shiki shiki-themes github-light","// ui-components/package.json\n{\n  \"name\": \"@company/ui-components\",\n  \"publishConfig\": {\n    \"registry\": \"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/npm/\"\n  }\n}\n","json",[113,231,232,237,242,258,266,276,281],{"__ignoreMap":111},[136,233,234],{"class":138,"line":139},[136,235,236],{"class":142},"// ui-components/package.json\n",[136,238,239],{"class":138,"line":146},[136,240,241],{"class":149},"{\n",[136,243,244,248,251,255],{"class":138,"line":160},[136,245,247],{"class":246},"sYu0t","  \"name\"",[136,249,250],{"class":149},": ",[136,252,254],{"class":253},"sYBdl","\"@company/ui-components\"",[136,256,257],{"class":149},",\n",[136,259,260,263],{"class":138,"line":171},[136,261,262],{"class":246},"  \"publishConfig\"",[136,264,265],{"class":149},": {\n",[136,267,268,271,273],{"class":138,"line":187},[136,269,270],{"class":246},"    \"registry\"",[136,272,250],{"class":149},[136,274,275],{"class":253},"\"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/npm/\"\n",[136,277,278],{"class":138,"line":202},[136,279,280],{"class":149},"  }\n",[136,282,283],{"class":138,"line":212},[136,284,285],{"class":149},"}\n",[57,287,289],{"id":288},"configuration-dutilisation-des-paquets","Configuration d'utilisation des paquets",[12,291,292],{},"C’est ici que la puissance de l'utilisation au niveau du groupe racine prend tout son sens. Toutes les équipes configurent un point de terminaison unique pour accéder aux paquets :",[123,294,295],{},[27,296,127],{},[105,298,300],{"className":130,"code":299,"language":132,"meta":111,"style":111},"\u003C!-- Any project's pom.xml -->\n\u003Crepositories>\n    \u003Crepository>\n        \u003Cid>gitlab-maven\u003C/id>\n        \u003Curl>https://gitlab.example.com/api/v4/groups/company/-/packages/maven\u003C/url>\n    \u003C/repository>\n\u003C/repositories>\n",[113,301,302,307,316,324,336,349,357],{"__ignoreMap":111},[136,303,304],{"class":138,"line":139},[136,305,306],{"class":142},"\u003C!-- Any project's pom.xml -->\n",[136,308,309,311,314],{"class":138,"line":146},[136,310,150],{"class":149},[136,312,313],{"class":153},"repositories",[136,315,157],{"class":149},[136,317,318,320,322],{"class":138,"line":160},[136,319,163],{"class":149},[136,321,166],{"class":153},[136,323,157],{"class":149},[136,325,326,328,330,332,334],{"class":138,"line":171},[136,327,174],{"class":149},[136,329,177],{"class":153},[136,331,180],{"class":149},[136,333,177],{"class":153},[136,335,157],{"class":149},[136,337,338,340,342,345,347],{"class":138,"line":187},[136,339,174],{"class":149},[136,341,192],{"class":153},[136,343,344],{"class":149},">https://gitlab.example.com/api/v4/groups/company/-/packages/maven\u003C/",[136,346,192],{"class":153},[136,348,157],{"class":149},[136,350,351,353,355],{"class":138,"line":202},[136,352,205],{"class":149},[136,354,166],{"class":153},[136,356,157],{"class":149},[136,358,359,361,363],{"class":138,"line":212},[136,360,215],{"class":149},[136,362,313],{"class":153},[136,364,157],{"class":149},[123,366,367],{"start":146},[27,368,224],{},[105,370,373],{"className":371,"code":372,"language":110,"meta":111},[108],"# Any project's .npmrc\n@company:registry=https://gitlab.example.com/api/v4/groups/company/-/packages/npm/\n",[113,374,372],{"__ignoreMap":111},[12,376,377],{},"Cette configuration fournit automatiquement un accès à l'ensemble des paquets de votre entreprise, tout en conservant les avantages d'une publication basée sur les projets.",[16,379,381],{"id":380},"authentification-et-contrôle-daccès","Authentification et contrôle d'accès",[12,383,384,385,392],{},"Le modèle de GitLab simplifie l'authentification grâce aux tokens de déploiement et à l'intégration avec les ",[386,387,391],"a",{"href":388,"rel":389,"title":390},"https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/",[],"Qu'est-ce qu'un pipeline CI/CD ? ","pipelines CI/CD",".",[57,394,396],{"id":395},"pour-les-pipelines-cicd","Pour les pipelines CI/CD",[12,398,399,400,403],{},"GitLab gère automatiquement l'authentification au sein des pipelines à l'aide du token ",[113,401,402],{},"CI_JOB_TOKEN"," :",[105,405,409],{"className":406,"code":407,"language":408,"meta":111,"style":111},"language-yaml shiki shiki-themes github-light","# .gitlab-ci.yml\npublish:\n  script:\n    - mvn deploy  # or npm publish\n  # CI_JOB_TOKEN provides automatic authentication\n","yaml",[113,410,411,416,424,431,442],{"__ignoreMap":111},[136,412,413],{"class":138,"line":139},[136,414,415],{"class":142},"# .gitlab-ci.yml\n",[136,417,418,421],{"class":138,"line":146},[136,419,420],{"class":153},"publish",[136,422,423],{"class":149},":\n",[136,425,426,429],{"class":138,"line":160},[136,427,428],{"class":153},"  script",[136,430,423],{"class":149},[136,432,433,436,439],{"class":138,"line":171},[136,434,435],{"class":149},"    - ",[136,437,438],{"class":253},"mvn deploy",[136,440,441],{"class":142},"  # or npm publish\n",[136,443,444],{"class":138,"line":187},[136,445,446],{"class":142},"  # CI_JOB_TOKEN provides automatic authentication\n",[57,448,450],{"id":449},"pour-le-développement","Pour le développement",[12,452,453],{},"Utilisez des tokens de déploiement définis au niveau du groupe pour accéder aux paquets, en suivant les étapes suivantes :",[24,455,456,459],{},[27,457,458],{},"Créez des tokens de déploiement en lecture seule au niveau du groupe racine.",[27,460,461],{},"Effectuez régulièrement une rotation des tokens pour renforcer la sécurité. - Partagez une configuration unique entre tous les développeurs.",[16,463,465],{"id":464},"les-avantages-du-registre-de-paquets-au-niveau-du-groupe-racine","Les avantages du registre de paquets au niveau du groupe racine",[123,467,468,482,496],{},[27,469,470,471],{},"Configuration simplifiée\n",[24,472,473,476,479],{},[27,474,475],{},"Une seule URL pour accéder à tous les paquets.",[27,477,478],{},"Une configuration cohérente entre toutes les équipes.",[27,480,481],{},"Une rotation facile des tokens.",[27,483,484,485],{},"Propriété claire\n",[24,486,487,490,493],{},[27,488,489],{},"Les paquets restent associés à leur code source.",[27,491,492],{},"Les équipes conservent la maîtrise des publications.",[27,494,495],{},"L'historique des versions est lié à l'activité du projet.",[27,497,498,499],{},"Organisation naturelle\n",[24,500,501,504,507],{},[27,502,503],{},"Elle reflète fidèlement la structure de votre entreprise.",[27,505,506],{},"Elle maintient l'autonomie de vos équipes.",[27,508,509],{},"Elle facilite la collaboration transversale.",[16,511,513],{"id":512},"étapes-à-suivre","Étapes à suivre",[123,515,516,530,544],{},[27,517,518,519],{},"Configurez votre groupe racine\n",[24,520,521,524,527],{},[27,522,523],{},"Créez une structure de groupe claire.",[27,525,526],{},"Configurez les contrôles d'accès appropriés.",[27,528,529],{},"Créez des tokens de déploiement de groupe.",[27,531,532,533],{},"Configurez les projets d'équipe\n",[24,534,535,538,541],{},[27,536,537],{},"Configurez la publication au niveau du projet.",[27,539,540],{},"Intégrez les pipelines CI/CD.",[27,542,543],{},"Documentez les conventions de nommage des paquets.",[27,545,546,547],{},"Normalisez l'utilisation des paquets\n",[24,548,549,552,555],{},[27,550,551],{},"Configurez l'accès au registre du groupe racine.",[27,553,554],{},"Partagez les tokens de déploiement en toute sécurité.",[27,556,557],{},"Documentez le processus d'identification des paquets.",[16,559,561],{"id":560},"résumé","Résumé",[12,563,564],{},"Le modèle de registre de paquets de GitLab, et en particulier l'utilisation au niveau du groupe racine, offre une puissante solution pour la gestion des paquets à l'échelle de l'entreprise. En combinant la publication par projet avec l'utilisation des paquets au niveau du groupe racine, les entreprises profitent des avantages de ces deux approches : une propriété claire et un accès simplifié. Cette approche évolue naturellement avec votre entreprise tout en garantissant la sécurité et la facilité d'utilisation.",[12,566,567],{},"Commencez par mettre en œuvre ce modèle au sein d'une équipe ou d'une division pilote, puis étendez-le au reste de l'entreprise à mesure que vous constatez les avantages de cette approche intégrée. Bien que cet article se concentre sur Maven et npm, les principes évoqués ici s'appliquent à tous les types de paquets pris en charge par GitLab.",[569,570,571],"blockquote",{},[12,572,573,574,392],{},"Lancez-vous avec les registres de paquets dès aujourd'hui ! Inscrivez-vous à un ",[386,575,578],{"href":576,"rel":577},"https://about.gitlab.com/fr-fr/free-trial/",[],"essai gratuit de GitLab Ultimate",[580,581,582],"style",{},"html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}html pre.shiki code .sgsFI, html code.shiki .sgsFI{--shiki-default:#24292E}html pre.shiki code .shJU0, html code.shiki .shJU0{--shiki-default:#22863A}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 .sYu0t, html code.shiki .sYu0t{--shiki-default:#005CC5}html pre.shiki code .sYBdl, html code.shiki .sYBdl{--shiki-default:#032F62}",{"title":111,"searchDepth":146,"depth":146,"links":584},[585,588,592,596,597,598],{"id":18,"depth":146,"text":19,"children":586},[587],{"id":59,"depth":160,"text":60},{"id":99,"depth":146,"text":100,"children":589},[590,591],{"id":117,"depth":160,"text":118},{"id":288,"depth":160,"text":289},{"id":380,"depth":146,"text":381,"children":593},[594,595],{"id":395,"depth":160,"text":396},{"id":449,"depth":160,"text":450},{"id":464,"depth":146,"text":465},{"id":512,"depth":146,"text":513},{"id":560,"depth":146,"text":561},"product","2025-02-19","Découvrez comment tirer parti du modèle unique de publication des paquets par projet de GitLab, combiné à une utilisation centralisée au niveau du groupe racine.","md",null,true,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662332/Blog/Hero%20Images/blog-image-template-1800x945__23_.png",{},"/fr-fr/blog/structuring-the-gitlab-package-registry-for-enterprise-scale",{"title":5,"description":601,"ogTitle":5,"ogDescription":601,"noIndex":609,"ogImage":605,"ogUrl":610,"ogSiteName":611,"ogType":612,"canonicalUrls":610},false,"https://about.gitlab.com/blog/structuring-the-gitlab-package-registry-for-enterprise-scale","https://about.gitlab.com","article","structuring-the-gitlab-package-registry-for-enterprise-scale","fr-fr/blog/structuring-the-gitlab-package-registry-for-enterprise-scale",[616,617,618],"DevSecOps","tutorial","solutions architecture","BlogPost","2025-04-30","xX_bnPpgAPLN3bLYLQD8weyLPh1faffArGI2iD7r8y0",{"logo":623,"freeTrial":628,"sales":633,"login":638,"items":643,"search":972,"minimal":1008,"duo":1027,"switchNav":1036,"pricingDeployment":1047},{"config":624},{"href":625,"dataGaName":626,"dataGaLocation":627},"/fr-fr/","gitlab logo","header",{"text":629,"config":630},"Commencer un essai gratuit",{"href":631,"dataGaName":632,"dataGaLocation":627},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr&glm_content=default-saas-trial/","free trial",{"text":634,"config":635},"Demander une démo",{"href":636,"dataGaName":637,"dataGaLocation":627},"/fr-fr/sales/?contact-topic=request-demo","sales",{"text":639,"config":640},"Connexion",{"href":641,"dataGaName":642,"dataGaLocation":627},"https://gitlab.com/users/sign_in/","sign in",[644,673,775,780,894,950],{"text":645,"config":646,"menu":648},"Plateforme",{"dataNavLevelOne":647},"platform",{"type":649,"columns":650},"cards",[651,657,665],{"title":645,"description":652,"link":653},"La plateforme d'orchestration intelligente pour le DevSecOps",{"text":654,"config":655},"Explorer notre plateforme",{"href":656,"dataGaName":647,"dataGaLocation":627},"/fr-fr/platform/",{"title":658,"description":659,"link":660},"GitLab Duo Agent Platform","L'IA agentique pour l'ensemble du cycle de développement logiciel",{"text":661,"config":662},"Découvrir GitLab Duo",{"href":663,"dataGaName":664,"dataGaLocation":627},"/fr-fr/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":666,"description":667,"link":668},"Pourquoi GitLab ?","Découvrez les principales raisons pour lesquelles les entreprises choisissent GitLab",{"text":669,"config":670},"En savoir plus",{"href":671,"dataGaName":672,"dataGaLocation":627},"/fr-fr/why-gitlab/","why gitlab",{"text":674,"left":604,"config":675,"menu":677},"Produit",{"dataNavLevelOne":676},"solutions",{"type":678,"link":679,"columns":683,"feature":754},"lists",{"text":680,"config":681},"Voir toutes les solutions",{"href":682,"dataGaName":676,"dataGaLocation":627},"/fr-fr/solutions/",[684,709,732],{"title":685,"description":686,"link":687,"items":692},"Automatisation","CI/CD et automatisation pour accélérer le déploiement",{"config":688},{"icon":689,"href":690,"dataGaName":691,"dataGaLocation":627},"AutomatedCodeAlt","/fr-fr/solutions/delivery-automation/","automated software delivery",[693,697,700,705],{"text":694,"config":695},"CI/CD",{"href":696,"dataGaLocation":627,"dataGaName":694},"/fr-fr/solutions/continuous-integration/",{"text":658,"config":698},{"href":663,"dataGaLocation":627,"dataGaName":699},"gitlab duo agent platform - product menu",{"text":701,"config":702},"Gestion du code source",{"href":703,"dataGaLocation":627,"dataGaName":704},"/fr-fr/solutions/source-code-management/","Source Code Management",{"text":706,"config":707},"Livraison de logiciels automatisée",{"href":690,"dataGaLocation":627,"dataGaName":708},"Automated software delivery",{"title":710,"description":711,"link":712,"items":717},"Sécurité","Livrez du code plus rapidement sans compromettre la sécurité",{"config":713},{"href":714,"dataGaName":715,"dataGaLocation":627,"icon":716},"/fr-fr/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[718,722,727],{"text":719,"config":720},"Tests de sécurité des applications",{"href":714,"dataGaName":721,"dataGaLocation":627},"Application security testing",{"text":723,"config":724},"Sécurité de la chaîne d'approvisionnement logicielle",{"href":725,"dataGaLocation":627,"dataGaName":726},"/fr-fr/solutions/supply-chain/","Software supply chain security",{"text":728,"config":729},"Conformité logicielle",{"href":730,"dataGaName":731,"dataGaLocation":627},"/fr-fr/solutions/software-compliance/","software compliance",{"title":733,"link":734,"items":739},"Mesures",{"config":735},{"icon":736,"href":737,"dataGaName":738,"dataGaLocation":627},"DigitalTransformation","/fr-fr/solutions/visibility-measurement/","visibility and measurement",[740,744,749],{"text":741,"config":742},"Visibilité et mesures",{"href":737,"dataGaLocation":627,"dataGaName":743},"Visibility and Measurement",{"text":745,"config":746},"Gestion de la chaîne de valeur",{"href":747,"dataGaLocation":627,"dataGaName":748},"/fr-fr/solutions/value-stream-management/","Value Stream Management",{"text":750,"config":751},"Analyses et informations",{"href":752,"dataGaLocation":627,"dataGaName":753},"/fr-fr/solutions/analytics-and-insights/","Analytics and insights",{"title":755,"type":678,"items":756},"GitLab",[757,763,769],{"text":758,"config":759},"Entreprises",{"icon":760,"href":761,"dataGaLocation":627,"dataGaName":762},"Building","/fr-fr/enterprise/","enterprise",{"text":764,"config":765},"Pour les PME",{"icon":766,"href":767,"dataGaLocation":627,"dataGaName":768},"Work","/fr-fr/small-business/","small business",{"text":770,"config":771},"Pour le secteur public",{"icon":772,"href":773,"dataGaLocation":627,"dataGaName":774},"Organization","/fr-fr/solutions/public-sector/","public sector",{"text":776,"config":777},"Tarifs",{"href":778,"dataGaName":779,"dataGaLocation":627,"dataNavLevelOne":779},"/fr-fr/pricing/","pricing",{"text":781,"config":782,"menu":784},"Ressources",{"dataNavLevelOne":783},"resources",{"type":678,"link":785,"columns":789,"feature":883},{"text":786,"config":787},"Afficher toutes les ressources",{"href":788,"dataGaName":783,"dataGaLocation":627},"/fr-fr/resources/",[790,823,850],{"title":791,"items":792},"Premiers pas",[793,798,803,808,813,818],{"text":794,"config":795},"Installation",{"href":796,"dataGaName":797,"dataGaLocation":627},"/fr-fr/install/","install",{"text":799,"config":800},"Guides de démarrage",{"href":801,"dataGaName":802,"dataGaLocation":627},"/fr-fr/get-started/","quick setup checklists",{"text":804,"config":805},"Apprentissage",{"href":806,"dataGaLocation":627,"dataGaName":807},"https://university.gitlab.com/","learn",{"text":809,"config":810},"Documentation",{"href":811,"dataGaName":812,"dataGaLocation":627},"https://docs.gitlab.com/","product documentation",{"text":814,"config":815},"Vidéos sur les bonnes pratiques",{"href":816,"dataGaName":817,"dataGaLocation":627},"/fr-fr/getting-started-videos/","best practice videos",{"text":819,"config":820},"Intégrations",{"href":821,"dataGaName":822,"dataGaLocation":627},"/fr-fr/integrations/","integrations",{"title":824,"items":825},"Découvrir",[826,831,836,841,845],{"text":827,"config":828},"Témoignages clients",{"href":829,"dataGaName":830,"dataGaLocation":627},"/fr-fr/customers/","customer success stories",{"text":832,"config":833},"Blog",{"href":834,"dataGaName":835,"dataGaLocation":627},"/fr-fr/blog/","blog",{"text":837,"config":838},"Demo Hub",{"href":839,"dataGaName":840,"dataGaLocation":627},"/fr-fr/demo-hub/","demo hub",{"text":842,"config":843},"The Source",{"href":844,"dataGaName":835,"dataGaLocation":627},"/fr-fr/the-source/",{"text":846,"config":847},"Travail à distance",{"href":848,"dataGaName":849,"dataGaLocation":627},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":851,"items":852},"Connecter",[853,858,863,868,873,878],{"text":854,"config":855},"Services GitLab",{"href":856,"dataGaName":857,"dataGaLocation":627},"/fr-fr/services/","services",{"text":859,"config":860},"Contribuer",{"href":861,"dataGaName":862,"dataGaLocation":627},"https://contributors.gitlab.com","contribute",{"text":864,"config":865},"Communauté",{"href":866,"dataGaName":867,"dataGaLocation":627},"/community/","community",{"text":869,"config":870},"Forum",{"href":871,"dataGaName":872,"dataGaLocation":627},"https://forum.gitlab.com/","forum",{"text":874,"config":875},"Événements",{"href":876,"dataGaName":877,"dataGaLocation":627},"/events/","events",{"text":879,"config":880},"Partenaires",{"href":881,"dataGaName":882,"dataGaLocation":627},"/fr-fr/partners/","partners",{"config":884,"title":887,"text":888,"link":889},{"background":885,"textColor":886},"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":890,"config":891},"Lire les articles les plus récents",{"href":892,"dataGaName":893,"dataGaLocation":627},"/fr-fr/whats-new/","whats new",{"text":895,"config":896,"menu":898},"Société",{"dataNavLevelOne":897},"company",{"type":678,"columns":899},[900],{"items":901},[902,907,913,915,920,925,930,935,940,945],{"text":903,"config":904},"À propos",{"href":905,"dataGaName":906,"dataGaLocation":627},"/fr-fr/company/","about",{"text":908,"config":909,"footerGa":912},"Carrières",{"href":910,"dataGaName":911,"dataGaLocation":627},"/jobs/","jobs",{"dataGaName":911},{"text":874,"config":914},{"href":876,"dataGaName":877,"dataGaLocation":627},{"text":916,"config":917},"Leadership",{"href":918,"dataGaName":919,"dataGaLocation":627},"/company/team/e-group/","leadership",{"text":921,"config":922},"Manuel",{"href":923,"dataGaName":924,"dataGaLocation":627},"https://handbook.gitlab.com/","handbook",{"text":926,"config":927},"Relations avec les investisseurs",{"href":928,"dataGaName":929,"dataGaLocation":627},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":931,"config":932},"Trust Center",{"href":933,"dataGaName":934,"dataGaLocation":627},"/fr-fr/security/","trust center",{"text":936,"config":937},"Centre pour la transparence de l'IA",{"href":938,"dataGaName":939,"dataGaLocation":627},"/fr-fr/ai-transparency-center/","ai transparency center",{"text":941,"config":942},"Newsletter",{"href":943,"dataGaName":944,"dataGaLocation":627},"/company/contact/#contact-forms","newsletter",{"text":946,"config":947},"Presse",{"href":948,"dataGaName":949,"dataGaLocation":627},"/press/","press",{"text":951,"config":952,"menu":953},"Nous contacter",{"dataNavLevelOne":897},{"type":678,"columns":954},[955],{"items":956},[957,962,967],{"text":958,"config":959},"Contacter l'équipe commerciale",{"href":960,"dataGaName":961,"dataGaLocation":627},"/fr-fr/sales/","talk to sales",{"text":963,"config":964},"Assistance GitLab",{"href":965,"dataGaName":966,"dataGaLocation":627},"https://support.gitlab.com/hc/en-us","support portal",{"text":968,"config":969},"Portail clients GitLab",{"href":970,"dataGaName":971,"dataGaLocation":627},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":973,"login":974,"suggestions":981},"Fermer",{"text":975,"link":976},"Pour rechercher des dépôts et des projets, connectez-vous à",{"text":977,"config":978},"GitLab.com",{"href":641,"dataGaName":979,"dataGaLocation":980},"search login","search",{"text":982,"default":983},"Suggestions",[984,987,992,994,999,1004],{"text":658,"config":985},{"href":663,"dataGaName":986,"dataGaLocation":980},"GitLab Duo Agent Platform",{"text":988,"config":989},"Suggestions de code (IA)",{"href":990,"dataGaName":991,"dataGaLocation":980},"/fr-fr/solutions/code-suggestions/","Code Suggestions (AI)",{"text":694,"config":993},{"href":696,"dataGaName":694,"dataGaLocation":980},{"text":995,"config":996},"GitLab sur AWS",{"href":997,"dataGaName":998,"dataGaLocation":980},"/fr-fr/partners/technology-partners/aws/","GitLab on AWS",{"text":1000,"config":1001},"GitLab sur Google Cloud",{"href":1002,"dataGaName":1003,"dataGaLocation":980},"/fr-fr/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":1005,"config":1006},"Pourquoi utiliser GitLab ?",{"href":671,"dataGaName":1007,"dataGaLocation":980},"Why GitLab?",{"freeTrial":1009,"mobileIcon":1014,"desktopIcon":1019,"secondaryButton":1022},{"text":1010,"config":1011},"Commencer votre essai gratuit",{"href":1012,"dataGaName":632,"dataGaLocation":1013},"https://gitlab.com/-/trials/new/","nav",{"altText":1015,"config":1016},"Icône GitLab",{"src":1017,"dataGaName":1018,"dataGaLocation":1013},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":1015,"config":1020},{"src":1021,"dataGaName":1018,"dataGaLocation":1013},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":1023,"config":1024},"Commencer",{"href":1025,"dataGaName":1026,"dataGaLocation":1013},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr/get-started/","get started",{"freeTrial":1028,"mobileIcon":1032,"desktopIcon":1034},{"text":1029,"config":1030},"En savoir plus sur GitLab Duo",{"href":663,"dataGaName":1031,"dataGaLocation":1013},"gitlab duo",{"altText":1015,"config":1033},{"src":1017,"dataGaName":1018,"dataGaLocation":1013},{"altText":1015,"config":1035},{"src":1021,"dataGaName":1018,"dataGaLocation":1013},{"button":1037,"mobileIcon":1042,"desktopIcon":1044},{"text":1038,"config":1039},"/switch",{"href":1040,"dataGaName":1041,"dataGaLocation":1013},"#contact","switch",{"altText":1015,"config":1043},{"src":1017,"dataGaName":1018,"dataGaLocation":1013},{"altText":1015,"config":1045},{"src":1046,"dataGaName":1018,"dataGaLocation":1013},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":1048,"mobileIcon":1053,"desktopIcon":1055},{"text":1049,"config":1050},"Retour aux tarifs",{"href":778,"dataGaName":1051,"dataGaLocation":1013,"icon":1052},"back to pricing","GoBack",{"altText":1015,"config":1054},{"src":1017,"dataGaName":1018,"dataGaLocation":1013},{"altText":1015,"config":1056},{"src":1021,"dataGaName":1018,"dataGaLocation":1013},{"title":1058,"button":1059,"config":1063},"GitLab Orbit est arrivé : la couche de contexte pour les agents d'IA.",{"text":669,"config":1060},{"href":1061,"dataGaName":1062,"dataGaLocation":627},"/fr-fr/gitlab-orbit/","orbit",{"layout":1064,"disabled":609},"release",{"data":1066},{"text":1067,"source":1068,"edit":1074,"contribute":1079,"config":1083,"items":1088,"minimal":1295},"Git est une marque déposée de Software Freedom Conservancy et notre utilisation de « GitLab » est sous licence.",{"text":1069,"config":1070},"Afficher le code source de la page",{"href":1071,"dataGaName":1072,"dataGaLocation":1073},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":1075,"config":1076},"Modifier cette page",{"href":1077,"dataGaName":1078,"dataGaLocation":1073},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":859,"config":1080},{"href":1081,"dataGaName":1082,"dataGaLocation":1073},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":1084,"facebook":1085,"youtube":1086,"linkedin":1087},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[1089,1135,1187,1230,1262],{"title":776,"links":1090,"subMenu":1105},[1091,1095,1100],{"text":1092,"config":1093},"Voir les forfaits",{"href":778,"dataGaName":1094,"dataGaLocation":1073},"view plans",{"text":1096,"config":1097},"GitLab Premium",{"href":1098,"dataGaName":1099,"dataGaLocation":1073},"/fr-fr/pricing/premium/","why premium",{"text":1101,"config":1102},"GitLab Ultimate",{"href":1103,"dataGaName":1104,"dataGaLocation":1073},"/fr-fr/pricing/ultimate/","why ultimate",[1106],{"title":951,"links":1107},[1108,1110,1112,1115,1120,1125,1130],{"text":958,"config":1109},{"href":960,"dataGaName":637,"dataGaLocation":1073},{"text":963,"config":1111},{"href":965,"dataGaName":966,"dataGaLocation":1073},{"text":1113,"config":1114},"Portail clients",{"href":970,"dataGaName":971,"dataGaLocation":1073},{"text":1116,"config":1117},"Statut",{"href":1118,"dataGaName":1119,"dataGaLocation":1073},"https://status.gitlab.com/","status",{"text":1121,"config":1122},"Conditions d'utilisation",{"href":1123,"dataGaName":1124,"dataGaLocation":1073},"/terms/","terms of use",{"text":1126,"config":1127},"Politique de confidentialité",{"href":1128,"dataGaName":1129,"dataGaLocation":1073},"/fr-fr/privacy/","privacy statement",{"text":1131,"config":1132},"Gestion des cookies",{"dataGaName":1133,"dataGaLocation":1073,"id":1134,"isOneTrustButton":604},"cookie preferences","ot-sdk-btn",{"title":674,"links":1136,"subMenu":1145},[1137,1141],{"text":1138,"config":1139},"Plateforme DevSecOps",{"href":656,"dataGaName":1140,"dataGaLocation":1073},"devsecops platform",{"text":1142,"config":1143},"Développement assisté par l'IA",{"href":663,"dataGaName":1144,"dataGaLocation":1073},"ai-assisted development",[1146],{"title":1147,"links":1148},"Thèmes",[1149,1153,1158,1163,1168,1172,1177,1182],{"text":694,"config":1150},{"href":1151,"dataGaName":1152,"dataGaLocation":1073},"/fr-fr/topics/ci-cd/","cicd",{"text":1154,"config":1155},"GitOps",{"href":1156,"dataGaName":1157,"dataGaLocation":1073},"/fr-fr/topics/gitops/","gitops",{"text":1159,"config":1160},"DevOps",{"href":1161,"dataGaName":1162,"dataGaLocation":1073},"/fr-fr/topics/devops/","devops",{"text":1164,"config":1165},"Contrôle de version",{"href":1166,"dataGaName":1167,"dataGaLocation":1073},"/fr-fr/topics/version-control/","version control",{"text":616,"config":1169},{"href":1170,"dataGaName":1171,"dataGaLocation":1073},"/fr-fr/topics/devsecops/","devsecops",{"text":1173,"config":1174},"Cloud-native",{"href":1175,"dataGaName":1176,"dataGaLocation":1073},"/fr-fr/topics/cloud-native/","cloud native",{"text":1178,"config":1179},"IA pour la programmation",{"href":1180,"dataGaName":1181,"dataGaLocation":1073},"/fr-fr/topics/devops/ai-for-coding/","ai for coding",{"text":1183,"config":1184},"IA agentique",{"href":1185,"dataGaName":1186,"dataGaLocation":1073},"/fr-fr/topics/agentic-ai/","agentic ai",{"title":1188,"links":1189},"Solutions",[1190,1193,1195,1200,1203,1206,1209,1212,1214,1217,1220,1225],{"text":719,"config":1191},{"href":714,"dataGaName":1192,"dataGaLocation":1073},"Application Security Testing",{"text":706,"config":1194},{"href":690,"dataGaName":691,"dataGaLocation":1073},{"text":1196,"config":1197},"Développement Agile",{"href":1198,"dataGaName":1199,"dataGaLocation":1073},"/fr-fr/solutions/agile-delivery/","agile delivery",{"text":701,"config":1201},{"href":703,"dataGaName":1202,"dataGaLocation":1073},"source code management",{"text":694,"config":1204},{"href":696,"dataGaName":1205,"dataGaLocation":1073},"continuous integration & delivery",{"text":745,"config":1207},{"href":747,"dataGaName":1208,"dataGaLocation":1073},"value stream management",{"text":1154,"config":1210},{"href":1211,"dataGaName":1157,"dataGaLocation":1073},"/fr-fr/solutions/gitops/",{"text":758,"config":1213},{"href":761,"dataGaName":762,"dataGaLocation":1073},{"text":1215,"config":1216},"PME",{"href":767,"dataGaName":768,"dataGaLocation":1073},{"text":1218,"config":1219},"Secteur public",{"href":773,"dataGaName":774,"dataGaLocation":1073},{"text":1221,"config":1222},"Éducation",{"href":1223,"dataGaName":1224,"dataGaLocation":1073},"/fr-fr/solutions/education/","education",{"text":1226,"config":1227},"Services financiers",{"href":1228,"dataGaName":1229,"dataGaLocation":1073},"/fr-fr/solutions/finance/","financial services",{"title":781,"links":1231},[1232,1234,1236,1238,1241,1243,1246,1248,1250,1252,1254,1256,1258,1260],{"text":794,"config":1233},{"href":796,"dataGaName":797,"dataGaLocation":1073},{"text":799,"config":1235},{"href":801,"dataGaName":802,"dataGaLocation":1073},{"text":804,"config":1237},{"href":806,"dataGaName":807,"dataGaLocation":1073},{"text":809,"config":1239},{"href":811,"dataGaName":1240,"dataGaLocation":1073},"docs",{"text":832,"config":1242},{"href":834,"dataGaName":835,"dataGaLocation":1073},{"text":1244,"config":1245},"Nouveautés",{"href":892,"dataGaName":893,"dataGaLocation":1073},{"text":827,"config":1247},{"href":829,"dataGaName":830,"dataGaLocation":1073},{"text":846,"config":1249},{"href":848,"dataGaName":849,"dataGaLocation":1073},{"text":854,"config":1251},{"href":856,"dataGaName":857,"dataGaLocation":1073},{"text":859,"config":1253},{"href":861,"dataGaName":862,"dataGaLocation":1073},{"text":864,"config":1255},{"href":866,"dataGaName":867,"dataGaLocation":1073},{"text":869,"config":1257},{"href":871,"dataGaName":872,"dataGaLocation":1073},{"text":874,"config":1259},{"href":876,"dataGaName":877,"dataGaLocation":1073},{"text":879,"config":1261},{"href":881,"dataGaName":882,"dataGaLocation":1073},{"title":895,"links":1263},[1264,1266,1268,1270,1272,1274,1279,1284,1286,1288,1290],{"text":903,"config":1265},{"href":905,"dataGaName":897,"dataGaLocation":1073},{"text":908,"config":1267},{"href":910,"dataGaName":911,"dataGaLocation":1073},{"text":916,"config":1269},{"href":918,"dataGaName":919,"dataGaLocation":1073},{"text":921,"config":1271},{"href":923,"dataGaName":924,"dataGaLocation":1073},{"text":926,"config":1273},{"href":928,"dataGaName":929,"dataGaLocation":1073},{"text":1275,"config":1276},"Développement durable",{"href":1277,"dataGaName":1278,"dataGaLocation":1073},"/sustainability/","Sustainability",{"text":1280,"config":1281},"Diversité, inclusion et appartenance (DIB)",{"href":1282,"dataGaName":1283,"dataGaLocation":1073},"/fr-fr/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":931,"config":1285},{"href":933,"dataGaName":934,"dataGaLocation":1073},{"text":941,"config":1287},{"href":943,"dataGaName":944,"dataGaLocation":1073},{"text":946,"config":1289},{"href":948,"dataGaName":949,"dataGaLocation":1073},{"text":1291,"config":1292},"Déclaration de transparence sur l'esclavage moderne",{"href":1293,"dataGaName":1294,"dataGaLocation":1073},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1296},[1297,1299,1301],{"text":1121,"config":1298},{"href":1123,"dataGaName":1124,"dataGaLocation":1073},{"text":1131,"config":1300},{"dataGaName":1133,"dataGaLocation":1073,"id":1134,"isOneTrustButton":604},{"text":1126,"config":1302},{"href":1128,"dataGaName":1129,"dataGaLocation":1073},[1304],{"id":1305,"title":7,"body":603,"config":1306,"content":1308,"description":603,"extension":1312,"meta":1313,"navigation":604,"path":1314,"seo":1315,"stem":1316,"__hash__":1317},"blogAuthors/en-us/blog/authors/tim-rizzi.yml",{"template":1307},"BlogAuthor",{"name":7,"config":1309},{"headshot":1310,"ctfId":1311},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749661866/Blog/Author%20Headshots/trizzi-headshot.jpg","trizzi","yml",{},"/en-us/blog/authors/tim-rizzi",{},"en-us/blog/authors/tim-rizzi","ADPqrpcnKveFJS0m_zFV0VLtb_h_txu59QVgz_YwKMc",[1319,1328,1336],{"title":1320,"description":1321,"heroImage":1322,"category":599,"date":1323,"authors":1324,"slug":1327,"externalUrl":603},"Maîtrisez vos sièges GitLab avec l'accès restreint","Découvrez comment la fonctionnalité d'accès restreint de GitLab permet d'éviter les dépassements de sièges, s'intègre à votre fournisseur d'identité et garantit des coûts de licence prévisibles.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1774375772/kpaaaiqhokevxxeoxvu0.png","2026-07-15",[1325,1326],"Magdalena Frankiewicz","Priyanka Palanikumar","gitlab-restricted-access-improvements",{"title":1329,"description":1330,"heroImage":1331,"category":599,"date":1332,"authors":1333,"slug":1335,"externalUrl":603},"Feature flags de GitLab en Python : guide de démarrage","Découvrez comment intégrer les feature flags de GitLab dans une application Flask en Python avec le SDK Unleash pour contrôler le déploiement progressif de fonctionnalités sans redéployer votre application.","https://res.cloudinary.com/about-gitlab-com/image/upload/f_auto,q_auto,c_lfill/v1774465167/n5hlvrsrheadeccyr1oz.png","2026-06-01",[1334],"Omid Khan","getting-started-with-gitlab-feature-flags-in-python",{"title":1337,"description":1338,"heroImage":1339,"category":599,"date":1340,"authors":1341,"slug":1343,"externalUrl":603},"Suivez l'utilisation des composants CI dans votre organisation","Avec GitLab 19.0, visualisez comment vos composants CI partagés sont utilisés dans votre organisation, afin de pouvoir prendre les mesures qui s'imposent en fonction de vos observations.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1779189265/iqzyhhiwagxzwywvjzow.png","2026-05-22",[1342],"Corinne Dent","track-ci-component-usage",{"promotions":1345},[1346,1360,1371,1383],{"id":1347,"categories":1348,"header":1350,"text":1351,"button":1352,"image":1357},"ai-modernization",[1349],"ai","L'IA tient-elle ses promesses à grande échelle ?","Le questionnaire ne prendra pas plus de 5 minutes.",{"text":1353,"config":1354},"Obtenez votre score de maturité IA",{"href":1355,"dataGaName":1356,"dataGaLocation":835},"/fr-fr/assessments/ai-modernization-assessment/","modernization assessment",{"config":1358},{"src":1359},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":1361,"categories":1362,"header":1363,"text":1351,"button":1364,"image":1368},"devops-modernization",[599,1171],"Vous contentez-vous de gérer des outils ou de livrer des innovations ?",{"text":1365,"config":1366},"Obtenez votre score de maturité DevOps",{"href":1367,"dataGaName":1356,"dataGaLocation":835},"/fr-fr/assessments/devops-modernization-assessment/",{"config":1369},{"src":1370},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1372,"categories":1373,"header":1375,"text":1351,"button":1376,"image":1380},"security-modernization",[1374],"security","Faut-il sacrifier la rapidité pour garantir la sécurité ?",{"text":1377,"config":1378},"Obtenez votre score de maturité en matière de sécurité",{"href":1379,"dataGaName":1356,"dataGaLocation":835},"/fr-fr/assessments/security-modernization-assessment/",{"config":1381},{"src":1382},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1384,"paths":1385,"header":1388,"text":1389,"button":1390,"image":1395},"github-azure-migration",[1386,1387],"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":1391,"config":1392},"Découvrez les différences entre GitLab et GitHub",{"href":1393,"dataGaName":1394,"dataGaLocation":835},"/fr-fr/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1396},{"src":1370},{"header":1398,"blurb":1399,"button":1400,"secondaryButton":1404},"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":629,"config":1401},{"href":1402,"dataGaName":632,"dataGaLocation":1403},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/fr-fr/","feature",{"text":958,"config":1405},{"href":960,"dataGaName":637,"dataGaLocation":1403},1786803747281]