[{"data":1,"prerenderedAt":707},["ShallowReactive",2],{"/fr-fr/blog/structuring-the-gitlab-package-registry-for-enterprise-scale/":3,"navigation-fr-fr":38,"banner-fr-fr":457,"footer-fr-fr":470,"Tim Rizzi":679,"next-steps-fr-fr":692},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"seo":8,"content":16,"config":27,"_id":31,"_type":32,"title":33,"_source":34,"_file":35,"_stem":36,"_extension":37},"/fr-fr/blog/structuring-the-gitlab-package-registry-for-enterprise-scale","blog",false,"",{"title":9,"description":10,"ogTitle":9,"ogDescription":10,"noIndex":6,"ogImage":11,"ogUrl":12,"ogSiteName":13,"ogType":14,"canonicalUrls":12,"schema":15},"Comment structurer le registre de paquets de GitLab à l'échelle de l'entreprise","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.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662332/Blog/Hero%20Images/blog-image-template-1800x945__23_.png","https://about.gitlab.com/blog/structuring-the-gitlab-package-registry-for-enterprise-scale","https://about.gitlab.com","article","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Comment structurer le registre de paquets de GitLab à l'échelle de l'entreprise\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Tim Rizzi\"}],\n        \"datePublished\": \"2025-02-19\",\n      }",{"title":9,"description":10,"authors":17,"heroImage":11,"date":19,"body":20,"category":21,"tags":22,"updatedDate":26},[18],"Tim Rizzi","2025-02-19","À 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. \n\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.\n\n## Comprendre le modèle de registre de paquets de GitLab\n\nSi 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 :\n\n- Vos équipes publient leurs paquets dans les projets spécifiques où réside le code source.\n- Vos équipes utilisent les paquets provenant des registres de groupe racine, qui regroupent tous les paquets des sous-projets.\n- Le contrôle d'accès hérite des autorisations que vous avez définies dans GitLab actuellement.\n\nCe modèle offre plusieurs avantages :\n\n- Une propriété claire des paquets, étroitement liée à leur code source.\n- Un contrôle d'accès granulaire, sans configuration supplémentaire.\n- Une intégration fluide et simplifiée aux pipelines CI/CD.\n- Un alignement naturel sur la structure des équipes.\n- Une URL unique permettant d'accéder à tous les paquets de l'entreprise via le groupe racine.\n\n ### La puissance du registre de paquets au niveau du groupe racine\n\nBien 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 :\n\n- **Point d'accès unique :** une seule URL permet d'accéder à l'ensemble des paquets privés de votre entreprise.\n- **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.\n- **Configuration simplifiée :** tous les développeurs peuvent utiliser la même configuration pour accéder aux paquets.\n- **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.\n- **Organisation hiérarchique :** elle reflète naturellement la structure de votre entreprise tout en garantissant un accès unifié.\n\n## Exemple concret : structure d'entreprise\n\nVoyons comment cela fonctionne dans la pratique avec une grande entreprise :\n\n```\ncompany/ (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```\n\n### Configuration de la publication\n\nLes équipes publient leurs paquets dans les registres de leurs projets respectifs, assurant ainsi une propriété claire et bien définie :\n\n1. Exemple de paquets Maven\n\n```xml\n\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```\n\n2. Exemple de paquets npm\n\n```json\n// 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```\n\n### Configuration d'utilisation des paquets\n\nC’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 :\n\n1. Exemple de paquets Maven\n\n```xml\n\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```\n\n2. Exemple de paquets npm\n\n```\n# Any project's .npmrc\n@company:registry=https://gitlab.example.com/api/v4/groups/company/-/packages/npm/\n```\n\nCette 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.\n\n## Authentification et contrôle d'accès\n\nLe modèle de GitLab simplifie l'authentification grâce aux tokens de déploiement et à l'intégration avec les [pipelines CI/CD](https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/ \"Qu'est-ce qu'un pipeline CI/CD ? \").\n\n### Pour les pipelines CI/CD\n\nGitLab gère automatiquement l'authentification au sein des pipelines à l'aide du token `CI_JOB_TOKEN` :\n\n```yaml\n# .gitlab-ci.yml\npublish:\n  script:\n    - mvn deploy  # or npm publish\n  # CI_JOB_TOKEN provides automatic authentication\n```\n\n### Pour le développement\n\nUtilisez des tokens de déploiement définis au niveau du groupe pour accéder aux paquets, en suivant les étapes suivantes :\n\n- Créez des tokens de déploiement en lecture seule au niveau du groupe racine.\n- Effectuez régulièrement une rotation des tokens pour renforcer la sécurité. \n- Partagez une configuration unique entre tous les développeurs. \n\n## Les avantages du registre de paquets au niveau du groupe racine\n\n1. Configuration simplifiée\n   - Une seule URL pour accéder à tous les paquets.\n   - Une configuration cohérente entre toutes les équipes.\n   - Une rotation facile des tokens.\n2. Propriété claire\n   - Les paquets restent associés à leur code source.\n   - Les équipes conservent la maîtrise des publications.\n   - L'historique des versions est lié à l'activité du projet.\n3. Organisation naturelle\n   - Elle reflète fidèlement la structure de votre entreprise.\n   - Elle maintient l'autonomie de vos équipes.\n   - Elle facilite la collaboration transversale.\n\n## Étapes à suivre\n\n1. Configurez votre groupe racine\n   - Créez une structure de groupe claire.\n   - Configurez les contrôles d'accès appropriés.\n   - Créez des tokens de déploiement de groupe.\n2. Configurez les projets d'équipe\n   - Configurez la publication au niveau du projet.\n   - Intégrez les pipelines CI/CD.\n   - Documentez les conventions de nommage des paquets.\n3. Normalisez l'utilisation des paquets\n   - Configurez l'accès au registre du groupe racine.\n   - Partagez les tokens de déploiement en toute sécurité.\n   - Documentez le processus d'identification des paquets.\n\n## Résumé\n\nLe 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.\n\nCommencez 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.\n\n> Lancez-vous avec les registres de paquets dès aujourd'hui ! Inscrivez-vous à un [essai gratuit de 60 jours de GitLab Ultimate](https://about.gitlab.com/fr-fr/free-trial/).\n","product",[23,24,25],"DevSecOps","tutorial","solutions architecture","2025-04-30",{"slug":28,"featured":29,"template":30},"structuring-the-gitlab-package-registry-for-enterprise-scale",true,"BlogPost","content:fr-fr:blog:structuring-the-gitlab-package-registry-for-enterprise-scale.yml","yaml","Structuring The Gitlab Package Registry For Enterprise Scale","content","fr-fr/blog/structuring-the-gitlab-package-registry-for-enterprise-scale.yml","fr-fr/blog/structuring-the-gitlab-package-registry-for-enterprise-scale","yml",{"_path":39,"_dir":40,"_draft":6,"_partial":6,"_locale":7,"data":41,"_id":453,"_type":32,"title":454,"_source":34,"_file":455,"_stem":456,"_extension":37},"/shared/fr-fr/main-navigation","fr-fr",{"logo":42,"freeTrial":47,"sales":52,"login":57,"items":62,"search":394,"minimal":430,"duo":444},{"config":43},{"href":44,"dataGaName":45,"dataGaLocation":46},"/fr-fr/","gitlab logo","header",{"text":48,"config":49},"Commencer un essai gratuit",{"href":50,"dataGaName":51,"dataGaLocation":46},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":53,"config":54},"Contacter l'équipe commerciale",{"href":55,"dataGaName":56,"dataGaLocation":46},"/fr-fr/sales/","sales",{"text":58,"config":59},"Connexion",{"href":60,"dataGaName":61,"dataGaLocation":46},"https://gitlab.com/users/sign_in/","sign in",[63,107,205,210,315,375],{"text":64,"config":65,"cards":67,"footer":90},"Plateforme",{"dataNavLevelOne":66},"platform",[68,74,82],{"title":64,"description":69,"link":70},"La plateforme DevSecOps alimentée par l'IA la plus complète",{"text":71,"config":72},"Découvrir notre plateforme",{"href":73,"dataGaName":66,"dataGaLocation":46},"/fr-fr/platform/",{"title":75,"description":76,"link":77},"GitLab Duo (IA)","Créez des logiciels plus rapidement en tirant parti de l'IA à chaque étape du développement",{"text":78,"config":79},"Découvrez GitLab Duo",{"href":80,"dataGaName":81,"dataGaLocation":46},"/fr-fr/gitlab-duo/","gitlab duo ai",{"title":83,"description":84,"link":85},"Choisir GitLab","10 raisons pour lesquelles les entreprises choisissent GitLab",{"text":86,"config":87},"En savoir plus",{"href":88,"dataGaName":89,"dataGaLocation":46},"/fr-fr/why-gitlab/","why gitlab",{"title":91,"items":92},"Démarrer avec",[93,98,103],{"text":94,"config":95},"Ingénierie de plateforme",{"href":96,"dataGaName":97,"dataGaLocation":46},"/fr-fr/solutions/platform-engineering/","platform engineering",{"text":99,"config":100},"Expérience développeur",{"href":101,"dataGaName":102,"dataGaLocation":46},"/fr-fr/developer-experience/","Developer experience",{"text":104,"config":105},"MLOps",{"href":106,"dataGaName":104,"dataGaLocation":46},"/fr-fr/topics/devops/the-role-of-ai-in-devops/",{"text":108,"left":29,"config":109,"link":111,"lists":115,"footer":187},"Produit",{"dataNavLevelOne":110},"solutions",{"text":112,"config":113},"Voir toutes les solutions",{"href":114,"dataGaName":110,"dataGaLocation":46},"/fr-fr/solutions/",[116,142,165],{"title":117,"description":118,"link":119,"items":124},"Automatisation","CI/CD et automatisation pour accélérer le déploiement",{"config":120},{"icon":121,"href":122,"dataGaName":123,"dataGaLocation":46},"AutomatedCodeAlt","/fr-fr/solutions/delivery-automation/","automated software delivery",[125,129,133,138],{"text":126,"config":127},"CI/CD",{"href":128,"dataGaLocation":46,"dataGaName":126},"/fr-fr/solutions/continuous-integration/",{"text":130,"config":131},"Développement assisté par l'IA",{"href":80,"dataGaLocation":46,"dataGaName":132},"AI assisted development",{"text":134,"config":135},"Gestion du code source",{"href":136,"dataGaLocation":46,"dataGaName":137},"/fr-fr/solutions/source-code-management/","Source Code Management",{"text":139,"config":140},"Livraison de logiciels automatisée",{"href":122,"dataGaLocation":46,"dataGaName":141},"Automated software delivery",{"title":143,"description":144,"link":145,"items":150},"Securité","Livrez du code plus rapidement sans compromettre la sécurité",{"config":146},{"href":147,"dataGaName":148,"dataGaLocation":46,"icon":149},"/fr-fr/solutions/security-compliance/","security and compliance","ShieldCheckLight",[151,155,160],{"text":152,"config":153},"Sécurité et conformité",{"href":147,"dataGaLocation":46,"dataGaName":154},"Security & Compliance",{"text":156,"config":157},"Sécurité de la chaîne d'approvisionnement logicielle",{"href":158,"dataGaLocation":46,"dataGaName":159},"/fr-fr/solutions/supply-chain/","Software supply chain security",{"text":161,"config":162},"Conformité et gouvernance",{"href":163,"dataGaLocation":46,"dataGaName":164},"/fr-fr/solutions/continuous-software-compliance/","Compliance and governance",{"title":166,"link":167,"items":172},"Mesures",{"config":168},{"icon":169,"href":170,"dataGaName":171,"dataGaLocation":46},"DigitalTransformation","/fr-fr/solutions/visibility-measurement/","visibility and measurement",[173,177,182],{"text":174,"config":175},"Visibilité et mesures",{"href":170,"dataGaLocation":46,"dataGaName":176},"Visibility and Measurement",{"text":178,"config":179},"Gestion de la chaîne de valeur",{"href":180,"dataGaLocation":46,"dataGaName":181},"/fr-fr/solutions/value-stream-management/","Value Stream Management",{"text":183,"config":184},"Données d'analyse et informations clés",{"href":185,"dataGaLocation":46,"dataGaName":186},"/fr-fr/solutions/analytics-and-insights/","Analytics and insights",{"title":188,"items":189},"GitLab pour",[190,195,200],{"text":191,"config":192},"Entreprises",{"href":193,"dataGaLocation":46,"dataGaName":194},"/fr-fr/enterprise/","enterprise",{"text":196,"config":197},"PME",{"href":198,"dataGaLocation":46,"dataGaName":199},"/fr-fr/small-business/","small business",{"text":201,"config":202},"Secteur public",{"href":203,"dataGaLocation":46,"dataGaName":204},"/fr-fr/solutions/public-sector/","public sector",{"text":206,"config":207},"Tarifs",{"href":208,"dataGaName":209,"dataGaLocation":46,"dataNavLevelOne":209},"/fr-fr/pricing/","pricing",{"text":211,"config":212,"link":214,"lists":218,"feature":302},"Ressources",{"dataNavLevelOne":213},"resources",{"text":215,"config":216},"Afficher toutes les ressources",{"href":217,"dataGaName":213,"dataGaLocation":46},"/fr-fr/resources/",[219,252,274],{"title":220,"items":221},"Premiers pas",[222,227,232,237,242,247],{"text":223,"config":224},"Installation",{"href":225,"dataGaName":226,"dataGaLocation":46},"/fr-fr/install/","install",{"text":228,"config":229},"Guides de démarrage rapide",{"href":230,"dataGaName":231,"dataGaLocation":46},"/fr-fr/get-started/","quick setup checklists",{"text":233,"config":234},"Apprentissage",{"href":235,"dataGaLocation":46,"dataGaName":236},"https://university.gitlab.com/","learn",{"text":238,"config":239},"Documentation sur le produit",{"href":240,"dataGaName":241,"dataGaLocation":46},"https://docs.gitlab.com/","product documentation",{"text":243,"config":244},"Vidéos sur les bonnes pratiques",{"href":245,"dataGaName":246,"dataGaLocation":46},"/fr-fr/getting-started-videos/","best practice videos",{"text":248,"config":249},"Intégrations",{"href":250,"dataGaName":251,"dataGaLocation":46},"/fr-fr/integrations/","integrations",{"title":253,"items":254},"Découvrir",[255,260,264,269],{"text":256,"config":257},"Histoires de succès client",{"href":258,"dataGaName":259,"dataGaLocation":46},"/customers/","customer success stories",{"text":261,"config":262},"Blog",{"href":263,"dataGaName":5,"dataGaLocation":46},"/fr-fr/blog/",{"text":265,"config":266},"Travail à distance",{"href":267,"dataGaName":268,"dataGaLocation":46},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"text":270,"config":271},"TeamOps",{"href":272,"dataGaName":273,"dataGaLocation":46},"/fr-fr/teamops/","teamops",{"title":275,"items":276},"Connecter",[277,282,287,292,297],{"text":278,"config":279},"Services GitLab",{"href":280,"dataGaName":281,"dataGaLocation":46},"/fr-fr/services/","services",{"text":283,"config":284},"Communauté",{"href":285,"dataGaName":286,"dataGaLocation":46},"/community/","community",{"text":288,"config":289},"Forum",{"href":290,"dataGaName":291,"dataGaLocation":46},"https://forum.gitlab.com/","forum",{"text":293,"config":294},"Événements",{"href":295,"dataGaName":296,"dataGaLocation":46},"/events/","events",{"text":298,"config":299},"Partenaires",{"href":300,"dataGaName":301,"dataGaLocation":46},"/fr-fr/partners/","partners",{"backgroundColor":303,"textColor":304,"text":305,"image":306,"link":310},"#2f2a6b","#fff","L'avenir du développement logiciel. Tendances et perspectives.",{"altText":307,"config":308},"carte promo The Source",{"src":309},"/images/navigation/the-source-promo-card.svg",{"text":311,"config":312},"Lire les articles les plus récents",{"href":313,"dataGaName":314,"dataGaLocation":46},"/fr-fr/the-source/","the source",{"text":316,"config":317,"lists":319},"Société",{"dataNavLevelOne":318},"company",[320],{"items":321},[322,327,333,335,340,345,350,355,360,365,370],{"text":323,"config":324},"À propos",{"href":325,"dataGaName":326,"dataGaLocation":46},"/fr-fr/company/","about",{"text":328,"config":329,"footerGa":332},"Emplois",{"href":330,"dataGaName":331,"dataGaLocation":46},"/jobs/","jobs",{"dataGaName":331},{"text":293,"config":334},{"href":295,"dataGaName":296,"dataGaLocation":46},{"text":336,"config":337},"Leadership",{"href":338,"dataGaName":339,"dataGaLocation":46},"/company/team/e-group/","leadership",{"text":341,"config":342},"Équipe",{"href":343,"dataGaName":344,"dataGaLocation":46},"/company/team/","team",{"text":346,"config":347},"Manuel",{"href":348,"dataGaName":349,"dataGaLocation":46},"https://handbook.gitlab.com/","handbook",{"text":351,"config":352},"Relations avec les investisseurs",{"href":353,"dataGaName":354,"dataGaLocation":46},"https://ir.gitlab.com/","investor relations",{"text":356,"config":357},"Centre de confiance",{"href":358,"dataGaName":359,"dataGaLocation":46},"/fr-fr/security/","trust center",{"text":361,"config":362},"Centre pour la transparence de l'IA",{"href":363,"dataGaName":364,"dataGaLocation":46},"/fr-fr/ai-transparency-center/","ai transparency center",{"text":366,"config":367},"Newsletter",{"href":368,"dataGaName":369,"dataGaLocation":46},"/company/contact/","newsletter",{"text":371,"config":372},"Presse",{"href":373,"dataGaName":374,"dataGaLocation":46},"/press/","press",{"text":376,"config":377,"lists":378},"Nous contacter",{"dataNavLevelOne":318},[379],{"items":380},[381,384,389],{"text":53,"config":382},{"href":55,"dataGaName":383,"dataGaLocation":46},"talk to sales",{"text":385,"config":386},"Aide",{"href":387,"dataGaName":388,"dataGaLocation":46},"/support/","get help",{"text":390,"config":391},"Portail clients GitLab",{"href":392,"dataGaName":393,"dataGaLocation":46},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":395,"login":396,"suggestions":403},"Fermer",{"text":397,"link":398},"Pour rechercher des dépôts et des projets, connectez-vous à",{"text":399,"config":400},"gitlab.com",{"href":60,"dataGaName":401,"dataGaLocation":402},"search login","search",{"text":404,"default":405},"Suggestions",[406,409,414,416,421,426],{"text":75,"config":407},{"href":80,"dataGaName":408,"dataGaLocation":402},"GitLab Duo (AI)",{"text":410,"config":411},"Suggestions de code (IA)",{"href":412,"dataGaName":413,"dataGaLocation":402},"/fr-fr/solutions/code-suggestions/","Code Suggestions (AI)",{"text":126,"config":415},{"href":128,"dataGaName":126,"dataGaLocation":402},{"text":417,"config":418},"GitLab sur AWS",{"href":419,"dataGaName":420,"dataGaLocation":402},"/fr-fr/partners/technology-partners/aws/","GitLab on AWS",{"text":422,"config":423},"GitLab sur Google Cloud ",{"href":424,"dataGaName":425,"dataGaLocation":402},"/fr-fr/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":427,"config":428},"Pourquoi utiliser GitLab ?",{"href":88,"dataGaName":429,"dataGaLocation":402},"Why GitLab?",{"freeTrial":431,"mobileIcon":436,"desktopIcon":441},{"text":432,"config":433},"Commencer votre essai gratuit",{"href":434,"dataGaName":51,"dataGaLocation":435},"https://gitlab.com/-/trials/new/","nav",{"altText":437,"config":438},"Icône GitLab",{"src":439,"dataGaName":440,"dataGaLocation":435},"/images/brand/gitlab-logo-tanuki.svg","gitlab icon",{"altText":437,"config":442},{"src":443,"dataGaName":440,"dataGaLocation":435},"/images/brand/gitlab-logo-type.svg",{"freeTrial":445,"mobileIcon":449,"desktopIcon":451},{"text":446,"config":447},"En savoir plus sur GitLab Duo",{"href":80,"dataGaName":448,"dataGaLocation":435},"gitlab duo",{"altText":437,"config":450},{"src":439,"dataGaName":440,"dataGaLocation":435},{"altText":437,"config":452},{"src":443,"dataGaName":440,"dataGaLocation":435},"content:shared:fr-fr:main-navigation.yml","Main Navigation","shared/fr-fr/main-navigation.yml","shared/fr-fr/main-navigation",{"_path":458,"_dir":40,"_draft":6,"_partial":6,"_locale":7,"title":459,"titleMobile":459,"button":460,"config":465,"_id":467,"_type":32,"_source":34,"_file":468,"_stem":469,"_extension":37},"/shared/fr-fr/banner","GitLab 18 et la prochaine étape du DevSecOps intelligent. Rejoignez-nous le 24 juin.",{"text":461,"config":462},"S'inscrire",{"href":463,"dataGaName":464,"dataGaLocation":46},"/fr-fr/eighteen/","gitlab 18 banner",{"layout":466},"release","content:shared:fr-fr:banner.yml","shared/fr-fr/banner.yml","shared/fr-fr/banner",{"_path":471,"_dir":40,"_draft":6,"_partial":6,"_locale":7,"data":472,"_id":675,"_type":32,"title":676,"_source":34,"_file":677,"_stem":678,"_extension":37},"/shared/fr-fr/main-footer",{"text":473,"source":474,"edit":480,"contribute":485,"config":490,"items":495,"minimal":667},"Git est une marque déposée de Software Freedom Conservancy et notre utilisation de « GitLab » est sous licence",{"text":475,"config":476},"Afficher le code source de la page",{"href":477,"dataGaName":478,"dataGaLocation":479},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":481,"config":482},"Modifier cette page",{"href":483,"dataGaName":484,"dataGaLocation":479},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":486,"config":487},"Veuillez contribuer",{"href":488,"dataGaName":489,"dataGaLocation":479},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":491,"facebook":492,"youtube":493,"linkedin":494},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[496,519,573,602,637],{"title":64,"links":497,"subMenu":502},[498],{"text":499,"config":500},"Plateforme DevSecOps",{"href":73,"dataGaName":501,"dataGaLocation":479},"devsecops platform",[503],{"title":206,"links":504},[505,509,514],{"text":506,"config":507},"Voir les forfaits",{"href":208,"dataGaName":508,"dataGaLocation":479},"view plans",{"text":510,"config":511},"Pourquoi choisir GitLab Premium ?",{"href":512,"dataGaName":513,"dataGaLocation":479},"/fr-fr/pricing/premium/","why premium",{"text":515,"config":516},"Pourquoi choisir GitLab Ultimate ?",{"href":517,"dataGaName":518,"dataGaLocation":479},"/fr-fr/pricing/ultimate/","why ultimate",{"title":520,"links":521},"Solutions",[522,527,530,532,537,542,546,549,552,557,559,561,563,568],{"text":523,"config":524},"Transformation digitale",{"href":525,"dataGaName":526,"dataGaLocation":479},"/fr-fr/solutions/digital-transformation/","digital transformation",{"text":152,"config":528},{"href":147,"dataGaName":529,"dataGaLocation":479},"security & compliance",{"text":139,"config":531},{"href":122,"dataGaName":123,"dataGaLocation":479},{"text":533,"config":534},"Développement agile",{"href":535,"dataGaName":536,"dataGaLocation":479},"/fr-fr/solutions/agile-delivery/","agile delivery",{"text":538,"config":539},"Transformation cloud",{"href":540,"dataGaName":541,"dataGaLocation":479},"/fr-fr/solutions/cloud-native/","cloud transformation",{"text":543,"config":544},"SCM",{"href":136,"dataGaName":545,"dataGaLocation":479},"source code management",{"text":126,"config":547},{"href":128,"dataGaName":548,"dataGaLocation":479},"continuous integration & delivery",{"text":178,"config":550},{"href":180,"dataGaName":551,"dataGaLocation":479},"value stream management",{"text":553,"config":554},"GitOps",{"href":555,"dataGaName":556,"dataGaLocation":479},"/solutions/gitops/","gitops",{"text":191,"config":558},{"href":193,"dataGaName":194,"dataGaLocation":479},{"text":196,"config":560},{"href":198,"dataGaName":199,"dataGaLocation":479},{"text":201,"config":562},{"href":203,"dataGaName":204,"dataGaLocation":479},{"text":564,"config":565},"Formation",{"href":566,"dataGaName":567,"dataGaLocation":479},"/fr-fr/solutions/education/","education",{"text":569,"config":570},"Services financiers",{"href":571,"dataGaName":572,"dataGaLocation":479},"/fr-fr/solutions/finance/","financial services",{"title":211,"links":574},[575,577,579,581,584,586,588,590,592,594,596,598,600],{"text":223,"config":576},{"href":225,"dataGaName":226,"dataGaLocation":479},{"text":228,"config":578},{"href":230,"dataGaName":231,"dataGaLocation":479},{"text":233,"config":580},{"href":235,"dataGaName":236,"dataGaLocation":479},{"text":238,"config":582},{"href":240,"dataGaName":583,"dataGaLocation":479},"docs",{"text":261,"config":585},{"href":263,"dataGaName":5,"dataGaLocation":479},{"text":256,"config":587},{"href":258,"dataGaName":259,"dataGaLocation":479},{"text":265,"config":589},{"href":267,"dataGaName":268,"dataGaLocation":479},{"text":278,"config":591},{"href":280,"dataGaName":281,"dataGaLocation":479},{"text":270,"config":593},{"href":272,"dataGaName":273,"dataGaLocation":479},{"text":283,"config":595},{"href":285,"dataGaName":286,"dataGaLocation":479},{"text":288,"config":597},{"href":290,"dataGaName":291,"dataGaLocation":479},{"text":293,"config":599},{"href":295,"dataGaName":296,"dataGaLocation":479},{"text":298,"config":601},{"href":300,"dataGaName":301,"dataGaLocation":479},{"title":316,"links":603},[604,606,608,610,612,614,616,621,626,628,630,632],{"text":323,"config":605},{"href":325,"dataGaName":318,"dataGaLocation":479},{"text":328,"config":607},{"href":330,"dataGaName":331,"dataGaLocation":479},{"text":336,"config":609},{"href":338,"dataGaName":339,"dataGaLocation":479},{"text":341,"config":611},{"href":343,"dataGaName":344,"dataGaLocation":479},{"text":346,"config":613},{"href":348,"dataGaName":349,"dataGaLocation":479},{"text":351,"config":615},{"href":353,"dataGaName":354,"dataGaLocation":479},{"text":617,"config":618},"Stratégie environnementale, sociale et de gouvernance (ESG)",{"href":619,"dataGaName":620,"dataGaLocation":479},"/fr-fr/environmental-social-governance/","environmental, social and governance",{"text":622,"config":623},"Diversité, inclusion et appartenance (DIB)",{"href":624,"dataGaName":625,"dataGaLocation":479},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":356,"config":627},{"href":358,"dataGaName":359,"dataGaLocation":479},{"text":366,"config":629},{"href":368,"dataGaName":369,"dataGaLocation":479},{"text":371,"config":631},{"href":373,"dataGaName":374,"dataGaLocation":479},{"text":633,"config":634},"Déclaration de transparence sur l'esclavage moderne",{"href":635,"dataGaName":636,"dataGaLocation":479},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":376,"links":638},[639,643,645,647,652,657,662],{"text":640,"config":641},"Échanger avec un expert",{"href":642,"dataGaName":56,"dataGaLocation":479},"/sales/",{"text":385,"config":644},{"href":387,"dataGaName":388,"dataGaLocation":479},{"text":390,"config":646},{"href":392,"dataGaName":393,"dataGaLocation":479},{"text":648,"config":649},"Statut",{"href":650,"dataGaName":651,"dataGaLocation":479},"https://status.gitlab.com/","status",{"text":653,"config":654},"Conditions d'utilisation",{"href":655,"dataGaName":656,"dataGaLocation":479},"/terms/","terms of use",{"text":658,"config":659},"Politique de confidentialité",{"href":660,"dataGaName":661,"dataGaLocation":479},"/privacy/","privacy statement",{"text":663,"config":664},"Préférences en matière de cookies",{"dataGaName":665,"dataGaLocation":479,"id":666,"isOneTrustButton":29},"cookie preferences","ot-sdk-btn",{"items":668},[669,671,673],{"text":653,"config":670},{"href":655,"dataGaName":656,"dataGaLocation":479},{"text":658,"config":672},{"href":660,"dataGaName":661,"dataGaLocation":479},{"text":663,"config":674},{"dataGaName":665,"dataGaLocation":479,"id":666,"isOneTrustButton":29},"content:shared:fr-fr:main-footer.yml","Main Footer","shared/fr-fr/main-footer.yml","shared/fr-fr/main-footer",[680],{"_path":681,"_dir":682,"_draft":6,"_partial":6,"_locale":7,"content":683,"config":687,"_id":689,"_type":32,"title":18,"_source":34,"_file":690,"_stem":691,"_extension":37},"/en-us/blog/authors/tim-rizzi","authors",{"name":18,"config":684},{"headshot":685,"ctfId":686},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749661866/Blog/Author%20Headshots/trizzi-headshot.jpg","trizzi",{"template":688},"BlogAuthor","content:en-us:blog:authors:tim-rizzi.yml","en-us/blog/authors/tim-rizzi.yml","en-us/blog/authors/tim-rizzi",{"_path":693,"_dir":40,"_draft":6,"_partial":6,"_locale":7,"header":694,"eyebrow":695,"blurb":696,"button":697,"secondaryButton":701,"_id":703,"_type":32,"title":704,"_source":34,"_file":705,"_stem":706,"_extension":37},"/shared/fr-fr/next-steps","Commencez à livrer des logiciels de meilleurs qualité plus rapidement","Plus de 50 % des entreprises du classement Fortune 100 font confiance à GitLab","Découvrez comment la plateforme DevSecOps intelligente\n\n\npeut aider votre équipe.\n",{"text":48,"config":698},{"href":699,"dataGaName":51,"dataGaLocation":700},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":53,"config":702},{"href":55,"dataGaName":56,"dataGaLocation":700},"content:shared:fr-fr:next-steps.yml","Next Steps","shared/fr-fr/next-steps.yml","shared/fr-fr/next-steps",1751484623207]