[{"data":1,"prerenderedAt":1744},["ShallowReactive",2],{"/fr-fr/blog/getting-started-with-gitlab-understanding-ci-cd":3,"navigation-fr-fr":962,"banner-fr-fr":1394,"footer-fr-fr":1402,"blog-post-authors-fr-fr-GitLab":1641,"blog-related-posts-fr-fr-getting-started-with-gitlab-understanding-ci-cd":1656,"blog-promotions-fr-fr":1682,"next-steps-fr-fr":1735},{"id":4,"title":5,"authors":6,"body":8,"category":938,"date":939,"description":940,"extension":941,"externalUrl":942,"faq":942,"featured":195,"heroImage":943,"meta":944,"navigation":195,"path":945,"seo":946,"slug":951,"stem":952,"tags":953,"template":959,"updatedDate":960,"__hash__":961},"blogPosts/fr-fr/blog/getting-started-with-gitlab-understanding-ci-cd.md","Premiers pas avec GitLab : comprendre l'approche CI/CD ",[7],"GitLab",{"type":9,"value":10,"toc":925},"minimark",[11,23,28,68,72,75,110,114,170,174,179,368,371,376,379,384,403,576,581,590,768,772,780,783,797,802,806,821,831,835,844,847,862,866,869,877,886,890,893,921],[12,13,14,15,22],"p",{},"Imaginez un cycle de développement logiciel dans lequel chaque modification de code est automatiquement compilée, testée, puis déployée auprès de vos utilisateurs. C'est tout l'intérêt de l'",[16,17,21],"a",{"href":18,"rel":19,"title":20},"https://about.gitlab.com/fr-fr/topics/ci-cd/",[],"Qu'est-ce que le CI/CD ? ","approche CI/CD"," (intégration continue/livraison continue) qui vous aide à détecter les bogues à un stade précoce, garantit la qualité du code et vous permet de livrer des logiciels plus rapidement et plus fréquemment.",[24,25,27],"h2",{"id":26},"quest-ce-que-lapproche-cicd","Qu'est-ce que l'approche CI/CD ?",[29,30,31],"ul",{},[32,33,34,44,45,54,55,59,60,63,64,67],"li",{},[35,36,37,38],"strong",{},"L'",[16,39,43],{"href":40,"rel":41,"title":42},"https://about.gitlab.com/fr-fr/topics/ci-cd/benefits-continuous-integration/",[],"Qu'est-ce que l'intégration continue ? ","intégration continue"," est une pratique de développement qui consiste à fusionner régulièrement les modifications apportées au code dans un dépôt partagé, de préférence plusieurs fois par jour, afin qu'elles soient vérifiées via un processus automatisé de compilation et de tests. Les équipes de développement peuvent ainsi détecter rapidement les problèmes et conflits éventuels.  * ",[35,46,47,48],{},"La ",[16,49,53],{"href":50,"rel":51,"title":52},"https://about.gitlab.com/fr-fr/topics/continuous-delivery/",[],"Qu'est-ce que la livraison continue ? ","livraison continue"," complète l'intégration continue en automatisant le pipeline pour la sortie de nouvelles versions. ",[56,57,58],"em",{},"À tout moment",", l'application reste déployable vers un environnement donné (par exemple, préproduction, production), en un seul clic ou par le biais d'un déclenchement automatique.  * ",[35,61,62],{},"Le déploiement continu"," pousse encore plus loin la logique d’automatisation. ",[56,65,66],{},"Chaque compilation réussie"," est directement mise en production, sans validation manuelle. Ce niveau d'automatisation requiert une confiance totale dans vos tests automatisés et vos processus de déploiement.",[24,69,71],{"id":70},"pourquoi-choisir-gitlabcicd","Pourquoi choisir GitLab CI/CD ?",[12,73,74],{},"Entièrement intégré à la plateforme GitLab, GitLab CI/CD est un système puissant, qui permet d'automatiser facilement chaque étape de votre cycle de développement logiciel. Avec GitLab CI/CD, vous pouvez notamment :",[29,76,77],{},[32,78,79,82,83,89,90,93,94,97,98,101,102,105,106,109],{},[35,80,81],{},"Automatiser l'intégralité de votre cycle de développement :"," compilation, tests, déploiement, tout peut être orchestré via le ",[16,84,88],{"href":85,"rel":86,"title":87},"https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/",[],"Qu'est-ce qu'un pipeline CI/CD ? ","pipeline CI/CD",".  * ",[35,91,92],{},"Détecter les bogues en amont :"," les problèmes sont identifiés et corrigés bien avant d’atteindre l'environnement de production. * ",[35,95,96],{},"Obtenir des retours immédiats :"," les équipes de développement obtiennent un retour rapide sur leurs modifications de code.  * ",[35,99,100],{},"Renforcer la collaboration :"," les workflows automatisés fluidifient le travail en équipe.  * ",[35,103,104],{},"Accélérer la livraison :"," les livraisons de nouvelles versions sont plus rapides et plus fréquentes.  * ",[35,107,108],{},"Réduire les risques :"," les erreurs de déploiement et les retours en arrière sont considérablement réduits.",[24,111,113],{"id":112},"quels-sont-les-principaux-composants-de-gitlabcicd","Quels sont les principaux composants de GitLab CI/CD ?",[29,115,116],{},[32,117,118,125,126,131,132,140,141,146,147,153,154,161,162,169],{},[35,119,120,124],{},[121,122,123],"code",{},".gitlab-ci.yml"," :"," ce ",[16,127,130],{"href":128,"rel":129},"https://docs.gitlab.com/ci/yaml/",[],"fichier YAML",", situé dans le répertoire racine de votre projet, définit l'ensemble du pipeline CI/CD, y compris les étapes, les jobs et les runners.  - ",[35,133,134,139],{},[16,135,138],{"href":136,"rel":137},"https://docs.gitlab.com/runner/",[],"GitLab Runner",":"," cet agent exécute les jobs CI/CD sur l'infrastructure de votre choix (par exemple, machines physiques, machines virtuelles, conteneurs ",[16,142,145],{"href":143,"rel":144,"title":145},"https://about.gitlab.com/fr-fr/blog/what-is-docker-comprehensive-guide/",[],"Docker"," ou clusters ",[16,148,152],{"href":149,"rel":150,"title":151},"https://about.gitlab.com/fr-fr/blog/kubernetes-the-container-orchestration-solution/",[],"Qu'est-ce que Kubernetes ? ","Kubernetes",").  - ",[35,155,156,139],{},[16,157,160],{"href":158,"rel":159},"https://docs.gitlab.com/ci/yaml/#stages",[],"Étapes"," elles définissent l'ordre d'exécution des jobs (par exemple, compilation, tests et déploiement).  - ",[35,163,164,139],{},[16,165,168],{"href":166,"rel":167},"https://docs.gitlab.com/ci/yaml/#job-keywords",[],"Jobs"," chaque job représente une unité de travail spécifique exécutée lors de l'étape correspondante (par exemple, compiler du code, exécuter des tests ou déployer dans l'environnement de préproduction).",[24,171,173],{"id":172},"comment-configurer-gitlabci","Comment configurer GitLab CI ?",[12,175,176,177,124],{},"GitLab CI est très facile à prendre en main. Voici un exemple basique de fichier ",[121,178,123],{},[180,181,186],"pre",{"className":182,"code":183,"language":184,"meta":185,"style":185},"language-yaml shiki shiki-themes github-light","\nstages:\n  - build\n  - test\n  - deploy\n\nbuild_job:\n  stage: build\n  script:\n    - echo \"Building the application...\"\n\ntest_job:\n  stage: test\n  script:\n    - echo \"Running tests...\"\n\ndeploy_job:\n  stage: deploy\n  script:\n    - echo \"Deploying to production...\"\n  environment:\n    name: production\n\n","yaml","",[121,187,188,197,208,218,226,234,239,247,258,266,275,280,288,297,304,312,317,325,334,341,349,357],{"__ignoreMap":185},[189,190,193],"span",{"class":191,"line":192},"line",1,[189,194,196],{"emptyLinePlaceholder":195},true,"\n",[189,198,200,204],{"class":191,"line":199},2,[189,201,203],{"class":202},"shJU0","stages",[189,205,207],{"class":206},"sgsFI",":\n",[189,209,211,214],{"class":191,"line":210},3,[189,212,213],{"class":206},"  - ",[189,215,217],{"class":216},"sYBdl","build\n",[189,219,221,223],{"class":191,"line":220},4,[189,222,213],{"class":206},[189,224,225],{"class":216},"test\n",[189,227,229,231],{"class":191,"line":228},5,[189,230,213],{"class":206},[189,232,233],{"class":216},"deploy\n",[189,235,237],{"class":191,"line":236},6,[189,238,196],{"emptyLinePlaceholder":195},[189,240,242,245],{"class":191,"line":241},7,[189,243,244],{"class":202},"build_job",[189,246,207],{"class":206},[189,248,250,253,256],{"class":191,"line":249},8,[189,251,252],{"class":202},"  stage",[189,254,255],{"class":206},": ",[189,257,217],{"class":216},[189,259,261,264],{"class":191,"line":260},9,[189,262,263],{"class":202},"  script",[189,265,207],{"class":206},[189,267,269,272],{"class":191,"line":268},10,[189,270,271],{"class":206},"    - ",[189,273,274],{"class":216},"echo \"Building the application...\"\n",[189,276,278],{"class":191,"line":277},11,[189,279,196],{"emptyLinePlaceholder":195},[189,281,283,286],{"class":191,"line":282},12,[189,284,285],{"class":202},"test_job",[189,287,207],{"class":206},[189,289,291,293,295],{"class":191,"line":290},13,[189,292,252],{"class":202},[189,294,255],{"class":206},[189,296,225],{"class":216},[189,298,300,302],{"class":191,"line":299},14,[189,301,263],{"class":202},[189,303,207],{"class":206},[189,305,307,309],{"class":191,"line":306},15,[189,308,271],{"class":206},[189,310,311],{"class":216},"echo \"Running tests...\"\n",[189,313,315],{"class":191,"line":314},16,[189,316,196],{"emptyLinePlaceholder":195},[189,318,320,323],{"class":191,"line":319},17,[189,321,322],{"class":202},"deploy_job",[189,324,207],{"class":206},[189,326,328,330,332],{"class":191,"line":327},18,[189,329,252],{"class":202},[189,331,255],{"class":206},[189,333,233],{"class":216},[189,335,337,339],{"class":191,"line":336},19,[189,338,263],{"class":202},[189,340,207],{"class":206},[189,342,344,346],{"class":191,"line":343},20,[189,345,271],{"class":206},[189,347,348],{"class":216},"echo \"Deploying to production...\"\n",[189,350,352,355],{"class":191,"line":351},21,[189,353,354],{"class":202},"  environment",[189,356,207],{"class":206},[189,358,360,363,365],{"class":191,"line":359},22,[189,361,362],{"class":202},"    name",[189,364,255],{"class":206},[189,366,367],{"class":216},"production\n",[12,369,370],{},"Cette configuration définit trois étapes : « compilation », « test » et « déploiement ». Chaque étape contient un job qui exécute un script simple.",[372,373,375],"h3",{"id":374},"exemples-de-configuration-cicd","Exemples de configuration CI/CD",[12,377,378],{},"Explorons quelques exemples plus concrets.",[12,380,381],{},[35,382,383],{},"Création, compilation et déploiement d'une application Node.js",[12,385,386,387,392,393,398,399,402],{},"Prenons l'exemple du pipeline ci-dessous qui compile et teste une application Node.js à l'aide de npm, puis la déploie sur Heroku via ",[16,388,391],{"href":389,"rel":390},"https://docs.gitlab.com/ci/examples/deployment/",[],"dpl",". L'étape de déploiement du pipeline utilise des ",[16,394,397],{"href":395,"rel":396},"https://docs.gitlab.com/ci/variables/",[],"variables GitLab CI/CD",", qui permettent de stocker des informations sensibles (par exemple, des identifiants de connexion) et de les utiliser en toute sécurité dans les processus CI/CD.\nDans cet exemple, une clé API pour déployer l'application sur Heroku est stockée sous le nom de variable ",[121,400,401],{},"$HEROKU_API_KEY",", cette clé étant utilisée par l'outil dpl.",[180,404,406],{"className":182,"code":405,"language":184,"meta":185,"style":185},"\nstages:\n  - build\n  - test\n  - deploy\n\nbuild:\n  stage: build\n  image: node:latest\n  script:\n    - npm install\n    - npm run build\n\ntest:\n  stage: test\n  image: node:latest\n  script:\n    - npm run test\n\ndeploy:\n  stage: deploy\n  image: ruby:latest\n  script:\n    - gem install dpl\n    - dpl --provider=heroku --app=$HEROKU_APP_NAME --api-key=$HEROKU_API_KEY\n\n",[121,407,408,412,418,424,430,436,440,447,455,465,471,478,485,489,496,504,512,518,525,529,536,544,553,560,568],{"__ignoreMap":185},[189,409,410],{"class":191,"line":192},[189,411,196],{"emptyLinePlaceholder":195},[189,413,414,416],{"class":191,"line":199},[189,415,203],{"class":202},[189,417,207],{"class":206},[189,419,420,422],{"class":191,"line":210},[189,421,213],{"class":206},[189,423,217],{"class":216},[189,425,426,428],{"class":191,"line":220},[189,427,213],{"class":206},[189,429,225],{"class":216},[189,431,432,434],{"class":191,"line":228},[189,433,213],{"class":206},[189,435,233],{"class":216},[189,437,438],{"class":191,"line":236},[189,439,196],{"emptyLinePlaceholder":195},[189,441,442,445],{"class":191,"line":241},[189,443,444],{"class":202},"build",[189,446,207],{"class":206},[189,448,449,451,453],{"class":191,"line":249},[189,450,252],{"class":202},[189,452,255],{"class":206},[189,454,217],{"class":216},[189,456,457,460,462],{"class":191,"line":260},[189,458,459],{"class":202},"  image",[189,461,255],{"class":206},[189,463,464],{"class":216},"node:latest\n",[189,466,467,469],{"class":191,"line":268},[189,468,263],{"class":202},[189,470,207],{"class":206},[189,472,473,475],{"class":191,"line":277},[189,474,271],{"class":206},[189,476,477],{"class":216},"npm install\n",[189,479,480,482],{"class":191,"line":282},[189,481,271],{"class":206},[189,483,484],{"class":216},"npm run build\n",[189,486,487],{"class":191,"line":290},[189,488,196],{"emptyLinePlaceholder":195},[189,490,491,494],{"class":191,"line":299},[189,492,493],{"class":202},"test",[189,495,207],{"class":206},[189,497,498,500,502],{"class":191,"line":306},[189,499,252],{"class":202},[189,501,255],{"class":206},[189,503,225],{"class":216},[189,505,506,508,510],{"class":191,"line":314},[189,507,459],{"class":202},[189,509,255],{"class":206},[189,511,464],{"class":216},[189,513,514,516],{"class":191,"line":319},[189,515,263],{"class":202},[189,517,207],{"class":206},[189,519,520,522],{"class":191,"line":327},[189,521,271],{"class":206},[189,523,524],{"class":216},"npm run test\n",[189,526,527],{"class":191,"line":336},[189,528,196],{"emptyLinePlaceholder":195},[189,530,531,534],{"class":191,"line":343},[189,532,533],{"class":202},"deploy",[189,535,207],{"class":206},[189,537,538,540,542],{"class":191,"line":351},[189,539,252],{"class":202},[189,541,255],{"class":206},[189,543,233],{"class":216},[189,545,546,548,550],{"class":191,"line":359},[189,547,459],{"class":202},[189,549,255],{"class":206},[189,551,552],{"class":216},"ruby:latest\n",[189,554,556,558],{"class":191,"line":555},23,[189,557,263],{"class":202},[189,559,207],{"class":206},[189,561,563,565],{"class":191,"line":562},24,[189,564,271],{"class":206},[189,566,567],{"class":216},"gem install dpl\n",[189,569,571,573],{"class":191,"line":570},25,[189,572,271],{"class":206},[189,574,575],{"class":216},"dpl --provider=heroku --app=$HEROKU_APP_NAME --api-key=$HEROKU_API_KEY\n",[12,577,578],{},[35,579,580],{},"Déploiement vers différents environnements (préproduction et production)",[12,582,583,584,589],{},"GitLab propose également la gestion des ",[16,585,588],{"href":586,"rel":587},"https://docs.gitlab.com/ci/environments/",[],"environnements"," au sein du pipeline CI/CD pour suivre les déploiements vers des cibles d'infrastructure. Dans l'exemple ci-dessous, le pipeline ajoute des étapes avec une propriété « environnement » pour les environnements de préproduction et de production. Alors que l'étape deploy_staging exécute son script automatiquement, l'étape deploy_production nécessite une approbation manuelle afin d'éviter tout déploiement accidentel en production.",[180,591,593],{"className":182,"code":592,"language":184,"meta":185,"style":185},"\nstages:\n  - build\n  - test\n  - deploy_staging\n  - deploy_production\n\nbuild:\n  # ...\n\ntest:\n  # ...\n\ndeploy_staging:\n  stage: deploy_staging\n  script:\n    - echo \"Deploying to staging...\"\n  environment:\n    name: staging\n\ndeploy_production:\n  stage: deploy_production\n  script:\n    - echo \"Deploying to production...\"\n  environment:\n    name: production\n  when: manual  # Requires manual approval\n\n",[121,594,595,599,605,611,617,624,631,635,641,647,651,657,661,665,672,680,686,693,699,708,712,719,727,733,739,745,754],{"__ignoreMap":185},[189,596,597],{"class":191,"line":192},[189,598,196],{"emptyLinePlaceholder":195},[189,600,601,603],{"class":191,"line":199},[189,602,203],{"class":202},[189,604,207],{"class":206},[189,606,607,609],{"class":191,"line":210},[189,608,213],{"class":206},[189,610,217],{"class":216},[189,612,613,615],{"class":191,"line":220},[189,614,213],{"class":206},[189,616,225],{"class":216},[189,618,619,621],{"class":191,"line":228},[189,620,213],{"class":206},[189,622,623],{"class":216},"deploy_staging\n",[189,625,626,628],{"class":191,"line":236},[189,627,213],{"class":206},[189,629,630],{"class":216},"deploy_production\n",[189,632,633],{"class":191,"line":241},[189,634,196],{"emptyLinePlaceholder":195},[189,636,637,639],{"class":191,"line":249},[189,638,444],{"class":202},[189,640,207],{"class":206},[189,642,643],{"class":191,"line":260},[189,644,646],{"class":645},"sAwPA","  # ...\n",[189,648,649],{"class":191,"line":268},[189,650,196],{"emptyLinePlaceholder":195},[189,652,653,655],{"class":191,"line":277},[189,654,493],{"class":202},[189,656,207],{"class":206},[189,658,659],{"class":191,"line":282},[189,660,646],{"class":645},[189,662,663],{"class":191,"line":290},[189,664,196],{"emptyLinePlaceholder":195},[189,666,667,670],{"class":191,"line":299},[189,668,669],{"class":202},"deploy_staging",[189,671,207],{"class":206},[189,673,674,676,678],{"class":191,"line":306},[189,675,252],{"class":202},[189,677,255],{"class":206},[189,679,623],{"class":216},[189,681,682,684],{"class":191,"line":314},[189,683,263],{"class":202},[189,685,207],{"class":206},[189,687,688,690],{"class":191,"line":319},[189,689,271],{"class":206},[189,691,692],{"class":216},"echo \"Deploying to staging...\"\n",[189,694,695,697],{"class":191,"line":327},[189,696,354],{"class":202},[189,698,207],{"class":206},[189,700,701,703,705],{"class":191,"line":336},[189,702,362],{"class":202},[189,704,255],{"class":206},[189,706,707],{"class":216},"staging\n",[189,709,710],{"class":191,"line":343},[189,711,196],{"emptyLinePlaceholder":195},[189,713,714,717],{"class":191,"line":351},[189,715,716],{"class":202},"deploy_production",[189,718,207],{"class":206},[189,720,721,723,725],{"class":191,"line":359},[189,722,252],{"class":202},[189,724,255],{"class":206},[189,726,630],{"class":216},[189,728,729,731],{"class":191,"line":555},[189,730,263],{"class":202},[189,732,207],{"class":206},[189,734,735,737],{"class":191,"line":562},[189,736,271],{"class":206},[189,738,348],{"class":216},[189,740,741,743],{"class":191,"line":570},[189,742,354],{"class":202},[189,744,207],{"class":206},[189,746,748,750,752],{"class":191,"line":747},26,[189,749,362],{"class":202},[189,751,255],{"class":206},[189,753,367],{"class":216},[189,755,757,760,762,765],{"class":191,"line":756},27,[189,758,759],{"class":202},"  when",[189,761,255],{"class":206},[189,763,764],{"class":216},"manual",[189,766,767],{"class":645},"  # Requires manual approval\n",[372,769,771],{"id":770},"gitlab-autodevops","GitLab Auto DevOps",[12,773,774,779],{},[16,775,778],{"href":776,"rel":777},"https://docs.gitlab.com/topics/autodevops/",[],"GitLab Auto DevOps"," simplifie encore plus l'approche CI/CD en fournissant une configuration prédéfinie pour compiler, tester et déployer automatiquement vos applications. Cette suite de fonctionnalités tire parti des bonnes pratiques et des normes du secteur pour rationaliser votre workflow.",[12,781,782],{},"Pour activer Auto DevOps :",[784,785,786],"ol",{},[32,787,788,789,792,793,796],{},"Accédez à ",[35,790,791],{},"Paramètres > CI/CD > Pipelines généraux",".  2. Activez l'option ",[35,794,795],{},"Auto DevOps",".",[12,798,799,800,796],{},"Auto DevOps détecte automatiquement le langage et le framework de votre projet et configure les étapes de compilation, de tests et de déploiement nécessaires. Il est donc inutile de créer un fichier ",[121,801,123],{},[372,803,805],{"id":804},"cataloguecicd","Catalogue CI/CD",[12,807,808,809,814,815,820],{},"Le catalogue CI/CD est une liste de projets contenant des ",[16,810,813],{"href":811,"rel":812},"https://docs.gitlab.com/ci/components/",[],"composants CI/CD"," publiés par la communauté, que vous pouvez utiliser pour optimiser votre workflow CI/CD. Vous pouvez y contribuer en ajoutant vos propres composants ou en enrichissant ceux déjà existants. Les composants publiés dans le ",[16,816,819],{"href":817,"rel":818},"https://gitlab.com/explore/catalog",[],"catalogue CI/CD"," sont disponibles sur GitLab.com.",[822,823,824],"blockquote",{},[12,825,826],{},[16,827,830],{"href":828,"rel":829},"https://about.gitlab.com/blog/tutorial-how-to-set-up-your-first-gitlab-ci-cd-component/",[],"Tutoriel : Comment configurer votre premier composant GitLab CI/CD",[372,832,834],{"id":833},"templates-ci","Templates CI",[12,836,837,838,843],{},"Vous pouvez également créer vos propres ",[16,839,842],{"href":840,"rel":841},"https://docs.gitlab.com/ci/examples/",[],"templates CI"," afin de standardiser et de réutiliser les configurations de vos pipelines CI/CD entre plusieurs projets. Cette pratique favorise la cohérence et réduit les doublons.",[12,845,846],{},"Pour créer un template CI :",[784,848,849],{},[32,850,851,852,854,855,857,858,861],{},"Créez un fichier ",[121,853,123],{}," dans un projet ou un dépôt dédié.  2. Définissez la configuration CI/CD souhaitée dans ce template.  3. Dans le fichier ",[121,856,123],{},", utilisez le terme ",[121,859,860],{},"include"," pour inclure ce template.",[24,863,865],{"id":864},"optimisez-votre-processus-de-développement","Optimisez votre processus de développement",[12,867,868],{},"GitLab CI/CD transforme en profondeur votre workflow de développement de logiciels. En maîtrisant ses concepts, en configurant efficacement vos pipelines CI/CD et en tirant parti de fonctionnalités tels qu'Auto DevOps, le catalogue CI/CD et les templates CI, vous pouvez automatiser l'ensemble de votre cycle de développement logiciel et livrer des logiciels de haute qualité plus rapidement et plus efficacement.",[12,870,871,872,796],{},"Vous souhaitez approfondir vos connaissances ? Inscrivez-vous aux ",[16,873,876],{"href":874,"rel":875},"https://university.gitlab.com/",[],"cours disponibles sur le portail GitLab University",[822,878,879],{},[12,880,881,796],{},[16,882,885],{"href":883,"rel":884},"https://about.gitlab.com/fr-fr/free-trial/",[],"Essayez GitLab Ultimate gratuitement",[24,887,889],{"id":888},"articles-de-la-série-premiers-pas-avec-gitlab","Articles de la série « Premiers pas avec GitLab »",[12,891,892],{},"Découvrez les autres articles de notre série « Premiers pas avec GitLab » :",[29,894,895,902,914],{},[32,896,897],{},[16,898,901],{"href":899,"rel":900},"https://about.gitlab.com/fr-fr/blog/getting-started-with-gitlab-how-to-manage-users/",[],"Comment gérer les utilisateurs",[32,903,904,213,909],{},[16,905,908],{"href":906,"rel":907},"https://about.gitlab.com/fr-fr/blog/getting-started-with-gitlab-how-to-import-your-projects-to-gitlab/",[],"Comment importer vos projets dans GitLab",[16,910,913],{"href":911,"rel":912},"https://about.gitlab.com/fr-fr/blog/getting-started-with-gitlab-mastering-project-management/",[],"Comment maîtriser la gestion de projet",[32,915,916],{},[16,917,920],{"href":918,"rel":919},"https://about.gitlab.com/fr-fr/blog/automating-agile-workflows-with-the-gitlab-triage-gem/",[],"La gemme gitlab-triage : votre alliée pour des workflows Agile automatisés",[922,923,924],"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 .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":185,"searchDepth":199,"depth":199,"links":926},[927,928,929,930,936,937],{"id":26,"depth":199,"text":27},{"id":70,"depth":199,"text":71},{"id":112,"depth":199,"text":113},{"id":172,"depth":199,"text":173,"children":931},[932,933,934,935],{"id":374,"depth":210,"text":375},{"id":770,"depth":210,"text":771},{"id":804,"depth":210,"text":805},{"id":833,"depth":210,"text":834},{"id":864,"depth":199,"text":865},{"id":888,"depth":199,"text":889},"product","2025-04-25","Découvrez tout ce que vous devez savoir sur l’approche CI/CD grâce à ce guide dédié aux débutants.","md",null,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659525/Blog/Hero%20Images/blog-getting-started-with-gitlab-banner-0497-option4-fy25.png",{},"/fr-fr/blog/getting-started-with-gitlab-understanding-ci-cd",{"title":5,"description":940,"ogTitle":5,"ogDescription":940,"noIndex":947,"ogImage":943,"ogUrl":948,"ogSiteName":949,"ogType":950,"canonicalUrls":948},false,"https://about.gitlab.com/blog/getting-started-with-gitlab-understanding-ci-cd","https://about.gitlab.com","article","getting-started-with-gitlab-understanding-ci-cd","fr-fr/blog/getting-started-with-gitlab-understanding-ci-cd",[954,955,956,957,938,958],"CI/CD","CI","CD","DevSecOps platform","tutorial","BlogPost","2025-05-26","yAvwdVaQjijf6g7NDzYA9N9KHNf0BTygBKWhAno1nRE",{"logo":963,"freeTrial":968,"sales":973,"login":978,"items":983,"search":1309,"minimal":1345,"duo":1364,"switchNav":1373,"pricingDeployment":1384},{"config":964},{"href":965,"dataGaName":966,"dataGaLocation":967},"/fr-fr/","gitlab logo","header",{"text":969,"config":970},"Commencer un essai gratuit",{"href":971,"dataGaName":972,"dataGaLocation":967},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr&glm_content=default-saas-trial/","free trial",{"text":974,"config":975},"Demander une démo",{"href":976,"dataGaName":977,"dataGaLocation":967},"/fr-fr/sales/?contact-topic=request-demo","sales",{"text":979,"config":980},"Connexion",{"href":981,"dataGaName":982,"dataGaLocation":967},"https://gitlab.com/users/sign_in/","sign in",[984,1013,1113,1118,1231,1287],{"text":985,"config":986,"menu":988},"Plateforme",{"dataNavLevelOne":987},"platform",{"type":989,"columns":990},"cards",[991,997,1005],{"title":985,"description":992,"link":993},"La plateforme d'orchestration intelligente pour le DevSecOps",{"text":994,"config":995},"Explorer notre plateforme",{"href":996,"dataGaName":987,"dataGaLocation":967},"/fr-fr/platform/",{"title":998,"description":999,"link":1000},"GitLab Duo Agent Platform","L'IA agentique pour l'ensemble du cycle de développement logiciel",{"text":1001,"config":1002},"Découvrir GitLab Duo",{"href":1003,"dataGaName":1004,"dataGaLocation":967},"/fr-fr/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":1006,"description":1007,"link":1008},"Pourquoi GitLab ?","Découvrez les principales raisons pour lesquelles les entreprises choisissent GitLab",{"text":1009,"config":1010},"En savoir plus",{"href":1011,"dataGaName":1012,"dataGaLocation":967},"/fr-fr/why-gitlab/","why gitlab",{"text":1014,"left":195,"config":1015,"menu":1017},"Produit",{"dataNavLevelOne":1016},"solutions",{"type":1018,"link":1019,"columns":1023,"feature":1093},"lists",{"text":1020,"config":1021},"Voir toutes les solutions",{"href":1022,"dataGaName":1016,"dataGaLocation":967},"/fr-fr/solutions/",[1024,1048,1071],{"title":1025,"description":1026,"link":1027,"items":1032},"Automatisation","CI/CD et automatisation pour accélérer le déploiement",{"config":1028},{"icon":1029,"href":1030,"dataGaName":1031,"dataGaLocation":967},"AutomatedCodeAlt","/fr-fr/solutions/delivery-automation/","automated software delivery",[1033,1036,1039,1044],{"text":954,"config":1034},{"href":1035,"dataGaLocation":967,"dataGaName":954},"/fr-fr/solutions/continuous-integration/",{"text":998,"config":1037},{"href":1003,"dataGaLocation":967,"dataGaName":1038},"gitlab duo agent platform - product menu",{"text":1040,"config":1041},"Gestion du code source",{"href":1042,"dataGaLocation":967,"dataGaName":1043},"/fr-fr/solutions/source-code-management/","Source Code Management",{"text":1045,"config":1046},"Livraison de logiciels automatisée",{"href":1030,"dataGaLocation":967,"dataGaName":1047},"Automated software delivery",{"title":1049,"description":1050,"link":1051,"items":1056},"Sécurité","Livrez du code plus rapidement sans compromettre la sécurité",{"config":1052},{"href":1053,"dataGaName":1054,"dataGaLocation":967,"icon":1055},"/fr-fr/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[1057,1061,1066],{"text":1058,"config":1059},"Tests de sécurité des applications",{"href":1053,"dataGaName":1060,"dataGaLocation":967},"Application security testing",{"text":1062,"config":1063},"Sécurité de la chaîne d'approvisionnement logicielle",{"href":1064,"dataGaLocation":967,"dataGaName":1065},"/fr-fr/solutions/supply-chain/","Software supply chain security",{"text":1067,"config":1068},"Conformité logicielle",{"href":1069,"dataGaName":1070,"dataGaLocation":967},"/fr-fr/solutions/software-compliance/","software compliance",{"title":1072,"link":1073,"items":1078},"Mesures",{"config":1074},{"icon":1075,"href":1076,"dataGaName":1077,"dataGaLocation":967},"DigitalTransformation","/fr-fr/solutions/visibility-measurement/","visibility and measurement",[1079,1083,1088],{"text":1080,"config":1081},"Visibilité et mesures",{"href":1076,"dataGaLocation":967,"dataGaName":1082},"Visibility and Measurement",{"text":1084,"config":1085},"Gestion de la chaîne de valeur",{"href":1086,"dataGaLocation":967,"dataGaName":1087},"/fr-fr/solutions/value-stream-management/","Value Stream Management",{"text":1089,"config":1090},"Analyses et informations",{"href":1091,"dataGaLocation":967,"dataGaName":1092},"/fr-fr/solutions/analytics-and-insights/","Analytics and insights",{"title":7,"type":1018,"items":1094},[1095,1101,1107],{"text":1096,"config":1097},"Entreprises",{"icon":1098,"href":1099,"dataGaLocation":967,"dataGaName":1100},"Building","/fr-fr/enterprise/","enterprise",{"text":1102,"config":1103},"Pour les PME",{"icon":1104,"href":1105,"dataGaLocation":967,"dataGaName":1106},"Work","/fr-fr/small-business/","small business",{"text":1108,"config":1109},"Pour le secteur public",{"icon":1110,"href":1111,"dataGaLocation":967,"dataGaName":1112},"Organization","/fr-fr/solutions/public-sector/","public sector",{"text":1114,"config":1115},"Tarifs",{"href":1116,"dataGaName":1117,"dataGaLocation":967,"dataNavLevelOne":1117},"/fr-fr/pricing/","pricing",{"text":1119,"config":1120,"menu":1122},"Ressources",{"dataNavLevelOne":1121},"resources",{"type":1018,"link":1123,"columns":1127,"feature":1220},{"text":1124,"config":1125},"Afficher toutes les ressources",{"href":1126,"dataGaName":1121,"dataGaLocation":967},"/fr-fr/resources/",[1128,1160,1187],{"title":1129,"items":1130},"Premiers pas",[1131,1136,1141,1145,1150,1155],{"text":1132,"config":1133},"Installation",{"href":1134,"dataGaName":1135,"dataGaLocation":967},"/fr-fr/install/","install",{"text":1137,"config":1138},"Guides de démarrage",{"href":1139,"dataGaName":1140,"dataGaLocation":967},"/fr-fr/get-started/","quick setup checklists",{"text":1142,"config":1143},"Apprentissage",{"href":874,"dataGaLocation":967,"dataGaName":1144},"learn",{"text":1146,"config":1147},"Documentation",{"href":1148,"dataGaName":1149,"dataGaLocation":967},"https://docs.gitlab.com/","product documentation",{"text":1151,"config":1152},"Vidéos sur les bonnes pratiques",{"href":1153,"dataGaName":1154,"dataGaLocation":967},"/fr-fr/getting-started-videos/","best practice videos",{"text":1156,"config":1157},"Intégrations",{"href":1158,"dataGaName":1159,"dataGaLocation":967},"/fr-fr/integrations/","integrations",{"title":1161,"items":1162},"Découvrir",[1163,1168,1173,1178,1182],{"text":1164,"config":1165},"Témoignages clients",{"href":1166,"dataGaName":1167,"dataGaLocation":967},"/fr-fr/customers/","customer success stories",{"text":1169,"config":1170},"Blog",{"href":1171,"dataGaName":1172,"dataGaLocation":967},"/fr-fr/blog/","blog",{"text":1174,"config":1175},"Demo Hub",{"href":1176,"dataGaName":1177,"dataGaLocation":967},"/fr-fr/demo-hub/","demo hub",{"text":1179,"config":1180},"The Source",{"href":1181,"dataGaName":1172,"dataGaLocation":967},"/fr-fr/the-source/",{"text":1183,"config":1184},"Travail à distance",{"href":1185,"dataGaName":1186,"dataGaLocation":967},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":1188,"items":1189},"Connecter",[1190,1195,1200,1205,1210,1215],{"text":1191,"config":1192},"Services GitLab",{"href":1193,"dataGaName":1194,"dataGaLocation":967},"/fr-fr/services/","services",{"text":1196,"config":1197},"Contribuer",{"href":1198,"dataGaName":1199,"dataGaLocation":967},"https://contributors.gitlab.com","contribute",{"text":1201,"config":1202},"Communauté",{"href":1203,"dataGaName":1204,"dataGaLocation":967},"/community/","community",{"text":1206,"config":1207},"Forum",{"href":1208,"dataGaName":1209,"dataGaLocation":967},"https://forum.gitlab.com/","forum",{"text":1211,"config":1212},"Événements",{"href":1213,"dataGaName":1214,"dataGaLocation":967},"/events/","events",{"text":1216,"config":1217},"Partenaires",{"href":1218,"dataGaName":1219,"dataGaLocation":967},"/fr-fr/partners/","partners",{"config":1221,"title":1224,"text":1225,"link":1226},{"background":1222,"textColor":1223},"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":1227,"config":1228},"Lire les articles les plus récents",{"href":1229,"dataGaName":1230,"dataGaLocation":967},"/fr-fr/whats-new/","whats new",{"text":1232,"config":1233,"menu":1235},"Société",{"dataNavLevelOne":1234},"company",{"type":1018,"columns":1236},[1237],{"items":1238},[1239,1244,1250,1252,1257,1262,1267,1272,1277,1282],{"text":1240,"config":1241},"À propos",{"href":1242,"dataGaName":1243,"dataGaLocation":967},"/fr-fr/company/","about",{"text":1245,"config":1246,"footerGa":1249},"Carrières",{"href":1247,"dataGaName":1248,"dataGaLocation":967},"/jobs/","jobs",{"dataGaName":1248},{"text":1211,"config":1251},{"href":1213,"dataGaName":1214,"dataGaLocation":967},{"text":1253,"config":1254},"Leadership",{"href":1255,"dataGaName":1256,"dataGaLocation":967},"/company/team/e-group/","leadership",{"text":1258,"config":1259},"Manuel",{"href":1260,"dataGaName":1261,"dataGaLocation":967},"https://handbook.gitlab.com/","handbook",{"text":1263,"config":1264},"Relations avec les investisseurs",{"href":1265,"dataGaName":1266,"dataGaLocation":967},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":1268,"config":1269},"Trust Center",{"href":1270,"dataGaName":1271,"dataGaLocation":967},"/fr-fr/security/","trust center",{"text":1273,"config":1274},"Centre pour la transparence de l'IA",{"href":1275,"dataGaName":1276,"dataGaLocation":967},"/fr-fr/ai-transparency-center/","ai transparency center",{"text":1278,"config":1279},"Newsletter",{"href":1280,"dataGaName":1281,"dataGaLocation":967},"/company/contact/#contact-forms","newsletter",{"text":1283,"config":1284},"Presse",{"href":1285,"dataGaName":1286,"dataGaLocation":967},"/press/","press",{"text":1288,"config":1289,"menu":1290},"Nous contacter",{"dataNavLevelOne":1234},{"type":1018,"columns":1291},[1292],{"items":1293},[1294,1299,1304],{"text":1295,"config":1296},"Contacter l'équipe commerciale",{"href":1297,"dataGaName":1298,"dataGaLocation":967},"/fr-fr/sales/","talk to sales",{"text":1300,"config":1301},"Assistance GitLab",{"href":1302,"dataGaName":1303,"dataGaLocation":967},"https://support.gitlab.com/hc/en-us","support portal",{"text":1305,"config":1306},"Portail clients GitLab",{"href":1307,"dataGaName":1308,"dataGaLocation":967},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":1310,"login":1311,"suggestions":1318},"Fermer",{"text":1312,"link":1313},"Pour rechercher des dépôts et des projets, connectez-vous à",{"text":1314,"config":1315},"GitLab.com",{"href":981,"dataGaName":1316,"dataGaLocation":1317},"search login","search",{"text":1319,"default":1320},"Suggestions",[1321,1324,1329,1331,1336,1341],{"text":998,"config":1322},{"href":1003,"dataGaName":1323,"dataGaLocation":1317},"GitLab Duo Agent Platform",{"text":1325,"config":1326},"Suggestions de code (IA)",{"href":1327,"dataGaName":1328,"dataGaLocation":1317},"/fr-fr/solutions/code-suggestions/","Code Suggestions (AI)",{"text":954,"config":1330},{"href":1035,"dataGaName":954,"dataGaLocation":1317},{"text":1332,"config":1333},"GitLab sur AWS",{"href":1334,"dataGaName":1335,"dataGaLocation":1317},"/fr-fr/partners/technology-partners/aws/","GitLab on AWS",{"text":1337,"config":1338},"GitLab sur Google Cloud",{"href":1339,"dataGaName":1340,"dataGaLocation":1317},"/fr-fr/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":1342,"config":1343},"Pourquoi utiliser GitLab ?",{"href":1011,"dataGaName":1344,"dataGaLocation":1317},"Why GitLab?",{"freeTrial":1346,"mobileIcon":1351,"desktopIcon":1356,"secondaryButton":1359},{"text":1347,"config":1348},"Commencer votre essai gratuit",{"href":1349,"dataGaName":972,"dataGaLocation":1350},"https://gitlab.com/-/trials/new/","nav",{"altText":1352,"config":1353},"Icône GitLab",{"src":1354,"dataGaName":1355,"dataGaLocation":1350},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":1352,"config":1357},{"src":1358,"dataGaName":1355,"dataGaLocation":1350},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":1360,"config":1361},"Commencer",{"href":1362,"dataGaName":1363,"dataGaLocation":1350},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr/get-started/","get started",{"freeTrial":1365,"mobileIcon":1369,"desktopIcon":1371},{"text":1366,"config":1367},"En savoir plus sur GitLab Duo",{"href":1003,"dataGaName":1368,"dataGaLocation":1350},"gitlab duo",{"altText":1352,"config":1370},{"src":1354,"dataGaName":1355,"dataGaLocation":1350},{"altText":1352,"config":1372},{"src":1358,"dataGaName":1355,"dataGaLocation":1350},{"button":1374,"mobileIcon":1379,"desktopIcon":1381},{"text":1375,"config":1376},"/switch",{"href":1377,"dataGaName":1378,"dataGaLocation":1350},"#contact","switch",{"altText":1352,"config":1380},{"src":1354,"dataGaName":1355,"dataGaLocation":1350},{"altText":1352,"config":1382},{"src":1383,"dataGaName":1355,"dataGaLocation":1350},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":1385,"mobileIcon":1390,"desktopIcon":1392},{"text":1386,"config":1387},"Retour aux tarifs",{"href":1116,"dataGaName":1388,"dataGaLocation":1350,"icon":1389},"back to pricing","GoBack",{"altText":1352,"config":1391},{"src":1354,"dataGaName":1355,"dataGaLocation":1350},{"altText":1352,"config":1393},{"src":1358,"dataGaName":1355,"dataGaLocation":1350},{"title":1395,"button":1396,"config":1400},"GitLab Orbit est arrivé : la couche de contexte pour les agents d'IA.",{"text":1009,"config":1397},{"href":1398,"dataGaName":1399,"dataGaLocation":967},"/fr-fr/gitlab-orbit/","orbit",{"layout":1401,"disabled":947},"release",{"data":1403},{"text":1404,"source":1405,"edit":1411,"contribute":1416,"config":1420,"items":1425,"minimal":1633},"Git est une marque déposée de Software Freedom Conservancy et notre utilisation de « GitLab » est sous licence.",{"text":1406,"config":1407},"Afficher le code source de la page",{"href":1408,"dataGaName":1409,"dataGaLocation":1410},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":1412,"config":1413},"Modifier cette page",{"href":1414,"dataGaName":1415,"dataGaLocation":1410},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":1196,"config":1417},{"href":1418,"dataGaName":1419,"dataGaLocation":1410},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":1421,"facebook":1422,"youtube":1423,"linkedin":1424},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[1426,1472,1525,1568,1600],{"title":1114,"links":1427,"subMenu":1442},[1428,1432,1437],{"text":1429,"config":1430},"Voir les forfaits",{"href":1116,"dataGaName":1431,"dataGaLocation":1410},"view plans",{"text":1433,"config":1434},"GitLab Premium",{"href":1435,"dataGaName":1436,"dataGaLocation":1410},"/fr-fr/pricing/premium/","why premium",{"text":1438,"config":1439},"GitLab Ultimate",{"href":1440,"dataGaName":1441,"dataGaLocation":1410},"/fr-fr/pricing/ultimate/","why ultimate",[1443],{"title":1288,"links":1444},[1445,1447,1449,1452,1457,1462,1467],{"text":1295,"config":1446},{"href":1297,"dataGaName":977,"dataGaLocation":1410},{"text":1300,"config":1448},{"href":1302,"dataGaName":1303,"dataGaLocation":1410},{"text":1450,"config":1451},"Portail clients",{"href":1307,"dataGaName":1308,"dataGaLocation":1410},{"text":1453,"config":1454},"Statut",{"href":1455,"dataGaName":1456,"dataGaLocation":1410},"https://status.gitlab.com/","status",{"text":1458,"config":1459},"Conditions d'utilisation",{"href":1460,"dataGaName":1461,"dataGaLocation":1410},"/terms/","terms of use",{"text":1463,"config":1464},"Politique de confidentialité",{"href":1465,"dataGaName":1466,"dataGaLocation":1410},"/fr-fr/privacy/","privacy statement",{"text":1468,"config":1469},"Gestion des cookies",{"dataGaName":1470,"dataGaLocation":1410,"id":1471,"isOneTrustButton":195},"cookie preferences","ot-sdk-btn",{"title":1014,"links":1473,"subMenu":1482},[1474,1478],{"text":1475,"config":1476},"Plateforme DevSecOps",{"href":996,"dataGaName":1477,"dataGaLocation":1410},"devsecops platform",{"text":1479,"config":1480},"Développement assisté par l'IA",{"href":1003,"dataGaName":1481,"dataGaLocation":1410},"ai-assisted development",[1483],{"title":1484,"links":1485},"Thèmes",[1486,1490,1495,1500,1505,1510,1515,1520],{"text":954,"config":1487},{"href":1488,"dataGaName":1489,"dataGaLocation":1410},"/fr-fr/topics/ci-cd/","cicd",{"text":1491,"config":1492},"GitOps",{"href":1493,"dataGaName":1494,"dataGaLocation":1410},"/fr-fr/topics/gitops/","gitops",{"text":1496,"config":1497},"DevOps",{"href":1498,"dataGaName":1499,"dataGaLocation":1410},"/fr-fr/topics/devops/","devops",{"text":1501,"config":1502},"Contrôle de version",{"href":1503,"dataGaName":1504,"dataGaLocation":1410},"/fr-fr/topics/version-control/","version control",{"text":1506,"config":1507},"DevSecOps",{"href":1508,"dataGaName":1509,"dataGaLocation":1410},"/fr-fr/topics/devsecops/","devsecops",{"text":1511,"config":1512},"Cloud-native",{"href":1513,"dataGaName":1514,"dataGaLocation":1410},"/fr-fr/topics/cloud-native/","cloud native",{"text":1516,"config":1517},"IA pour la programmation",{"href":1518,"dataGaName":1519,"dataGaLocation":1410},"/fr-fr/topics/devops/ai-for-coding/","ai for coding",{"text":1521,"config":1522},"IA agentique",{"href":1523,"dataGaName":1524,"dataGaLocation":1410},"/fr-fr/topics/agentic-ai/","agentic ai",{"title":1526,"links":1527},"Solutions",[1528,1531,1533,1538,1541,1544,1547,1550,1552,1555,1558,1563],{"text":1058,"config":1529},{"href":1053,"dataGaName":1530,"dataGaLocation":1410},"Application Security Testing",{"text":1045,"config":1532},{"href":1030,"dataGaName":1031,"dataGaLocation":1410},{"text":1534,"config":1535},"Développement Agile",{"href":1536,"dataGaName":1537,"dataGaLocation":1410},"/fr-fr/solutions/agile-delivery/","agile delivery",{"text":1040,"config":1539},{"href":1042,"dataGaName":1540,"dataGaLocation":1410},"source code management",{"text":954,"config":1542},{"href":1035,"dataGaName":1543,"dataGaLocation":1410},"continuous integration & delivery",{"text":1084,"config":1545},{"href":1086,"dataGaName":1546,"dataGaLocation":1410},"value stream management",{"text":1491,"config":1548},{"href":1549,"dataGaName":1494,"dataGaLocation":1410},"/fr-fr/solutions/gitops/",{"text":1096,"config":1551},{"href":1099,"dataGaName":1100,"dataGaLocation":1410},{"text":1553,"config":1554},"PME",{"href":1105,"dataGaName":1106,"dataGaLocation":1410},{"text":1556,"config":1557},"Secteur public",{"href":1111,"dataGaName":1112,"dataGaLocation":1410},{"text":1559,"config":1560},"Éducation",{"href":1561,"dataGaName":1562,"dataGaLocation":1410},"/fr-fr/solutions/education/","education",{"text":1564,"config":1565},"Services financiers",{"href":1566,"dataGaName":1567,"dataGaLocation":1410},"/fr-fr/solutions/finance/","financial services",{"title":1119,"links":1569},[1570,1572,1574,1576,1579,1581,1584,1586,1588,1590,1592,1594,1596,1598],{"text":1132,"config":1571},{"href":1134,"dataGaName":1135,"dataGaLocation":1410},{"text":1137,"config":1573},{"href":1139,"dataGaName":1140,"dataGaLocation":1410},{"text":1142,"config":1575},{"href":874,"dataGaName":1144,"dataGaLocation":1410},{"text":1146,"config":1577},{"href":1148,"dataGaName":1578,"dataGaLocation":1410},"docs",{"text":1169,"config":1580},{"href":1171,"dataGaName":1172,"dataGaLocation":1410},{"text":1582,"config":1583},"Nouveautés",{"href":1229,"dataGaName":1230,"dataGaLocation":1410},{"text":1164,"config":1585},{"href":1166,"dataGaName":1167,"dataGaLocation":1410},{"text":1183,"config":1587},{"href":1185,"dataGaName":1186,"dataGaLocation":1410},{"text":1191,"config":1589},{"href":1193,"dataGaName":1194,"dataGaLocation":1410},{"text":1196,"config":1591},{"href":1198,"dataGaName":1199,"dataGaLocation":1410},{"text":1201,"config":1593},{"href":1203,"dataGaName":1204,"dataGaLocation":1410},{"text":1206,"config":1595},{"href":1208,"dataGaName":1209,"dataGaLocation":1410},{"text":1211,"config":1597},{"href":1213,"dataGaName":1214,"dataGaLocation":1410},{"text":1216,"config":1599},{"href":1218,"dataGaName":1219,"dataGaLocation":1410},{"title":1232,"links":1601},[1602,1604,1606,1608,1610,1612,1617,1622,1624,1626,1628],{"text":1240,"config":1603},{"href":1242,"dataGaName":1234,"dataGaLocation":1410},{"text":1245,"config":1605},{"href":1247,"dataGaName":1248,"dataGaLocation":1410},{"text":1253,"config":1607},{"href":1255,"dataGaName":1256,"dataGaLocation":1410},{"text":1258,"config":1609},{"href":1260,"dataGaName":1261,"dataGaLocation":1410},{"text":1263,"config":1611},{"href":1265,"dataGaName":1266,"dataGaLocation":1410},{"text":1613,"config":1614},"Développement durable",{"href":1615,"dataGaName":1616,"dataGaLocation":1410},"/sustainability/","Sustainability",{"text":1618,"config":1619},"Diversité, inclusion et appartenance (DIB)",{"href":1620,"dataGaName":1621,"dataGaLocation":1410},"/fr-fr/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":1268,"config":1623},{"href":1270,"dataGaName":1271,"dataGaLocation":1410},{"text":1278,"config":1625},{"href":1280,"dataGaName":1281,"dataGaLocation":1410},{"text":1283,"config":1627},{"href":1285,"dataGaName":1286,"dataGaLocation":1410},{"text":1629,"config":1630},"Déclaration de transparence sur l'esclavage moderne",{"href":1631,"dataGaName":1632,"dataGaLocation":1410},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1634},[1635,1637,1639],{"text":1458,"config":1636},{"href":1460,"dataGaName":1461,"dataGaLocation":1410},{"text":1468,"config":1638},{"dataGaName":1470,"dataGaLocation":1410,"id":1471,"isOneTrustButton":195},{"text":1463,"config":1640},{"href":1465,"dataGaName":1466,"dataGaLocation":1410},[1642],{"id":1643,"title":1644,"body":942,"config":1645,"content":1647,"description":942,"extension":1650,"meta":1651,"navigation":195,"path":1652,"seo":1653,"stem":1654,"__hash__":1655},"blogAuthors/en-us/blog/authors/gitlab.yml","Gitlab",{"template":1646},"BlogAuthor",{"name":7,"config":1648},{"headshot":1649,"ctfId":7},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659488/Blog/Author%20Headshots/gitlab-logo-extra-whitespace.png","yml",{},"/en-us/blog/authors/gitlab",{},"en-us/blog/authors/gitlab","XCBKIcPoCs6zi2oHG7o-bAp52Jhaw8_zGhIJ2jNrEjU",[1657,1666,1674],{"title":1658,"description":1659,"heroImage":1660,"category":938,"date":1661,"authors":1662,"slug":1665,"externalUrl":942},"Maîtrisez vos sièges GitLab avec l'accès restreint","Découvrez comment la fonctionnalité d'accès restreint de GitLab permet d'éviter les dépassements de sièges, s'intègre à votre fournisseur d'identité et garantit des coûts de licence prévisibles.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1774375772/kpaaaiqhokevxxeoxvu0.png","2026-07-15",[1663,1664],"Magdalena Frankiewicz","Priyanka Palanikumar","gitlab-restricted-access-improvements",{"title":1667,"description":1668,"heroImage":1669,"category":938,"date":1670,"authors":1671,"slug":1673,"externalUrl":942},"Feature flags de GitLab en Python : guide de démarrage","Découvrez comment intégrer les feature flags de GitLab dans une application Flask en Python avec le SDK Unleash pour contrôler le déploiement progressif de fonctionnalités sans redéployer votre application.","https://res.cloudinary.com/about-gitlab-com/image/upload/f_auto,q_auto,c_lfill/v1774465167/n5hlvrsrheadeccyr1oz.png","2026-06-01",[1672],"Omid Khan","getting-started-with-gitlab-feature-flags-in-python",{"title":1675,"description":1676,"heroImage":1677,"category":938,"date":1678,"authors":1679,"slug":1681,"externalUrl":942},"Suivez l'utilisation des composants CI dans votre organisation","Avec GitLab 19.0, visualisez comment vos composants CI partagés sont utilisés dans votre organisation, afin de pouvoir prendre les mesures qui s'imposent en fonction de vos observations.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1779189265/iqzyhhiwagxzwywvjzow.png","2026-05-22",[1680],"Corinne Dent","track-ci-component-usage",{"promotions":1683},[1684,1698,1709,1721],{"id":1685,"categories":1686,"header":1688,"text":1689,"button":1690,"image":1695},"ai-modernization",[1687],"ai","L'IA tient-elle ses promesses à grande échelle ?","Le questionnaire ne prendra pas plus de 5 minutes.",{"text":1691,"config":1692},"Obtenez votre score de maturité IA",{"href":1693,"dataGaName":1694,"dataGaLocation":1172},"/fr-fr/assessments/ai-modernization-assessment/","modernization assessment",{"config":1696},{"src":1697},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":1699,"categories":1700,"header":1701,"text":1689,"button":1702,"image":1706},"devops-modernization",[938,1509],"Vous contentez-vous de gérer des outils ou de livrer des innovations ?",{"text":1703,"config":1704},"Obtenez votre score de maturité DevOps",{"href":1705,"dataGaName":1694,"dataGaLocation":1172},"/fr-fr/assessments/devops-modernization-assessment/",{"config":1707},{"src":1708},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1710,"categories":1711,"header":1713,"text":1689,"button":1714,"image":1718},"security-modernization",[1712],"security","Faut-il sacrifier la rapidité pour garantir la sécurité ?",{"text":1715,"config":1716},"Obtenez votre score de maturité en matière de sécurité",{"href":1717,"dataGaName":1694,"dataGaLocation":1172},"/fr-fr/assessments/security-modernization-assessment/",{"config":1719},{"src":1720},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1722,"paths":1723,"header":1726,"text":1727,"button":1728,"image":1733},"github-azure-migration",[1724,1725],"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":1729,"config":1730},"Découvrez les différences entre GitLab et GitHub",{"href":1731,"dataGaName":1732,"dataGaLocation":1172},"/fr-fr/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1734},{"src":1708},{"header":1736,"blurb":1737,"button":1738,"secondaryButton":1742},"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":969,"config":1739},{"href":1740,"dataGaName":972,"dataGaLocation":1741},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/fr-fr/","feature",{"text":1295,"config":1743},{"href":1297,"dataGaName":977,"dataGaLocation":1741},1786803746627]