[{"data":1,"prerenderedAt":1445},["ShallowReactive",2],{"/fr-fr/blog/migrate-from-pipeline-variables-to-pipeline-inputs-for-better-security":3,"navigation-fr-fr":666,"banner-fr-fr":1100,"footer-fr-fr":1108,"blog-post-authors-fr-fr-Fabio Pitino":1346,"blog-related-posts-fr-fr-migrate-from-pipeline-variables-to-pipeline-inputs-for-better-security":1361,"blog-promotions-fr-fr":1383,"next-steps-fr-fr":1436},{"id":4,"title":5,"authors":6,"body":8,"category":646,"date":647,"description":648,"extension":649,"externalUrl":650,"faq":650,"featured":651,"heroImage":652,"meta":653,"navigation":241,"path":654,"seo":655,"slug":659,"stem":660,"tags":661,"template":664,"updatedDate":650,"__hash__":665},"blogPosts/fr-fr/blog/migrate-from-pipeline-variables-to-pipeline-inputs-for-better-security.md","Des variables aux intrants de pipeline pour une sécurité renforcée",[7],"Fabio Pitino",{"type":9,"value":10,"toc":634},"minimark",[11,29,38,51,56,65,98,103,317,325,329,338,348,351,390,403,412,416,420,429,447,450,454,457,462,470,475,481,485,506,509,605,609,612,615,618,621,630],[12,13,14,15,21,22,28],"p",{},"Les ",[16,17,20],"a",{"href":18,"rel":19},"https://docs.gitlab.com/ci/variables/#use-pipeline-variables",[],"variables de pipeline"," ont longtemps été un moyen pratique de personnaliser les ",[16,23,27],{"href":24,"rel":25,"title":26},"https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/",[],"Qu'est-ce qu'un pipeline CI/CD ?","pipelines CI/CD"," de GitLab dans l'environnement d'exécution. Toutefois, avec l'évolution des bonnes pratiques en matière de sécurité CI/CD, nous avons constaté qu'il était nécessaire de renforcer les contrôles liés à la personnalisation des pipelines. En l'absence de restrictions, les variables de pipeline permettent à tout utilisateur autorisé à déclencher un pipeline d'en modifier les valeurs sans validation ni vérification de type.",[12,30,31,32,37],{},"Au-delà des considérations de sécurité, les variables de pipeline présentent une documentation insuffisante et ne possèdent aucune déclaration explicite, ce qui rend difficile la compréhension des intrants attendus et la manière dont ces derniers sont utilisés tout au long du pipeline. Cette situation peut compliquer la maintenance et la mise en place d'une gouvernance appropriée de vos processus ",[16,33,36],{"href":34,"rel":35},"https://about.gitlab.com/fr-fr/topics/ci-cd/",[],"CI/CD",".",[39,40,41],"blockquote",{},[12,42,43],{},[44,45,46],"strong",{},[16,47,50],{"href":48,"rel":49},"https://about.gitlab.com/fr-fr/free-trial/devsecops/?utm_medium=blog&utm_source=blog&utm_campaign=eg_emea_x_trial_x_fr_blog_fr",[],"→ Essayez GitLab Ultimate et GitLab Duo Enterprise gratuitement.",[52,53,55],"h2",{"id":54},"découvrez-les-intrants-de-pipeline","Découvrez les intrants de pipeline",[12,57,58,59,64],{},"Au lieu de vous fier aux variables de pipeline, nous recommandons vivement d'utiliser la fonctionnalité des ",[16,60,63],{"href":61,"rel":62},"https://docs.gitlab.com/ci/inputs/#for-a-pipeline",[],"intrants de pipeline"," de GitLab, qui offrent les avantages suivants :",[66,67,68,80,86,92],"ul",{},[69,70,71,74,75,79],"li",{},[44,72,73],{},"Déclaration explicite"," : les intrants doivent être déclarés explicitement dans le fichier ",[76,77,78],"code",{},".gitlab-ci.yml"," et sont documentés de manière autonome.",[69,81,82,85],{},[44,83,84],{},"Sécurité des types"," : différents types d'intrants (chaîne, valeur booléenne, nombre, tableau) sont pris en charge.",[69,87,88,91],{},[44,89,90],{},"Validation intégrée"," : les valeurs d'intrants sont validées automatiquement.",[69,93,94,97],{},[44,95,96],{},"Sécurité renforcée"," : aucun risque d'attaques par injection de variables, car seuls les intrants déclarés peuvent être transmis de l'extérieur.",[99,100,102],"h3",{"id":101},"exemple","Exemple",[104,105,110],"pre",{"className":106,"code":107,"language":108,"meta":109,"style":109},"language-yaml shiki shiki-themes github-light","spec:\n  inputs:\n    deployment_env:\n      description: \"Target deployment environment\"\n      type: string\n      options: [\"staging\", \"production\"]\n      default: \"staging\"\n    enable_tests:\n      description: \"Run test suite\"\n      type: boolean\n      default: true\n\ntest:\n  script:\n    - echo \"Running tests\"\n  rules:\n    - if: $[[ inputs.enable_tests ]] == true\n\ndeploy:\n  script:\n    - echo \"Deploying to $[[ inputs.deployment_env ]]\"\n","yaml","",[76,111,112,125,133,141,154,165,186,197,205,215,225,236,243,251,259,268,276,289,294,302,309],{"__ignoreMap":109},[113,114,117,121],"span",{"class":115,"line":116},"line",1,[113,118,120],{"class":119},"shJU0","spec",[113,122,124],{"class":123},"sgsFI",":\n",[113,126,128,131],{"class":115,"line":127},2,[113,129,130],{"class":119},"  inputs",[113,132,124],{"class":123},[113,134,136,139],{"class":115,"line":135},3,[113,137,138],{"class":119},"    deployment_env",[113,140,124],{"class":123},[113,142,144,147,150],{"class":115,"line":143},4,[113,145,146],{"class":119},"      description",[113,148,149],{"class":123},": ",[113,151,153],{"class":152},"sYBdl","\"Target deployment environment\"\n",[113,155,157,160,162],{"class":115,"line":156},5,[113,158,159],{"class":119},"      type",[113,161,149],{"class":123},[113,163,164],{"class":152},"string\n",[113,166,168,171,174,177,180,183],{"class":115,"line":167},6,[113,169,170],{"class":119},"      options",[113,172,173],{"class":123},": [",[113,175,176],{"class":152},"\"staging\"",[113,178,179],{"class":123},", ",[113,181,182],{"class":152},"\"production\"",[113,184,185],{"class":123},"]\n",[113,187,189,192,194],{"class":115,"line":188},7,[113,190,191],{"class":119},"      default",[113,193,149],{"class":123},[113,195,196],{"class":152},"\"staging\"\n",[113,198,200,203],{"class":115,"line":199},8,[113,201,202],{"class":119},"    enable_tests",[113,204,124],{"class":123},[113,206,208,210,212],{"class":115,"line":207},9,[113,209,146],{"class":119},[113,211,149],{"class":123},[113,213,214],{"class":152},"\"Run test suite\"\n",[113,216,218,220,222],{"class":115,"line":217},10,[113,219,159],{"class":119},[113,221,149],{"class":123},[113,223,224],{"class":152},"boolean\n",[113,226,228,230,232],{"class":115,"line":227},11,[113,229,191],{"class":119},[113,231,149],{"class":123},[113,233,235],{"class":234},"sYu0t","true\n",[113,237,239],{"class":115,"line":238},12,[113,240,242],{"emptyLinePlaceholder":241},true,"\n",[113,244,246,249],{"class":115,"line":245},13,[113,247,248],{"class":119},"test",[113,250,124],{"class":123},[113,252,254,257],{"class":115,"line":253},14,[113,255,256],{"class":119},"  script",[113,258,124],{"class":123},[113,260,262,265],{"class":115,"line":261},15,[113,263,264],{"class":123},"    - ",[113,266,267],{"class":152},"echo \"Running tests\"\n",[113,269,271,274],{"class":115,"line":270},16,[113,272,273],{"class":119},"  rules",[113,275,124],{"class":123},[113,277,279,281,284,286],{"class":115,"line":278},17,[113,280,264],{"class":123},[113,282,283],{"class":119},"if",[113,285,149],{"class":123},[113,287,288],{"class":152},"$[[ inputs.enable_tests ]] == true\n",[113,290,292],{"class":115,"line":291},18,[113,293,242],{"emptyLinePlaceholder":241},[113,295,297,300],{"class":115,"line":296},19,[113,298,299],{"class":119},"deploy",[113,301,124],{"class":123},[113,303,305,307],{"class":115,"line":304},20,[113,306,256],{"class":119},[113,308,124],{"class":123},[113,310,312,314],{"class":115,"line":311},21,[113,313,264],{"class":123},[113,315,316],{"class":152},"echo \"Deploying to $[[ inputs.deployment_env ]]\"\n",[12,318,319,320,37],{},"Découvrez comment les intrants CI/CD sécurisent la transmission des paramètres typés dans ce ",[16,321,324],{"href":322,"rel":323},"https://about.gitlab.com/fr-fr/blog/ci-cd-inputs-secure-and-preferred-method-to-pass-parameters-to-a-pipeline/",[],"tutoriel",[52,326,328],{"id":327},"restreignez-les-variables-de-pipeline","Restreignez les variables de pipeline",[12,330,331,332,337],{},"Pour effectuer une transition efficace vers les intrants de pipeline et abandonner les variables de pipeline, vous devez configurer le paramètre ",[16,333,336],{"href":334,"rel":335},"https://docs.gitlab.com/ci/variables/#restrict-pipeline-variables",[],"« Rôle minimum autorisé à utiliser les variables de pipeline »",". Ce paramètre offre un contrôle précis sur les rôles autorisés à utiliser les variables de pipeline lors du déclenchement des pipelines.",[12,339,340,343,344,347],{},[44,341,342],{},"Au niveau du projet :"," accédez à ",[44,345,346],{},"Paramètres > CI/CD > Variables > Rôle minimum autorisé à utiliser les variables de pipeline"," de votre projet pour configurer ce paramètre.",[12,349,350],{},"Voici les options disponibles :",[66,352,353,363,372,381],{},[69,354,355,358,359,362],{},[44,356,357],{},"Aucun rôle autorisé"," (",[76,360,361],{},"no_one_allowed",") : il s'agit de l'option recommandée et la plus sécurisée, car elle empêche toute modification de variable.",[69,364,365,358,368,371],{},[44,366,367],{},"Développeur",[76,369,370],{},"developer",") : cette option autorise les développeurs et les rôles supérieurs à modifier les variables",[69,373,374,358,377,380],{},[44,375,376],{},"Chargé de maintenance",[76,378,379],{},"maintainer",") : cette option requiert le rôle de chargé de maintenance ou supérieur.",[69,382,383,358,386,389],{},[44,384,385],{},"Propriétaire",[76,387,388],{},"owner",") : seuls les propriétaires de projet peuvent modifier les variables.",[12,391,392,395,396,399,400,402],{},[44,393,394],{},"Au niveau du groupe :"," les chargés de maintenance de groupe peuvent accéder à ",[44,397,398],{},"Paramètres > CI/CD > Variables > Rôle autorisé par défaut à utiliser les variables de pipeline"," afin d'établir des valeurs par défaut sécurisées pour tous les nouveaux projets au sein de leur groupe et de garantir des politiques de sécurité cohérentes dans toute l'organisation. Nous recommandons là encore de sélectionner ",[44,401,357],{}," comme valeur par défaut. Ainsi, les nouveaux projets de ce groupe seront créés avec un paramètre sécurisé par défaut, mais les propriétaires de projet pourront toujours le modifier.",[12,404,405,406,411],{},"Lorsque les variables de pipeline sont totalement restreintes (en raison du paramètre « Aucun rôle autorisé »), les ",[16,407,410],{"href":408,"rel":409},"https://docs.gitlab.com/ci/pipelines/#prefill-variables-in-manual-pipelines",[],"variables préremplies"," n'apparaîtront pas dans le formulaire « Nouveau pipeline UI ».",[52,413,415],{"id":414},"migration-des-variables-de-pipeline","Migration des variables de pipeline",[99,417,419],{"id":418},"vérifiez-vos-projets-en-cours","Vérifiez vos projets en cours",[12,421,422,423,428],{},"Votre groupe peut comporter des projets pour lesquels les variables de pipeline sont activées par défaut alors qu'elles n'ont jamais été utilisées. Ces projets peuvent être migrés vers un paramètre plus sécurisé sans risque d'interruption. GitLab ",[16,424,427],{"href":425,"rel":426},"https://docs.gitlab.com/ci/variables/#enable-pipeline-variable-restriction-for-multiple-projects",[],"fournit une fonctionnalité de migration"," via les paramètres de groupe :",[66,430,431,437],{},[69,432,433,434],{},"Accédez à ",[44,435,436],{},"Paramètres > CI/CD > Variables",[69,438,439,440,443,444,37],{},"Dans ",[44,441,442],{},"Désactiver les variables de pipeline dans les projets qui ne les utilisent pas",", sélectionnez ",[44,445,446],{},"Démarrer la migration",[12,448,449],{},"Cette action désactive de manière sécurisée les variables de pipeline via les paramètres de projet pour tous les projets qui ne les ont pas utilisés depuis leur création.",[99,451,453],{"id":452},"transformez-les-variables-de-pipeline-en-intrants","Transformez les variables de pipeline en intrants",[12,455,456],{},"Pour chaque variable de pipeline identifiée, créez un intrant de pipeline correspondant.",[12,458,459],{},[44,460,461],{},"Avant (avec des variables de pipeline)",[104,463,468],{"className":464,"code":466,"language":467,"meta":109},[465],"language-text","variables:\n  DEPLOY_ENV:\n    description: \"Deployment environment\"\n    value: \"staging\"\n  ENABLE_CACHE:\n    description: \"Enable deployment cache\"\n    value: \"true\"\n  VERSION:\n    description: \"Application version\"\n    value: \"1.0.0\"\n\ndeploy:\n  script:\n    - echo \"Deploying version $VERSION to $DEPLOY_ENV\"\n    - |\n      if [ \"$ENABLE_CACHE\" = \"true\" ]; then\n        echo \"Cache enabled\"\n      fi\n","text",[76,469,466],{"__ignoreMap":109},[12,471,472],{},[44,473,474],{},"Après (avec des intrants de pipeline)",[104,476,479],{"className":477,"code":478,"language":467,"meta":109},[465],"spec:\n  inputs:\n    deploy_env:\n      description: \"Deployment environment\"\n      type: string\n      default: \"staging\"\n      options: [\"dev\", \"staging\", \"production\"]\n\n    enable_cache:\n      description: \"Enable deployment cache\"\n      type: boolean\n      default: true\n    \n    version:\n      description: \"Application version\"\n      type: string\n      default: \"1.0.0\"\n      regex: '^[0-9]+\\.[0-9]+\\.[0-9]+$'\n\ndeploy:\n  script:\n    - echo \"Deploying version $[[ inputs.version ]] to $[[ inputs.deploy_env ]]\"\n    - |\n      if [ \"$[[ inputs.enable_cache ]]\" = \"true\" ]; then\n        echo \"Cache enabled\"\n      fi\n",[76,480,478],{"__ignoreMap":109},[99,482,484],{"id":483},"migrez-les-jobs-de-déclenchement","Migrez les jobs de déclenchement",[12,486,487,488,491,492,495,496,179,498,501,502,505],{},"Si vous utilisez des jobs de déclenchement avec le mot-clé ",[76,489,490],{},"trigger",", assurez-vous qu'ils ne définissent pas de ",[76,493,494],{},"variables"," au niveau du job ou ne désactivent pas des variables héritées depuis un groupe principal comme ",[76,497,494],{},[76,499,500],{},"extends"," ou ",[76,503,504],{},"include",", car elles pourraient être transmises implicitement en aval en tant que variables de pipeline. Si les variables de pipeline sont restreintes sur le projet en aval, la création du pipeline échouera.",[12,507,508],{},"Envisagez de mettre à jour votre configuration CI pour utiliser des intrants de pipeline plutôt que des variables de pipeline.",[104,510,512],{"className":106,"code":511,"language":108,"meta":109,"style":109},"variables:\n  FOO: bar\n\ndeploy-staging:\n  inherit:\n    variables: false # otherwise FOO would be sent downstream as a pipeline variable\n  trigger:\n    project: myorg/deployer\n    inputs:\n      deployment_env: staging\n      enable_tests: true\n",[76,513,514,520,530,534,541,548,562,569,579,586,596],{"__ignoreMap":109},[113,515,516,518],{"class":115,"line":116},[113,517,494],{"class":119},[113,519,124],{"class":123},[113,521,522,525,527],{"class":115,"line":127},[113,523,524],{"class":119},"  FOO",[113,526,149],{"class":123},[113,528,529],{"class":152},"bar\n",[113,531,532],{"class":115,"line":135},[113,533,242],{"emptyLinePlaceholder":241},[113,535,536,539],{"class":115,"line":143},[113,537,538],{"class":119},"deploy-staging",[113,540,124],{"class":123},[113,542,543,546],{"class":115,"line":156},[113,544,545],{"class":119},"  inherit",[113,547,124],{"class":123},[113,549,550,553,555,558],{"class":115,"line":167},[113,551,552],{"class":119},"    variables",[113,554,149],{"class":123},[113,556,557],{"class":234},"false",[113,559,561],{"class":560},"sAwPA"," # otherwise FOO would be sent downstream as a pipeline variable\n",[113,563,564,567],{"class":115,"line":188},[113,565,566],{"class":119},"  trigger",[113,568,124],{"class":123},[113,570,571,574,576],{"class":115,"line":199},[113,572,573],{"class":119},"    project",[113,575,149],{"class":123},[113,577,578],{"class":152},"myorg/deployer\n",[113,580,581,584],{"class":115,"line":207},[113,582,583],{"class":119},"    inputs",[113,585,124],{"class":123},[113,587,588,591,593],{"class":115,"line":217},[113,589,590],{"class":119},"      deployment_env",[113,592,149],{"class":123},[113,594,595],{"class":152},"staging\n",[113,597,598,601,603],{"class":115,"line":227},[113,599,600],{"class":119},"      enable_tests",[113,602,149],{"class":123},[113,604,235],{"class":234},[52,606,608],{"id":607},"résumé","Résumé",[12,610,611],{},"La migration des variables de pipeline vers des intrants de pipeline représente une amélioration de sécurité qui protège votre infrastructure CI/CD contre les injections de variables tout en offrant une documentation, une sécurité des types et une validation renforcées. Avec ces restrictions et les intrants de pipeline, vous améliorez non seulement la sécurité, mais aussi la maintenance, la documentation autonome et la robustesse de vos pipelines.",[12,613,614],{},"Cette transition nécessite un effort initial, mais les bénéfices à long terme dépassent largement les coûts de migration. Commencez par restreindre les variables de pipeline au niveau du groupe pour les nouveaux projets, puis migrez systématiquement les pipelines existants en suivant l'approche étape par étape décrite ci-dessus.",[12,616,617],{},"La sécurité est un processus continu. Les intrants de pipeline représentent une étape importante dans la création d'un environnement CI/CD plus sécurisé et viennent compléter d'autres fonctionnalités de sécurité de GitLab telles que les branches protégées, les listes d'autorisation de tokens de job et les protections du registre de conteneurs.",[12,619,620],{},"Commencez à utiliser les intrants de pipeline dès maintenant !",[39,622,623],{},[12,624,625],{},[44,626,627],{},[16,628,50],{"href":48,"rel":629},[],[631,632,633],"style",{},"html pre.shiki code .shJU0, html code.shiki .shJU0{--shiki-default:#22863A}html pre.shiki code .sgsFI, html code.shiki .sgsFI{--shiki-default:#24292E}html pre.shiki code .sYBdl, html code.shiki .sYBdl{--shiki-default:#032F62}html pre.shiki code .sYu0t, html code.shiki .sYu0t{--shiki-default:#005CC5}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}",{"title":109,"searchDepth":127,"depth":127,"links":635},[636,639,640,645],{"id":54,"depth":127,"text":55,"children":637},[638],{"id":101,"depth":135,"text":102},{"id":327,"depth":127,"text":328},{"id":414,"depth":127,"text":415,"children":641},[642,643,644],{"id":418,"depth":135,"text":419},{"id":452,"depth":135,"text":453},{"id":483,"depth":135,"text":484},{"id":607,"depth":127,"text":608},"security","2025-11-13","Découvrez notre guide sur les contrôles renforcés liés à la personnalisation des pipelines, notamment sur la manière de mettre en œuvre des déclarations explicites, la sécurité des types et la validation.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1759320418/xjmqcozxzt4frx0hori3.png",{},"/fr-fr/blog/migrate-from-pipeline-variables-to-pipeline-inputs-for-better-security",{"config":656,"ogImage":652,"title":657,"description":658},{"noIndex":651},"Des variables aux intrants de pipeline","Guide sur les contrôles renforcés liés à la personnalisation des pipelines.","migrate-from-pipeline-variables-to-pipeline-inputs-for-better-security","fr-fr/blog/migrate-from-pipeline-variables-to-pipeline-inputs-for-better-security",[646,662,663,36],"DevSecOps","tutorial","BlogPost","6RAr2cqPL0aDPlQfMIGmJW6segP_XiyTHcILIeEqmIY",{"logo":667,"freeTrial":672,"sales":677,"login":682,"items":687,"search":1015,"minimal":1051,"duo":1070,"switchNav":1079,"pricingDeployment":1090},{"config":668},{"href":669,"dataGaName":670,"dataGaLocation":671},"/fr-fr/","gitlab logo","header",{"text":673,"config":674},"Commencer un essai gratuit",{"href":675,"dataGaName":676,"dataGaLocation":671},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr&glm_content=default-saas-trial/","free trial",{"text":678,"config":679},"Demander une démo",{"href":680,"dataGaName":681,"dataGaLocation":671},"/fr-fr/sales/?contact-topic=request-demo","sales",{"text":683,"config":684},"Connexion",{"href":685,"dataGaName":686,"dataGaLocation":671},"https://gitlab.com/users/sign_in/","sign in",[688,717,818,823,937,993],{"text":689,"config":690,"menu":692},"Plateforme",{"dataNavLevelOne":691},"platform",{"type":693,"columns":694},"cards",[695,701,709],{"title":689,"description":696,"link":697},"La plateforme d'orchestration intelligente pour le DevSecOps",{"text":698,"config":699},"Explorer notre plateforme",{"href":700,"dataGaName":691,"dataGaLocation":671},"/fr-fr/platform/",{"title":702,"description":703,"link":704},"GitLab Duo Agent Platform","L'IA agentique pour l'ensemble du cycle de développement logiciel",{"text":705,"config":706},"Découvrir GitLab Duo",{"href":707,"dataGaName":708,"dataGaLocation":671},"/fr-fr/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":710,"description":711,"link":712},"Pourquoi GitLab ?","Découvrez les principales raisons pour lesquelles les entreprises choisissent GitLab",{"text":713,"config":714},"En savoir plus",{"href":715,"dataGaName":716,"dataGaLocation":671},"/fr-fr/why-gitlab/","why gitlab",{"text":718,"left":241,"config":719,"menu":721},"Produit",{"dataNavLevelOne":720},"solutions",{"type":722,"link":723,"columns":727,"feature":797},"lists",{"text":724,"config":725},"Voir toutes les solutions",{"href":726,"dataGaName":720,"dataGaLocation":671},"/fr-fr/solutions/",[728,752,775],{"title":729,"description":730,"link":731,"items":736},"Automatisation","CI/CD et automatisation pour accélérer le déploiement",{"config":732},{"icon":733,"href":734,"dataGaName":735,"dataGaLocation":671},"AutomatedCodeAlt","/fr-fr/solutions/delivery-automation/","automated software delivery",[737,740,743,748],{"text":36,"config":738},{"href":739,"dataGaLocation":671,"dataGaName":36},"/fr-fr/solutions/continuous-integration/",{"text":702,"config":741},{"href":707,"dataGaLocation":671,"dataGaName":742},"gitlab duo agent platform - product menu",{"text":744,"config":745},"Gestion du code source",{"href":746,"dataGaLocation":671,"dataGaName":747},"/fr-fr/solutions/source-code-management/","Source Code Management",{"text":749,"config":750},"Livraison de logiciels automatisée",{"href":734,"dataGaLocation":671,"dataGaName":751},"Automated software delivery",{"title":753,"description":754,"link":755,"items":760},"Sécurité","Livrez du code plus rapidement sans compromettre la sécurité",{"config":756},{"href":757,"dataGaName":758,"dataGaLocation":671,"icon":759},"/fr-fr/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[761,765,770],{"text":762,"config":763},"Tests de sécurité des applications",{"href":757,"dataGaName":764,"dataGaLocation":671},"Application security testing",{"text":766,"config":767},"Sécurité de la chaîne d'approvisionnement logicielle",{"href":768,"dataGaLocation":671,"dataGaName":769},"/fr-fr/solutions/supply-chain/","Software supply chain security",{"text":771,"config":772},"Conformité logicielle",{"href":773,"dataGaName":774,"dataGaLocation":671},"/fr-fr/solutions/software-compliance/","software compliance",{"title":776,"link":777,"items":782},"Mesures",{"config":778},{"icon":779,"href":780,"dataGaName":781,"dataGaLocation":671},"DigitalTransformation","/fr-fr/solutions/visibility-measurement/","visibility and measurement",[783,787,792],{"text":784,"config":785},"Visibilité et mesures",{"href":780,"dataGaLocation":671,"dataGaName":786},"Visibility and Measurement",{"text":788,"config":789},"Gestion de la chaîne de valeur",{"href":790,"dataGaLocation":671,"dataGaName":791},"/fr-fr/solutions/value-stream-management/","Value Stream Management",{"text":793,"config":794},"Analyses et informations",{"href":795,"dataGaLocation":671,"dataGaName":796},"/fr-fr/solutions/analytics-and-insights/","Analytics and insights",{"title":798,"type":722,"items":799},"GitLab",[800,806,812],{"text":801,"config":802},"Entreprises",{"icon":803,"href":804,"dataGaLocation":671,"dataGaName":805},"Building","/fr-fr/enterprise/","enterprise",{"text":807,"config":808},"Pour les PME",{"icon":809,"href":810,"dataGaLocation":671,"dataGaName":811},"Work","/fr-fr/small-business/","small business",{"text":813,"config":814},"Pour le secteur public",{"icon":815,"href":816,"dataGaLocation":671,"dataGaName":817},"Organization","/fr-fr/solutions/public-sector/","public sector",{"text":819,"config":820},"Tarifs",{"href":821,"dataGaName":822,"dataGaLocation":671,"dataNavLevelOne":822},"/fr-fr/pricing/","pricing",{"text":824,"config":825,"menu":827},"Ressources",{"dataNavLevelOne":826},"resources",{"type":722,"link":828,"columns":832,"feature":926},{"text":829,"config":830},"Afficher toutes les ressources",{"href":831,"dataGaName":826,"dataGaLocation":671},"/fr-fr/resources/",[833,866,893],{"title":834,"items":835},"Premiers pas",[836,841,846,851,856,861],{"text":837,"config":838},"Installation",{"href":839,"dataGaName":840,"dataGaLocation":671},"/fr-fr/install/","install",{"text":842,"config":843},"Guides de démarrage",{"href":844,"dataGaName":845,"dataGaLocation":671},"/fr-fr/get-started/","quick setup checklists",{"text":847,"config":848},"Apprentissage",{"href":849,"dataGaLocation":671,"dataGaName":850},"https://university.gitlab.com/","learn",{"text":852,"config":853},"Documentation",{"href":854,"dataGaName":855,"dataGaLocation":671},"https://docs.gitlab.com/","product documentation",{"text":857,"config":858},"Vidéos sur les bonnes pratiques",{"href":859,"dataGaName":860,"dataGaLocation":671},"/fr-fr/getting-started-videos/","best practice videos",{"text":862,"config":863},"Intégrations",{"href":864,"dataGaName":865,"dataGaLocation":671},"/fr-fr/integrations/","integrations",{"title":867,"items":868},"Découvrir",[869,874,879,884,888],{"text":870,"config":871},"Témoignages clients",{"href":872,"dataGaName":873,"dataGaLocation":671},"/fr-fr/customers/","customer success stories",{"text":875,"config":876},"Blog",{"href":877,"dataGaName":878,"dataGaLocation":671},"/fr-fr/blog/","blog",{"text":880,"config":881},"Demo Hub",{"href":882,"dataGaName":883,"dataGaLocation":671},"/fr-fr/demo-hub/","demo hub",{"text":885,"config":886},"The Source",{"href":887,"dataGaName":878,"dataGaLocation":671},"/fr-fr/the-source/",{"text":889,"config":890},"Travail à distance",{"href":891,"dataGaName":892,"dataGaLocation":671},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":894,"items":895},"Connecter",[896,901,906,911,916,921],{"text":897,"config":898},"Services GitLab",{"href":899,"dataGaName":900,"dataGaLocation":671},"/fr-fr/services/","services",{"text":902,"config":903},"Contribuer",{"href":904,"dataGaName":905,"dataGaLocation":671},"https://contributors.gitlab.com","contribute",{"text":907,"config":908},"Communauté",{"href":909,"dataGaName":910,"dataGaLocation":671},"/community/","community",{"text":912,"config":913},"Forum",{"href":914,"dataGaName":915,"dataGaLocation":671},"https://forum.gitlab.com/","forum",{"text":917,"config":918},"Événements",{"href":919,"dataGaName":920,"dataGaLocation":671},"/events/","events",{"text":922,"config":923},"Partenaires",{"href":924,"dataGaName":925,"dataGaLocation":671},"/fr-fr/partners/","partners",{"config":927,"title":930,"text":931,"link":932},{"background":928,"textColor":929},"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":933,"config":934},"Lire les articles les plus récents",{"href":935,"dataGaName":936,"dataGaLocation":671},"/fr-fr/whats-new/","whats new",{"text":938,"config":939,"menu":941},"Société",{"dataNavLevelOne":940},"company",{"type":722,"columns":942},[943],{"items":944},[945,950,956,958,963,968,973,978,983,988],{"text":946,"config":947},"À propos",{"href":948,"dataGaName":949,"dataGaLocation":671},"/fr-fr/company/","about",{"text":951,"config":952,"footerGa":955},"Carrières",{"href":953,"dataGaName":954,"dataGaLocation":671},"/jobs/","jobs",{"dataGaName":954},{"text":917,"config":957},{"href":919,"dataGaName":920,"dataGaLocation":671},{"text":959,"config":960},"Leadership",{"href":961,"dataGaName":962,"dataGaLocation":671},"/company/team/e-group/","leadership",{"text":964,"config":965},"Manuel",{"href":966,"dataGaName":967,"dataGaLocation":671},"https://handbook.gitlab.com/","handbook",{"text":969,"config":970},"Relations avec les investisseurs",{"href":971,"dataGaName":972,"dataGaLocation":671},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":974,"config":975},"Trust Center",{"href":976,"dataGaName":977,"dataGaLocation":671},"/fr-fr/security/","trust center",{"text":979,"config":980},"Centre pour la transparence de l'IA",{"href":981,"dataGaName":982,"dataGaLocation":671},"/fr-fr/ai-transparency-center/","ai transparency center",{"text":984,"config":985},"Newsletter",{"href":986,"dataGaName":987,"dataGaLocation":671},"/company/contact/#contact-forms","newsletter",{"text":989,"config":990},"Presse",{"href":991,"dataGaName":992,"dataGaLocation":671},"/press/","press",{"text":994,"config":995,"menu":996},"Nous contacter",{"dataNavLevelOne":940},{"type":722,"columns":997},[998],{"items":999},[1000,1005,1010],{"text":1001,"config":1002},"Contacter l'équipe commerciale",{"href":1003,"dataGaName":1004,"dataGaLocation":671},"/fr-fr/sales/","talk to sales",{"text":1006,"config":1007},"Assistance GitLab",{"href":1008,"dataGaName":1009,"dataGaLocation":671},"https://support.gitlab.com/hc/en-us","support portal",{"text":1011,"config":1012},"Portail clients GitLab",{"href":1013,"dataGaName":1014,"dataGaLocation":671},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":1016,"login":1017,"suggestions":1024},"Fermer",{"text":1018,"link":1019},"Pour rechercher des dépôts et des projets, connectez-vous à",{"text":1020,"config":1021},"GitLab.com",{"href":685,"dataGaName":1022,"dataGaLocation":1023},"search login","search",{"text":1025,"default":1026},"Suggestions",[1027,1030,1035,1037,1042,1047],{"text":702,"config":1028},{"href":707,"dataGaName":1029,"dataGaLocation":1023},"GitLab Duo Agent Platform",{"text":1031,"config":1032},"Suggestions de code (IA)",{"href":1033,"dataGaName":1034,"dataGaLocation":1023},"/fr-fr/solutions/code-suggestions/","Code Suggestions (AI)",{"text":36,"config":1036},{"href":739,"dataGaName":36,"dataGaLocation":1023},{"text":1038,"config":1039},"GitLab sur AWS",{"href":1040,"dataGaName":1041,"dataGaLocation":1023},"/fr-fr/partners/technology-partners/aws/","GitLab on AWS",{"text":1043,"config":1044},"GitLab sur Google Cloud",{"href":1045,"dataGaName":1046,"dataGaLocation":1023},"/fr-fr/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":1048,"config":1049},"Pourquoi utiliser GitLab ?",{"href":715,"dataGaName":1050,"dataGaLocation":1023},"Why GitLab?",{"freeTrial":1052,"mobileIcon":1057,"desktopIcon":1062,"secondaryButton":1065},{"text":1053,"config":1054},"Commencer votre essai gratuit",{"href":1055,"dataGaName":676,"dataGaLocation":1056},"https://gitlab.com/-/trials/new/","nav",{"altText":1058,"config":1059},"Icône GitLab",{"src":1060,"dataGaName":1061,"dataGaLocation":1056},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":1058,"config":1063},{"src":1064,"dataGaName":1061,"dataGaLocation":1056},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":1066,"config":1067},"Commencer",{"href":1068,"dataGaName":1069,"dataGaLocation":1056},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr/get-started/","get started",{"freeTrial":1071,"mobileIcon":1075,"desktopIcon":1077},{"text":1072,"config":1073},"En savoir plus sur GitLab Duo",{"href":707,"dataGaName":1074,"dataGaLocation":1056},"gitlab duo",{"altText":1058,"config":1076},{"src":1060,"dataGaName":1061,"dataGaLocation":1056},{"altText":1058,"config":1078},{"src":1064,"dataGaName":1061,"dataGaLocation":1056},{"button":1080,"mobileIcon":1085,"desktopIcon":1087},{"text":1081,"config":1082},"/switch",{"href":1083,"dataGaName":1084,"dataGaLocation":1056},"#contact","switch",{"altText":1058,"config":1086},{"src":1060,"dataGaName":1061,"dataGaLocation":1056},{"altText":1058,"config":1088},{"src":1089,"dataGaName":1061,"dataGaLocation":1056},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":1091,"mobileIcon":1096,"desktopIcon":1098},{"text":1092,"config":1093},"Retour aux tarifs",{"href":821,"dataGaName":1094,"dataGaLocation":1056,"icon":1095},"back to pricing","GoBack",{"altText":1058,"config":1097},{"src":1060,"dataGaName":1061,"dataGaLocation":1056},{"altText":1058,"config":1099},{"src":1064,"dataGaName":1061,"dataGaLocation":1056},{"title":1101,"button":1102,"config":1106},"GitLab Orbit est arrivé : la couche de contexte pour les agents d'IA.",{"text":713,"config":1103},{"href":1104,"dataGaName":1105,"dataGaLocation":671},"/fr-fr/gitlab-orbit/","orbit",{"layout":1107,"disabled":651},"release",{"data":1109},{"text":1110,"source":1111,"edit":1117,"contribute":1122,"config":1126,"items":1131,"minimal":1338},"Git est une marque déposée de Software Freedom Conservancy et notre utilisation de « GitLab » est sous licence.",{"text":1112,"config":1113},"Afficher le code source de la page",{"href":1114,"dataGaName":1115,"dataGaLocation":1116},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":1118,"config":1119},"Modifier cette page",{"href":1120,"dataGaName":1121,"dataGaLocation":1116},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":902,"config":1123},{"href":1124,"dataGaName":1125,"dataGaLocation":1116},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":1127,"facebook":1128,"youtube":1129,"linkedin":1130},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[1132,1178,1230,1273,1305],{"title":819,"links":1133,"subMenu":1148},[1134,1138,1143],{"text":1135,"config":1136},"Voir les forfaits",{"href":821,"dataGaName":1137,"dataGaLocation":1116},"view plans",{"text":1139,"config":1140},"GitLab Premium",{"href":1141,"dataGaName":1142,"dataGaLocation":1116},"/fr-fr/pricing/premium/","why premium",{"text":1144,"config":1145},"GitLab Ultimate",{"href":1146,"dataGaName":1147,"dataGaLocation":1116},"/fr-fr/pricing/ultimate/","why ultimate",[1149],{"title":994,"links":1150},[1151,1153,1155,1158,1163,1168,1173],{"text":1001,"config":1152},{"href":1003,"dataGaName":681,"dataGaLocation":1116},{"text":1006,"config":1154},{"href":1008,"dataGaName":1009,"dataGaLocation":1116},{"text":1156,"config":1157},"Portail clients",{"href":1013,"dataGaName":1014,"dataGaLocation":1116},{"text":1159,"config":1160},"Statut",{"href":1161,"dataGaName":1162,"dataGaLocation":1116},"https://status.gitlab.com/","status",{"text":1164,"config":1165},"Conditions d'utilisation",{"href":1166,"dataGaName":1167,"dataGaLocation":1116},"/terms/","terms of use",{"text":1169,"config":1170},"Politique de confidentialité",{"href":1171,"dataGaName":1172,"dataGaLocation":1116},"/fr-fr/privacy/","privacy statement",{"text":1174,"config":1175},"Gestion des cookies",{"dataGaName":1176,"dataGaLocation":1116,"id":1177,"isOneTrustButton":241},"cookie preferences","ot-sdk-btn",{"title":718,"links":1179,"subMenu":1188},[1180,1184],{"text":1181,"config":1182},"Plateforme DevSecOps",{"href":700,"dataGaName":1183,"dataGaLocation":1116},"devsecops platform",{"text":1185,"config":1186},"Développement assisté par l'IA",{"href":707,"dataGaName":1187,"dataGaLocation":1116},"ai-assisted development",[1189],{"title":1190,"links":1191},"Thèmes",[1192,1196,1201,1206,1211,1215,1220,1225],{"text":36,"config":1193},{"href":1194,"dataGaName":1195,"dataGaLocation":1116},"/fr-fr/topics/ci-cd/","cicd",{"text":1197,"config":1198},"GitOps",{"href":1199,"dataGaName":1200,"dataGaLocation":1116},"/fr-fr/topics/gitops/","gitops",{"text":1202,"config":1203},"DevOps",{"href":1204,"dataGaName":1205,"dataGaLocation":1116},"/fr-fr/topics/devops/","devops",{"text":1207,"config":1208},"Contrôle de version",{"href":1209,"dataGaName":1210,"dataGaLocation":1116},"/fr-fr/topics/version-control/","version control",{"text":662,"config":1212},{"href":1213,"dataGaName":1214,"dataGaLocation":1116},"/fr-fr/topics/devsecops/","devsecops",{"text":1216,"config":1217},"Cloud-native",{"href":1218,"dataGaName":1219,"dataGaLocation":1116},"/fr-fr/topics/cloud-native/","cloud native",{"text":1221,"config":1222},"IA pour la programmation",{"href":1223,"dataGaName":1224,"dataGaLocation":1116},"/fr-fr/topics/devops/ai-for-coding/","ai for coding",{"text":1226,"config":1227},"IA agentique",{"href":1228,"dataGaName":1229,"dataGaLocation":1116},"/fr-fr/topics/agentic-ai/","agentic ai",{"title":1231,"links":1232},"Solutions",[1233,1236,1238,1243,1246,1249,1252,1255,1257,1260,1263,1268],{"text":762,"config":1234},{"href":757,"dataGaName":1235,"dataGaLocation":1116},"Application Security Testing",{"text":749,"config":1237},{"href":734,"dataGaName":735,"dataGaLocation":1116},{"text":1239,"config":1240},"Développement Agile",{"href":1241,"dataGaName":1242,"dataGaLocation":1116},"/fr-fr/solutions/agile-delivery/","agile delivery",{"text":744,"config":1244},{"href":746,"dataGaName":1245,"dataGaLocation":1116},"source code management",{"text":36,"config":1247},{"href":739,"dataGaName":1248,"dataGaLocation":1116},"continuous integration & delivery",{"text":788,"config":1250},{"href":790,"dataGaName":1251,"dataGaLocation":1116},"value stream management",{"text":1197,"config":1253},{"href":1254,"dataGaName":1200,"dataGaLocation":1116},"/fr-fr/solutions/gitops/",{"text":801,"config":1256},{"href":804,"dataGaName":805,"dataGaLocation":1116},{"text":1258,"config":1259},"PME",{"href":810,"dataGaName":811,"dataGaLocation":1116},{"text":1261,"config":1262},"Secteur public",{"href":816,"dataGaName":817,"dataGaLocation":1116},{"text":1264,"config":1265},"Éducation",{"href":1266,"dataGaName":1267,"dataGaLocation":1116},"/fr-fr/solutions/education/","education",{"text":1269,"config":1270},"Services financiers",{"href":1271,"dataGaName":1272,"dataGaLocation":1116},"/fr-fr/solutions/finance/","financial services",{"title":824,"links":1274},[1275,1277,1279,1281,1284,1286,1289,1291,1293,1295,1297,1299,1301,1303],{"text":837,"config":1276},{"href":839,"dataGaName":840,"dataGaLocation":1116},{"text":842,"config":1278},{"href":844,"dataGaName":845,"dataGaLocation":1116},{"text":847,"config":1280},{"href":849,"dataGaName":850,"dataGaLocation":1116},{"text":852,"config":1282},{"href":854,"dataGaName":1283,"dataGaLocation":1116},"docs",{"text":875,"config":1285},{"href":877,"dataGaName":878,"dataGaLocation":1116},{"text":1287,"config":1288},"Nouveautés",{"href":935,"dataGaName":936,"dataGaLocation":1116},{"text":870,"config":1290},{"href":872,"dataGaName":873,"dataGaLocation":1116},{"text":889,"config":1292},{"href":891,"dataGaName":892,"dataGaLocation":1116},{"text":897,"config":1294},{"href":899,"dataGaName":900,"dataGaLocation":1116},{"text":902,"config":1296},{"href":904,"dataGaName":905,"dataGaLocation":1116},{"text":907,"config":1298},{"href":909,"dataGaName":910,"dataGaLocation":1116},{"text":912,"config":1300},{"href":914,"dataGaName":915,"dataGaLocation":1116},{"text":917,"config":1302},{"href":919,"dataGaName":920,"dataGaLocation":1116},{"text":922,"config":1304},{"href":924,"dataGaName":925,"dataGaLocation":1116},{"title":938,"links":1306},[1307,1309,1311,1313,1315,1317,1322,1327,1329,1331,1333],{"text":946,"config":1308},{"href":948,"dataGaName":940,"dataGaLocation":1116},{"text":951,"config":1310},{"href":953,"dataGaName":954,"dataGaLocation":1116},{"text":959,"config":1312},{"href":961,"dataGaName":962,"dataGaLocation":1116},{"text":964,"config":1314},{"href":966,"dataGaName":967,"dataGaLocation":1116},{"text":969,"config":1316},{"href":971,"dataGaName":972,"dataGaLocation":1116},{"text":1318,"config":1319},"Développement durable",{"href":1320,"dataGaName":1321,"dataGaLocation":1116},"/sustainability/","Sustainability",{"text":1323,"config":1324},"Diversité, inclusion et appartenance (DIB)",{"href":1325,"dataGaName":1326,"dataGaLocation":1116},"/fr-fr/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":974,"config":1328},{"href":976,"dataGaName":977,"dataGaLocation":1116},{"text":984,"config":1330},{"href":986,"dataGaName":987,"dataGaLocation":1116},{"text":989,"config":1332},{"href":991,"dataGaName":992,"dataGaLocation":1116},{"text":1334,"config":1335},"Déclaration de transparence sur l'esclavage moderne",{"href":1336,"dataGaName":1337,"dataGaLocation":1116},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1339},[1340,1342,1344],{"text":1164,"config":1341},{"href":1166,"dataGaName":1167,"dataGaLocation":1116},{"text":1174,"config":1343},{"dataGaName":1176,"dataGaLocation":1116,"id":1177,"isOneTrustButton":241},{"text":1169,"config":1345},{"href":1171,"dataGaName":1172,"dataGaLocation":1116},[1347],{"id":1348,"title":7,"body":650,"config":1349,"content":1351,"description":650,"extension":1355,"meta":1356,"navigation":241,"path":1357,"seo":1358,"stem":1359,"__hash__":1360},"blogAuthors/en-us/blog/authors/fabio-pitino.yml",{"template":1350},"BlogAuthor",{"name":7,"config":1352},{"headshot":1353,"ctfId":1354},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659958/Blog/Author%20Headshots/fabiopitino-headshot.jpg","fabiopitino","yml",{},"/en-us/blog/authors/fabio-pitino",{},"en-us/blog/authors/fabio-pitino","Z13_RNj1RdIE3Ac9JR_WAE9yNsZLQCBC8l-w4fInLFY",[1362,1370,1375],{"title":1363,"description":1364,"heroImage":1365,"category":646,"date":1366,"authors":1367,"slug":1369,"externalUrl":650},"Le flow GitLab Duo Security Review détecte les failles logiques que les scanners n'identifient pas","Utilisez le raisonnement de sécurité piloté par l'IA pour détecter les failles d'autorisation, les erreurs de logique métier et les conditions de concurrence pendant la revue de code.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1783980535/t3gez0gpayfndrhncunf.png","2026-07-17",[1368],"Mark Settle","gitlab-duo-security-review-flow",{"title":1371,"description":1372,"heroImage":1365,"category":646,"date":1366,"authors":1373,"slug":1374,"externalUrl":650},"Une mise à jour de version fait échouer votre build ? GitLab le corrige !","Mettez à niveau vos dépendances automatiquement, adaptez le code en cas de changements cassants et transférez les modifications pour approbation : découvrez ces fonctionnalités natives uniquement proposées par GitLab, avec un contexte complet.",[1368],"dependency-scanning-auto-remediation",{"title":1376,"description":1377,"heroImage":1378,"category":646,"date":1379,"authors":1380,"slug":1382,"externalUrl":650},"GitLab : 5 façons de corriger les niveaux de gravité trompeurs des vulnérabilités","Les scores CVSS par défaut ne reflètent pas vos risques réels. Utilisez les politiques de remplacement de la gravité GitLab pour automatiser les ajustements en fonction des CVE, des CWE, du chemin de fichier et du répertoire.","https://res.cloudinary.com/about-gitlab-com/image/upload/f_auto,q_auto,c_lfill/v1772630163/akp8ly2mrsfrhsb0liyb.png","2026-07-07",[1381],"Grant Hickman","severity-override-vulnerability-management-policy",{"promotions":1384},[1385,1399,1411,1422],{"id":1386,"categories":1387,"header":1389,"text":1390,"button":1391,"image":1396},"ai-modernization",[1388],"ai","L'IA tient-elle ses promesses à grande échelle ?","Le questionnaire ne prendra pas plus de 5 minutes.",{"text":1392,"config":1393},"Obtenez votre score de maturité IA",{"href":1394,"dataGaName":1395,"dataGaLocation":878},"/fr-fr/assessments/ai-modernization-assessment/","modernization assessment",{"config":1397},{"src":1398},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":1400,"categories":1401,"header":1403,"text":1390,"button":1404,"image":1408},"devops-modernization",[1402,1214],"product","Vous contentez-vous de gérer des outils ou de livrer des innovations ?",{"text":1405,"config":1406},"Obtenez votre score de maturité DevOps",{"href":1407,"dataGaName":1395,"dataGaLocation":878},"/fr-fr/assessments/devops-modernization-assessment/",{"config":1409},{"src":1410},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1412,"categories":1413,"header":1414,"text":1390,"button":1415,"image":1419},"security-modernization",[646],"Faut-il sacrifier la rapidité pour garantir la sécurité ?",{"text":1416,"config":1417},"Obtenez votre score de maturité en matière de sécurité",{"href":1418,"dataGaName":1395,"dataGaLocation":878},"/fr-fr/assessments/security-modernization-assessment/",{"config":1420},{"src":1421},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1423,"paths":1424,"header":1427,"text":1428,"button":1429,"image":1434},"github-azure-migration",[1425,1426],"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":1430,"config":1431},"Découvrez les différences entre GitLab et GitHub",{"href":1432,"dataGaName":1433,"dataGaLocation":878},"/fr-fr/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1435},{"src":1410},{"header":1437,"blurb":1438,"button":1439,"secondaryButton":1443},"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":673,"config":1440},{"href":1441,"dataGaName":676,"dataGaLocation":1442},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/fr-fr/","feature",{"text":1001,"config":1444},{"href":1003,"dataGaName":681,"dataGaLocation":1442},1786803763897]