[{"data":1,"prerenderedAt":1177},["ShallowReactive",2],{"/fr-fr/blog/demystifying-ci-cd-variables":3,"navigation-fr-fr":393,"banner-fr-fr":827,"footer-fr-fr":835,"blog-post-authors-fr-fr-Veethika Mishra":1074,"blog-related-posts-fr-fr-demystifying-ci-cd-variables":1089,"blog-promotions-fr-fr":1114,"next-steps-fr-fr":1168},{"id":4,"title":5,"authors":6,"body":8,"category":368,"date":369,"description":370,"extension":371,"externalUrl":372,"faq":372,"featured":373,"heroImage":374,"meta":375,"navigation":376,"path":377,"seo":378,"slug":382,"stem":383,"tags":384,"template":390,"updatedDate":391,"__hash__":392},"blogPosts/fr-fr/blog/demystifying-ci-cd-variables.md","Variables d’environnement : tout savoir sur les variables CI/CD de GitLab",[7],"Veethika Mishra",{"type":9,"value":10,"toc":350},"minimark",[11,41,56,64,69,78,81,90,94,100,107,113,117,139,143,152,156,162,165,170,183,190,194,203,207,213,216,225,231,237,240,256,282,286,289,305,321,325,334],[12,13,14,15,21,22,26,27,32,33,37,38,40],"p",{},"Définir et utiliser des variables dans le cadre d'une approche ",[16,17,20],"a",{"href":18,"rel":19},"https://about.gitlab.com/fr-fr/topics/ci-cd/",[],"CI/CD"," s'avère une méthode très flexible. Ces variables sont d'une grande utilité pour contrôler les jobs et les pipelines, tout en vous permettant d'éviter de coder en dur des valeurs directement dans votre fichier de configuration ",[23,24,25],"code",{},".gitlab-ci.yml",".\nDans ",[16,28,31],{"href":29,"rel":30},"https://docs.gitlab.com/ci/",[],"GitLab CI/CD",", les variables peuvent être utilisées pour personnaliser les jobs en définissant et en stockant des valeurs spécifiques. Pour définir vos variables CI/CD dans GitLab, accédez à ",[34,35,36],"strong",{},"Paramètres >> CI/CD >> Variables"," ou définissez-les simplement dans le fichier ",[23,39,25],{},". Sachez que les variables servent également d'alternative aux valeurs codées en dur.",[12,42,43,44,47,48,51,52,55],{},"Utiliser des variables s’avère particulièrement utile pour configurer des services tiers dans différents environnements de déploiement, tels que l'environnement de test (",[23,45,46],{},"testing","), l'environnement de préproduction (",[23,49,50],{},"staging","), l'environnement de production (",[23,53,54],{},"production","), et plus encore. Pour modifier les services liés à ces environnements, il suffit de changer simplement la variable qui pointe vers le point de terminaison d'API associé aux services. Vous pouvez également utiliser des variables pour configurer les jobs et les rendre disponibles en tant que variables d'environnement dans les jobs lorsqu'ils s'exécutent.",[12,57,58,59],{},"Découvrez dans cet article tout ce que vous devez savoir sur les variables d’environnement afin de mieux comprendre leur fonctionnement et leur portée.\n",[60,61],"img",{"alt":62,"src":63},"GitLab lit le fichier .gitlab-ci.yml pour analyser la variable référencée, puis envoie les informations à GitLab Runner. Les variables sont exposées et générées par le runner.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782398147/blog/Content%20Images/demystifying-ci-cd-variables/variables_processing.jpg",[65,66,68],"h2",{"id":67},"la-relation-entre-les-variables-et-les-environnements","La relation entre les variables et les environnements",[12,70,71,72,77],{},"Le processus de développement logiciel comprend plusieurs étapes destinées à tester un produit avant de le déployer et de le mettre à disposition des utilisateurs. Les ",[16,73,76],{"href":74,"rel":75},"https://docs.gitlab.com/ci/environments/",[],"environnements"," sont utilisés pour définir ces étapes, qui peuvent différer d'une équipe à l'autre, voire d'une entreprise à l'autre.",[12,79,80],{},"Les variables, quant à elles, sont des valeurs de données susceptibles de changer à la suite d'une interaction entre un utilisateur et un produit. Par exemple, son âge, ses préférences ou toute autre information qui pourrait déterminer l'étape suivante qui lui sera présentée dans le flux de tâches du produit.",[12,82,83,84,89],{},"Le terme ",[16,85,88],{"href":86,"rel":87},"https://docs.gitlab.com/administration/environment_variables/",[],"variable d'environnement"," fait souvent référence à des variables définies dans un environnement donné, mais en dehors de l'application. Les variables dans GitLab CI/CD offrent aux équipes de développement la possibilité de configurer des valeurs dans le code. L'intérêt principal étant de garantir sa flexibilité. Ces variables permettent aux utilisateurs de modifier une application déployée dans un certain environnement sans toucher au code. Il est possible d'exécuter des tests en toute simplicité ou même d'intégrer des services tiers en modifiant une variable d'environnement de configuration en dehors de l'application.",[65,91,93],{"id":92},"la-portée-des-variables-dans-lapproche-cicd","La portée des variables dans l'approche CI/CD",[12,95,96],{},[60,97],{"alt":98,"src":99},"Ordre de priorité des variables CI/CD : 1) Exécution manuelle du pipeline, variables de déclenchement et de planification du pipeline, 2) Variables protégées au niveau du projet, au niveau du groupe et au niveau de l'instance, 3) Variables CI/CD héritées, 4) Variables globales définies dans yml au niveau du job, 5) Variables de déploiement, 6) Variables CI/CD prédéfinies","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782398146/blog/Content%20Images/demystifying-ci-cd-variables/variables_precedence.jpg",[101,102,104,105],"h3",{"id":103},"variables-définies-dans-gitlab-ciyml","Variables définies dans ",[23,106,25],{},[12,108,109,110,112],{},"Les variables qui doivent être disponibles dans l'environnement du job peuvent être ajoutées à GitLab. Ces variables CI/CD stockent la configuration du projet ne contenant pas de données sensibles, comme l'URL de la base de données dans le fichier ",[23,111,25],{},". Réutilisez cette variable dans plusieurs jobs ou scripts, là où la valeur est nécessaire. Si la valeur change, vous n'avez besoin de mettre à jour la variable qu'une seule fois. Le changement se reflète ensuite partout où la variable est utilisée.",[101,114,116],{"id":115},"variables-cicd-au-niveau-du-projet","Variables CI/CD au niveau du projet",[12,118,119,120,125,126,132,133,135,136,138],{},"Un cran au-dessus des exigences spécifiques au dépôt, vous pouvez définir des variables CI/CD dans les ",[16,121,124],{"href":122,"rel":123},"https://docs.gitlab.com/ci/variables/#for-a-project",[],"paramètres du projet",", afin qu'elles soient disponibles dans les ",[16,127,131],{"href":128,"rel":129,"title":130},"https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/",[],"Qu'est-ce qu'un pipeline CI/CD ?","pipelines CI/CD",". Celles-ci sont stockées en dehors du dépôt (c'est-à-dire qu'elles ne figurent pas dans le fichier ",[23,134,25],{},"), mais peuvent néanmoins être utilisées dans les scripts et la configuration CI/CD. Le stockage des variables en dehors du fichier ",[23,137,25],{}," limite ces valeurs à la portée du projet uniquement, sans les enregistrer en texte brut dans le projet.",[101,140,142],{"id":141},"variables-cicd-au-niveau-du-groupe-et-de-linstance","Variables CI/CD au niveau du groupe et de l'instance",[12,144,145,146,151],{},"Certaines variables sont pertinentes à l'échelle du groupe ou de l'instance et peuvent être utiles à tous les projets associés à un groupe ou à une instance spécifique. Définissez les variables dans les ",[16,147,150],{"href":148,"rel":149},"https://docs.gitlab.com/ci/variables/#for-a-group",[],"paramètres du groupe ou de l'instance"," afin que tous les projets de ces portées puissent utiliser les variables sans avoir besoin d'en connaître la valeur ou de les recréer pour chaque projet de portée inférieure. Par exemple, une valeur commune à plusieurs projets se gère facilement si elle ne doit être mise à jour qu'à un seul endroit. Alternativement, plusieurs projets peuvent utiliser un mot de passe spécifique sans avoir besoin de connaître la valeur du mot de passe lui-même.",[65,153,155],{"id":154},"jobs-et-pipelines-en-tant-quenvironnements","Jobs et pipelines en tant qu'environnements",[12,157,158,159,161],{},"En plus d'être utilisées comme des variables d'environnement, les variables dans GitLab CI/CD fonctionnent également dans la portée du fichier de configuration ",[23,160,25],{}," pour définir le comportement du pipeline, indépendamment de son environnement. Les variables peuvent être stockées dans les paramètres du projet/groupe/instance et mises à la disposition des jobs dans les pipelines.",[12,163,164],{},"Par exemple :",[12,166,167],{},[23,168,169],{},"text job:    rules:      - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH    script:    - echo \"This job ran on the $CI_COMMIT_BRANCH branch.\" ",[12,171,172,173,176,177,182],{},"La variable ",[23,174,175],{},"($CI_COMMIT_BRANCH)"," dans la section du script s'exécute dans la portée du job dans lequel elle a été définie. Cette portée est l'« environnement du job », ce qui signifie que lorsque le job se lance, le GitLab Runner démarre un conteneur ",[16,178,181],{"href":179,"rel":180,"title":181},"https://about.gitlab.com/fr-fr/blog/what-is-docker-comprehensive-guide/",[],"Docker"," et exécute le job dans cet environnement. Le runner met cette variable (et toutes les autres variables prédéfinies ou personnalisées) à la disposition du job et peut également afficher leur valeur dans les données de sortie du log si nécessaire.",[12,184,185,186,189],{},"Toutefois, la variable est aussi utilisée dans la section ",[23,187,188],{},"if:"," pour déterminer quand le job doit s'exécuter. Il ne s'agit pas en soi d'un environnement, c'est pourquoi nous les appelons variables CI/CD. Elles peuvent être utilisées pour configurer dynamiquement vos jobs CI/CD, ainsi que comme variables d'environnement lorsque le job est en cours d'exécution.",[65,191,193],{"id":192},"variables-prédéfinies","Variables prédéfinies",[12,195,196,197,202],{},"Un certain nombre de variables sont ",[16,198,201],{"href":199,"rel":200},"https://docs.gitlab.com/ci/variables/predefined_variables/",[],"prédéfinies"," lorsqu'un pipeline GitLab CI/CD démarre. Un utilisateur peut immédiatement accéder aux valeurs pour des éléments tels que les validations, le projet ou les détails du pipeline sans avoir à définir les variables elles-mêmes.",[65,204,206],{"id":205},"variables-cicd-personnalisées","Variables CI/CD personnalisées",[12,208,209],{},[60,210],{"alt":211,"src":212},"Les runners peuvent créer deux types de variables CI/CD personnalisées : Type et Fichier.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782398145/blog/Content%20Images/demystifying-ci-cd-variables/variable_types.jpg",[12,214,215],{},"Lors de la création d'une variable CI/CD dans les paramètres, GitLab offre à l'utilisateur plus d'options pour configurer la variable. Utilisez ces options de configuration supplémentaires pour exercer un contrôle plus strict sur les variables plus sensibles :",[12,217,218,221,222,224],{},[34,219,220],{},"Portée de l'environnement :"," si une variable ne doit être utilisée que dans un environnement spécifique, définissez-la pour qu'elle soit disponible uniquement dans cet environnement. Par exemple, vous pouvez définir un jeton de déploiement pour qu'il ne soit disponible que dans l'environnement ",[23,223,54],{},".",[12,226,227,230],{},[34,228,229],{},"Variables protégées :"," comme pour la portée de l'environnement, vous pouvez définir une variable pour qu'elle ne soit disponible que lorsque le pipeline s'exécute sur une branche protégée, comme votre branche par défaut.",[12,232,233,236],{},[34,234,235],{},"Type de variable :"," certaines applications nécessitent que la configuration leur soit transmise sous la forme d'un fichier. Si une application nécessite cette configuration, définissez simplement le type de variable comme « Fichier ». Cette configuration de la variable CI/CD signifie que lorsque le runner rend la variable disponible dans l'environnement, il l'écrit dans un fichier temporaire et stocke le chemin d'accès au fichier en tant que valeur. Un utilisateur peut ensuite transmettre le chemin d'accès au fichier à toutes les applications qui en ont besoin.",[12,238,239],{},"En plus des éléments énumérés pour définir et utiliser les variables, GitLab a introduit une fonctionnalité qui génère des variables préremplies lorsqu'un pipeline doit être exécuté manuellement. Les variables préremplies réduisent les risques d'erreur et facilitent l'exécution du pipeline.",[12,241,242,245,246,251,252,255],{},[34,243,244],{},"Variables masquées :"," les ",[16,247,250],{"href":248,"rel":249},"https://docs.gitlab.com/ci/variables/#mask-a-cicd-variable",[],"variables masquées"," sont des variables CI qui ont été ",[34,253,254],{},"cachées dans les job logs"," pour empêcher l'affichage de leur valeur.",[12,257,258,261,262,267,268,273,274,277,278,281],{},[34,259,260],{},"Variables masquées et cachées :"," introduites dans ",[16,263,266],{"href":264,"rel":265},"https://docs.gitlab.com/releases/17/gitlab-17-4-released/#hide-cicd-variable-values-in-the-ui",[],"GitLab 17.4",", les variables ",[16,269,272],{"href":270,"rel":271},"https://docs.gitlab.com/ci/variables/#hide-a-cicd-variable",[],"masquées et cachées"," offrent la même fonctionnalité de masquage des job logs et ",[34,275,276],{},"gardent la valeur cachée"," ",[34,279,280],{},"dans l'interface utilisateur des paramètres",". Nous ne recommandons pas d'utiliser ces deux types de variables pour les informations sensibles (comme les secrets), car elles peuvent être exposées par inadvertance.",[65,283,285],{"id":284},"secrets","Secrets",[12,287,288],{},"Un secret est un identifiant de connexion sensible qui doit rester confidentiel. Voici des exemples de secrets :",[290,291,292,296,299,302],"ul",{},[293,294,295],"li",{},"Mots de passe",[293,297,298],{},"Clés SSH",[293,300,301],{},"Jetons d'accès",[293,303,304],{},"Tout autre type d'identifiants de connexion dont la divulgation pourrait porter préjudice à l'entreprise",[12,306,307,308,313,314,320],{},"GitLab permet actuellement à ses utilisateurs d'",[16,309,312],{"href":310,"rel":311},"https://docs.gitlab.com/ci/secrets/",[],"utiliser des secrets externes"," dans l'",[16,315,319],{"href":316,"rel":317,"title":318},"https://about.gitlab.com/fr-fr/topics/ci-cd/benefits-continuous-integration/",[],"Qu'est-ce que l'intégration continue (CI) ?","intégration continue (CI)",", en tirant parti de HashiCorp Vault, Google Cloud Secret Manager et Azure Key Vault pour gérer de manière sécurisée les clés, les tokens et d'autres secrets au niveau du projet. Les utilisateurs peuvent ainsi séparer ces secrets des autres variables CI/CD pour des raisons de sécurité.",[101,322,324],{"id":323},"gestionnaire-de-secrets-de-gitlab","Gestionnaire de secrets de GitLab",[12,326,327,328,333],{},"En plus de fournir une assistance pour les secrets externes dans la CI, GitLab prévoit également de proposer une ",[16,329,332],{"href":330,"rel":331},"https://gitlab.com/groups/gitlab-org/-/epics/10108",[],"solution native de gestion des secrets"," permettant de stocker les secrets de manière pratique et sécurisée au sein de sa plateforme. Cette solution aidera également les clients à utiliser les secrets stockés dans les composants et les environnements spécifiques à GitLab, ainsi qu'à gérer facilement les accès au niveau des groupes d'espaces de nommage et des projets.",[12,335,336,337,342,343],{},"Pour en savoir plus sur le gestionnaire de secrets de GitLab, consultez notre article « ",[16,338,341],{"href":339,"rel":340},"https://about.gitlab.com/blog/gitlab-native-secrets-manager-to-give-software-supply-chain-security-a-boost/",[],"Le gestionnaire de secrets natif de GitLab renforce la sécurité de la chaîne d'approvisionnement logicielle"," ».\n",[344,345,346,349],"em",{},[34,347,348],{},"Avertissement :"," cet article de blog contient des informations relatives aux produits, fonctionnalités et caractéristiques à venir. Il est important de noter que les informations contenues dans cet article de blog ne sont fournies qu'à titre informatif. Veuillez ne pas vous fier à ces informations à des fins d'achat ou de planification. Comme pour tout projet, les éléments mentionnés dans cet article sont susceptibles de changer ou d’être retardés. Le développement, la sortie et le calendrier de tout produit ou fonctionnalité restent à la seule discrétion de GitLab.",{"title":351,"searchDepth":352,"depth":352,"links":353},"",2,[354,355,362,363,364,365],{"id":67,"depth":352,"text":68},{"id":92,"depth":352,"text":93,"children":356},[357,360,361],{"id":103,"depth":358,"text":359},3,"Variables définies dans .gitlab-ci.yml",{"id":115,"depth":358,"text":116},{"id":141,"depth":358,"text":142},{"id":154,"depth":352,"text":155},{"id":192,"depth":352,"text":193},{"id":205,"depth":352,"text":206},{"id":284,"depth":352,"text":285,"children":366},[367],{"id":323,"depth":358,"text":324},"engineering","2021-04-09","Les variables CI/CD permettent de contrôler les jobs et les pipelines. Découvrez tout ce que vous devez savoir sur les variables d'environnement de GitLab.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749664679/Blog/Hero%20Images/blog-image-template-1800x945__24_.png",{},true,"/fr-fr/blog/demystifying-ci-cd-variables",{"title":5,"description":370,"ogTitle":5,"ogDescription":370,"noIndex":373,"ogImage":374,"ogUrl":379,"ogSiteName":380,"ogType":381,"canonicalUrls":379},"https://about.gitlab.com/blog/demystifying-ci-cd-variables","https://about.gitlab.com","article","demystifying-ci-cd-variables","fr-fr/blog/demystifying-ci-cd-variables",[385,386,387,388,20,389],"CD","features","inside GitLab","CI","tutorial","BlogPost","2025-01-28","4jU6yVWHWuo0xsDnNhQsM_17Lpe_TWmVJtD79qf41p4",{"logo":394,"freeTrial":399,"sales":404,"login":409,"items":414,"search":742,"minimal":778,"duo":797,"switchNav":806,"pricingDeployment":817},{"config":395},{"href":396,"dataGaName":397,"dataGaLocation":398},"/fr-fr/","gitlab logo","header",{"text":400,"config":401},"Commencer un essai gratuit",{"href":402,"dataGaName":403,"dataGaLocation":398},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr&glm_content=default-saas-trial/","free trial",{"text":405,"config":406},"Demander une démo",{"href":407,"dataGaName":408,"dataGaLocation":398},"/fr-fr/sales/?contact-topic=request-demo","sales",{"text":410,"config":411},"Connexion",{"href":412,"dataGaName":413,"dataGaLocation":398},"https://gitlab.com/users/sign_in/","sign in",[415,444,545,550,664,720],{"text":416,"config":417,"menu":419},"Plateforme",{"dataNavLevelOne":418},"platform",{"type":420,"columns":421},"cards",[422,428,436],{"title":416,"description":423,"link":424},"La plateforme d'orchestration intelligente pour le DevSecOps",{"text":425,"config":426},"Explorer notre plateforme",{"href":427,"dataGaName":418,"dataGaLocation":398},"/fr-fr/platform/",{"title":429,"description":430,"link":431},"GitLab Duo Agent Platform","L'IA agentique pour l'ensemble du cycle de développement logiciel",{"text":432,"config":433},"Découvrir GitLab Duo",{"href":434,"dataGaName":435,"dataGaLocation":398},"/fr-fr/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":437,"description":438,"link":439},"Pourquoi GitLab ?","Découvrez les principales raisons pour lesquelles les entreprises choisissent GitLab",{"text":440,"config":441},"En savoir plus",{"href":442,"dataGaName":443,"dataGaLocation":398},"/fr-fr/why-gitlab/","why gitlab",{"text":445,"left":376,"config":446,"menu":448},"Produit",{"dataNavLevelOne":447},"solutions",{"type":449,"link":450,"columns":454,"feature":524},"lists",{"text":451,"config":452},"Voir toutes les solutions",{"href":453,"dataGaName":447,"dataGaLocation":398},"/fr-fr/solutions/",[455,479,502],{"title":456,"description":457,"link":458,"items":463},"Automatisation","CI/CD et automatisation pour accélérer le déploiement",{"config":459},{"icon":460,"href":461,"dataGaName":462,"dataGaLocation":398},"AutomatedCodeAlt","/fr-fr/solutions/delivery-automation/","automated software delivery",[464,467,470,475],{"text":20,"config":465},{"href":466,"dataGaLocation":398,"dataGaName":20},"/fr-fr/solutions/continuous-integration/",{"text":429,"config":468},{"href":434,"dataGaLocation":398,"dataGaName":469},"gitlab duo agent platform - product menu",{"text":471,"config":472},"Gestion du code source",{"href":473,"dataGaLocation":398,"dataGaName":474},"/fr-fr/solutions/source-code-management/","Source Code Management",{"text":476,"config":477},"Livraison de logiciels automatisée",{"href":461,"dataGaLocation":398,"dataGaName":478},"Automated software delivery",{"title":480,"description":481,"link":482,"items":487},"Sécurité","Livrez du code plus rapidement sans compromettre la sécurité",{"config":483},{"href":484,"dataGaName":485,"dataGaLocation":398,"icon":486},"/fr-fr/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[488,492,497],{"text":489,"config":490},"Tests de sécurité des applications",{"href":484,"dataGaName":491,"dataGaLocation":398},"Application security testing",{"text":493,"config":494},"Sécurité de la chaîne d'approvisionnement logicielle",{"href":495,"dataGaLocation":398,"dataGaName":496},"/fr-fr/solutions/supply-chain/","Software supply chain security",{"text":498,"config":499},"Conformité logicielle",{"href":500,"dataGaName":501,"dataGaLocation":398},"/fr-fr/solutions/software-compliance/","software compliance",{"title":503,"link":504,"items":509},"Mesures",{"config":505},{"icon":506,"href":507,"dataGaName":508,"dataGaLocation":398},"DigitalTransformation","/fr-fr/solutions/visibility-measurement/","visibility and measurement",[510,514,519],{"text":511,"config":512},"Visibilité et mesures",{"href":507,"dataGaLocation":398,"dataGaName":513},"Visibility and Measurement",{"text":515,"config":516},"Gestion de la chaîne de valeur",{"href":517,"dataGaLocation":398,"dataGaName":518},"/fr-fr/solutions/value-stream-management/","Value Stream Management",{"text":520,"config":521},"Analyses et informations",{"href":522,"dataGaLocation":398,"dataGaName":523},"/fr-fr/solutions/analytics-and-insights/","Analytics and insights",{"title":525,"type":449,"items":526},"GitLab",[527,533,539],{"text":528,"config":529},"Entreprises",{"icon":530,"href":531,"dataGaLocation":398,"dataGaName":532},"Building","/fr-fr/enterprise/","enterprise",{"text":534,"config":535},"Pour les PME",{"icon":536,"href":537,"dataGaLocation":398,"dataGaName":538},"Work","/fr-fr/small-business/","small business",{"text":540,"config":541},"Pour le secteur public",{"icon":542,"href":543,"dataGaLocation":398,"dataGaName":544},"Organization","/fr-fr/solutions/public-sector/","public sector",{"text":546,"config":547},"Tarifs",{"href":548,"dataGaName":549,"dataGaLocation":398,"dataNavLevelOne":549},"/fr-fr/pricing/","pricing",{"text":551,"config":552,"menu":554},"Ressources",{"dataNavLevelOne":553},"resources",{"type":449,"link":555,"columns":559,"feature":653},{"text":556,"config":557},"Afficher toutes les ressources",{"href":558,"dataGaName":553,"dataGaLocation":398},"/fr-fr/resources/",[560,593,620],{"title":561,"items":562},"Premiers pas",[563,568,573,578,583,588],{"text":564,"config":565},"Installation",{"href":566,"dataGaName":567,"dataGaLocation":398},"/fr-fr/install/","install",{"text":569,"config":570},"Guides de démarrage",{"href":571,"dataGaName":572,"dataGaLocation":398},"/fr-fr/get-started/","quick setup checklists",{"text":574,"config":575},"Apprentissage",{"href":576,"dataGaLocation":398,"dataGaName":577},"https://university.gitlab.com/","learn",{"text":579,"config":580},"Documentation",{"href":581,"dataGaName":582,"dataGaLocation":398},"https://docs.gitlab.com/","product documentation",{"text":584,"config":585},"Vidéos sur les bonnes pratiques",{"href":586,"dataGaName":587,"dataGaLocation":398},"/fr-fr/getting-started-videos/","best practice videos",{"text":589,"config":590},"Intégrations",{"href":591,"dataGaName":592,"dataGaLocation":398},"/fr-fr/integrations/","integrations",{"title":594,"items":595},"Découvrir",[596,601,606,611,615],{"text":597,"config":598},"Témoignages clients",{"href":599,"dataGaName":600,"dataGaLocation":398},"/fr-fr/customers/","customer success stories",{"text":602,"config":603},"Blog",{"href":604,"dataGaName":605,"dataGaLocation":398},"/fr-fr/blog/","blog",{"text":607,"config":608},"Demo Hub",{"href":609,"dataGaName":610,"dataGaLocation":398},"/fr-fr/demo-hub/","demo hub",{"text":612,"config":613},"The Source",{"href":614,"dataGaName":605,"dataGaLocation":398},"/fr-fr/the-source/",{"text":616,"config":617},"Travail à distance",{"href":618,"dataGaName":619,"dataGaLocation":398},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":621,"items":622},"Connecter",[623,628,633,638,643,648],{"text":624,"config":625},"Services GitLab",{"href":626,"dataGaName":627,"dataGaLocation":398},"/fr-fr/services/","services",{"text":629,"config":630},"Contribuer",{"href":631,"dataGaName":632,"dataGaLocation":398},"https://contributors.gitlab.com","contribute",{"text":634,"config":635},"Communauté",{"href":636,"dataGaName":637,"dataGaLocation":398},"/community/","community",{"text":639,"config":640},"Forum",{"href":641,"dataGaName":642,"dataGaLocation":398},"https://forum.gitlab.com/","forum",{"text":644,"config":645},"Événements",{"href":646,"dataGaName":647,"dataGaLocation":398},"/events/","events",{"text":649,"config":650},"Partenaires",{"href":651,"dataGaName":652,"dataGaLocation":398},"/fr-fr/partners/","partners",{"config":654,"title":657,"text":658,"link":659},{"background":655,"textColor":656},"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":660,"config":661},"Lire les articles les plus récents",{"href":662,"dataGaName":663,"dataGaLocation":398},"/fr-fr/whats-new/","whats new",{"text":665,"config":666,"menu":668},"Société",{"dataNavLevelOne":667},"company",{"type":449,"columns":669},[670],{"items":671},[672,677,683,685,690,695,700,705,710,715],{"text":673,"config":674},"À propos",{"href":675,"dataGaName":676,"dataGaLocation":398},"/fr-fr/company/","about",{"text":678,"config":679,"footerGa":682},"Carrières",{"href":680,"dataGaName":681,"dataGaLocation":398},"/jobs/","jobs",{"dataGaName":681},{"text":644,"config":684},{"href":646,"dataGaName":647,"dataGaLocation":398},{"text":686,"config":687},"Leadership",{"href":688,"dataGaName":689,"dataGaLocation":398},"/company/team/e-group/","leadership",{"text":691,"config":692},"Manuel",{"href":693,"dataGaName":694,"dataGaLocation":398},"https://handbook.gitlab.com/","handbook",{"text":696,"config":697},"Relations avec les investisseurs",{"href":698,"dataGaName":699,"dataGaLocation":398},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":701,"config":702},"Trust Center",{"href":703,"dataGaName":704,"dataGaLocation":398},"/fr-fr/security/","trust center",{"text":706,"config":707},"Centre pour la transparence de l'IA",{"href":708,"dataGaName":709,"dataGaLocation":398},"/fr-fr/ai-transparency-center/","ai transparency center",{"text":711,"config":712},"Newsletter",{"href":713,"dataGaName":714,"dataGaLocation":398},"/company/contact/#contact-forms","newsletter",{"text":716,"config":717},"Presse",{"href":718,"dataGaName":719,"dataGaLocation":398},"/press/","press",{"text":721,"config":722,"menu":723},"Nous contacter",{"dataNavLevelOne":667},{"type":449,"columns":724},[725],{"items":726},[727,732,737],{"text":728,"config":729},"Contacter l'équipe commerciale",{"href":730,"dataGaName":731,"dataGaLocation":398},"/fr-fr/sales/","talk to sales",{"text":733,"config":734},"Assistance GitLab",{"href":735,"dataGaName":736,"dataGaLocation":398},"https://support.gitlab.com/hc/en-us","support portal",{"text":738,"config":739},"Portail clients GitLab",{"href":740,"dataGaName":741,"dataGaLocation":398},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":743,"login":744,"suggestions":751},"Fermer",{"text":745,"link":746},"Pour rechercher des dépôts et des projets, connectez-vous à",{"text":747,"config":748},"GitLab.com",{"href":412,"dataGaName":749,"dataGaLocation":750},"search login","search",{"text":752,"default":753},"Suggestions",[754,757,762,764,769,774],{"text":429,"config":755},{"href":434,"dataGaName":756,"dataGaLocation":750},"GitLab Duo Agent Platform",{"text":758,"config":759},"Suggestions de code (IA)",{"href":760,"dataGaName":761,"dataGaLocation":750},"/fr-fr/solutions/code-suggestions/","Code Suggestions (AI)",{"text":20,"config":763},{"href":466,"dataGaName":20,"dataGaLocation":750},{"text":765,"config":766},"GitLab sur AWS",{"href":767,"dataGaName":768,"dataGaLocation":750},"/fr-fr/partners/technology-partners/aws/","GitLab on AWS",{"text":770,"config":771},"GitLab sur Google Cloud",{"href":772,"dataGaName":773,"dataGaLocation":750},"/fr-fr/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":775,"config":776},"Pourquoi utiliser GitLab ?",{"href":442,"dataGaName":777,"dataGaLocation":750},"Why GitLab?",{"freeTrial":779,"mobileIcon":784,"desktopIcon":789,"secondaryButton":792},{"text":780,"config":781},"Commencer votre essai gratuit",{"href":782,"dataGaName":403,"dataGaLocation":783},"https://gitlab.com/-/trials/new/","nav",{"altText":785,"config":786},"Icône GitLab",{"src":787,"dataGaName":788,"dataGaLocation":783},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":785,"config":790},{"src":791,"dataGaName":788,"dataGaLocation":783},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":793,"config":794},"Commencer",{"href":795,"dataGaName":796,"dataGaLocation":783},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr/get-started/","get started",{"freeTrial":798,"mobileIcon":802,"desktopIcon":804},{"text":799,"config":800},"En savoir plus sur GitLab Duo",{"href":434,"dataGaName":801,"dataGaLocation":783},"gitlab duo",{"altText":785,"config":803},{"src":787,"dataGaName":788,"dataGaLocation":783},{"altText":785,"config":805},{"src":791,"dataGaName":788,"dataGaLocation":783},{"button":807,"mobileIcon":812,"desktopIcon":814},{"text":808,"config":809},"/switch",{"href":810,"dataGaName":811,"dataGaLocation":783},"#contact","switch",{"altText":785,"config":813},{"src":787,"dataGaName":788,"dataGaLocation":783},{"altText":785,"config":815},{"src":816,"dataGaName":788,"dataGaLocation":783},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":818,"mobileIcon":823,"desktopIcon":825},{"text":819,"config":820},"Retour aux tarifs",{"href":548,"dataGaName":821,"dataGaLocation":783,"icon":822},"back to pricing","GoBack",{"altText":785,"config":824},{"src":787,"dataGaName":788,"dataGaLocation":783},{"altText":785,"config":826},{"src":791,"dataGaName":788,"dataGaLocation":783},{"title":828,"button":829,"config":833},"GitLab Orbit est arrivé : la couche de contexte pour les agents d'IA.",{"text":440,"config":830},{"href":831,"dataGaName":832,"dataGaLocation":398},"/fr-fr/gitlab-orbit/","orbit",{"layout":834,"disabled":373},"release",{"data":836},{"text":837,"source":838,"edit":844,"contribute":849,"config":853,"items":858,"minimal":1066},"Git est une marque déposée de Software Freedom Conservancy et notre utilisation de « GitLab » est sous licence.",{"text":839,"config":840},"Afficher le code source de la page",{"href":841,"dataGaName":842,"dataGaLocation":843},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":845,"config":846},"Modifier cette page",{"href":847,"dataGaName":848,"dataGaLocation":843},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":629,"config":850},{"href":851,"dataGaName":852,"dataGaLocation":843},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":854,"facebook":855,"youtube":856,"linkedin":857},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[859,905,958,1001,1033],{"title":546,"links":860,"subMenu":875},[861,865,870],{"text":862,"config":863},"Voir les forfaits",{"href":548,"dataGaName":864,"dataGaLocation":843},"view plans",{"text":866,"config":867},"GitLab Premium",{"href":868,"dataGaName":869,"dataGaLocation":843},"/fr-fr/pricing/premium/","why premium",{"text":871,"config":872},"GitLab Ultimate",{"href":873,"dataGaName":874,"dataGaLocation":843},"/fr-fr/pricing/ultimate/","why ultimate",[876],{"title":721,"links":877},[878,880,882,885,890,895,900],{"text":728,"config":879},{"href":730,"dataGaName":408,"dataGaLocation":843},{"text":733,"config":881},{"href":735,"dataGaName":736,"dataGaLocation":843},{"text":883,"config":884},"Portail clients",{"href":740,"dataGaName":741,"dataGaLocation":843},{"text":886,"config":887},"Statut",{"href":888,"dataGaName":889,"dataGaLocation":843},"https://status.gitlab.com/","status",{"text":891,"config":892},"Conditions d'utilisation",{"href":893,"dataGaName":894,"dataGaLocation":843},"/terms/","terms of use",{"text":896,"config":897},"Politique de confidentialité",{"href":898,"dataGaName":899,"dataGaLocation":843},"/fr-fr/privacy/","privacy statement",{"text":901,"config":902},"Gestion des cookies",{"dataGaName":903,"dataGaLocation":843,"id":904,"isOneTrustButton":376},"cookie preferences","ot-sdk-btn",{"title":445,"links":906,"subMenu":915},[907,911],{"text":908,"config":909},"Plateforme DevSecOps",{"href":427,"dataGaName":910,"dataGaLocation":843},"devsecops platform",{"text":912,"config":913},"Développement assisté par l'IA",{"href":434,"dataGaName":914,"dataGaLocation":843},"ai-assisted development",[916],{"title":917,"links":918},"Thèmes",[919,923,928,933,938,943,948,953],{"text":20,"config":920},{"href":921,"dataGaName":922,"dataGaLocation":843},"/fr-fr/topics/ci-cd/","cicd",{"text":924,"config":925},"GitOps",{"href":926,"dataGaName":927,"dataGaLocation":843},"/fr-fr/topics/gitops/","gitops",{"text":929,"config":930},"DevOps",{"href":931,"dataGaName":932,"dataGaLocation":843},"/fr-fr/topics/devops/","devops",{"text":934,"config":935},"Contrôle de version",{"href":936,"dataGaName":937,"dataGaLocation":843},"/fr-fr/topics/version-control/","version control",{"text":939,"config":940},"DevSecOps",{"href":941,"dataGaName":942,"dataGaLocation":843},"/fr-fr/topics/devsecops/","devsecops",{"text":944,"config":945},"Cloud-native",{"href":946,"dataGaName":947,"dataGaLocation":843},"/fr-fr/topics/cloud-native/","cloud native",{"text":949,"config":950},"IA pour la programmation",{"href":951,"dataGaName":952,"dataGaLocation":843},"/fr-fr/topics/devops/ai-for-coding/","ai for coding",{"text":954,"config":955},"IA agentique",{"href":956,"dataGaName":957,"dataGaLocation":843},"/fr-fr/topics/agentic-ai/","agentic ai",{"title":959,"links":960},"Solutions",[961,964,966,971,974,977,980,983,985,988,991,996],{"text":489,"config":962},{"href":484,"dataGaName":963,"dataGaLocation":843},"Application Security Testing",{"text":476,"config":965},{"href":461,"dataGaName":462,"dataGaLocation":843},{"text":967,"config":968},"Développement Agile",{"href":969,"dataGaName":970,"dataGaLocation":843},"/fr-fr/solutions/agile-delivery/","agile delivery",{"text":471,"config":972},{"href":473,"dataGaName":973,"dataGaLocation":843},"source code management",{"text":20,"config":975},{"href":466,"dataGaName":976,"dataGaLocation":843},"continuous integration & delivery",{"text":515,"config":978},{"href":517,"dataGaName":979,"dataGaLocation":843},"value stream management",{"text":924,"config":981},{"href":982,"dataGaName":927,"dataGaLocation":843},"/fr-fr/solutions/gitops/",{"text":528,"config":984},{"href":531,"dataGaName":532,"dataGaLocation":843},{"text":986,"config":987},"PME",{"href":537,"dataGaName":538,"dataGaLocation":843},{"text":989,"config":990},"Secteur public",{"href":543,"dataGaName":544,"dataGaLocation":843},{"text":992,"config":993},"Éducation",{"href":994,"dataGaName":995,"dataGaLocation":843},"/fr-fr/solutions/education/","education",{"text":997,"config":998},"Services financiers",{"href":999,"dataGaName":1000,"dataGaLocation":843},"/fr-fr/solutions/finance/","financial services",{"title":551,"links":1002},[1003,1005,1007,1009,1012,1014,1017,1019,1021,1023,1025,1027,1029,1031],{"text":564,"config":1004},{"href":566,"dataGaName":567,"dataGaLocation":843},{"text":569,"config":1006},{"href":571,"dataGaName":572,"dataGaLocation":843},{"text":574,"config":1008},{"href":576,"dataGaName":577,"dataGaLocation":843},{"text":579,"config":1010},{"href":581,"dataGaName":1011,"dataGaLocation":843},"docs",{"text":602,"config":1013},{"href":604,"dataGaName":605,"dataGaLocation":843},{"text":1015,"config":1016},"Nouveautés",{"href":662,"dataGaName":663,"dataGaLocation":843},{"text":597,"config":1018},{"href":599,"dataGaName":600,"dataGaLocation":843},{"text":616,"config":1020},{"href":618,"dataGaName":619,"dataGaLocation":843},{"text":624,"config":1022},{"href":626,"dataGaName":627,"dataGaLocation":843},{"text":629,"config":1024},{"href":631,"dataGaName":632,"dataGaLocation":843},{"text":634,"config":1026},{"href":636,"dataGaName":637,"dataGaLocation":843},{"text":639,"config":1028},{"href":641,"dataGaName":642,"dataGaLocation":843},{"text":644,"config":1030},{"href":646,"dataGaName":647,"dataGaLocation":843},{"text":649,"config":1032},{"href":651,"dataGaName":652,"dataGaLocation":843},{"title":665,"links":1034},[1035,1037,1039,1041,1043,1045,1050,1055,1057,1059,1061],{"text":673,"config":1036},{"href":675,"dataGaName":667,"dataGaLocation":843},{"text":678,"config":1038},{"href":680,"dataGaName":681,"dataGaLocation":843},{"text":686,"config":1040},{"href":688,"dataGaName":689,"dataGaLocation":843},{"text":691,"config":1042},{"href":693,"dataGaName":694,"dataGaLocation":843},{"text":696,"config":1044},{"href":698,"dataGaName":699,"dataGaLocation":843},{"text":1046,"config":1047},"Développement durable",{"href":1048,"dataGaName":1049,"dataGaLocation":843},"/sustainability/","Sustainability",{"text":1051,"config":1052},"Diversité, inclusion et appartenance (DIB)",{"href":1053,"dataGaName":1054,"dataGaLocation":843},"/fr-fr/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":701,"config":1056},{"href":703,"dataGaName":704,"dataGaLocation":843},{"text":711,"config":1058},{"href":713,"dataGaName":714,"dataGaLocation":843},{"text":716,"config":1060},{"href":718,"dataGaName":719,"dataGaLocation":843},{"text":1062,"config":1063},"Déclaration de transparence sur l'esclavage moderne",{"href":1064,"dataGaName":1065,"dataGaLocation":843},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1067},[1068,1070,1072],{"text":891,"config":1069},{"href":893,"dataGaName":894,"dataGaLocation":843},{"text":901,"config":1071},{"dataGaName":903,"dataGaLocation":843,"id":904,"isOneTrustButton":376},{"text":896,"config":1073},{"href":898,"dataGaName":899,"dataGaLocation":843},[1075],{"id":1076,"title":7,"body":372,"config":1077,"content":1079,"description":372,"extension":1083,"meta":1084,"navigation":376,"path":1085,"seo":1086,"stem":1087,"__hash__":1088},"blogAuthors/en-us/blog/authors/veethika-mishra.yml",{"template":1078},"BlogAuthor",{"name":7,"config":1080},{"headshot":1081,"ctfId":1082},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749664676/Blog/Author%20Headshots/veethika-headshot.jpg","veethika","yml",{},"/en-us/blog/authors/veethika-mishra",{},"en-us/blog/authors/veethika-mishra","avkx2hzdTVpCmkhh26RGfXRkuPdPQWwSTuPDuHtSjSQ",[1090,1098,1106],{"title":1091,"description":1092,"heroImage":1093,"category":368,"date":1094,"authors":1095,"slug":1097,"externalUrl":372},"Green DevOps : l'importance de mesurer le bilan carbone de vos pipelines CI/CD","Les pipelines CI/CD ont un bilan carbone caché. Découvrez pourquoi il est crucial de le mesurer et comment vous lancer avec Eco CI et Carmen dans GitLab.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1765809212/noh0mdfn9o94ry9ykura.png","2026-07-22",[1096],"Lysanne Pinto","green-devops-carbon-measurement-cicd-pipeline",{"title":1099,"description":1100,"heroImage":1101,"category":368,"date":1102,"authors":1103,"slug":1105,"externalUrl":372},"Comment mettre en place l'observabilité CI/CD à grande échelle","Ce guide pratique consacré à l'analyse des pipelines GitLab aide les utilisateurs de GitLab Self-Managed à obtenir des indicateurs opérationnels exploitables grâce à Prometheus et Grafana.","https://res.cloudinary.com/about-gitlab-com/image/upload/f_auto,q_auto,c_lfill/v1774465167/n5hlvrsrheadeccyr1oz.png","2026-05-18",[1104],"Paul Meresanu","how-to-build-ci-cd-observability-at-scale",{"title":1107,"description":1108,"heroImage":1109,"category":368,"date":1110,"authors":1111,"slug":1113,"externalUrl":372},"5 modèles de pipeline GitLab pour résoudre vos enjeux d'ingénierie","Découvrez comment faire évoluer votre approche CI/CD avec des modèles composables pour les monorepos, les microservices, les environnements et la gouvernance.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1772721753/frfsm1qfscwrmsyzj1qn.png","2026-05-06",[1112],"Omid Khan","5-ways-gitlab-pipeline-logic-solves-real-engineering-problems",{"promotions":1115},[1116,1130,1142,1154],{"id":1117,"categories":1118,"header":1120,"text":1121,"button":1122,"image":1127},"ai-modernization",[1119],"ai","L'IA tient-elle ses promesses à grande échelle ?","Le questionnaire ne prendra pas plus de 5 minutes.",{"text":1123,"config":1124},"Obtenez votre score de maturité IA",{"href":1125,"dataGaName":1126,"dataGaLocation":605},"/fr-fr/assessments/ai-modernization-assessment/","modernization assessment",{"config":1128},{"src":1129},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":1131,"categories":1132,"header":1134,"text":1121,"button":1135,"image":1139},"devops-modernization",[1133,942],"product","Vous contentez-vous de gérer des outils ou de livrer des innovations ?",{"text":1136,"config":1137},"Obtenez votre score de maturité DevOps",{"href":1138,"dataGaName":1126,"dataGaLocation":605},"/fr-fr/assessments/devops-modernization-assessment/",{"config":1140},{"src":1141},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1143,"categories":1144,"header":1146,"text":1121,"button":1147,"image":1151},"security-modernization",[1145],"security","Faut-il sacrifier la rapidité pour garantir la sécurité ?",{"text":1148,"config":1149},"Obtenez votre score de maturité en matière de sécurité",{"href":1150,"dataGaName":1126,"dataGaLocation":605},"/fr-fr/assessments/security-modernization-assessment/",{"config":1152},{"src":1153},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1155,"paths":1156,"header":1159,"text":1160,"button":1161,"image":1166},"github-azure-migration",[1157,1158],"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":1162,"config":1163},"Découvrez les différences entre GitLab et GitHub",{"href":1164,"dataGaName":1165,"dataGaLocation":605},"/fr-fr/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1167},{"src":1141},{"header":1169,"blurb":1170,"button":1171,"secondaryButton":1175},"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":400,"config":1172},{"href":1173,"dataGaName":403,"dataGaLocation":1174},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/fr-fr/","feature",{"text":728,"config":1176},{"href":730,"dataGaName":408,"dataGaLocation":1174},1786803764746]