[{"data":1,"prerenderedAt":712},["ShallowReactive",2],{"/fr-fr/blog/secure-and-safe-login-and-commits-with-gitlab-yubico":3,"navigation-fr-fr":35,"banner-fr-fr":453,"footer-fr-fr":466,"Fernando Diaz":677,"next-steps-fr-fr":690,"footer-source-/fr-fr/blog/secure-and-safe-login-and-commits-with-gitlab-yubico/":705},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"seo":8,"content":13,"config":25,"_id":28,"_type":29,"title":30,"_source":31,"_file":32,"_stem":33,"_extension":34},"/fr-fr/blog/secure-and-safe-login-and-commits-with-gitlab-yubico","blog",false,"",{"config":9,"title":10,"ogTitle":10,"description":11,"ogDescription":11,"ogImage":12},{"noIndex":6},"Connexion et commits sécurisés avec GitLab et Yubico","GitLab et Yubico se sont associés pour renforcer la sécurité du développement logiciel grâce à des mesures d'authentification robustes.","https://res.cloudinary.com/about-gitlab-com/image/upload/f_auto,q_auto,c_lfill/v1749663259/Blog/Hero%20Images/REFERENCE_-_display_preview_for_blog_images__3_.png",{"heroImage":12,"date":14,"title":10,"description":11,"authors":15,"body":17,"category":18,"tags":19},"2025-10-01",[16],"Fernando Diaz","Nous vivons à une époque où les violations de données et les attaques de\nphishing font quotidiennement la une des médias. Ces violations peuvent\nnuire aux entreprises et entraîner des amendes réglementaires, des temps\nd'arrêt ou, pire encore, des atteintes à la réputation. En matière\nd'authentification, les mots de passe constituent la base de la sécurité en\nligne depuis des décennies, mais ils s'avèrent de plus en plus inadaptés\nface aux cybermenaces sophistiquées.\n\n\nGitLab et [Yubico](https://www.yubico.com/?lang=fr) se sont associés pour renforcer la sécurité du développement logiciel au moyen de mesures d'authentification robustes. Yubico est l'inventeur de la YubiKey, une clé de sécurité qui offre une authentification multifacteur (MFA) résistante au phishing. En implémentant le protocole FIDO Universal 2nd Factor (U2F) et la protection matérielle YubiKey, GitLab offre aux équipes de développement une défense puissante contre les attaques de phishing et autres cybermenaces afin de garantir la sécurité de leur code et de leurs projets. Cette collaboration renforce l'authentification de niveau entreprise dans la plateforme GitLab et aide les équipes de développement à se concentrer sur la création de logiciels et à avoir confiance en l'intégrité de leur compte.\n\n\nDécouvrez dans cet article comment configurer GitLab pour utiliser les YubiKeys afin de protéger vos équipes contre les menaces en ligne. Vous apprendrez également comment prévenir davantage la falsification de code avec les commits vérifiés de GitLab.\n\n\n## Comment fonctionnent les YubiKeys ?\n\n\nLes YubiKeys fonctionnent comme des tokens matériels cryptographiques qui génèrent et stockent des clés privées dans un environnement sécurisé. Ces clés implémentent les protocoles d'authentification FIDO2/WebAuthn, qui peuvent être utilisés comme facteur supplémentaire pour se connecter à GitLab.\n\n\nVoici comment la connexion fonctionne :\n\n\n1. Vous saisissez votre nom d'utilisateur et votre mot de passe.\n\n2. GitLab envoie un défi cryptographique à votre navigateur.\n\n3. Votre navigateur demande à la YubiKey de signer ce défi.\n\n4. Vous touchez physiquement la YubiKey pour approuver la connexion.\n\n5. La YubiKey crée une signature cryptographique unique pour ce service et ce défi spécifiques.\n\n6. GitLab vérifie la signature à l'aide de votre clé publique stockée lors de la configuration.\n\n\nLa plupart des violations de sécurité majeures sont liées à des mots de passe compromis. Une clé YubiKey garantit la sécurité de votre compte contre une violation à distance. En cas de vol de votre mot de passe, votre compte GitLab reste sécurisé.\n\n\nLa clé YubiKey offre d'autres avantages pour l'authentification sur GitLab :\n\n\n* **Protection contre le phishing :** les sites frauduleux n'auront pas les bonnes clés cryptographiques pour vérifier la réponse.\n\n* **Aucun secret à voler :** la clé privée ne quitte jamais la YubiKey.\n\n* **Sécurité physique :** une présence physique est requise pour la connexion (vous devez toucher la YubiKey).\n\n\n## Configuration de l'authentification multifacteur YubiKey dans GitLab\n\n\nVoyons maintenant comment configurer une YubiKey pour l'authentification multifacteur dans GitLab. Assurez-vous d'utiliser un [navigateur et un système d'exploitation pris en charge](https://support.yubico.com/hc/en-us/articles/360016615020-Operating-system-and-web-browser-support-for-FIDO2-and-U2F), car ils offrent une meilleure compatibilité WebAuthn pour les clés de sécurité matérielles.\n\n\n1. Connectez-vous à votre compte GitLab et accédez à vos paramètres utilisateur (cliquez sur votre avatar dans le coin supérieur gauche et sélectionnez **Préférences**).\n\n\n2. Dans la barre latérale gauche, cliquez sur **Compte** et accédez à la section **Authentification à deux facteurs**.\n\n\n3. Si vous n'avez pas encore activé l'authentification à deux facteurs, faites-le maintenant.\n\n   a. Cliquez sur **Activer l'authentification à deux facteurs**.\n\n   b. Scannez le QR code avec votre application d'authentification.\n\n   c. Saisissez le code fourni par votre application d'authentification.\n\n   d. Saisissez votre mot de passe GitLab. Si vous avez besoin d’accéder à votre compte GitLab sans utiliser l'authentification Google, vous devrez peut-être :\n   * Utiliser l'option **Mot de passe oublié** sur la page de connexion GitLab pour configurer un mot de passe GitLab distinct.\n   * Contacter votre administrateur GitLab pour configurer une autre méthode de connexion.\n\n   e. Enregistrez vos codes de récupération dans un endroit sûr.\n\n4. Une fois l'authentification à deux facteurs activée, revenez à l'écran précédent en cliquant sur **Gérer l'authentification à deux facteurs** et faites défiler jusqu'à la section **Enregistrer un token matériel**.\n\n\n5. Cliquez sur le bouton **Configurer un nouvel appareil**.\n   a. Une fenêtre contextuelle de votre navigateur devrait apparaître. **Remarque :** cette image peut varier selon votre navigateur. Si des fenêtres contextuelles de vos gestionnaires de mots de passe s'affichent, ignorez-les.\n\n![Demande d'authentification du navigateur (Brave)](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749674606/Blog/Content%20Images/browser_auth_request.png)\n\n\n&nbsp; &nbsp; b. Sélectionnez **Utiliser un téléphone, une tablette ou une clé de sécurité**.\n\n\n6. Une nouvelle fenêtre contextuelle apparaîtra.\n\n\n![Demande de clé de sécurité du navigateur](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749674607/Blog/Content%20Images/browser_security_key_request.png)\n\n\n&nbsp; &nbsp; a. Insérez votre YubiKey dans le port USB de votre ordinateur.\n\n\n&nbsp; &nbsp; b. Touchez le contact métallique/bouton sur votre YubiKey lorsque vous y êtes invité. Le champ se remplira automatiquement avec un code à usage unique.\n\n\n7. Saisissez votre mot de passe GitLab et attribuez un nom à votre clé.\n\n\n8. Cliquez sur **Enregistrer** pour ajouter la YubiKey à votre compte.\n\n\nVotre YubiKey est maintenant enregistrée et peut être utilisée comme second facteur d’authentification lors de votre connexion à GitLab. Vous pouvez enregistrer plusieurs YubiKeys sur votre compte à des fins de sauvegarde. **Remarque :** le processus peut légèrement varier selon les navigateurs.\n\n\n![Yubikey enregistrée](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749674607/Blog/Content%20Images/yubikey_registered.png)\n\n\n\u003Ccenter>\u003Ci>Enregistrement de la YubiKey\u003C/i>\u003C/center>\n\n\n## Comment se connecter avec une YubiKey sur GitLab ?\n\n\nMaintenant que votre  YubiKey est configurée, vous pouvez vous connecter comme suit :\n\n\n1. Accédez à GitLab.com.\n\n\n![Connexion à GitLab](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749674607/Blog/Content%20Images/gitlab_login.png)\n\n\n2. Indiquez votre nom d'utilisateur et votre mot de passe, puis cliquez sur le bouton **Se connecter**.\n\n\n3. Vous serez redirigé vers l'écran suivant.\n\n\n![Connexion à l'authentification à deux facteurs GitLab](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749674606/Blog/Content%20Images/2fa_login.png)\n\n\n&nbsp; &nbsp; a. Une fenêtre contextuelle, comme celle ci-dessous, devrait apparaître. **Remarque :** cette image peut varier selon votre navigateur. Si des fenêtres contextuelles de vos gestionnaires de mots de passe s'affichent, ignorez-les.\n\n\n![Demande de clé de sécurité du navigateur](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749674607/Blog/Content%20Images/browser_security_key_request.png)\n\n\n&nbsp; &nbsp; b. Insérez votre YubiKey dans le port USB de votre ordinateur.\n\n\n&nbsp; &nbsp; c. Touchez le contact métallique/bouton sur votre YubiKey lorsque vous y êtes invité. Le champ se remplira automatiquement avec un code à usage unique.\n\n\nVous devriez être désormais connecté. Vous serez ensuite redirigé vers votre page GitLab.\n\n\n**Remarque :** le processus peut légèrement varier selon les navigateurs.\n\n\n## Que se passe-t-il si je perds ma YubiKey ?\n\n\nYubico recommande d'utiliser et de conserver une YubiKey de secours. Pensez à votre maison, votre voiture ou votre bureau : vous possédez sûrement une clé de secours dans un endroit sûr. Votre identité numérique devrait bénéficier du même niveau d’attention. Une deuxième YubiKey garantit une sauvegarde rapide et sûre si vous perdez votre clé principale et vous permet également de désactiver facilement la clé perdue et d'ajouter une nouvelle clé principale ou secondaire.\n\n\nSi vous n'avez pas ajouté de YubiKey supplémentaire, nous vous recommandons de configurer une autre forme d'authentification à deux facteurs à vos comptes. Dans les deux cas, vous devriez être en mesure d'accéder à votre compte et de retirer la clé perdue. Veuillez noter que sans une clé de sauvegarde ou une autre méthode d'authentification, vous devrez contacter le service/site web afin d'obtenir de l'aide pour récupérer votre compte.\n\n\n## Commits vérifiés de GitLab\n\n\nPour prévenir davantage la falsification de code, vous pouvez également configurer des commits vérifiés. Dans GitLab, ceux-ci utilisent des signatures GPG (GNU Privacy Guard) pour prouver qu’un commit provient réellement de vous. Ce processus ajoute une couche de sécurité en plus de l'authentification et garantit que non seulement votre compte est sécurisé, mais aussi que chaque modification de code peut être vérifiée de façon cryptographique comme provenant de vous.\n\n\nVotre YubiKey peut stocker des clés GPG :\n\n\n* La clé privée est stockée en toute sécurité sur la YubiKey.\n\n* La clé publique est partagée avec GitLab.\n\n* La paire de clés est utilisée pour signer vos commits.\n\n\nUne fois les clés GPG configurées :\n\n* Lorsque vous effectuez un commit, [Git](https://about.gitlab.com/fr-fr/blog/what-is-git/) utilise votre clé privée pour créer une signature.\n\n* La clé GPG est accessible depuis la YubiKey connectée.\n\n* La signature est stockée avec les métadonnées du commit.\n\n* GitLab vérifie la signature à l'aide de votre clé publique.\n\n\n## Configuration des commits vérifiés\n\n\nVoyons comment configurer les commits vérifiés. Dans cet exemple, la clé GPG est stockée dans votre YubiKey et offre une couche de sécurité supplémentaire.\n\n\n1. Installez le logiciel requis.\n\n\n```bash\n\n\n# On macOS\n\n\nbrew install --cask yubico-yubikey-manager\n\n\nbrew install gnupg gpg yubikey-manager\n\n\n\n# On Ubuntu/Debian\n\n\nsudo apt install gnupg gpg yubikey-personalization\n\n\n\n# On Windows\n\n\n# Download and install Gpg4win from https://gpg4win.org\n\n\n```\n\n\n\n2. Vérifiez le statut GPG de la YubiKey.\n\n\n```bash\n\n\ngpg --card-status\n\n\n```\n\n\n3. Générez des clés GPG directement sur la YubiKey (processus plus sécurisé).\n\n\n```bash\n\n\n# Start GPG edit mode\n\n\ngpg --card-edit\n\n\n\n# Enter admin mode\n\n\nadmin\n\n\n\n# Generate key directly on card\n\n\n# PIN = '123456' | Admin PIN = '12345678'\n\n\ngenerate\n\n\n\n# Follow prompts\n\n\n# See documentation for more info\n\n\n#\n\nhttps://support.yubico.com/hc/en-us/articles/360013790259-Using-Your-YubiKey-with-OpenPGP\n\n\n```\n\n\n4. Exportez votre clé publique.\n\n\n```bash\n\n\n# Get your key ID\n\n\ngpg --list-secret-keys --keyid-format LONG\n\n\n\n# Export the public key\n\n\ngpg --armor --export YOUR_KEY_ID\n\n\n```\n\n\n5. Ajoutez la clé publique à GitLab.\n\n   a. Cliquez sur votre Avatar GitLab et sélectionnez **Préférences**.\n\n   b. Dans l'onglet latéral, sélectionnez **Clés GPG**.\n\n   c. Cliquez sur **Ajouter une nouvelle clé**.\n\n   d. Collez votre clé publique.\n\n   e. Cliquez sur **Ajouter la clé**.\n\n6. Configurez Git.\n\n\n```bash\n\n\n# Set signing key\n\n\ngit config --global user.signingkey YOUR_KEY_ID\n\n\n\n# Enable automatic signing\n\n\ngit config --global commit.gpgsign true\n\n\n\n# Tell GPG which key to use\n\n\necho \"default-key YOUR_KEY_ID\" >> ~/.gnupg/gpg.conf\n\n\n```\n\n\n7. Testons maintenant la configuration en créant un commit test dans un projet :\n\n\n```bash\n\n\n# Make a change in the project\n\n\n# Add changes\n\n\ngit add .\n\n\n\n# Make a test commit\n\n\ngit commit -S -m \"Test signed commit\"\n\n\n\n# Verify signature\n\n\ngit verify-commit HEAD\n\n\n\n# Push the change\n\n\ngit push\n\n\n```\n\n\nLa commande `git verify-commit HEAD` devrait afficher la clé GPG utilisée :\n\n\n```bash\n\n\ngpg: Signature made Wed Feb 26 11:45:00 2025 CST\n\n\ngpg:                using RSA key YOUR_KEY_ID\n\n\ngpg: Good signature from “NAME (DESCRIPTION) \u003CEMAIL>\" [ultimate]\n\n\n```\n\n\nUne fois le commit effectué dans GitLab, vous devriez voir qu'il est vérifiée comme suit :\n\n\n![Le commit est vérifié](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749674607/Blog/Content%20Images/verified.png)\n\n\n\u003Ccenter>\u003Ci>Commit vérifié avec la clé GPG\u003C/i>\u003C/center>\n\n\nVous pouvez également utiliser l'[API des commits](https://docs.gitlab.com/api/commits/#get-signature-of-a-commit) pour vérifier la signature d’un commit, ce qui vous permet d'opérationnaliser davantage le workflow de vérification.\n\n\n## En savoir plus\n\n\nPour en savoir plus sur GitLab et Yubico, consultez ces ressources :\n\n\n* [Pourquoi choisir GitLab ?](https://about.gitlab.com/fr-fr/why-gitlab/)\n\n* [Pourquoi choisir Yubico ?](https://www.yubico.com/pourquoi-yubico/?lang=fr)\n\n* [Solutions de sécurité et de conformité de\n GitLab](https://about.gitlab.com/fr-fr/solutions/application-security-testing/)\n* [Annonce concernant GitLab dans le catalogue des plateformes compatibles avec YubiKey](https://www.yubico.com/works-with-yubikey/catalog/gitlab/)\n * [Documentation sur les commits verifiés de GitLab](https://docs.gitlab.com/ee/user/project/repository/signed_commits/)\n* [Règles de push dans\n GitLab](https://docs.gitlab.com/user/project/repository/push_rules/)\n* [Documentation relative à la signature de commits avec des clés GPG](https://docs.gitlab.com/user/project/repository/signed_commits/gpg/)\n","security",[18,20,21,22,23,24],"tutorial","DevSecOps platform","integrations","product","features",{"featured":6,"template":26,"slug":27},"BlogPost","secure-and-safe-login-and-commits-with-gitlab-yubico","content:fr-fr:blog:secure-and-safe-login-and-commits-with-gitlab-yubico.yml","yaml","Secure And Safe Login And Commits With Gitlab Yubico","content","fr-fr/blog/secure-and-safe-login-and-commits-with-gitlab-yubico.yml","fr-fr/blog/secure-and-safe-login-and-commits-with-gitlab-yubico","yml",{"_path":36,"_dir":37,"_draft":6,"_partial":6,"_locale":7,"data":38,"_id":449,"_type":29,"title":450,"_source":31,"_file":451,"_stem":452,"_extension":34},"/shared/fr-fr/main-navigation","fr-fr",{"logo":39,"freeTrial":44,"sales":49,"login":54,"items":59,"search":390,"minimal":426,"duo":440},{"config":40},{"href":41,"dataGaName":42,"dataGaLocation":43},"/fr-fr/","gitlab logo","header",{"text":45,"config":46},"Commencer un essai gratuit",{"href":47,"dataGaName":48,"dataGaLocation":43},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":50,"config":51},"Contacter l'équipe commerciale",{"href":52,"dataGaName":53,"dataGaLocation":43},"/fr-fr/sales/","sales",{"text":55,"config":56},"Connexion",{"href":57,"dataGaName":58,"dataGaLocation":43},"https://gitlab.com/users/sign_in/","sign in",[60,104,202,207,311,371],{"text":61,"config":62,"cards":64,"footer":87},"Plateforme",{"dataNavLevelOne":63},"platform",[65,71,79],{"title":61,"description":66,"link":67},"La plateforme DevSecOps alimentée par l'IA la plus complète",{"text":68,"config":69},"Découvrir notre plateforme",{"href":70,"dataGaName":63,"dataGaLocation":43},"/fr-fr/platform/",{"title":72,"description":73,"link":74},"GitLab Duo (IA)","Créez des logiciels plus rapidement en tirant parti de l'IA à chaque étape du développement",{"text":75,"config":76},"Découvrez GitLab Duo",{"href":77,"dataGaName":78,"dataGaLocation":43},"/fr-fr/gitlab-duo/","gitlab duo ai",{"title":80,"description":81,"link":82},"Choisir GitLab","10 raisons pour lesquelles les entreprises choisissent GitLab",{"text":83,"config":84},"En savoir plus",{"href":85,"dataGaName":86,"dataGaLocation":43},"/fr-fr/why-gitlab/","why gitlab",{"title":88,"items":89},"Démarrer avec",[90,95,100],{"text":91,"config":92},"Ingénierie de plateforme",{"href":93,"dataGaName":94,"dataGaLocation":43},"/fr-fr/solutions/platform-engineering/","platform engineering",{"text":96,"config":97},"Expérience développeur",{"href":98,"dataGaName":99,"dataGaLocation":43},"/fr-fr/developer-experience/","Developer experience",{"text":101,"config":102},"MLOps",{"href":103,"dataGaName":101,"dataGaLocation":43},"/fr-fr/topics/devops/the-role-of-ai-in-devops/",{"text":105,"left":106,"config":107,"link":109,"lists":113,"footer":184},"Produit",true,{"dataNavLevelOne":108},"solutions",{"text":110,"config":111},"Voir toutes les solutions",{"href":112,"dataGaName":108,"dataGaLocation":43},"/fr-fr/solutions/",[114,140,162],{"title":115,"description":116,"link":117,"items":122},"Automatisation","CI/CD et automatisation pour accélérer le déploiement",{"config":118},{"icon":119,"href":120,"dataGaName":121,"dataGaLocation":43},"AutomatedCodeAlt","/fr-fr/solutions/delivery-automation/","automated software delivery",[123,127,131,136],{"text":124,"config":125},"CI/CD",{"href":126,"dataGaLocation":43,"dataGaName":124},"/fr-fr/solutions/continuous-integration/",{"text":128,"config":129},"Développement assisté par l'IA",{"href":77,"dataGaLocation":43,"dataGaName":130},"AI assisted development",{"text":132,"config":133},"Gestion du code source",{"href":134,"dataGaLocation":43,"dataGaName":135},"/fr-fr/solutions/source-code-management/","Source Code Management",{"text":137,"config":138},"Livraison de logiciels automatisée",{"href":120,"dataGaLocation":43,"dataGaName":139},"Automated software delivery",{"title":141,"description":142,"link":143,"items":148},"Securité","Livrez du code plus rapidement sans compromettre la sécurité",{"config":144},{"href":145,"dataGaName":146,"dataGaLocation":43,"icon":147},"/fr-fr/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[149,153,158],{"text":150,"config":151},"Application Security Testing",{"href":145,"dataGaName":152,"dataGaLocation":43},"Application security testing",{"text":154,"config":155},"Sécurité de la chaîne d'approvisionnement logicielle",{"href":156,"dataGaLocation":43,"dataGaName":157},"/fr-fr/solutions/supply-chain/","Software supply chain security",{"text":159,"config":160},"Software Compliance",{"href":161,"dataGaName":159,"dataGaLocation":43},"/fr-fr/solutions/software-compliance/",{"title":163,"link":164,"items":169},"Mesures",{"config":165},{"icon":166,"href":167,"dataGaName":168,"dataGaLocation":43},"DigitalTransformation","/fr-fr/solutions/visibility-measurement/","visibility and measurement",[170,174,179],{"text":171,"config":172},"Visibilité et mesures",{"href":167,"dataGaLocation":43,"dataGaName":173},"Visibility and Measurement",{"text":175,"config":176},"Gestion de la chaîne de valeur",{"href":177,"dataGaLocation":43,"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":43,"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":43,"dataGaName":191},"/fr-fr/enterprise/","enterprise",{"text":193,"config":194},"PME",{"href":195,"dataGaLocation":43,"dataGaName":196},"/fr-fr/small-business/","small business",{"text":198,"config":199},"Secteur public",{"href":200,"dataGaLocation":43,"dataGaName":201},"/fr-fr/solutions/public-sector/","public sector",{"text":203,"config":204},"Tarifs",{"href":205,"dataGaName":206,"dataGaLocation":43,"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":43},"/fr-fr/resources/",[216,248,270],{"title":217,"items":218},"Premiers pas",[219,224,229,234,239,244],{"text":220,"config":221},"Installation",{"href":222,"dataGaName":223,"dataGaLocation":43},"/fr-fr/install/","install",{"text":225,"config":226},"Guides de démarrage rapide",{"href":227,"dataGaName":228,"dataGaLocation":43},"/fr-fr/get-started/","quick setup checklists",{"text":230,"config":231},"Apprentissage",{"href":232,"dataGaLocation":43,"dataGaName":233},"https://university.gitlab.com/","learn",{"text":235,"config":236},"Documentation sur le produit",{"href":237,"dataGaName":238,"dataGaLocation":43},"https://docs.gitlab.com/","product documentation",{"text":240,"config":241},"Vidéos sur les bonnes pratiques",{"href":242,"dataGaName":243,"dataGaLocation":43},"/fr-fr/getting-started-videos/","best practice videos",{"text":245,"config":246},"Intégrations",{"href":247,"dataGaName":22,"dataGaLocation":43},"/fr-fr/integrations/",{"title":249,"items":250},"Découvrir",[251,256,260,265],{"text":252,"config":253},"Histoires de succès client",{"href":254,"dataGaName":255,"dataGaLocation":43},"/fr-fr/customers/","customer success stories",{"text":257,"config":258},"Blog",{"href":259,"dataGaName":5,"dataGaLocation":43},"/fr-fr/blog/",{"text":261,"config":262},"Travail à distance",{"href":263,"dataGaName":264,"dataGaLocation":43},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"text":266,"config":267},"TeamOps",{"href":268,"dataGaName":269,"dataGaLocation":43},"/fr-fr/teamops/","teamops",{"title":271,"items":272},"Connecter",[273,278,283,288,293],{"text":274,"config":275},"Services GitLab",{"href":276,"dataGaName":277,"dataGaLocation":43},"/fr-fr/services/","services",{"text":279,"config":280},"Communauté",{"href":281,"dataGaName":282,"dataGaLocation":43},"/community/","community",{"text":284,"config":285},"Forum",{"href":286,"dataGaName":287,"dataGaLocation":43},"https://forum.gitlab.com/","forum",{"text":289,"config":290},"Événements",{"href":291,"dataGaName":292,"dataGaLocation":43},"/events/","events",{"text":294,"config":295},"Partenaires",{"href":296,"dataGaName":297,"dataGaLocation":43},"/fr-fr/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":43},"/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":43},"/fr-fr/company/","about",{"text":324,"config":325,"footerGa":328},"Emplois",{"href":326,"dataGaName":327,"dataGaLocation":43},"/jobs/","jobs",{"dataGaName":327},{"text":289,"config":330},{"href":291,"dataGaName":292,"dataGaLocation":43},{"text":332,"config":333},"Leadership",{"href":334,"dataGaName":335,"dataGaLocation":43},"/company/team/e-group/","leadership",{"text":337,"config":338},"Équipe",{"href":339,"dataGaName":340,"dataGaLocation":43},"/company/team/","team",{"text":342,"config":343},"Manuel",{"href":344,"dataGaName":345,"dataGaLocation":43},"https://handbook.gitlab.com/","handbook",{"text":347,"config":348},"Relations avec les investisseurs",{"href":349,"dataGaName":350,"dataGaLocation":43},"https://ir.gitlab.com/","investor relations",{"text":352,"config":353},"Centre de confiance",{"href":354,"dataGaName":355,"dataGaLocation":43},"/fr-fr/security/","trust center",{"text":357,"config":358},"Centre pour la transparence de l'IA",{"href":359,"dataGaName":360,"dataGaLocation":43},"/fr-fr/ai-transparency-center/","ai transparency center",{"text":362,"config":363},"Newsletter",{"href":364,"dataGaName":365,"dataGaLocation":43},"/company/contact/","newsletter",{"text":367,"config":368},"Presse",{"href":369,"dataGaName":370,"dataGaLocation":43},"/press/","press",{"text":372,"config":373,"lists":374},"Nous contacter",{"dataNavLevelOne":314},[375],{"items":376},[377,380,385],{"text":50,"config":378},{"href":52,"dataGaName":379,"dataGaLocation":43},"talk to sales",{"text":381,"config":382},"Aide",{"href":383,"dataGaName":384,"dataGaLocation":43},"/support/","get help",{"text":386,"config":387},"Portail clients GitLab",{"href":388,"dataGaName":389,"dataGaLocation":43},"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":57,"dataGaName":397,"dataGaLocation":398},"search login","search",{"text":400,"default":401},"Suggestions",[402,405,410,412,417,422],{"text":72,"config":403},{"href":77,"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":124,"config":411},{"href":126,"dataGaName":124,"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":85,"dataGaName":425,"dataGaLocation":398},"Why GitLab?",{"freeTrial":427,"mobileIcon":432,"desktopIcon":437},{"text":428,"config":429},"Commencer votre essai gratuit",{"href":430,"dataGaName":48,"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":77,"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":37,"_draft":6,"_partial":6,"_locale":7,"title":455,"titleMobile":455,"button":456,"config":461,"_id":463,"_type":29,"_source":31,"_file":464,"_stem":465,"_extension":34},"/shared/fr-fr/banner","GitLab Duo Agent Platform est maintenant disponible en version bêta publique !",{"text":457,"config":458},"Essayer la version bêta",{"href":459,"dataGaName":460,"dataGaLocation":43},"/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":37,"_draft":6,"_partial":6,"_locale":7,"data":468,"_id":673,"_type":29,"title":674,"_source":31,"_file":675,"_stem":676,"_extension":34},"/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":61,"links":493,"subMenu":498},[494],{"text":495,"config":496},"Plateforme DevSecOps",{"href":70,"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":145,"dataGaName":152,"dataGaLocation":475},{"text":137,"config":527},{"href":120,"dataGaName":121,"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":134,"dataGaName":541,"dataGaLocation":475},"source code management",{"text":124,"config":543},{"href":126,"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":257,"config":581},{"href":259,"dataGaName":5},{"text":583,"config":584},"Histoires de réussite client",{"href":254,"dataGaLocation":475},{"text":252,"config":586},{"href":254,"dataGaName":255,"dataGaLocation":475},{"text":261,"config":588},{"href":263,"dataGaName":264,"dataGaLocation":475},{"text":274,"config":590},{"href":276,"dataGaName":277,"dataGaLocation":475},{"text":266,"config":592},{"href":268,"dataGaName":269,"dataGaLocation":475},{"text":279,"config":594},{"href":281,"dataGaName":282,"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":52,"dataGaName":53,"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":106},"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":106},"content:shared:fr-fr:main-footer.yml","Main Footer","shared/fr-fr/main-footer.yml","shared/fr-fr/main-footer",[678],{"_path":679,"_dir":680,"_draft":6,"_partial":6,"_locale":7,"content":681,"config":685,"_id":687,"_type":29,"title":16,"_source":31,"_file":688,"_stem":689,"_extension":34},"/en-us/blog/authors/fernando-diaz","authors",{"name":16,"config":682},{"headshot":683,"ctfId":684},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659556/Blog/Author%20Headshots/fern_diaz.png","fjdiaz",{"template":686},"BlogAuthor","content:en-us:blog:authors:fernando-diaz.yml","en-us/blog/authors/fernando-diaz.yml","en-us/blog/authors/fernando-diaz",{"_path":691,"_dir":37,"_draft":6,"_partial":6,"_locale":7,"header":692,"eyebrow":693,"blurb":694,"button":695,"secondaryButton":699,"_id":701,"_type":29,"title":702,"_source":31,"_file":703,"_stem":704,"_extension":34},"/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":45,"config":696},{"href":697,"dataGaName":48,"dataGaLocation":698},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":50,"config":700},{"href":52,"dataGaName":53,"dataGaLocation":698},"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":706,"content":708,"config":711,"_id":28,"_type":29,"title":30,"_source":31,"_file":32,"_stem":33,"_extension":34},{"config":707,"title":10,"ogTitle":10,"description":11,"ogDescription":11,"ogImage":12},{"noIndex":6},{"heroImage":12,"date":14,"title":10,"description":11,"authors":709,"body":17,"category":18,"tags":710},[16],[18,20,21,22,23,24],{"featured":6,"template":26,"slug":27},1761814452094]