[{"data":1,"prerenderedAt":1052},["ShallowReactive",2],{"/fr-fr/blog/secrets-manager-in-public-beta":3,"navigation-fr-fr":268,"banner-fr-fr":691,"footer-fr-fr":700,"blog-post-authors-fr-fr-Joe Randazzo|Mark Settle":941,"blog-related-posts-fr-fr-secrets-manager-in-public-beta":968,"blog-promotions-fr-fr":991,"next-steps-fr-fr":1043},{"id":4,"title":5,"authors":6,"body":9,"category":249,"date":250,"description":251,"extension":252,"externalUrl":253,"featured":254,"heroImage":255,"meta":256,"navigation":257,"path":258,"seo":259,"slug":261,"stem":262,"tags":263,"template":266,"updatedDate":253,"__hash__":267},"blogPosts/fr-fr/blog/secrets-manager-in-public-beta.md","Gérez vos identifiants CI/CD avec le gestionnaire de secrets de GitLab",[7,8],"Joe Randazzo","Mark Settle",{"type":10,"value":11,"toc":236},"minimark",[12,21,31,36,39,42,46,55,66,76,79,84,87,90,98,102,111,114,117,129,133,136,139,143,152,156,160,163,182,185,194,203,207],[13,14,15,16,20],"p",{},"De nombreuses fuites d'identifiants commencent par un développeur qui a besoin d'un identifiant, ne sait pas où le stocker et improvise. Ce dernier se retrouve dans une variable CI/CD trop permissive, un fichier de configuration ou un ",[17,18,19],"code",{},".env"," validé « temporairement ».",[13,22,23,24,30],{},"Le gestionnaire de secrets de GitLab, ",[25,26,29],"a",{"href":27,"rel":28},"https://docs.gitlab.com/ci/secrets/secrets_manager/",[],"désormais en version bêta publique"," avec GitLab 19.0, conserve les identifiants dans la même plateforme qui exécute votre code et vos pipelines. Chaque secret est limité aux jobs qui en ont besoin et régi par les contrôles d'accès que vous utilisez déjà. Résultat : moins de secrets se retrouvent au mauvais endroit, et si l'un d'eux fuite, les équipes de sécurité et d'ingénierie subissent moins de perturbations.",[32,33,35],"h2",{"id":34},"lieux-de-stockage-habituels-des-secrets","Lieux de stockage habituels des secrets",[13,37,38],{},"Les équipes de développement ont souvent le réflexe de placer les secrets dans des variables CI/CD. Il suffit de définir la variable au niveau du projet ou du groupe, de masquer la valeur et de mettre à jour le pipeline. La valeur est alors injectée dans chaque job, et toute personne ayant accès au pipeline peut la lire. Ce schéma inverse le principe du moindre privilège, mais maintient le build.",[13,40,41],{},"Pour y remédier, la solution habituelle est un coffre-fort autonome. Si cette approche permet d'éviter que les secrets ne soient stockés dans la configuration CI/CD, elle ajoute une charge opérationnelle permanente : un autre système à authentifier, un autre modèle d'accès à maintenir et un autre flux d'audit à corréler lors d'un incident.",[32,43,45],{"id":44},"essayez-le-gestionnaire-de-secrets-dans-vos-projets-et-pipelines-existants","Essayez le gestionnaire de secrets dans vos projets et pipelines existants",[13,47,48,49,54],{},"Le gestionnaire de secrets de GitLab est une fonctionnalité native de GitLab, construite sur ",[25,50,53],{"href":51,"rel":52},"https://openbao.org/",[],"OpenBao",". Elle fait déjà partie de votre plateforme GitLab, de sorte que les identifiants restent dans la structure de vos projets et groupes existants.",[13,56,57,58,61,62,65],{},"Les équipes de développement peuvent déplacer un secret hors des variables CI/CD en le déclarant dans ",[17,59,60],{},".gitlab-ci.yml"," avec le mot-clé ",[17,63,64],{},"secrets:"," :",[67,68,73],"pre",{"className":69,"code":71,"language":72},[70],"language-text","deploy:\n  secrets:\n    DATABASE_PASSWORD:\n      gitlab_secrets_manager:\n        name: db-password\n  script:\n    - deploy --password $DATABASE_PASSWORD\n","text",[17,74,71],{"__ignoreMap":75},"",[13,77,78],{},"Par défaut, GitLab écrit le secret dans un fichier temporaire et fournit son chemin sous forme de variable d'environnement limitée à ce job. Transmettre le chemin plutôt que la valeur peut réduire l'exposition dans les sous-processus, les vidages mémoire et la télémétrie.",[80,81,83],"h3",{"id":82},"le-modèle-daccès-que-vous-utilisez-déjà","Le modèle d'accès que vous utilisez déjà",[13,85,86],{},"Un gestionnaire de secrets autonome vous oblige à maintenir deux modèles d'accès en parallèle. Chaque équipe, application et périmètre de permission que vous avez déjà modélisés dans GitLab doit être reconstruit dans l'outil de gestion des secrets, et maintenu à jour au fil des arrivées, des changements de rôle et des départs. Lorsque les deux systèmes divergent (les identifiants d'un ingénieur parti persistent ou une application accumule des accès dont elle n'a plus besoin), les écarts deviennent exploitables.",[13,88,89],{},"Le gestionnaire de secrets utilise la structure de vos groupes et projets existants comme frontière d'isolation pour les secrets, sans structure séparée à construire et à maintenir. Vous définissez les autorisations de lecture, de création, de mise à jour et de suppression par utilisateur, groupe ou rôle, en utilisant les mêmes contrôles que pour le code. Les secrets créés au niveau du groupe sont disponibles pour chaque projet rattaché, de sorte que les identifiants communs sont définis une seule fois et hérités là où ils sont nécessaires. Lorsqu'une personne quitte le projet ou en est retirée, elle perd immédiatement l'accès à ses secrets.",[13,91,92],{},[93,94],"img",{"alt":95,"src":96,"title":97},"Capture d'écran de la page Le gestionnaire de secrets de GitLab, affichant un tableau « Secrets stockés ». Chaque ligne liste le nom d'un secret, sa portée d'environnement et de branche, la date de création et un indicateur de statut « Sain ».","https://res.cloudinary.com/about-gitlab-com/image/upload/v1779288172/o7dlh5uo18gdv6kqxflq.png","Identifiants de projet stockés dans le gestionnaire de secrets de GitLab",[80,99,101],{"id":100},"chaque-secret-limité-au-job-qui-en-a-besoin","Chaque secret limité au job qui en a besoin",[13,103,104,105,110],{},"Lorsque le ",[25,106,109],{"href":107,"rel":108},"https://about.gitlab.com/fr-fr/blog/pipeline-security-lessons-from-march-supply-chain-incidents/",[],"paquet npm Axios a été compromis"," en mars, les organisations utilisant une version malveillante ont dû agir comme si chaque identifiant touché par leurs pipelines se trouvait entre les mains d'un attaquant. Elles se sont précipitées pour procéder à une rotation des secrets exposés et auditer chaque système que ces secrets pouvaient atteindre.",[13,112,113],{},"Plus la portée d'un secret est large, plus la remédiation est coûteuse en cas d'exposition, et c'est aux équipes de développement d'absorber ce coût aux côtés de l'équipe de sécurité, sous forme de merges bloqués et de builds en échec. Réduire la portée des secrets limite le nettoyage aux systèmes que l'identifiant compromis était réellement autorisé à atteindre.",[13,115,116],{},"Le gestionnaire de secrets limite le rayon d'impact des secrets compromis en restreignant chaque identifiant au job qui en a besoin. Il détermine quels jobs peuvent effectuer un pull d'un secret donné en fonction de trois attributs du job : l'environnement qu'il cible, la branche sur laquelle il s'exécute et la protection de cette branche. Les caractères génériques s'appliquent à l'environnement et à la branche, vous n'avez donc pas à énumérer chaque cas. Comme les portées sont définies par des attributs de job que GitLab suit déjà, il n'y a pas de second système à réconcilier avec votre pipeline.",[13,118,119,120,124,125,128],{},"Lorsqu'un job s'exécute, il demande la valeur du secret dont il a besoin. Le backend des secrets vérifie l'identité du job, puis contrôle sa branche et son environnement par rapport aux règles de portée avant de transmettre la valeur. Vous pouvez combiner des conditions, de sorte qu'une seule règle peut exiger qu'un job s'exécute sur une branche protégée ",[121,122,123],"em",{},"et"," cible un environnement en ",[17,126,127],{},"production/*"," avant de recevoir des identifiants. Lorsque le job se termine, le secret est supprimé. Rien ne persiste sur le runner, et les job logs sont masqués. Une variable CI/CD, en revanche, reste lisible dans la configuration de votre projet indéfiniment.",[80,130,132],{"id":131},"suivre-un-secret-jusquà-son-pipeline","Suivre un secret jusqu'à son pipeline",[13,134,135],{},"Lorsqu'un secret fuite ou qu'une dépendance est compromise, les équipes doivent retracer l'identifiant à travers chaque pipeline et job qui l'ont utilisé. Cela déclenche un processus urgent qui consiste à recouper les logs provenant du système CI, de l'outil de gestion des secrets, du fournisseur d'identité et de partout ailleurs où l'identifiant a été utilisé.",[13,137,138],{},"Le gestionnaire de secrets de GitLab enregistre les événements de création, de mise à jour et de suppression pour les secrets au niveau du projet et du groupe dans le même journal d'audit que le reste de la plateforme, de sorte que les modifications de votre inventaire de secrets coexistent avec le reste de votre registre de gouvernance. Les lectures de secrets depuis les pipelines CI/CD sont diffusées sous forme d'événements d'audit avec les identifiants du pipeline et du job d'origine afin que les équipes puissent retracer l'utilisation d'un secret sans corréler manuellement des données entre systèmes. La journalisation d'audit est disponible dès aujourd'hui sur les déploiements auto-gérés, avec la prise en charge de GitLab.com attendue pendant la version bêta publique.",[32,140,142],{"id":141},"voir-le-gestionnaire-de-secrets-en-action","Voir le gestionnaire de secrets en action",[144,145],"iframe",{"src":146,"frameBorder":147,"allow":148,"referrerPolicy":149,"style":150,"title":151},"https://player.vimeo.com/video/1194101911?badge=0&autopause=0&player_id=0&app_id=58479","0","autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share","strict-origin-when-cross-origin","position:absolute;top:0;left:0;width:100%;height:100%;","19.0 Secrets Manager",[153,154],"script",{"src":155},"https://player.vimeo.com/api/player.js",[32,157,159],{"id":158},"découvrir-la-version-bêta-publique","Découvrir la version bêta publique",[13,161,162],{},"Le gestionnaire de secrets de GitLab est en version bêta publique pour les utilisateurs GitLab Premium et GitLab Ultimate sur GitLab.com et les déploiements auto-gérés, et la prise en charge de GitLab Dedicated arrivera prochainement.",[13,164,165,166,170,171,176,177,181],{},"Sur GitLab.com, ",[25,167,169],{"href":27,"rel":168},[],"activez la fonctionnalité et créez votre premier secret",". Sur les déploiements auto-gérés, suivez les ",[25,172,175],{"href":173,"rel":174},"https://docs.gitlab.com/administration/secrets_manager/",[],"étapes d'installation"," et découvrez ",[25,178,180],{"href":27,"rel":179},[],"comment utiliser le gestionnaire de secrets en tant que développeur",".",[13,183,184],{},"Nos intégrations pour HashiCorp Vault, AWS Secrets Manager, Azure Key Vault et Google Cloud Secret Manager fonctionnent aux côtés du gestionnaire de secrets de GitLab, vous pouvez donc l'adopter à votre propre rythme.",[13,186,187,188,193],{},"Le gestionnaire de secrets est gratuit pendant la période bêta. Une fois en disponibilité générale, il deviendra une fonctionnalité payante facturée via ",[25,189,192],{"href":190,"rel":191},"https://docs.gitlab.com/subscriptions/gitlab_credits/",[],"GitLab Credits",". Vous devrez activer la fonctionnalité avant toute facturation, et nous vous préviendrons à l'avance avant la disponibilité générale.",[13,195,196,197,202],{},"Une fois que vous aurez testé le gestionnaire de secrets, ",[25,198,201],{"href":199,"rel":200},"https://gitlab.com/gitlab-org/gitlab/-/work_items/598100",[],"donnez-nous votre avis"," afin d'aider à améliorer cette fonctionnalité avant sa mise en disponibilité générale.",[32,204,206],{"id":205},"en-savoir-plus-sur-gitlab-190","En savoir plus sur GitLab 19.0",[208,209,210,218,224,230],"ul",{},[211,212,213],"li",{},[25,214,217],{"href":215,"rel":216},"https://docs.gitlab.com/releases/19/gitlab-19-0-released/",[],"Release de GitLab 19.0",[211,219,220],{},[25,221,223],{"href":222},"/fr-fr/blog/more-ai-models-for-duo-agent-platform-self-hosted/","Plus de modèles d'IA pour GitLab Duo Agent Platform Self-Hosted",[211,225,226],{},[25,227,229],{"href":228},"/fr-fr/blog/transform-mrs-to-automated-workflow/","Transformez les merge requests de tâches manuelles en workflow automatisé",[211,231,232],{},[25,233,235],{"href":234},"/fr-fr/blog/track-ci-component-usage/","Suivez l'utilisation des composants CI dans votre organisation",{"title":75,"searchDepth":237,"depth":237,"links":238},2,[239,240,246,247,248],{"id":34,"depth":237,"text":35},{"id":44,"depth":237,"text":45,"children":241},[242,244,245],{"id":82,"depth":243,"text":83},3,{"id":100,"depth":243,"text":101},{"id":131,"depth":243,"text":132},{"id":141,"depth":237,"text":142},{"id":158,"depth":237,"text":159},{"id":205,"depth":237,"text":206},"security","2026-05-22","Chaque secret est limité à son environnement ou sa branche et régi par les mêmes contrôles que votre code. Découvrez la version bêta publique dans GitLab 19.0.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1779189265/iqzyhhiwagxzwywvjzow.png",{},true,"/fr-fr/blog/secrets-manager-in-public-beta",{"config":260,"title":5,"description":251},{"noIndex":254},"secrets-manager-in-public-beta","fr-fr/blog/secrets-manager-in-public-beta",[249,264,265],"product","features","BlogPost","oN6oDvXep2wdgJIUvDSg4QYP-giANeAxZUYE_TA0st8",{"logo":269,"freeTrial":274,"sales":279,"login":284,"items":289,"search":606,"minimal":642,"duo":661,"switchNav":670,"pricingDeployment":681},{"config":270},{"href":271,"dataGaName":272,"dataGaLocation":273},"/fr-fr/","gitlab logo","header",{"text":275,"config":276},"Commencer un essai gratuit",{"href":277,"dataGaName":278,"dataGaLocation":273},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr&glm_content=default-saas-trial/","free trial",{"text":280,"config":281},"Contacter l’équipe commerciale",{"href":282,"dataGaName":283,"dataGaLocation":273},"/fr-fr/sales/","sales",{"text":285,"config":286},"Connexion",{"href":287,"dataGaName":288,"dataGaLocation":273},"https://gitlab.com/users/sign_in/","sign in",[290,319,421,426,530,586],{"text":291,"config":292,"menu":294},"Plateforme",{"dataNavLevelOne":293},"platform",{"type":295,"columns":296},"cards",[297,303,311],{"title":291,"description":298,"link":299},"La plateforme d’orchestration intelligente pour le DevSecOps",{"text":300,"config":301},"Explorer notre plateforme",{"href":302,"dataGaName":293,"dataGaLocation":273},"/fr-fr/platform/",{"title":304,"description":305,"link":306},"GitLab Duo Agent Platform","L’IA agentique pour l’ensemble du cycle de développement logiciel",{"text":307,"config":308},"Découvrir GitLab Duo",{"href":309,"dataGaName":310,"dataGaLocation":273},"/fr-fr/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":312,"description":313,"link":314},"Pourquoi GitLab ?","Découvrez les principales raisons pour lesquelles les entreprises choisissent GitLab",{"text":315,"config":316},"En savoir plus",{"href":317,"dataGaName":318,"dataGaLocation":273},"/fr-fr/why-gitlab/","why gitlab",{"text":320,"left":257,"config":321,"menu":323},"Produit",{"dataNavLevelOne":322},"solutions",{"type":324,"link":325,"columns":329,"feature":400},"lists",{"text":326,"config":327},"Voir toutes les solutions",{"href":328,"dataGaName":322,"dataGaLocation":273},"/fr-fr/solutions/",[330,355,378],{"title":331,"description":332,"link":333,"items":338},"Automatisation","CI/CD et automatisation pour accélérer le déploiement",{"config":334},{"icon":335,"href":336,"dataGaName":337,"dataGaLocation":273},"AutomatedCodeAlt","/fr-fr/solutions/delivery-automation/","automated software delivery",[339,343,346,351],{"text":340,"config":341},"CI/CD",{"href":342,"dataGaLocation":273,"dataGaName":340},"/fr-fr/solutions/continuous-integration/",{"text":304,"config":344},{"href":309,"dataGaLocation":273,"dataGaName":345},"gitlab duo agent platform - product menu",{"text":347,"config":348},"Gestion du code source",{"href":349,"dataGaLocation":273,"dataGaName":350},"/fr-fr/solutions/source-code-management/","Source Code Management",{"text":352,"config":353},"Livraison de logiciels automatisée",{"href":336,"dataGaLocation":273,"dataGaName":354},"Automated software delivery",{"title":356,"description":357,"link":358,"items":363},"Sécurité","Livrez du code plus rapidement sans compromettre la sécurité",{"config":359},{"href":360,"dataGaName":361,"dataGaLocation":273,"icon":362},"/fr-fr/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[364,368,373],{"text":365,"config":366},"Tests de sécurité des applications",{"href":360,"dataGaName":367,"dataGaLocation":273},"Application security testing",{"text":369,"config":370},"Sécurité de la chaîne d’approvisionnement logicielle",{"href":371,"dataGaLocation":273,"dataGaName":372},"/fr-fr/solutions/supply-chain/","Software supply chain security",{"text":374,"config":375},"Conformité logicielle",{"href":376,"dataGaName":377,"dataGaLocation":273},"/fr-fr/solutions/software-compliance/","software compliance",{"title":379,"link":380,"items":385},"Mesures",{"config":381},{"icon":382,"href":383,"dataGaName":384,"dataGaLocation":273},"DigitalTransformation","/fr-fr/solutions/visibility-measurement/","visibility and measurement",[386,390,395],{"text":387,"config":388},"Visibilité et mesures",{"href":383,"dataGaLocation":273,"dataGaName":389},"Visibility and Measurement",{"text":391,"config":392},"Gestion de la chaîne de valeur",{"href":393,"dataGaLocation":273,"dataGaName":394},"/fr-fr/solutions/value-stream-management/","Value Stream Management",{"text":396,"config":397},"Analyses et informations",{"href":398,"dataGaLocation":273,"dataGaName":399},"/fr-fr/solutions/analytics-and-insights/","Analytics and insights",{"title":401,"type":324,"items":402},"GitLab",[403,409,415],{"text":404,"config":405},"Pour les entreprises",{"icon":406,"href":407,"dataGaLocation":273,"dataGaName":408},"Building","/fr-fr/enterprise/","enterprise",{"text":410,"config":411},"Pour les PME",{"icon":412,"href":413,"dataGaLocation":273,"dataGaName":414},"Work","/fr-fr/small-business/","small business",{"text":416,"config":417},"Pour le secteur public",{"icon":418,"href":419,"dataGaLocation":273,"dataGaName":420},"Organization","/fr-fr/solutions/public-sector/","public sector",{"text":422,"config":423},"Tarifs",{"href":424,"dataGaName":425,"dataGaLocation":273,"dataNavLevelOne":425},"/fr-fr/pricing/","pricing",{"text":427,"config":428,"menu":430},"Ressources",{"dataNavLevelOne":429},"resources",{"type":324,"link":431,"columns":435,"feature":519},{"text":432,"config":433},"Afficher toutes les ressources",{"href":434,"dataGaName":429,"dataGaLocation":273},"/fr-fr/resources/",[436,469,491],{"title":437,"items":438},"Premiers pas",[439,444,449,454,459,464],{"text":440,"config":441},"Installation",{"href":442,"dataGaName":443,"dataGaLocation":273},"/fr-fr/install/","install",{"text":445,"config":446},"Guides de démarrage",{"href":447,"dataGaName":448,"dataGaLocation":273},"/fr-fr/get-started/","quick setup checklists",{"text":450,"config":451},"Apprentissage",{"href":452,"dataGaLocation":273,"dataGaName":453},"https://university.gitlab.com/","learn",{"text":455,"config":456},"Documentation",{"href":457,"dataGaName":458,"dataGaLocation":273},"https://docs.gitlab.com/","product documentation",{"text":460,"config":461},"Vidéos sur les bonnes pratiques",{"href":462,"dataGaName":463,"dataGaLocation":273},"/fr-fr/getting-started-videos/","best practice videos",{"text":465,"config":466},"Intégrations",{"href":467,"dataGaName":468,"dataGaLocation":273},"/fr-fr/integrations/","integrations",{"title":470,"items":471},"Découvrir",[472,477,482,486],{"text":473,"config":474},"Témoignages clients",{"href":475,"dataGaName":476,"dataGaLocation":273},"/fr-fr/customers/","customer success stories",{"text":478,"config":479},"Blog",{"href":480,"dataGaName":481,"dataGaLocation":273},"/fr-fr/blog/","blog",{"text":483,"config":484},"The Source",{"href":485,"dataGaName":481,"dataGaLocation":273},"/fr-fr/the-source/",{"text":487,"config":488},"Travail à distance",{"href":489,"dataGaName":490,"dataGaLocation":273},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":492,"items":493},"Connecter",[494,499,504,509,514],{"text":495,"config":496},"Services GitLab",{"href":497,"dataGaName":498,"dataGaLocation":273},"/fr-fr/services/","services",{"text":500,"config":501},"Communauté",{"href":502,"dataGaName":503,"dataGaLocation":273},"/community/","community",{"text":505,"config":506},"Forum",{"href":507,"dataGaName":508,"dataGaLocation":273},"https://forum.gitlab.com/","forum",{"text":510,"config":511},"Événements",{"href":512,"dataGaName":513,"dataGaLocation":273},"/events/","events",{"text":515,"config":516},"Partenaires",{"href":517,"dataGaName":518,"dataGaLocation":273},"/fr-fr/partners/","partners",{"config":520,"title":523,"text":524,"link":525},{"background":521,"textColor":522},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1777322348/qpq8yrgn8knii57omj0c.png')","#000","Nouveautés de GitLab","Restez informé des dernières fonctionnalités et améliorations.",{"text":526,"config":527},"Lire les articles les plus récents",{"href":528,"dataGaName":529,"dataGaLocation":273},"/fr-fr/whats-new/","whats new",{"text":531,"config":532,"menu":534},"Société",{"dataNavLevelOne":533},"company",{"type":324,"columns":535},[536],{"items":537},[538,543,549,551,556,561,566,571,576,581],{"text":539,"config":540},"À propos",{"href":541,"dataGaName":542,"dataGaLocation":273},"/fr-fr/company/","about",{"text":544,"config":545,"footerGa":548},"Carrières",{"href":546,"dataGaName":547,"dataGaLocation":273},"/jobs/","jobs",{"dataGaName":547},{"text":510,"config":550},{"href":512,"dataGaName":513,"dataGaLocation":273},{"text":552,"config":553},"Leadership",{"href":554,"dataGaName":555,"dataGaLocation":273},"/company/team/e-group/","leadership",{"text":557,"config":558},"Manuel",{"href":559,"dataGaName":560,"dataGaLocation":273},"https://handbook.gitlab.com/","handbook",{"text":562,"config":563},"Relations avec les investisseurs",{"href":564,"dataGaName":565,"dataGaLocation":273},"https://ir.gitlab.com/","investor relations",{"text":567,"config":568},"Trust Center",{"href":569,"dataGaName":570,"dataGaLocation":273},"/fr-fr/security/","trust center",{"text":572,"config":573},"Centre pour la transparence de l’IA",{"href":574,"dataGaName":575,"dataGaLocation":273},"/fr-fr/ai-transparency-center/","ai transparency center",{"text":577,"config":578},"Newsletter",{"href":579,"dataGaName":580,"dataGaLocation":273},"/company/contact/#contact-forms","newsletter",{"text":582,"config":583},"Presse",{"href":584,"dataGaName":585,"dataGaLocation":273},"/press/","press",{"text":587,"config":588,"menu":589},"Nous contacter",{"dataNavLevelOne":533},{"type":324,"columns":590},[591],{"items":592},[593,596,601],{"text":280,"config":594},{"href":282,"dataGaName":595,"dataGaLocation":273},"talk to sales",{"text":597,"config":598},"Portail d'assistance",{"href":599,"dataGaName":600,"dataGaLocation":273},"https://support.gitlab.com","support portal",{"text":602,"config":603},"Portail clients GitLab",{"href":604,"dataGaName":605,"dataGaLocation":273},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":607,"login":608,"suggestions":615},"Fermer",{"text":609,"link":610},"Pour rechercher des dépôts et des projets, connectez-vous à",{"text":611,"config":612},"GitLab.com",{"href":287,"dataGaName":613,"dataGaLocation":614},"search login","search",{"text":616,"default":617},"Suggestions",[618,621,626,628,633,638],{"text":304,"config":619},{"href":309,"dataGaName":620,"dataGaLocation":614},"GitLab Duo Agent Platform",{"text":622,"config":623},"Suggestions de code (IA)",{"href":624,"dataGaName":625,"dataGaLocation":614},"/fr-fr/solutions/code-suggestions/","Code Suggestions (AI)",{"text":340,"config":627},{"href":342,"dataGaName":340,"dataGaLocation":614},{"text":629,"config":630},"GitLab sur AWS",{"href":631,"dataGaName":632,"dataGaLocation":614},"/fr-fr/partners/technology-partners/aws/","GitLab on AWS",{"text":634,"config":635},"GitLab sur Google Cloud",{"href":636,"dataGaName":637,"dataGaLocation":614},"/fr-fr/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":639,"config":640},"Pourquoi utiliser GitLab ?",{"href":317,"dataGaName":641,"dataGaLocation":614},"Why GitLab?",{"freeTrial":643,"mobileIcon":648,"desktopIcon":653,"secondaryButton":656},{"text":644,"config":645},"Commencer votre essai gratuit",{"href":646,"dataGaName":278,"dataGaLocation":647},"https://gitlab.com/-/trials/new/","nav",{"altText":649,"config":650},"Icône GitLab",{"src":651,"dataGaName":652,"dataGaLocation":647},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":649,"config":654},{"src":655,"dataGaName":652,"dataGaLocation":647},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":657,"config":658},"Commencer",{"href":659,"dataGaName":660,"dataGaLocation":647},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr/get-started/","get started",{"freeTrial":662,"mobileIcon":666,"desktopIcon":668},{"text":663,"config":664},"En savoir plus sur GitLab Duo",{"href":309,"dataGaName":665,"dataGaLocation":647},"gitlab duo",{"altText":649,"config":667},{"src":651,"dataGaName":652,"dataGaLocation":647},{"altText":649,"config":669},{"src":655,"dataGaName":652,"dataGaLocation":647},{"button":671,"mobileIcon":676,"desktopIcon":678},{"text":672,"config":673},"/switch",{"href":674,"dataGaName":675,"dataGaLocation":647},"#contact","switch",{"altText":649,"config":677},{"src":651,"dataGaName":652,"dataGaLocation":647},{"altText":649,"config":679},{"src":680,"dataGaName":652,"dataGaLocation":647},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":682,"mobileIcon":687,"desktopIcon":689},{"text":683,"config":684},"Retour aux tarifs",{"href":424,"dataGaName":685,"dataGaLocation":647,"icon":686},"back to pricing","GoBack",{"altText":649,"config":688},{"src":651,"dataGaName":652,"dataGaLocation":647},{"altText":649,"config":690},{"src":655,"dataGaName":652,"dataGaLocation":647},{"title":692,"button":693,"config":698},"Découvrez comment l'IA agentique transforme la livraison logicielle",{"text":694,"config":695},"Rejoindre GitLab Transcend en direct le 10 juin",{"href":696,"dataGaName":697,"dataGaLocation":273},"/fr-fr/events/transcend/virtual/","transcend event",{"layout":699,"disabled":254},"release",{"data":701},{"text":702,"source":703,"edit":709,"contribute":714,"config":719,"items":724,"minimal":932},"Git est une marque déposée de Software Freedom Conservancy et notre utilisation de « GitLab » est sous licence.",{"text":704,"config":705},"Afficher le code source de la page",{"href":706,"dataGaName":707,"dataGaLocation":708},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":710,"config":711},"Modifier cette page",{"href":712,"dataGaName":713,"dataGaLocation":708},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":715,"config":716},"Veuillez contribuer",{"href":717,"dataGaName":718,"dataGaLocation":708},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":720,"facebook":721,"youtube":722,"linkedin":723},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[725,772,825,869,899],{"title":422,"links":726,"subMenu":741},[727,731,736],{"text":728,"config":729},"Voir les forfaits",{"href":424,"dataGaName":730,"dataGaLocation":708},"view plans",{"text":732,"config":733},"GitLab Premium",{"href":734,"dataGaName":735,"dataGaLocation":708},"/fr-fr/pricing/premium/","why premium",{"text":737,"config":738},"GitLab Ultimate",{"href":739,"dataGaName":740,"dataGaLocation":708},"/fr-fr/pricing/ultimate/","why ultimate",[742],{"title":587,"links":743},[744,747,750,752,757,762,767],{"text":745,"config":746},"Contacter l'équipe commerciale",{"href":282,"dataGaName":283,"dataGaLocation":708},{"text":748,"config":749},"Assistance GitLab",{"href":599,"dataGaName":600,"dataGaLocation":708},{"text":602,"config":751},{"href":604,"dataGaName":605,"dataGaLocation":708},{"text":753,"config":754},"Statut",{"href":755,"dataGaName":756,"dataGaLocation":708},"https://status.gitlab.com/","status",{"text":758,"config":759},"Conditions d'utilisation",{"href":760,"dataGaName":761,"dataGaLocation":708},"/terms/","terms of use",{"text":763,"config":764},"Politique de confidentialité",{"href":765,"dataGaName":766,"dataGaLocation":708},"/fr-fr/privacy/","privacy statement",{"text":768,"config":769},"Gérer vos cookies",{"dataGaName":770,"dataGaLocation":708,"id":771,"isOneTrustButton":257},"cookie preferences","ot-sdk-btn",{"title":320,"links":773,"subMenu":782},[774,778],{"text":775,"config":776},"Plateforme DevSecOps",{"href":302,"dataGaName":777,"dataGaLocation":708},"devsecops platform",{"text":779,"config":780},"Développement assisté par l'IA",{"href":309,"dataGaName":781,"dataGaLocation":708},"ai-assisted development",[783],{"title":784,"links":785},"Thèmes",[786,790,795,800,805,810,815,820],{"text":340,"config":787},{"href":788,"dataGaName":789,"dataGaLocation":708},"/fr-fr/topics/ci-cd/","cicd",{"text":791,"config":792},"GitOps",{"href":793,"dataGaName":794,"dataGaLocation":708},"/fr-fr/topics/gitops/","gitops",{"text":796,"config":797},"DevOps",{"href":798,"dataGaName":799,"dataGaLocation":708},"/fr-fr/topics/devops/","devops",{"text":801,"config":802},"Contrôle de version",{"href":803,"dataGaName":804,"dataGaLocation":708},"/fr-fr/topics/version-control/","version control",{"text":806,"config":807},"DevSecOps",{"href":808,"dataGaName":809,"dataGaLocation":708},"/fr-fr/topics/devsecops/","devsecops",{"text":811,"config":812},"Cloud-native",{"href":813,"dataGaName":814,"dataGaLocation":708},"/fr-fr/topics/cloud-native/","cloud native",{"text":816,"config":817},"IA pour la programmation",{"href":818,"dataGaName":819,"dataGaLocation":708},"/fr-fr/topics/devops/ai-for-coding/","ai for coding",{"text":821,"config":822},"IA agentique",{"href":823,"dataGaName":824,"dataGaLocation":708},"/fr-fr/topics/agentic-ai/","agentic ai",{"title":826,"links":827},"Solutions",[828,831,833,838,841,844,847,850,853,856,859,864],{"text":365,"config":829},{"href":360,"dataGaName":830,"dataGaLocation":708},"Application Security Testing",{"text":352,"config":832},{"href":336,"dataGaName":337,"dataGaLocation":708},{"text":834,"config":835},"Développement Agile",{"href":836,"dataGaName":837,"dataGaLocation":708},"/fr-fr/solutions/agile-delivery/","agile delivery",{"text":347,"config":839},{"href":349,"dataGaName":840,"dataGaLocation":708},"source code management",{"text":340,"config":842},{"href":342,"dataGaName":843,"dataGaLocation":708},"continuous integration & delivery",{"text":391,"config":845},{"href":393,"dataGaName":846,"dataGaLocation":708},"value stream management",{"text":791,"config":848},{"href":849,"dataGaName":794,"dataGaLocation":708},"/fr-fr/solutions/gitops/",{"text":851,"config":852},"Entreprises",{"href":407,"dataGaName":408,"dataGaLocation":708},{"text":854,"config":855},"PME",{"href":413,"dataGaName":414,"dataGaLocation":708},{"text":857,"config":858},"Secteur public",{"href":419,"dataGaName":420,"dataGaLocation":708},{"text":860,"config":861},"Éducation",{"href":862,"dataGaName":863,"dataGaLocation":708},"/fr-fr/solutions/education/","education",{"text":865,"config":866},"Services financiers",{"href":867,"dataGaName":868,"dataGaLocation":708},"/fr-fr/solutions/finance/","financial services",{"title":427,"links":870},[871,873,875,877,880,882,885,887,889,891,893,895,897],{"text":440,"config":872},{"href":442,"dataGaName":443,"dataGaLocation":708},{"text":445,"config":874},{"href":447,"dataGaName":448,"dataGaLocation":708},{"text":450,"config":876},{"href":452,"dataGaName":453,"dataGaLocation":708},{"text":455,"config":878},{"href":457,"dataGaName":879,"dataGaLocation":708},"docs",{"text":478,"config":881},{"href":480,"dataGaName":481,"dataGaLocation":708},{"text":883,"config":884},"Quoi de neuf",{"href":528,"dataGaName":529,"dataGaLocation":708},{"text":473,"config":886},{"href":475,"dataGaName":476,"dataGaLocation":708},{"text":487,"config":888},{"href":489,"dataGaName":490,"dataGaLocation":708},{"text":495,"config":890},{"href":497,"dataGaName":498,"dataGaLocation":708},{"text":500,"config":892},{"href":502,"dataGaName":503,"dataGaLocation":708},{"text":505,"config":894},{"href":507,"dataGaName":508,"dataGaLocation":708},{"text":510,"config":896},{"href":512,"dataGaName":513,"dataGaLocation":708},{"text":515,"config":898},{"href":517,"dataGaName":518,"dataGaLocation":708},{"title":531,"links":900},[901,903,905,907,909,911,916,921,923,925,927],{"text":539,"config":902},{"href":541,"dataGaName":533,"dataGaLocation":708},{"text":544,"config":904},{"href":546,"dataGaName":547,"dataGaLocation":708},{"text":552,"config":906},{"href":554,"dataGaName":555,"dataGaLocation":708},{"text":557,"config":908},{"href":559,"dataGaName":560,"dataGaLocation":708},{"text":562,"config":910},{"href":564,"dataGaName":565,"dataGaLocation":708},{"text":912,"config":913},"Développement durable",{"href":914,"dataGaName":915,"dataGaLocation":708},"/sustainability/","Sustainability",{"text":917,"config":918},"Diversité, inclusion et appartenance (DIB)",{"href":919,"dataGaName":920,"dataGaLocation":708},"/fr-fr/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":567,"config":922},{"href":569,"dataGaName":570,"dataGaLocation":708},{"text":577,"config":924},{"href":579,"dataGaName":580,"dataGaLocation":708},{"text":582,"config":926},{"href":584,"dataGaName":585,"dataGaLocation":708},{"text":928,"config":929},"Déclaration de transparence sur l'esclavage moderne",{"href":930,"dataGaName":931,"dataGaLocation":708},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":933},[934,936,939],{"text":758,"config":935},{"href":760,"dataGaName":761,"dataGaLocation":708},{"text":937,"config":938},"Gestion des cookies",{"dataGaName":770,"dataGaLocation":708,"id":771,"isOneTrustButton":257},{"text":763,"config":940},{"href":765,"dataGaName":766,"dataGaLocation":708},[942,956],{"id":943,"title":7,"body":253,"config":944,"content":946,"description":253,"extension":950,"meta":951,"navigation":257,"path":952,"seo":953,"stem":954,"__hash__":955},"blogAuthors/en-us/blog/authors/joe-randazzo.yml",{"template":945},"BlogAuthor",{"name":7,"config":947},{"headshot":948,"ctfId":949},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749664711/Blog/Author%20Headshots/randazzo.jpg","5DxpEbIVcwN2ukwiEMsHlH","yml",{},"/en-us/blog/authors/joe-randazzo",{},"en-us/blog/authors/joe-randazzo","Kg6ZOiBKQgjjlIpsfIAWHsug3iGMaAK1trTdXg4BaFI",{"id":957,"title":8,"body":253,"config":958,"content":959,"description":253,"extension":950,"meta":963,"navigation":257,"path":964,"seo":965,"stem":966,"__hash__":967},"blogAuthors/en-us/blog/authors/mark-settle.yml",{"template":945},{"name":8,"config":960},{"headshot":961,"ctfId":962},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1779215794/fw131xublkzdvjdadd4q.png","marksettle",{},"/en-us/blog/authors/mark-settle",{},"en-us/blog/authors/mark-settle","aur3jcqDyhashUtyXhd1W7N3ZrN09waCQv135AABEt4",[969,977,984],{"title":970,"description":971,"heroImage":972,"category":249,"date":973,"authors":974,"slug":976,"externalUrl":253},"Renforcez le périmètre de votre pipeline à l'ère du développement assisté par l'IA","Le pipeline est désormais le point de convergence entre équipes, agents et code tiers. Les entreprises ont besoin d'un plan de contrôle capable de voir, d'appliquer et de corriger chaque changement.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1765809212/noh0mdfn9o94ry9ykura.png","2026-05-29",[975],"Vishal Thenge","harden-pipeline-perimeter-for-ai-assisted-coding",{"title":978,"description":979,"heroImage":255,"category":249,"date":980,"authors":981,"slug":983,"externalUrl":253},"Couverture complète des scanners de sécurité en quelques minutes","Les profils de configuration de sécurité accélèrent le déploiement des scanners. Découvrez comment cette nouveauté de GitLab 19.0 couvre des milliers de projets en quelques minutes.","2026-05-27",[982],"Michael Omokoh","security-configuration-profiles",{"title":985,"description":986,"heroImage":255,"category":249,"date":987,"authors":988,"slug":990,"externalUrl":253},"Réduisez les risques liés à la chaîne d'approvisionnement grâce à l'analyse des dépendances basée sur les SBOM","Détectez les dépendances transitives, retracez leur parcours jusqu'à votre projet et hiérarchisez-les selon leur exposition réelle.","2026-05-26",[8,989],"Joel Patterson","sbom-based-dependency-scanning",{"promotions":992},[993,1007,1018,1029],{"id":994,"categories":995,"header":997,"text":998,"button":999,"image":1004},"ai-modernization",[996],"ai","L'IA tient-elle ses promesses à grande échelle ?","Le questionnaire ne prendra pas plus de 5 minutes.",{"text":1000,"config":1001},"Obtenez votre score de maturité IA",{"href":1002,"dataGaName":1003,"dataGaLocation":481},"/fr-fr/assessments/ai-modernization-assessment/","modernization assessment",{"config":1005},{"src":1006},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":1008,"categories":1009,"header":1010,"text":998,"button":1011,"image":1015},"devops-modernization",[264,809],"Vous contentez-vous de gérer des outils ou de livrer des innovations ?",{"text":1012,"config":1013},"Obtenez votre score de maturité DevOps",{"href":1014,"dataGaName":1003,"dataGaLocation":481},"/fr-fr/assessments/devops-modernization-assessment/",{"config":1016},{"src":1017},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1019,"categories":1020,"header":1021,"text":998,"button":1022,"image":1026},"security-modernization",[249],"Faut-il sacrifier la rapidité pour garantir la sécurité ?",{"text":1023,"config":1024},"Obtenez votre score de maturité en matière de sécurité",{"href":1025,"dataGaName":1003,"dataGaLocation":481},"/fr-fr/assessments/security-modernization-assessment/",{"config":1027},{"src":1028},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1030,"paths":1031,"header":1034,"text":1035,"button":1036,"image":1041},"github-azure-migration",[1032,1033],"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":1037,"config":1038},"Découvrez les différences entre GitLab et GitHub",{"href":1039,"dataGaName":1040,"dataGaLocation":481},"/fr-fr/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1042},{"src":1017},{"header":1044,"blurb":1045,"button":1046,"secondaryButton":1050},"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":275,"config":1047},{"href":1048,"dataGaName":278,"dataGaLocation":1049},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/fr-fr/","feature",{"text":745,"config":1051},{"href":282,"dataGaName":283,"dataGaLocation":1049},1781392789438]