[{"data":1,"prerenderedAt":805},["ShallowReactive",2],{"/fr-fr/topics/gitops/gitlab-enables-infrastructure-as-code":3,"navigation-fr-fr":100,"banner-fr-fr":519,"footer-fr-fr":532,"next-steps-fr-fr":741,"footer-source-/fr-fr/topics/gitops/gitlab-enables-infrastructure-as-code/":756},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"seo":8,"content":13,"_id":94,"_type":95,"title":7,"_source":96,"_file":97,"_stem":98,"_extension":99},"/fr-fr/topics/gitops/gitlab-enables-infrastructure-as-code","gitops",false,"",{"title":9,"description":10,"config":11},"Utilisez GitLab et Terraform pour déployer l'IaC : démo","Déployez l'Infrastructure as Code en utilisant Terraform pour l'automatisation et GitLab comme source unique de vérité.",{"ignoreTitleCharLimit":12},true,[14,28,35,92],{"type":15,"componentName":15,"componentContent":16},"CommonBreadcrumbs",{"crumbs":17},[18,22,26],{"title":19,"config":20},"Industry topics",{"href":21},"/topics/",{"title":23,"config":24},"GitOps",{"href":25},"/fr-fr/topics/gitops/",{"title":27},"Gitlab enables infrastructure as code",{"type":29,"componentName":29,"componentContent":30},"CommonArticleHero",{"title":31,"text":32,"config":33},"Utilisation de GitLab et Terraform pour déployer l'Infrastructure as Code : démo","Cette démo montre comment suivre une bonne pratique GitOps pour déployer l'Infrastructure as Code en utilisant Terraform pour l'automatisation et GitLab comme source unique de vérité.\n",{"id":34,"twoColumns":6},"utilisation-de-gitlab-et-terraform-pour-déployer-l'infrastructure-as-code-:-démo",{"type":36,"componentName":36,"componentContent":37},"CommonSideNavigationWithTree",{"anchors":38,"components":61},{"text":39,"data":40},"En savoir plus sur ce sujet",[41,45,49,53,57],{"text":42,"config":43},"Découvrez comment GitLab active l'Infrastructure as Code",{"href":44},"#learn-how-git-lab-enables-infrastructure-as-code",{"text":46,"config":47},"Construisez votre Infrastructure as Code dans GitLab",{"href":48},"#building-your-infrastructure-as-code-in-git-lab",{"text":50,"config":51},"À l'intérieur du sous-groupe de l'infrastructure",{"href":52},"#inside-the-infrastructure-subgroup",{"text":54,"config":55},"Déploiement de code à l'aide de l'intégration continue de GitLab",{"href":56},"#deploying-code-using-git-lab-ci",{"text":58,"config":59},"Vous souhaitez en savoir plus sur GitOps ?",{"href":60},"#ready-to-learn-more-about-git-ops",[62,67,72,77,82,87],{"type":63,"componentName":63,"componentContent":64},"TopicsCopy",{"text":65,"config":66},"Lorsque plusieurs équipes utilisent un dépôt Git comme source unique de vérité pour toutes les [infrastructures](/blog/using-ansible-and-gitlab-as-infrastructure-for-code/){data-ga-name=\"infrastructure\" data-ga-location=\"body\"} et le code de déploiement d'application, elles exécutent une bonne pratique GitOps. Les équipes Infrastructure peuvent collaborer et déployer du code sur plusieurs services cloud en utilisant Terraform pour l'automatisation. Cet article montre comment les équipes peuvent créer un cluster [Kubernetes](https://about.gitlab.com/fr-fr/blog/kubernetes-the-container-orchestration-solution/ \"Qu'est-ce que Kubernetes ? \") en collaborant avec leurs collègues au sein de GitLab.\n",{"id":7},{"type":63,"componentName":63,"componentContent":68},{"header":42,"text":69,"config":70},"Cette démo montre comment suivre une bonne pratique GitOps pour déployer l'Infrastructure as Code en utilisant Terraform pour l'automatisation et GitLab comme source unique de vérité et CI.\n",{"id":71},"learn-how-git-lab-enables-infrastructure-as-code",{"type":63,"componentName":63,"componentContent":73},{"header":46,"text":74,"config":75},"### Premiers pas\n\n_Ce [groupe gitops-demo](https://gitlab.com/gitops-demo) illustre les étapes que les équipes infra peuvent suivre._\n\nCommencez par vous connecter au groupe où se trouve le projet dans GitLab. L'étape suivante consiste à ouvrir le fichier [README.md](https://gitlab.com/gitops-demo/readme/blob/master/README.md), qui présente la structure sous-jacente du groupe gitops-demo. Il existe quelques projets individuels et deux sous-groupes : **[infrastructure](https://gitlab.com/gitops-demo/infra)** et **[applications](https://gitlab.com/gitops-demo/apps)**.\n",{"id":76},"building-your-infrastructure-as-code-in-git-lab",{"type":63,"componentName":63,"componentContent":78},{"header":50,"text":79,"config":80},"Il existe un dépôt distinct pour chaque cloud : Azure, GCP et AWS, ainsi qu'un dépôt pour les modèles.\nDes fichiers similaires peuvent être trouvés dans les trois dépôts du [cloud](/blog/gitlab-ci-cd-is-for-multi-cloud/){data-ga-name=\"cloud\" data-ga-location=\"body\"}. Tous les fichiers sont écrits dans Terraform pour automatiser le processus de déploiement, tandis qu'un fichier `gitlab-ci.yml` est également stocké dans le dépôt pour fournir des instructions pour l'automatisation.\n\n### Le fichier backend\n\nL'utilisation du [service Terraform Cloud](https://www.hashicorp.com/blog/announcing-terraform-cloud) d'HashiCorp comme emplacement distant pour le fichier d'état permet de sécuriser ce dernier et de le placer dans un emplacement central afin qu'il soit accessible par n'importe quel processus. L'un des avantages de Terraform Cloud est qu'il peut verrouiller l'état pour s'assurer qu'un seul job peut être exécuté à la fois, empêchant ainsi plusieurs jobs d'effectuer des modifications contradictoires. Le code stocke les fichiers d'état de [Terraform Cloud](https://app.terraform.io) dans une organisation appelée `gitops-demo` dans un espace de travail dénommé `aws`. Cela permet de conserver l'état d'exécution dans le fournisseur de services cloud, de sorte que n'importe quel membre de l'équipe peut y accéder à tout moment. Les équipes peuvent définir des paramètres tels que le type de sous-réseaux et le nombre de nœuds dans le fichier Terraform EKS.\n\n```\nmodule \"eks\" {\n  source           = \"terraform-aws-modules/eks/aws\"\n  cluster_name     = \"gitops-demo-eks\"\n  subnets          = \"${module.vpc.public_subnets}\"\n  write_kubeconfig = \"false\"\n  tags = {\n    Terraform   = \"true\"\n    Environment = \"dev\"\n  }\n  vpc_id = \"${module.vpc.vpc_id}\"\n  worker_groups = [\n    {\n      instance_type = \"m4.large\"\n      asg_max_size  = 5\n      tags = [{\n        key                 = \"Terraform\"\n        value               = \"true\"\n        propagate_at_launch = true\n      }]\n    }\n  ]\n}\n```\n{: .language-ruby}\n\n### Définir l'administrateur GitLab\n\nLe fournisseur Kubernetes peut être utilisé pour créer un utilisateur administrateur GitLab, configuré [automatiquement en tant que code et géré par Terraform](https://gitlab.com/gitops-demo/infra/aws/blob/master/gitlab-admin.tf). \n\n### Enregistrer le cluster avec GitLab\n\nMaintenant qu'un cluster Kubernetes a été créé, il est temps de l'enregistrer auprès de GitLab afin de déployer plus de code sur le cluster à l'avenir. La première étape consiste à utiliser le fournisseur GitLab pour créer un cluster de groupe nommé cluster AWS.\n\n```\ndata \"gitlab_group\" \"gitops-demo-apps\" {\n  full_path = \"gitops-demo/apps\"\n}\nprovider \"gitlab\" {\n  alias   = \"use-pre-release-plugin\"\n  version = \"v2.99.0\"\n}\nresource \"gitlab_group_cluster\" \"aws_cluster\" {\n  provider           = \"gitlab.use-pre-release-plugin\"\n  group              = \"${data.gitlab_group.gitops-demo-apps.id}\"\n  name               = \"${module.eks.cluster_id}\"\n  domain             = \"eks.gitops-demo.com\"\n  environment_scope  = \"eks/*\"\n  kubernetes_api_url = \"${module.eks.cluster_endpoint}\"\n  kubernetes_token   = \"${data.kubernetes_secret.gitlab-admin-token.data.token}\"\n  kubernetes_ca_cert = \"${trimspace(base64decode(module.eks.cluster_certificate_authority_data))}\"\n}\n```\n{: .language-ruby}\n\nLe code contient le nom de domaine, la portée de l'environnement et les identifiants Kubernetes. Après cela, le cluster sera créé dans AWS et automatiquement enregistré dans le groupe [gitops-demo/apps](https://gitlab.com/gitops-demo/apps).\n",{"id":81},"inside-the-infrastructure-subgroup",{"type":63,"componentName":63,"componentContent":83},{"header":54,"text":84,"config":85},"### Modèle Terraform\n\nRetournez dans le groupe d'infrastructure et ouvrez le dossier Modèles. En regardant le [fichier terraform.gitlab-ci.yml](https://gitlab.com/gitops-demo/infra/templates/blob/master/terraform.gitlab-ci.yml), il est possible de voir comment le CI fonctionne pour déployer le code de l'infrastructure dans le cloud à l'aide de Terraform.\n\nÀ l'intérieur du fichier CI, les équipes peuvent voir certaines des différentes étapes : valider, planifier, appliquer et détruire. En utilisant l'image de base Terraform de Hashicorp, les utilisateurs peuvent exécuter différentes tâches.\n\nLa première étape consiste à initialiser Terraform.\n\n```\nbefore_script:\n  - terraform --version\n  - terraform init\n  - apk add --update curl\n  - curl -o kubectl https://amazon-eks.s3-us-west-2.amazonaws.com/1.13.7/2019-06-11/bin/linux/amd64/kubectl\n  - install kubectl /usr/local/bin/ && rm kubectl\n  - curl -o aws-iam-authenticator https://amazon-eks.s3-us-west-2.amazonaws.com/1.13.7/2019-06-11/bin/linux/amd64/aws-iam-authenticator\n  - install aws-iam-authenticator /usr/local/bin/ && rm aws-iam-authenticator\n```\n{: .language-ruby}\n\nL'étape suivante consiste à valider que tout est correct.\n\n```\nvalidate:\n  stage: validate\n  script:\n    - terraform validate\n    - terraform fmt -check=true\n  only:\n    - branches\n```\n{: .language-ruby}\n\nIl est important de se rappeler que les bons workflows GitOps intègrent la création d'une [merge request](/blog/mr-reviews-with-vs-code/){data-ga-name=\"merge request\" data-ga-location=\"body\"} pour les modifications.\n\n```\nmerge review:\n  stage: plan\n  script:\n    - terraform plan -out=$PLAN\n    - echo \\`\\`\\`diff > plan.txt\n    - terraform show -no-color ${PLAN} | tee -a plan.txt\n    - echo \\`\\`\\` >> plan.txt\n    - sed -i -e 's/  +/+/g' plan.txt\n    - sed -i -e 's/  ~/~/g' plan.txt\n    - sed -i -e 's/  -/-/g' plan.txt\n    - MESSAGE=$(cat plan.txt)\n    - >-\n      curl -X POST -g -H \"PRIVATE-TOKEN: ${GITLAB_TOKEN}\"\n      --data-urlencode \"body=${MESSAGE}\"\n      \"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/merge_requests/${CI_MERGE_REQUEST_IID}/discussions\"\n  artifacts:\n    name: plan\n    paths:\n      - $PLAN\n  only:\n    - merge_requests\n```\n{: .language-ruby}\n\n### La merge request\n\nLa [merge request(MR)](https://gitlab.com/gitops-demo/infra/aws/merge_requests/6){data-ga-name=\"MR\" data-ga-location=\"body\"} est l'étape la plus importante dans GitOps. Il s'agit du processus permettant d'examiner toutes les modifications et de voir leur impact. La merge request est également un [outil de collaboration](/blog/merge-request-reviewers/){data-ga-name = \"collaboration tool\" data-ga-location = \"body\"} où les membres de l'équipe peuvent discuter des modifications et où les parties prenantes peuvent approuver les modifications avant la fusion finale dans la branche principale.\n\nLa merge request définit ce qui se passera lors de l'exécution de l'Infrastructure as Code. Le plan Terraform est téléchargé vers la merge request, une fois que celle-ci est créée. Quand toutes les modifications ont été examinées et approuvées, le code peut être fusionné dans la branche principale. Une fois les modifications de code fusionnées, toutes les modifications seront déployées en production.\n",{"id":86},"deploying-code-using-git-lab-ci",{"type":63,"componentName":63,"componentContent":88},{"header":58,"text":89,"config":90},"* [Que signifie Infrastructure as Code ?](/topics/gitops/infrastructure-as-code/){data-ga-name=\"infrastructure as code\" data-ga-location=\"body\"}\n* [Qu'est-ce que GitOps ?](/topics/gitops/){data-ga-name=\"what is gitops\" data-ga-location=\"body\"}\n* [Découvrez comment GitLab rationalise les workflows GitOps](/solutions/gitops/){data-ga-name=\"streamlines workflows\" data-ga-location=\"body\"}\n* [Découvrez l'avenir de GitOps auprès des leaders de l'industrie](/why/gitops-infrastructure-automation/){data-ga-name=\"industry leaders\" data-ga-location=\"body\"}\n* [Lisez le guide du débutant sur GitOps](https://page.gitlab.com/resources-ebook-beginner-guide-gitops.html)\n",{"id":91},"ready-to-learn-more-about-git-ops",{"type":93,"componentName":93},"CommonNextSteps","content:fr-fr:topics:gitops:gitlab-enables-infrastructure-as-code:index.yml","yaml","content","fr-fr/topics/gitops/gitlab-enables-infrastructure-as-code/index.yml","fr-fr/topics/gitops/gitlab-enables-infrastructure-as-code/index","yml",{"_path":101,"_dir":102,"_draft":6,"_partial":6,"_locale":7,"data":103,"_id":515,"_type":95,"title":516,"_source":96,"_file":517,"_stem":518,"_extension":99},"/shared/fr-fr/main-navigation","fr-fr",{"logo":104,"freeTrial":109,"sales":114,"login":119,"items":124,"search":456,"minimal":492,"duo":506},{"config":105},{"href":106,"dataGaName":107,"dataGaLocation":108},"/fr-fr/","gitlab logo","header",{"text":110,"config":111},"Commencer un essai gratuit",{"href":112,"dataGaName":113,"dataGaLocation":108},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":115,"config":116},"Contacter l'équipe commerciale",{"href":117,"dataGaName":118,"dataGaLocation":108},"/fr-fr/sales/","sales",{"text":120,"config":121},"Connexion",{"href":122,"dataGaName":123,"dataGaLocation":108},"https://gitlab.com/users/sign_in/","sign in",[125,169,266,271,377,437],{"text":126,"config":127,"cards":129,"footer":152},"Plateforme",{"dataNavLevelOne":128},"platform",[130,136,144],{"title":126,"description":131,"link":132},"La plateforme DevSecOps alimentée par l'IA la plus complète",{"text":133,"config":134},"Découvrir notre plateforme",{"href":135,"dataGaName":128,"dataGaLocation":108},"/fr-fr/platform/",{"title":137,"description":138,"link":139},"GitLab Duo (IA)","Créez des logiciels plus rapidement en tirant parti de l'IA à chaque étape du développement",{"text":140,"config":141},"Découvrez GitLab Duo",{"href":142,"dataGaName":143,"dataGaLocation":108},"/fr-fr/gitlab-duo/","gitlab duo ai",{"title":145,"description":146,"link":147},"Choisir GitLab","10 raisons pour lesquelles les entreprises choisissent GitLab",{"text":148,"config":149},"En savoir plus",{"href":150,"dataGaName":151,"dataGaLocation":108},"/fr-fr/why-gitlab/","why gitlab",{"title":153,"items":154},"Démarrer avec",[155,160,165],{"text":156,"config":157},"Ingénierie de plateforme",{"href":158,"dataGaName":159,"dataGaLocation":108},"/fr-fr/solutions/platform-engineering/","platform engineering",{"text":161,"config":162},"Expérience développeur",{"href":163,"dataGaName":164,"dataGaLocation":108},"/fr-fr/developer-experience/","Developer experience",{"text":166,"config":167},"MLOps",{"href":168,"dataGaName":166,"dataGaLocation":108},"/fr-fr/topics/devops/the-role-of-ai-in-devops/",{"text":170,"left":12,"config":171,"link":173,"lists":177,"footer":248},"Produit",{"dataNavLevelOne":172},"solutions",{"text":174,"config":175},"Voir toutes les solutions",{"href":176,"dataGaName":172,"dataGaLocation":108},"/fr-fr/solutions/",[178,204,226],{"title":179,"description":180,"link":181,"items":186},"Automatisation","CI/CD et automatisation pour accélérer le déploiement",{"config":182},{"icon":183,"href":184,"dataGaName":185,"dataGaLocation":108},"AutomatedCodeAlt","/fr-fr/solutions/delivery-automation/","automated software delivery",[187,191,195,200],{"text":188,"config":189},"CI/CD",{"href":190,"dataGaLocation":108,"dataGaName":188},"/fr-fr/solutions/continuous-integration/",{"text":192,"config":193},"Développement assisté par l'IA",{"href":142,"dataGaLocation":108,"dataGaName":194},"AI assisted development",{"text":196,"config":197},"Gestion du code source",{"href":198,"dataGaLocation":108,"dataGaName":199},"/fr-fr/solutions/source-code-management/","Source Code Management",{"text":201,"config":202},"Livraison de logiciels automatisée",{"href":184,"dataGaLocation":108,"dataGaName":203},"Automated software delivery",{"title":205,"description":206,"link":207,"items":212},"Securité","Livrez du code plus rapidement sans compromettre la sécurité",{"config":208},{"href":209,"dataGaName":210,"dataGaLocation":108,"icon":211},"/fr-fr/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[213,217,222],{"text":214,"config":215},"Application Security Testing",{"href":209,"dataGaName":216,"dataGaLocation":108},"Application security testing",{"text":218,"config":219},"Sécurité de la chaîne d'approvisionnement logicielle",{"href":220,"dataGaLocation":108,"dataGaName":221},"/fr-fr/solutions/supply-chain/","Software supply chain security",{"text":223,"config":224},"Software Compliance",{"href":225,"dataGaName":223,"dataGaLocation":108},"/fr-fr/solutions/software-compliance/",{"title":227,"link":228,"items":233},"Mesures",{"config":229},{"icon":230,"href":231,"dataGaName":232,"dataGaLocation":108},"DigitalTransformation","/fr-fr/solutions/visibility-measurement/","visibility and measurement",[234,238,243],{"text":235,"config":236},"Visibilité et mesures",{"href":231,"dataGaLocation":108,"dataGaName":237},"Visibility and Measurement",{"text":239,"config":240},"Gestion de la chaîne de valeur",{"href":241,"dataGaLocation":108,"dataGaName":242},"/fr-fr/solutions/value-stream-management/","Value Stream Management",{"text":244,"config":245},"Données d'analyse et informations clés",{"href":246,"dataGaLocation":108,"dataGaName":247},"/fr-fr/solutions/analytics-and-insights/","Analytics and insights",{"title":249,"items":250},"GitLab pour",[251,256,261],{"text":252,"config":253},"Entreprises",{"href":254,"dataGaLocation":108,"dataGaName":255},"/fr-fr/enterprise/","enterprise",{"text":257,"config":258},"PME",{"href":259,"dataGaLocation":108,"dataGaName":260},"/fr-fr/small-business/","small business",{"text":262,"config":263},"Secteur public",{"href":264,"dataGaLocation":108,"dataGaName":265},"/fr-fr/solutions/public-sector/","public sector",{"text":267,"config":268},"Tarifs",{"href":269,"dataGaName":270,"dataGaLocation":108,"dataNavLevelOne":270},"/fr-fr/pricing/","pricing",{"text":272,"config":273,"link":275,"lists":279,"feature":364},"Ressources",{"dataNavLevelOne":274},"resources",{"text":276,"config":277},"Afficher toutes les ressources",{"href":278,"dataGaName":274,"dataGaLocation":108},"/fr-fr/resources/",[280,313,336],{"title":281,"items":282},"Premiers pas",[283,288,293,298,303,308],{"text":284,"config":285},"Installation",{"href":286,"dataGaName":287,"dataGaLocation":108},"/fr-fr/install/","install",{"text":289,"config":290},"Guides de démarrage rapide",{"href":291,"dataGaName":292,"dataGaLocation":108},"/fr-fr/get-started/","quick setup checklists",{"text":294,"config":295},"Apprentissage",{"href":296,"dataGaLocation":108,"dataGaName":297},"https://university.gitlab.com/","learn",{"text":299,"config":300},"Documentation sur le produit",{"href":301,"dataGaName":302,"dataGaLocation":108},"https://docs.gitlab.com/","product documentation",{"text":304,"config":305},"Vidéos sur les bonnes pratiques",{"href":306,"dataGaName":307,"dataGaLocation":108},"/fr-fr/getting-started-videos/","best practice videos",{"text":309,"config":310},"Intégrations",{"href":311,"dataGaName":312,"dataGaLocation":108},"/fr-fr/integrations/","integrations",{"title":314,"items":315},"Découvrir",[316,321,326,331],{"text":317,"config":318},"Histoires de succès client",{"href":319,"dataGaName":320,"dataGaLocation":108},"/fr-fr/customers/","customer success stories",{"text":322,"config":323},"Blog",{"href":324,"dataGaName":325,"dataGaLocation":108},"/fr-fr/blog/","blog",{"text":327,"config":328},"Travail à distance",{"href":329,"dataGaName":330,"dataGaLocation":108},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"text":332,"config":333},"TeamOps",{"href":334,"dataGaName":335,"dataGaLocation":108},"/fr-fr/teamops/","teamops",{"title":337,"items":338},"Connecter",[339,344,349,354,359],{"text":340,"config":341},"Services GitLab",{"href":342,"dataGaName":343,"dataGaLocation":108},"/fr-fr/services/","services",{"text":345,"config":346},"Communauté",{"href":347,"dataGaName":348,"dataGaLocation":108},"/community/","community",{"text":350,"config":351},"Forum",{"href":352,"dataGaName":353,"dataGaLocation":108},"https://forum.gitlab.com/","forum",{"text":355,"config":356},"Événements",{"href":357,"dataGaName":358,"dataGaLocation":108},"/events/","events",{"text":360,"config":361},"Partenaires",{"href":362,"dataGaName":363,"dataGaLocation":108},"/fr-fr/partners/","partners",{"backgroundColor":365,"textColor":366,"text":367,"image":368,"link":372},"#2f2a6b","#fff","L'avenir du développement logiciel. Tendances et perspectives.",{"altText":369,"config":370},"carte promo The Source",{"src":371},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":373,"config":374},"Lire les articles les plus récents",{"href":375,"dataGaName":376,"dataGaLocation":108},"/fr-fr/the-source/","the source",{"text":378,"config":379,"lists":381},"Société",{"dataNavLevelOne":380},"company",[382],{"items":383},[384,389,395,397,402,407,412,417,422,427,432],{"text":385,"config":386},"À propos",{"href":387,"dataGaName":388,"dataGaLocation":108},"/fr-fr/company/","about",{"text":390,"config":391,"footerGa":394},"Emplois",{"href":392,"dataGaName":393,"dataGaLocation":108},"/jobs/","jobs",{"dataGaName":393},{"text":355,"config":396},{"href":357,"dataGaName":358,"dataGaLocation":108},{"text":398,"config":399},"Leadership",{"href":400,"dataGaName":401,"dataGaLocation":108},"/company/team/e-group/","leadership",{"text":403,"config":404},"Équipe",{"href":405,"dataGaName":406,"dataGaLocation":108},"/company/team/","team",{"text":408,"config":409},"Manuel",{"href":410,"dataGaName":411,"dataGaLocation":108},"https://handbook.gitlab.com/","handbook",{"text":413,"config":414},"Relations avec les investisseurs",{"href":415,"dataGaName":416,"dataGaLocation":108},"https://ir.gitlab.com/","investor relations",{"text":418,"config":419},"Centre de confiance",{"href":420,"dataGaName":421,"dataGaLocation":108},"/fr-fr/security/","trust center",{"text":423,"config":424},"Centre pour la transparence de l'IA",{"href":425,"dataGaName":426,"dataGaLocation":108},"/fr-fr/ai-transparency-center/","ai transparency center",{"text":428,"config":429},"Newsletter",{"href":430,"dataGaName":431,"dataGaLocation":108},"/company/contact/","newsletter",{"text":433,"config":434},"Presse",{"href":435,"dataGaName":436,"dataGaLocation":108},"/press/","press",{"text":438,"config":439,"lists":440},"Nous contacter",{"dataNavLevelOne":380},[441],{"items":442},[443,446,451],{"text":115,"config":444},{"href":117,"dataGaName":445,"dataGaLocation":108},"talk to sales",{"text":447,"config":448},"Aide",{"href":449,"dataGaName":450,"dataGaLocation":108},"/support/","get help",{"text":452,"config":453},"Portail clients GitLab",{"href":454,"dataGaName":455,"dataGaLocation":108},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":457,"login":458,"suggestions":465},"Fermer",{"text":459,"link":460},"Pour rechercher des dépôts et des projets, connectez-vous à",{"text":461,"config":462},"gitlab.com",{"href":122,"dataGaName":463,"dataGaLocation":464},"search login","search",{"text":466,"default":467},"Suggestions",[468,471,476,478,483,488],{"text":137,"config":469},{"href":142,"dataGaName":470,"dataGaLocation":464},"GitLab Duo (AI)",{"text":472,"config":473},"Suggestions de code (IA)",{"href":474,"dataGaName":475,"dataGaLocation":464},"/fr-fr/solutions/code-suggestions/","Code Suggestions (AI)",{"text":188,"config":477},{"href":190,"dataGaName":188,"dataGaLocation":464},{"text":479,"config":480},"GitLab sur AWS",{"href":481,"dataGaName":482,"dataGaLocation":464},"/fr-fr/partners/technology-partners/aws/","GitLab on AWS",{"text":484,"config":485},"GitLab sur Google Cloud ",{"href":486,"dataGaName":487,"dataGaLocation":464},"/fr-fr/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":489,"config":490},"Pourquoi utiliser GitLab ?",{"href":150,"dataGaName":491,"dataGaLocation":464},"Why GitLab?",{"freeTrial":493,"mobileIcon":498,"desktopIcon":503},{"text":494,"config":495},"Commencer votre essai gratuit",{"href":496,"dataGaName":113,"dataGaLocation":497},"https://gitlab.com/-/trials/new/","nav",{"altText":499,"config":500},"Icône GitLab",{"src":501,"dataGaName":502,"dataGaLocation":497},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":499,"config":504},{"src":505,"dataGaName":502,"dataGaLocation":497},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"freeTrial":507,"mobileIcon":511,"desktopIcon":513},{"text":508,"config":509},"En savoir plus sur GitLab Duo",{"href":142,"dataGaName":510,"dataGaLocation":497},"gitlab duo",{"altText":499,"config":512},{"src":501,"dataGaName":502,"dataGaLocation":497},{"altText":499,"config":514},{"src":505,"dataGaName":502,"dataGaLocation":497},"content:shared:fr-fr:main-navigation.yml","Main Navigation","shared/fr-fr/main-navigation.yml","shared/fr-fr/main-navigation",{"_path":520,"_dir":102,"_draft":6,"_partial":6,"_locale":7,"title":521,"titleMobile":521,"button":522,"config":527,"_id":529,"_type":95,"_source":96,"_file":530,"_stem":531,"_extension":99},"/shared/fr-fr/banner","GitLab Duo Agent Platform est maintenant disponible en version bêta publique !",{"text":523,"config":524},"Essayer la version bêta",{"href":525,"dataGaName":526,"dataGaLocation":108},"/fr-fr/gitlab-duo/agent-platform/","duo banner",{"layout":528},"release","content:shared:fr-fr:banner.yml","shared/fr-fr/banner.yml","shared/fr-fr/banner",{"_path":533,"_dir":102,"_draft":6,"_partial":6,"_locale":7,"data":534,"_id":737,"_type":95,"title":738,"_source":96,"_file":739,"_stem":740,"_extension":99},"/shared/fr-fr/main-footer",{"text":535,"source":536,"edit":542,"contribute":547,"config":552,"items":557,"minimal":728},"Git est une marque déposée de Software Freedom Conservancy et notre utilisation de « GitLab » est sous licence",{"text":537,"config":538},"Afficher le code source de la page",{"href":539,"dataGaName":540,"dataGaLocation":541},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":543,"config":544},"Modifier cette page",{"href":545,"dataGaName":546,"dataGaLocation":541},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":548,"config":549},"Veuillez contribuer",{"href":550,"dataGaName":551,"dataGaLocation":541},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":553,"facebook":554,"youtube":555,"linkedin":556},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[558,581,633,665,699],{"title":126,"links":559,"subMenu":564},[560],{"text":561,"config":562},"Plateforme DevSecOps",{"href":135,"dataGaName":563,"dataGaLocation":541},"devsecops platform",[565],{"title":267,"links":566},[567,571,576],{"text":568,"config":569},"Voir les forfaits",{"href":269,"dataGaName":570,"dataGaLocation":541},"view plans",{"text":572,"config":573},"Pourquoi choisir GitLab Premium ?",{"href":574,"dataGaName":575,"dataGaLocation":541},"/fr-fr/pricing/premium/","why premium",{"text":577,"config":578},"Pourquoi choisir GitLab Ultimate ?",{"href":579,"dataGaName":580,"dataGaLocation":541},"/fr-fr/pricing/ultimate/","why ultimate",{"title":582,"links":583},"Solutions",[584,589,592,594,599,604,608,611,614,617,619,621,623,628],{"text":585,"config":586},"Transformation digitale",{"href":587,"dataGaName":588,"dataGaLocation":541},"/fr-fr/topics/digital-transformation/","digital transformation",{"text":590,"config":591},"Sécurité et conformité",{"href":209,"dataGaName":216,"dataGaLocation":541},{"text":201,"config":593},{"href":184,"dataGaName":185,"dataGaLocation":541},{"text":595,"config":596},"Développement agile",{"href":597,"dataGaName":598,"dataGaLocation":541},"/fr-fr/solutions/agile-delivery/","agile delivery",{"text":600,"config":601},"Transformation cloud",{"href":602,"dataGaName":603,"dataGaLocation":541},"/fr-fr/topics/cloud-native/","cloud transformation",{"text":605,"config":606},"SCM",{"href":198,"dataGaName":607,"dataGaLocation":541},"source code management",{"text":188,"config":609},{"href":190,"dataGaName":610,"dataGaLocation":541},"continuous integration & delivery",{"text":239,"config":612},{"href":241,"dataGaName":613,"dataGaLocation":541},"value stream management",{"text":23,"config":615},{"href":616,"dataGaName":5,"dataGaLocation":541},"/fr-fr/solutions/gitops/",{"text":252,"config":618},{"href":254,"dataGaName":255,"dataGaLocation":541},{"text":257,"config":620},{"href":259,"dataGaName":260,"dataGaLocation":541},{"text":262,"config":622},{"href":264,"dataGaName":265,"dataGaLocation":541},{"text":624,"config":625},"Formation",{"href":626,"dataGaName":627,"dataGaLocation":541},"/fr-fr/solutions/education/","education",{"text":629,"config":630},"Services financiers",{"href":631,"dataGaName":632,"dataGaLocation":541},"/fr-fr/solutions/finance/","financial services",{"title":272,"links":634},[635,637,639,641,644,646,649,651,653,655,657,659,661,663],{"text":284,"config":636},{"href":286,"dataGaName":287,"dataGaLocation":541},{"text":289,"config":638},{"href":291,"dataGaName":292,"dataGaLocation":541},{"text":294,"config":640},{"href":296,"dataGaName":297,"dataGaLocation":541},{"text":299,"config":642},{"href":301,"dataGaName":643,"dataGaLocation":541},"docs",{"text":322,"config":645},{"href":324,"dataGaName":325},{"text":647,"config":648},"Histoires de réussite client",{"href":319,"dataGaLocation":541},{"text":317,"config":650},{"href":319,"dataGaName":320,"dataGaLocation":541},{"text":327,"config":652},{"href":329,"dataGaName":330,"dataGaLocation":541},{"text":340,"config":654},{"href":342,"dataGaName":343,"dataGaLocation":541},{"text":332,"config":656},{"href":334,"dataGaName":335,"dataGaLocation":541},{"text":345,"config":658},{"href":347,"dataGaName":348,"dataGaLocation":541},{"text":350,"config":660},{"href":352,"dataGaName":353,"dataGaLocation":541},{"text":355,"config":662},{"href":357,"dataGaName":358,"dataGaLocation":541},{"text":360,"config":664},{"href":362,"dataGaName":363,"dataGaLocation":541},{"title":378,"links":666},[667,669,671,673,675,677,679,683,688,690,692,694],{"text":385,"config":668},{"href":387,"dataGaName":380,"dataGaLocation":541},{"text":390,"config":670},{"href":392,"dataGaName":393,"dataGaLocation":541},{"text":398,"config":672},{"href":400,"dataGaName":401,"dataGaLocation":541},{"text":403,"config":674},{"href":405,"dataGaName":406,"dataGaLocation":541},{"text":408,"config":676},{"href":410,"dataGaName":411,"dataGaLocation":541},{"text":413,"config":678},{"href":415,"dataGaName":416,"dataGaLocation":541},{"text":680,"config":681},"Sustainability",{"href":682,"dataGaName":680,"dataGaLocation":541},"/sustainability/",{"text":684,"config":685},"Diversité, inclusion et appartenance (DIB)",{"href":686,"dataGaName":687,"dataGaLocation":541},"/fr-fr/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":418,"config":689},{"href":420,"dataGaName":421,"dataGaLocation":541},{"text":428,"config":691},{"href":430,"dataGaName":431,"dataGaLocation":541},{"text":433,"config":693},{"href":435,"dataGaName":436,"dataGaLocation":541},{"text":695,"config":696},"Déclaration de transparence sur l'esclavage moderne",{"href":697,"dataGaName":698,"dataGaLocation":541},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":438,"links":700},[701,704,706,708,713,718,723],{"text":702,"config":703},"Échanger avec un expert",{"href":117,"dataGaName":118,"dataGaLocation":541},{"text":447,"config":705},{"href":449,"dataGaName":450,"dataGaLocation":541},{"text":452,"config":707},{"href":454,"dataGaName":455,"dataGaLocation":541},{"text":709,"config":710},"Statut",{"href":711,"dataGaName":712,"dataGaLocation":541},"https://status.gitlab.com/","status",{"text":714,"config":715},"Conditions d'utilisation",{"href":716,"dataGaName":717},"/terms/","terms of use",{"text":719,"config":720},"Déclaration de confidentialité",{"href":721,"dataGaName":722,"dataGaLocation":541},"/fr-fr/privacy/","privacy statement",{"text":724,"config":725},"Préférences en matière de cookies",{"dataGaName":726,"dataGaLocation":541,"id":727,"isOneTrustButton":12},"cookie preferences","ot-sdk-btn",{"items":729},[730,732,735],{"text":714,"config":731},{"href":716,"dataGaName":717,"dataGaLocation":541},{"text":733,"config":734},"Politique de confidentialité",{"href":721,"dataGaName":722,"dataGaLocation":541},{"text":724,"config":736},{"dataGaName":726,"dataGaLocation":541,"id":727,"isOneTrustButton":12},"content:shared:fr-fr:main-footer.yml","Main Footer","shared/fr-fr/main-footer.yml","shared/fr-fr/main-footer",{"_path":742,"_dir":102,"_draft":6,"_partial":6,"_locale":7,"header":743,"eyebrow":744,"blurb":745,"button":746,"secondaryButton":750,"_id":752,"_type":95,"title":753,"_source":96,"_file":754,"_stem":755,"_extension":99},"/shared/fr-fr/next-steps","Commencez à livrer des logiciels de meilleurs qualité plus rapidement","Plus de 50 % des entreprises du classement Fortune 100 font confiance à GitLab","Découvrez comment la plateforme DevSecOps intelligente\n\n\npeut aider votre équipe.\n",{"text":110,"config":747},{"href":748,"dataGaName":113,"dataGaLocation":749},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":115,"config":751},{"href":117,"dataGaName":118,"dataGaLocation":749},"content:shared:fr-fr:next-steps.yml","Next Steps","shared/fr-fr/next-steps.yml","shared/fr-fr/next-steps",{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"seo":757,"content":759,"_id":94,"_type":95,"title":7,"_source":96,"_file":97,"_stem":98,"_extension":99},{"title":9,"description":10,"config":758},{"ignoreTitleCharLimit":12},[760,768,771,804],{"type":15,"componentName":15,"componentContent":761},{"crumbs":762},[763,765,767],{"title":19,"config":764},{"href":21},{"title":23,"config":766},{"href":25},{"title":27},{"type":29,"componentName":29,"componentContent":769},{"title":31,"text":32,"config":770},{"id":34,"twoColumns":6},{"type":36,"componentName":36,"componentContent":772},{"anchors":773,"components":785},{"text":39,"data":774},[775,777,779,781,783],{"text":42,"config":776},{"href":44},{"text":46,"config":778},{"href":48},{"text":50,"config":780},{"href":52},{"text":54,"config":782},{"href":56},{"text":58,"config":784},{"href":60},[786,789,792,795,798,801],{"type":63,"componentName":63,"componentContent":787},{"text":65,"config":788},{"id":7},{"type":63,"componentName":63,"componentContent":790},{"header":42,"text":69,"config":791},{"id":71},{"type":63,"componentName":63,"componentContent":793},{"header":46,"text":74,"config":794},{"id":76},{"type":63,"componentName":63,"componentContent":796},{"header":50,"text":79,"config":797},{"id":81},{"type":63,"componentName":63,"componentContent":799},{"header":54,"text":84,"config":800},{"id":86},{"type":63,"componentName":63,"componentContent":802},{"header":58,"text":89,"config":803},{"id":91},{"type":93,"componentName":93},1761814455646]