[{"data":1,"prerenderedAt":715},["ShallowReactive",2],{"/fr-fr/blog/how-we-use-gitlab-to-grow-open-source-communities/":3,"navigation-fr-fr":34,"banner-fr-fr":453,"footer-fr-fr":466,"Lee Tickett-Daniel Murphy":677,"next-steps-fr-fr":700},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"seo":8,"content":12,"config":24,"_id":27,"_type":28,"title":29,"_source":30,"_file":31,"_stem":32,"_extension":33},"/fr-fr/blog/how-we-use-gitlab-to-grow-open-source-communities","blog",false,"",{"noIndex":6,"title":9,"description":10,"ogDescription":10,"ogTitle":9,"ogImage":11},"Développer les communautés open source avec GitLab","Découvrez comment utiliser la plateforme DevSecOps de GitLab pour résoudre les problèmes d'intégration des nouveaux contributeurs.","https://res.cloudinary.com/about-gitlab-com/image/upload/f_auto,q_auto,w_820,h_500,c_lfill/v1750099558/Blog/Hero%20Images/gitlabflatlogomap.png",{"description":10,"title":13,"category":14,"tags":15,"heroImage":11,"date":19,"body":20,"authors":21},"Comment nous utilisons GitLab pour développer les communautés open source","open-source",[16,17,18],"open source","community","product","2025-07-22","L'équipe Contributor Success de GitLab faisait face au défi suivant : alors\nque nos contributeurs open source récurrents fusionnaient davantage de\nmodifications de code et collaboraient sur des fonctionnalités avancées, les\ncontributeurs novices, quant à eux, avaient du mal à se lancer. Nous étions\nconscients que beaucoup de nouveaux contributeurs open source finissaient\npar abandonner sans même demander de l'aide. Attachés à la [mission de\nGitLab](https://handbook.gitlab.com/handbook/company/mission/) où chacun\npeut contribuer, nous aspirions à inverser cette tendance.\n\n\nNous avons commencé à effectuer des recherches sur les contributeurs open source de GitLab. Puis nous avons amélioré les obstacles majeurs. En janvier, nous avons atteint un record de 184 contributeurs communautaires uniques à GitLab en un seul mois, dépassant pour la première fois notre objectif de 170 fixé par l'équipe.\n\n\nTrois mois plus tard, nous l'avons de nouveau battu avec 192 contributeurs.\n\n\nVoici comment nous avons utilisé les propres outils de GitLab pour résoudre le dilemme des nouveaux contributeurs et développer notre communauté [open source](https://about.gitlab.com/fr-fr/blog/what-is-open-source/ \"Qu'est-ce que l'open source ?\").\n\n\n## Ce que nous avons appris sur les nouveaux contributeurs\n\n\nEn 2023, nous avons mené la toute première étude sur les contributeurs open source de GitLab. Nous avons observé six participants qui n'avaient jamais contribué à GitLab.\n\n\nVoici ce qu’ils nous ont dit : \n\n\n* La documentation destinée aux contributeurs était confuse\n\n* La prise en main était difficile \n\n* Trouver de l’aide n'était pas clair\n\n\nSeul un participant sur six a réussi à fusionner une contribution de code dans GitLab au cours de l'étude.\n\n\nIl est devenu évident que nous devions nous concentrer sur l'expérience d'intégration si nous voulions que les nouveaux contributeurs réussissent à faire leurs premiers pas sur GitLab. Nous avons donc [itéré](https://handbook.gitlab.com/handbook/values/#iteration) !\n\n\nNotre équipe a passé l'année suivante à résoudre leurs défis. Nous avons utilisé les outils de GitLab, tels que les templates de tickets, les pipelines programmés, les webhooks et le GitLab Query Language (GLQL), pour construire une solution d'intégration innovante et semi-automatisée.\n\n\nEn 2025, nous avons effectué une étude de suivi des utilisateurs avec de nouveaux participants qui n'avaient jamais contribué à GitLab. Les 10 participants ont tous créé et fusionné avec succès des contributions dans GitLab, avec un taux de réussite de 100 %. Les retours ont montré une grande appréciation pour le nouveau processus d'intégration, la rapidité avec laquelle les chargés de maintenance vérifiaient le travail des contributeurs, et la reconnaissance que nous offrions aux contributeurs.\n\n\n## Création d’une intégration personnalisée\n\n\nNotre solution a commencé par l'engagement. Pour aider les nouveaux contributeurs à se lancer, nous avons mis en place un processus d'intégration personnalisé connectant chaque contributeur avec un chargé de maintenance communautaire.\n\n\nNous avons créé un [template de ticket ](https://gitlab.com/gitlab-community/meta/-/blob/ac0e5579a6a1cf26e367010bfcf6c7d35b38d4f8/.gitlab/issue_templates/Onboarding.md)avec une liste claire de tâches.\n\n\nLe ticket d'intégration gère également l'approbation d'accès aux [forks de la communauté de GitLab](https://about.gitlab.com/blog/gitlab-community-forks/), une collection de projets partagés qui facilitent le push de modifications, la collaboration entre contributeurs, et l'accès aux fonctionnalités GitLab Ultimate et GitLab Duo.\n\n\nEn utilisant des [labels à portée limitée](https://docs.gitlab.com/user/project/labels/#scoped-labels), nous indiquons le statut de la demande d'accès pour faciliter le suivi par les chargés de maintenance.\n\n\n![Ticket d'intégration GitLab](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752512804/vkiyl0hrfbgcer3nz38r.png)\n\n\nNous avons commencé avec un script Ruby exécuté via un pipeline programmé, vérifiant les nouvelles demandes d'accès et utilisant le template de ticket pour créer des tickets d'intégration personnalisés.\n\n\nÀ partir de là, nos chargés de maintenance collaborent avec les nouveaux contributeurs pour vérifier l'accès, répondre aux questions et trouver des tickets. \n\n\n## Standardisation des réponses avec des templates de commentaires\n\n\nAvec plusieurs chargés de maintenance dans la communauté de GitLab, nous voulions assurer une communication cohérente et claire.\n\n\nNous avons créé des [templates de commentaires](https://docs.gitlab.com/user/profile/comment_templates/), que nous synchronisons avec le dépôt en utilisant l'API GraphQL et un [script Ruby](https://gitlab.com/gitlab-community/meta/-/blob/dd6e0c2861c848251424b72e3e8c5603dcaac725/bin/sync_comment_templates.rb).\n\n\nLe script est déclenché dans le fichier `.gitlab-ci.yml` lorsque des modifications de templates de commentaires sont apportées avec un push vers la branche par défaut (un test est déclenché dans les merge requests).\n\n\n```yaml\n\nexecute:sync-comment-templates:\n  stage: execute\n  extends: .ruby\n  script:\n    - bundle exec bin/sync_comment_templates.rb\n  variables:\n    SYNC_COMMENT_TEMPLATES_GITLAB_API_TOKEN: $SYNC_COMMENT_TEMPLATES_GITLAB_API_TOKEN_READ_ONLY\n  rules:\n    - if: $CI_PIPELINE_SOURCE == 'schedule' || $CI_PIPELINE_SOURCE == \"trigger\"\n      when: never\n    - if: $EXECUTE_SYNC_COMMENT_TEMPLATES == '1'\n    - if: $CI_MERGE_REQUEST_IID\n      changes:\n        - .gitlab/comment_templates/**/*\n      variables:\n        REPORT_ONLY: 1\n    - if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH\n      changes:\n        - .gitlab/comment_templates/**/*\n      variables:\n        FORCE_SYNC: 1\n        DRY_RUN: 0\n        SYNC_COMMENT_TEMPLATES_GITLAB_API_TOKEN: $SYNC_COMMENT_TEMPLATES_GITLAB_API_TOKEN_READ_WRITE\n```\n\n\n![Template de commentaire dans GitLab](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752512803/qmfaymqhq3zgdcnm6a3j.png)\n\n\n## Suppression du temps d'attente de 5 minutes\n\n\nNotre première itération était un peu lente. Après avoir commencé le processus d'intégration, les contributeurs se demandaient ce qu’il fallait faire ensuite, tandis que le pipeline programmé prenait jusqu'à 5 minutes pour créer leur ticket d'intégration.\n\n\n[Niklas](https://gitlab.com/Taucher2003), un membre de notre [équipe Core](https://about.gitlab.com/community/core-team/), a trouvé une solution. Il a ajouté des [événements webhook pour les demandes d'accès](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/163094) et des [templates de charge utile personnalisés pour les webhooks](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/142738).\n\n\nCes fonctionnalités combinées nous ont permis de déclencher un pipeline immédiatement. Cela réduit le temps à environ 40 secondes (le temps qu'il faut au pipeline CI pour s'exécuter) et génère le ticket d'intégration immédiatement. Cette action économise également des milliers de pipelines et de minutes de calcul lorsqu’aucune demande d'accès n’a besoin d'être traitée. \n\n\nNous avons configuré un [token de déclenchement de pipeline](https://docs.gitlab.com/ci/triggers/#create-a-pipeline-trigger-token) et l'avons utilisé comme cible pour le webhook, en passant les variables d'environnement souhaitées :\n\n\n```json\n\n{\n  \"ref\": \"main\",\n  \"variables\": {\n    \"EXECUTE_ACCESS_REQUESTS\": \"1\",\n    \"DRY_RUN\": \"0\",\n    \"PIPELINE_NAME\": \"Create onboarding issues\",\n    \"GROUP_ID\": \"{{group_id}}\",\n    \"EVENT_NAME\": \"{{event_name}}\"\n  }\n}\n\n```\n\n\n![Liste de pipelines](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752512805/qom7hnqnwfcdzvria7dd.png)\n\n\n## Automatisation des suivis\n\n\nAvec un volume croissant de clients et de contributeurs à la communauté GitLab, les chargés de maintenance avaient du mal à suivre les tickets qui nécessitaient une attention particulière et certaines questions de suivi se perdaient.\n\n\nNous avons mis en œuvre une automatisation utilisant les webhooks et Ruby pour labeliser les tickets mis à jour par les membres de la communauté. Cela crée un signal clair du statut du ticket pour les chargés de maintenance. \n\n\n[GitLab Triage](https://gitlab.com/gitlab-org/ruby/gems/gitlab-triage) relance automatiquement les tickets d'intégration inactifs afin de maintenir cette dynamique.\n\n\n![Relance automatisée des tickets d'intégration inactif dans GitLab ](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752512811/gkj3qaidjl1vv2dlu8ep.png)\n\n\n## Organisation du suivi des tickets avec GLQL\n\n\nNous avons construit une [vue GitLab Query Language (GLQL)](https://docs.gitlab.com/user/glql/) pour garder une trace de l'ensemble des tickets. Ce tableau GLQL recense les tickets d'intégration qui nécessitent une attention particulière, permettant aux chargés de maintenance de les examiner et de les suivre avec les membres de la communauté.\n\n\n![Vue GLQL du suivi des tickets](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752512804/hdduf0orntdfhkysheae.png)\n\n\nCes vues GLQL ont amélioré notre efficacité globale de classement. Le succès a été tel que nous avons fini par utiliser cette stratégie dans les programmes [GitLab pour l’open source](https://about.gitlab.com/fr-fr/solutions/open-source/) et [GitLab pour l'éducation](https://about.gitlab.com/fr-fr/solutions/education/). Avec les tableaux GLQL pour les tickets d’assistance, ces programmes communautaires ont réduit leurs temps de réponse de 75 %.\n\n\n## Meilleure accessibilité du README\n\n\nLe [groupe @gitlab-community](https://gitlab.com/gitlab-community/) est l’espace dédié aux contributeurs sur Gitlab.com. Nous avions déjà un fichier `README.md` expliquant les forks de la communauté et le processus d'intégration, mais ce fichier vivait dans un projet meta. Avec notre étude de suivi des utilisateurs, nous avons découvert que cette séparation désorientait les nouveaux contributeurs quand leurs tickets d'intégration se trouvaient dans un projet différent.\n\n\nNous avons alors utilisé la [mise en miroir de projet de GitLab](https://docs.gitlab.com/user/project/repository/mirror/) pour résoudre cela et mis en miroir le projet meta vers `gitlab-profile`. Cela a fait remonter le fichier README existant au niveau du groupe, le rendant plus facile d'accès.\n\n\n![Mise en miroir de projet GitLab](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752512809/kbgdxyilza71kmj0aeqt.png)\n\n\n![README de groupe](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752512804/taosgn8vvgo8onszuwaf.png)\n\n\n## Les résultats parlent d'eux-mêmes\n\n\nEn utilisant GitLab nous-mêmes, nous avons amélioré les points de friction identifiés dans nos études et transformé le parcours des contributeurs de GitLab. Nous avons augmenté le nombre de clients et de membres de la communauté contribuant à GitLab, ajoutant des fonctionnalités au produit, résolvant des bogues, et enrichissant notre catalogue [CI/CD](https://about.gitlab.com/fr-fr/topics/ci-cd/ \"Qu'est-ce que le CI/CD?\").\n\n\nNotre processus d'intégration a augmenté le taux d'adhésion des nouveaux contributeurs au sein de notre communauté, et le nombre total de contributeurs sur les forks de la communauté a doublé au cours des 9 derniers mois.\n\n\n![Graphique de croissance des forks de la communauté](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752512803/xagra4vfsrhbcwnzekmp.png)\n\n\nNous avons réduit le temps nécessaire aux nouveaux contributeurs pour apporter leur première contribution en les connectant plus rapidement avec les chargés de maintenance et en les aidant à démarrer. \n\n\nNous utilisons l’[analyse de la chaîne de valeur](https://docs.gitlab.com/user/group/value_stream_analytics/) de GitLab pour suivre nos taux de réponse.\n\n\n* Le délai avant première réponse des chargés de maintenance de la communauté est descendu à 46 minutes au cours des 3 derniers mois\n\n* Le temps d'approbation moyen pour l'accès aux forks de la communauté est descendu à 1 heure au cours des 3 derniers mois\n\n\n![Chronologie de l’analyse de la chaîne de valeur](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752512812/jzksakrfdb22hooqemzh.png)\n\n\nLe taux de réussite de 100 % de notre étude de suivi des utilisateurs de 2025 a confirmé ces améliorations pour nos contributeurs novices.\n\n\n## Meilleure reconnaissance des contributeurs\n\n\nCorriger les défis rencontrés par nos nouveaux contributeurs nous a permis de nous concentrer sur une meilleure reconnaissance de notre communauté, incitant les novices à revenir. Le résultat : [contributors.gitlab.com](http://contributors.gitlab.com). Nous avons construit un hub central pour nos contributeurs qui comprend des tableaux de classement, des réalisations et des récompenses. Les contributeurs peuvent voir leur impact, suivre leurs progrès et grandir au sein de la communauté.\n\n\n## Partager ce que nous avons appris\n\nCes améliorations fonctionnent et sont reproductibles pour d'autres projets open source. Nous partageons notre approche pour que d'autres projets puissent envisager d'utiliser ces outils pour se développer. \n\n\nAu fur et à mesure que les organisations prennent connaissance des obstacles à la participation, il est possible de créer un environnement open source plus convivial. Avec les outils de GitLab, nous pouvons offrir une expérience plus fluide aux contributeurs et aux chargés de maintenance. \n\n\n**Contactez-nous**\n\n\nVous voulez en savoir plus sur le développement de votre communauté de contributeurs ? Envoyez un e-mail à contributors@gitlab.com ou [créez un ticket](https://gitlab.com/gitlab-org/developer-relations/contributor-success/team-task/-/issues) pour démarrer une discussion. Nous sommes là pour aider à construire des communautés.\n",[22,23],"Lee Tickett","Daniel Murphy",{"featured":6,"template":25,"slug":26},"BlogPost","how-we-use-gitlab-to-grow-open-source-communities","content:fr-fr:blog:how-we-use-gitlab-to-grow-open-source-communities.yml","yaml","How We Use Gitlab To Grow Open Source Communities","content","fr-fr/blog/how-we-use-gitlab-to-grow-open-source-communities.yml","fr-fr/blog/how-we-use-gitlab-to-grow-open-source-communities","yml",{"_path":35,"_dir":36,"_draft":6,"_partial":6,"_locale":7,"data":37,"_id":449,"_type":28,"title":450,"_source":30,"_file":451,"_stem":452,"_extension":33},"/shared/fr-fr/main-navigation","fr-fr",{"logo":38,"freeTrial":43,"sales":48,"login":53,"items":58,"search":390,"minimal":426,"duo":440},{"config":39},{"href":40,"dataGaName":41,"dataGaLocation":42},"/fr-fr/","gitlab logo","header",{"text":44,"config":45},"Commencer un essai gratuit",{"href":46,"dataGaName":47,"dataGaLocation":42},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":49,"config":50},"Contacter l'équipe commerciale",{"href":51,"dataGaName":52,"dataGaLocation":42},"/fr-fr/sales/","sales",{"text":54,"config":55},"Connexion",{"href":56,"dataGaName":57,"dataGaLocation":42},"https://gitlab.com/users/sign_in/","sign in",[59,103,202,207,311,371],{"text":60,"config":61,"cards":63,"footer":86},"Plateforme",{"dataNavLevelOne":62},"platform",[64,70,78],{"title":60,"description":65,"link":66},"La plateforme DevSecOps alimentée par l'IA la plus complète",{"text":67,"config":68},"Découvrir notre plateforme",{"href":69,"dataGaName":62,"dataGaLocation":42},"/fr-fr/platform/",{"title":71,"description":72,"link":73},"GitLab Duo (IA)","Créez des logiciels plus rapidement en tirant parti de l'IA à chaque étape du développement",{"text":74,"config":75},"Découvrez GitLab Duo",{"href":76,"dataGaName":77,"dataGaLocation":42},"/fr-fr/gitlab-duo/","gitlab duo ai",{"title":79,"description":80,"link":81},"Choisir GitLab","10 raisons pour lesquelles les entreprises choisissent GitLab",{"text":82,"config":83},"En savoir plus",{"href":84,"dataGaName":85,"dataGaLocation":42},"/fr-fr/why-gitlab/","why gitlab",{"title":87,"items":88},"Démarrer avec",[89,94,99],{"text":90,"config":91},"Ingénierie de plateforme",{"href":92,"dataGaName":93,"dataGaLocation":42},"/fr-fr/solutions/platform-engineering/","platform engineering",{"text":95,"config":96},"Expérience développeur",{"href":97,"dataGaName":98,"dataGaLocation":42},"/fr-fr/developer-experience/","Developer experience",{"text":100,"config":101},"MLOps",{"href":102,"dataGaName":100,"dataGaLocation":42},"/fr-fr/topics/devops/the-role-of-ai-in-devops/",{"text":104,"left":105,"config":106,"link":108,"lists":112,"footer":184},"Produit",true,{"dataNavLevelOne":107},"solutions",{"text":109,"config":110},"Voir toutes les solutions",{"href":111,"dataGaName":107,"dataGaLocation":42},"/fr-fr/solutions/",[113,139,162],{"title":114,"description":115,"link":116,"items":121},"Automatisation","CI/CD et automatisation pour accélérer le déploiement",{"config":117},{"icon":118,"href":119,"dataGaName":120,"dataGaLocation":42},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[122,126,130,135],{"text":123,"config":124},"CI/CD",{"href":125,"dataGaLocation":42,"dataGaName":123},"/fr-fr/solutions/continuous-integration/",{"text":127,"config":128},"Développement assisté par l'IA",{"href":76,"dataGaLocation":42,"dataGaName":129},"AI assisted development",{"text":131,"config":132},"Gestion du code source",{"href":133,"dataGaLocation":42,"dataGaName":134},"/fr-fr/solutions/source-code-management/","Source Code Management",{"text":136,"config":137},"Livraison de logiciels automatisée",{"href":119,"dataGaLocation":42,"dataGaName":138},"Automated software delivery",{"title":140,"description":141,"link":142,"items":147},"Securité","Livrez du code plus rapidement sans compromettre la sécurité",{"config":143},{"href":144,"dataGaName":145,"dataGaLocation":42,"icon":146},"/fr-fr/solutions/security-compliance/","security and compliance","ShieldCheckLight",[148,153,158],{"text":149,"config":150},"Application Security Testing",{"href":151,"dataGaName":152,"dataGaLocation":42},"/solutions/application-security-testing/","Application security testing",{"text":154,"config":155},"Sécurité de la chaîne d'approvisionnement logicielle",{"href":156,"dataGaLocation":42,"dataGaName":157},"/fr-fr/solutions/supply-chain/","Software supply chain security",{"text":159,"config":160},"Software Compliance",{"href":161,"dataGaName":159,"dataGaLocation":42},"/solutions/software-compliance/",{"title":163,"link":164,"items":169},"Mesures",{"config":165},{"icon":166,"href":167,"dataGaName":168,"dataGaLocation":42},"DigitalTransformation","/fr-fr/solutions/visibility-measurement/","visibility and measurement",[170,174,179],{"text":171,"config":172},"Visibilité et mesures",{"href":167,"dataGaLocation":42,"dataGaName":173},"Visibility and Measurement",{"text":175,"config":176},"Gestion de la chaîne de valeur",{"href":177,"dataGaLocation":42,"dataGaName":178},"/fr-fr/solutions/value-stream-management/","Value Stream Management",{"text":180,"config":181},"Données d'analyse et informations clés",{"href":182,"dataGaLocation":42,"dataGaName":183},"/fr-fr/solutions/analytics-and-insights/","Analytics and insights",{"title":185,"items":186},"GitLab pour",[187,192,197],{"text":188,"config":189},"Entreprises",{"href":190,"dataGaLocation":42,"dataGaName":191},"/fr-fr/enterprise/","enterprise",{"text":193,"config":194},"PME",{"href":195,"dataGaLocation":42,"dataGaName":196},"/fr-fr/small-business/","small business",{"text":198,"config":199},"Secteur public",{"href":200,"dataGaLocation":42,"dataGaName":201},"/fr-fr/solutions/public-sector/","public sector",{"text":203,"config":204},"Tarifs",{"href":205,"dataGaName":206,"dataGaLocation":42,"dataNavLevelOne":206},"/fr-fr/pricing/","pricing",{"text":208,"config":209,"link":211,"lists":215,"feature":298},"Ressources",{"dataNavLevelOne":210},"resources",{"text":212,"config":213},"Afficher toutes les ressources",{"href":214,"dataGaName":210,"dataGaLocation":42},"/fr-fr/resources/",[216,249,271],{"title":217,"items":218},"Premiers pas",[219,224,229,234,239,244],{"text":220,"config":221},"Installation",{"href":222,"dataGaName":223,"dataGaLocation":42},"/fr-fr/install/","install",{"text":225,"config":226},"Guides de démarrage rapide",{"href":227,"dataGaName":228,"dataGaLocation":42},"/fr-fr/get-started/","quick setup checklists",{"text":230,"config":231},"Apprentissage",{"href":232,"dataGaLocation":42,"dataGaName":233},"https://university.gitlab.com/","learn",{"text":235,"config":236},"Documentation sur le produit",{"href":237,"dataGaName":238,"dataGaLocation":42},"https://docs.gitlab.com/","product documentation",{"text":240,"config":241},"Vidéos sur les bonnes pratiques",{"href":242,"dataGaName":243,"dataGaLocation":42},"/fr-fr/getting-started-videos/","best practice videos",{"text":245,"config":246},"Intégrations",{"href":247,"dataGaName":248,"dataGaLocation":42},"/fr-fr/integrations/","integrations",{"title":250,"items":251},"Découvrir",[252,257,261,266],{"text":253,"config":254},"Histoires de succès client",{"href":255,"dataGaName":256,"dataGaLocation":42},"/fr-fr/customers/","customer success stories",{"text":258,"config":259},"Blog",{"href":260,"dataGaName":5,"dataGaLocation":42},"/fr-fr/blog/",{"text":262,"config":263},"Travail à distance",{"href":264,"dataGaName":265,"dataGaLocation":42},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"text":267,"config":268},"TeamOps",{"href":269,"dataGaName":270,"dataGaLocation":42},"/fr-fr/teamops/","teamops",{"title":272,"items":273},"Connecter",[274,279,283,288,293],{"text":275,"config":276},"Services GitLab",{"href":277,"dataGaName":278,"dataGaLocation":42},"/fr-fr/services/","services",{"text":280,"config":281},"Communauté",{"href":282,"dataGaName":17,"dataGaLocation":42},"/community/",{"text":284,"config":285},"Forum",{"href":286,"dataGaName":287,"dataGaLocation":42},"https://forum.gitlab.com/","forum",{"text":289,"config":290},"Événements",{"href":291,"dataGaName":292,"dataGaLocation":42},"/events/","events",{"text":294,"config":295},"Partenaires",{"href":296,"dataGaName":297,"dataGaLocation":42},"/partners/","partners",{"backgroundColor":299,"textColor":300,"text":301,"image":302,"link":306},"#2f2a6b","#fff","L'avenir du développement logiciel. Tendances et perspectives.",{"altText":303,"config":304},"carte promo The Source",{"src":305},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":307,"config":308},"Lire les articles les plus récents",{"href":309,"dataGaName":310,"dataGaLocation":42},"/fr-fr/the-source/","the source",{"text":312,"config":313,"lists":315},"Société",{"dataNavLevelOne":314},"company",[316],{"items":317},[318,323,329,331,336,341,346,351,356,361,366],{"text":319,"config":320},"À propos",{"href":321,"dataGaName":322,"dataGaLocation":42},"/fr-fr/company/","about",{"text":324,"config":325,"footerGa":328},"Emplois",{"href":326,"dataGaName":327,"dataGaLocation":42},"/jobs/","jobs",{"dataGaName":327},{"text":289,"config":330},{"href":291,"dataGaName":292,"dataGaLocation":42},{"text":332,"config":333},"Leadership",{"href":334,"dataGaName":335,"dataGaLocation":42},"/company/team/e-group/","leadership",{"text":337,"config":338},"Équipe",{"href":339,"dataGaName":340,"dataGaLocation":42},"/company/team/","team",{"text":342,"config":343},"Manuel",{"href":344,"dataGaName":345,"dataGaLocation":42},"https://handbook.gitlab.com/","handbook",{"text":347,"config":348},"Relations avec les investisseurs",{"href":349,"dataGaName":350,"dataGaLocation":42},"https://ir.gitlab.com/","investor relations",{"text":352,"config":353},"Centre de confiance",{"href":354,"dataGaName":355,"dataGaLocation":42},"/fr-fr/security/","trust center",{"text":357,"config":358},"Centre pour la transparence de l'IA",{"href":359,"dataGaName":360,"dataGaLocation":42},"/fr-fr/ai-transparency-center/","ai transparency center",{"text":362,"config":363},"Newsletter",{"href":364,"dataGaName":365,"dataGaLocation":42},"/company/contact/","newsletter",{"text":367,"config":368},"Presse",{"href":369,"dataGaName":370,"dataGaLocation":42},"/press/","press",{"text":372,"config":373,"lists":374},"Nous contacter",{"dataNavLevelOne":314},[375],{"items":376},[377,380,385],{"text":49,"config":378},{"href":51,"dataGaName":379,"dataGaLocation":42},"talk to sales",{"text":381,"config":382},"Aide",{"href":383,"dataGaName":384,"dataGaLocation":42},"/support/","get help",{"text":386,"config":387},"Portail clients GitLab",{"href":388,"dataGaName":389,"dataGaLocation":42},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":391,"login":392,"suggestions":399},"Fermer",{"text":393,"link":394},"Pour rechercher des dépôts et des projets, connectez-vous à",{"text":395,"config":396},"gitlab.com",{"href":56,"dataGaName":397,"dataGaLocation":398},"search login","search",{"text":400,"default":401},"Suggestions",[402,405,410,412,417,422],{"text":71,"config":403},{"href":76,"dataGaName":404,"dataGaLocation":398},"GitLab Duo (AI)",{"text":406,"config":407},"Suggestions de code (IA)",{"href":408,"dataGaName":409,"dataGaLocation":398},"/fr-fr/solutions/code-suggestions/","Code Suggestions (AI)",{"text":123,"config":411},{"href":125,"dataGaName":123,"dataGaLocation":398},{"text":413,"config":414},"GitLab sur AWS",{"href":415,"dataGaName":416,"dataGaLocation":398},"/fr-fr/partners/technology-partners/aws/","GitLab on AWS",{"text":418,"config":419},"GitLab sur Google Cloud ",{"href":420,"dataGaName":421,"dataGaLocation":398},"/fr-fr/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":423,"config":424},"Pourquoi utiliser GitLab ?",{"href":84,"dataGaName":425,"dataGaLocation":398},"Why GitLab?",{"freeTrial":427,"mobileIcon":432,"desktopIcon":437},{"text":428,"config":429},"Commencer votre essai gratuit",{"href":430,"dataGaName":47,"dataGaLocation":431},"https://gitlab.com/-/trials/new/","nav",{"altText":433,"config":434},"Icône GitLab",{"src":435,"dataGaName":436,"dataGaLocation":431},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":433,"config":438},{"src":439,"dataGaName":436,"dataGaLocation":431},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"freeTrial":441,"mobileIcon":445,"desktopIcon":447},{"text":442,"config":443},"En savoir plus sur GitLab Duo",{"href":76,"dataGaName":444,"dataGaLocation":431},"gitlab duo",{"altText":433,"config":446},{"src":435,"dataGaName":436,"dataGaLocation":431},{"altText":433,"config":448},{"src":439,"dataGaName":436,"dataGaLocation":431},"content:shared:fr-fr:main-navigation.yml","Main Navigation","shared/fr-fr/main-navigation.yml","shared/fr-fr/main-navigation",{"_path":454,"_dir":36,"_draft":6,"_partial":6,"_locale":7,"title":455,"titleMobile":455,"button":456,"config":461,"_id":463,"_type":28,"_source":30,"_file":464,"_stem":465,"_extension":33},"/shared/fr-fr/banner","La plateforme GitLab Duo Agent est maintenant disponible en version bêta publique !",{"text":457,"config":458},"Essayer la version bêta",{"href":459,"dataGaName":460,"dataGaLocation":42},"/fr-fr/gitlab-duo/agent-platform/","duo banner",{"layout":462},"release","content:shared:fr-fr:banner.yml","shared/fr-fr/banner.yml","shared/fr-fr/banner",{"_path":467,"_dir":36,"_draft":6,"_partial":6,"_locale":7,"data":468,"_id":673,"_type":28,"title":674,"_source":30,"_file":675,"_stem":676,"_extension":33},"/shared/fr-fr/main-footer",{"text":469,"source":470,"edit":476,"contribute":481,"config":486,"items":491,"minimal":664},"Git est une marque déposée de Software Freedom Conservancy et notre utilisation de « GitLab » est sous licence",{"text":471,"config":472},"Afficher le code source de la page",{"href":473,"dataGaName":474,"dataGaLocation":475},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":477,"config":478},"Modifier cette page",{"href":479,"dataGaName":480,"dataGaLocation":475},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":482,"config":483},"Veuillez contribuer",{"href":484,"dataGaName":485,"dataGaLocation":475},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":487,"facebook":488,"youtube":489,"linkedin":490},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[492,515,569,601,635],{"title":60,"links":493,"subMenu":498},[494],{"text":495,"config":496},"Plateforme DevSecOps",{"href":69,"dataGaName":497,"dataGaLocation":475},"devsecops platform",[499],{"title":203,"links":500},[501,505,510],{"text":502,"config":503},"Voir les forfaits",{"href":205,"dataGaName":504,"dataGaLocation":475},"view plans",{"text":506,"config":507},"Pourquoi choisir GitLab Premium ?",{"href":508,"dataGaName":509,"dataGaLocation":475},"/fr-fr/pricing/premium/","why premium",{"text":511,"config":512},"Pourquoi choisir GitLab Ultimate ?",{"href":513,"dataGaName":514,"dataGaLocation":475},"/fr-fr/pricing/ultimate/","why ultimate",{"title":516,"links":517},"Solutions",[518,523,526,528,533,538,542,545,548,553,555,557,559,564],{"text":519,"config":520},"Transformation digitale",{"href":521,"dataGaName":522,"dataGaLocation":475},"/fr-fr/topics/digital-transformation/","digital transformation",{"text":524,"config":525},"Sécurité et conformité",{"href":151,"dataGaName":152,"dataGaLocation":475},{"text":136,"config":527},{"href":119,"dataGaName":120,"dataGaLocation":475},{"text":529,"config":530},"Développement agile",{"href":531,"dataGaName":532,"dataGaLocation":475},"/fr-fr/solutions/agile-delivery/","agile delivery",{"text":534,"config":535},"Transformation cloud",{"href":536,"dataGaName":537,"dataGaLocation":475},"/fr-fr/topics/cloud-native/","cloud transformation",{"text":539,"config":540},"SCM",{"href":133,"dataGaName":541,"dataGaLocation":475},"source code management",{"text":123,"config":543},{"href":125,"dataGaName":544,"dataGaLocation":475},"continuous integration & delivery",{"text":175,"config":546},{"href":177,"dataGaName":547,"dataGaLocation":475},"value stream management",{"text":549,"config":550},"GitOps",{"href":551,"dataGaName":552,"dataGaLocation":475},"/fr-fr/solutions/gitops/","gitops",{"text":188,"config":554},{"href":190,"dataGaName":191,"dataGaLocation":475},{"text":193,"config":556},{"href":195,"dataGaName":196,"dataGaLocation":475},{"text":198,"config":558},{"href":200,"dataGaName":201,"dataGaLocation":475},{"text":560,"config":561},"Formation",{"href":562,"dataGaName":563,"dataGaLocation":475},"/fr-fr/solutions/education/","education",{"text":565,"config":566},"Services financiers",{"href":567,"dataGaName":568,"dataGaLocation":475},"/fr-fr/solutions/finance/","financial services",{"title":208,"links":570},[571,573,575,577,580,582,585,587,589,591,593,595,597,599],{"text":220,"config":572},{"href":222,"dataGaName":223,"dataGaLocation":475},{"text":225,"config":574},{"href":227,"dataGaName":228,"dataGaLocation":475},{"text":230,"config":576},{"href":232,"dataGaName":233,"dataGaLocation":475},{"text":235,"config":578},{"href":237,"dataGaName":579,"dataGaLocation":475},"docs",{"text":258,"config":581},{"href":260,"dataGaName":5},{"text":583,"config":584},"Histoires de réussite client",{"href":255,"dataGaLocation":475},{"text":253,"config":586},{"href":255,"dataGaName":256,"dataGaLocation":475},{"text":262,"config":588},{"href":264,"dataGaName":265,"dataGaLocation":475},{"text":275,"config":590},{"href":277,"dataGaName":278,"dataGaLocation":475},{"text":267,"config":592},{"href":269,"dataGaName":270,"dataGaLocation":475},{"text":280,"config":594},{"href":282,"dataGaName":17,"dataGaLocation":475},{"text":284,"config":596},{"href":286,"dataGaName":287,"dataGaLocation":475},{"text":289,"config":598},{"href":291,"dataGaName":292,"dataGaLocation":475},{"text":294,"config":600},{"href":296,"dataGaName":297,"dataGaLocation":475},{"title":312,"links":602},[603,605,607,609,611,613,615,619,624,626,628,630],{"text":319,"config":604},{"href":321,"dataGaName":314,"dataGaLocation":475},{"text":324,"config":606},{"href":326,"dataGaName":327,"dataGaLocation":475},{"text":332,"config":608},{"href":334,"dataGaName":335,"dataGaLocation":475},{"text":337,"config":610},{"href":339,"dataGaName":340,"dataGaLocation":475},{"text":342,"config":612},{"href":344,"dataGaName":345,"dataGaLocation":475},{"text":347,"config":614},{"href":349,"dataGaName":350,"dataGaLocation":475},{"text":616,"config":617},"Sustainability",{"href":618,"dataGaName":616,"dataGaLocation":475},"/sustainability/",{"text":620,"config":621},"Diversité, inclusion et appartenance (DIB)",{"href":622,"dataGaName":623,"dataGaLocation":475},"/fr-fr/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":352,"config":625},{"href":354,"dataGaName":355,"dataGaLocation":475},{"text":362,"config":627},{"href":364,"dataGaName":365,"dataGaLocation":475},{"text":367,"config":629},{"href":369,"dataGaName":370,"dataGaLocation":475},{"text":631,"config":632},"Déclaration de transparence sur l'esclavage moderne",{"href":633,"dataGaName":634,"dataGaLocation":475},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":372,"links":636},[637,640,642,644,649,654,659],{"text":638,"config":639},"Échanger avec un expert",{"href":51,"dataGaName":52,"dataGaLocation":475},{"text":381,"config":641},{"href":383,"dataGaName":384,"dataGaLocation":475},{"text":386,"config":643},{"href":388,"dataGaName":389,"dataGaLocation":475},{"text":645,"config":646},"Statut",{"href":647,"dataGaName":648,"dataGaLocation":475},"https://status.gitlab.com/","status",{"text":650,"config":651},"Conditions d'utilisation",{"href":652,"dataGaName":653},"/terms/","terms of use",{"text":655,"config":656},"Déclaration de confidentialité",{"href":657,"dataGaName":658,"dataGaLocation":475},"/fr-fr/privacy/","privacy statement",{"text":660,"config":661},"Préférences en matière de cookies",{"dataGaName":662,"dataGaLocation":475,"id":663,"isOneTrustButton":105},"cookie preferences","ot-sdk-btn",{"items":665},[666,668,671],{"text":650,"config":667},{"href":652,"dataGaName":653,"dataGaLocation":475},{"text":669,"config":670},"Politique de confidentialité",{"href":657,"dataGaName":658,"dataGaLocation":475},{"text":660,"config":672},{"dataGaName":662,"dataGaLocation":475,"id":663,"isOneTrustButton":105},"content:shared:fr-fr:main-footer.yml","Main Footer","shared/fr-fr/main-footer.yml","shared/fr-fr/main-footer",[678,690],{"_path":679,"_dir":680,"_draft":6,"_partial":6,"_locale":7,"content":681,"config":685,"_id":687,"_type":28,"title":22,"_source":30,"_file":688,"_stem":689,"_extension":33},"/en-us/blog/authors/lee-tickett","authors",{"name":22,"config":682},{"headshot":683,"ctfId":684},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1752592356/ibeixykxeiey9aiebylt.png","leetickett",{"template":686},"BlogAuthor","content:en-us:blog:authors:lee-tickett.yml","en-us/blog/authors/lee-tickett.yml","en-us/blog/authors/lee-tickett",{"_path":691,"_dir":680,"_draft":6,"_partial":6,"_locale":7,"content":692,"config":695,"_id":697,"_type":28,"title":23,"_source":30,"_file":698,"_stem":699,"_extension":33},"/en-us/blog/authors/daniel-murphy",{"name":23,"config":693},{"headshot":694},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1752519199/fabr89uottv7n6r2jldp.png",{"template":686,"gitlabHandle":696},"daniel-murphy","content:en-us:blog:authors:daniel-murphy.yml","en-us/blog/authors/daniel-murphy.yml","en-us/blog/authors/daniel-murphy",{"_path":701,"_dir":36,"_draft":6,"_partial":6,"_locale":7,"header":702,"eyebrow":703,"blurb":704,"button":705,"secondaryButton":709,"_id":711,"_type":28,"title":712,"_source":30,"_file":713,"_stem":714,"_extension":33},"/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":44,"config":706},{"href":707,"dataGaName":47,"dataGaLocation":708},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":49,"config":710},{"href":51,"dataGaName":52,"dataGaLocation":708},"content:shared:fr-fr:next-steps.yml","Next Steps","shared/fr-fr/next-steps.yml","shared/fr-fr/next-steps",1759347887558]