[{"data":1,"prerenderedAt":1826},["ShallowReactive",2],{"/fr-fr/blog/the-ultimate-guide-to-token-management-at-gitlab":3,"navigation-fr-fr":1047,"banner-fr-fr":1480,"footer-fr-fr":1488,"blog-post-authors-fr-fr-Hakeem Abdul-Razak":1727,"blog-related-posts-fr-fr-the-ultimate-guide-to-token-management-at-gitlab":1743,"blog-promotions-fr-fr":1765,"next-steps-fr-fr":1817},{"id":4,"title":5,"authors":6,"body":8,"category":1023,"date":1024,"description":1025,"extension":1026,"externalUrl":1027,"faq":1027,"featured":1028,"heroImage":1029,"meta":1030,"navigation":1028,"path":1031,"seo":1032,"slug":1037,"stem":1038,"tags":1039,"template":1044,"updatedDate":1045,"__hash__":1046},"blogPosts/fr-fr/blog/the-ultimate-guide-to-token-management-at-gitlab.md","Gestion des tokens sur GitLab : guide complet",[7],"Hakeem Abdul-Razak",{"type":9,"value":10,"toc":1001},"minimark",[11,15,25,30,40,47,56,59,94,98,107,309,313,318,321,324,358,361,373,378,393,396,420,424,433,442,445,451,455,458,480,490,504,510,514,517,607,611,614,623,626,645,649,657,661,664,759,763,767,770,773,804,808,816,819,847,862,868,872,875,912,916,919,973,977,986,997],[12,13,14],"p",{},"Imaginez le scénario suivant : un ingénieur travaille dans une entreprise technologique en pleine croissance et reçoit un appel urgent à 2 heures du matin. Un pipeline de déploiement critique a échoué, et son équipe essaie de comprendre les raisons de cet échec. Après des heures d'investigation, il réalise qu'un utilisateur a révoqué le jeton d'accès personnel d'un ingénieur qui a quitté l'entreprise une semaine plus tôt. Ce token étant lié à plusieurs processus d'automatisation clés, votre système est maintenant dans un état catastrophique. Comment faire en sorte que cette situation ne se reproduise plus ?",[12,16,17,18,24],{},"Découvrez dans cet article toutes les étapes de la gestion des tokens, de leur identification à leur sécurisation. Ce guide complète notre ",[19,20,23],"a",{"href":21,"rel":22},"https://docs.gitlab.com/security/tokens/",[],"documentation officielle sur les tokens"," et s'adresse aux administrateurs GitLab, aux équipes de développement et de sécurité qui doivent garantir une gestion efficace et sécurisée des tokens dans le cadre de leurs projets.",[26,27,29],"h2",{"id":28},"sélection-du-token-adapté-au-job","Sélection du token adapté au job",[12,31,32,33,39],{},"Choisir le bon token garantit à la fois la sécurité et des fonctionnalités optimales selon votre cas d'utilisation. Les tokens peuvent servir à authentifier des requêtes API, à automatiser des ",[19,34,38],{"href":35,"rel":36,"title":37},"https://about.gitlab.com/fr-fr/topics/ci-cd/cicd-pipeline/",[],"Qu'est-ce qu'un pipeline CI/CD ?","pipelines CI/CD",", à intégrer des outils tiers, à gérer des déploiements, à accéder aux dépôts et bien plus encore.",[12,41,42],{},[43,44],"img",{"alt":45,"src":46},"Guide de gestion des tokens - organigramme des jetons","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097435/Blog/Content%20Images/Blog/Content%20Images/image3_aHR0cHM6_1750097434869.png",[12,48,49,50,55],{},"Le graphique ci-dessus illustre un cas d'utilisation classique lié à la propriété d'un seul utilisateur. Pour plus d'informations, consultez notre documentation sur les rôles et autorisations des utilisateurs dans chaque ",[19,51,54],{"href":52,"rel":53},"https://docs.gitlab.com/user/permissions/",[],"espace de nommage"," (utilisateur/groupe) au sein de votre instance ou groupe principal.",[12,57,58],{},"Voici quelques exemples d'utilisation :",[60,61,62,77],"ul",{},[63,64,65,66,70,71,76],"li",{},"Les ",[67,68,69],"strong",{},"jetons d'accès personnel"," (",[19,72,75],{"href":73,"rel":74},"https://docs.gitlab.com/user/profile/personal_access_tokens/#personal-access-token-scopes",[],"PAT",") peuvent être utilisés lorsque l'accès personnel et les autorisations d'un utilisateur sont requis. Dans ce cas, les identifiants de connexion suivent le statut et les autorisations du compte de l'utilisateur, y compris sa révocation si le compte perd l'accès à un projet ou à un groupe spécifique (ou est entièrement bloqué).",[63,78,65,79,70,82,87,88,93],{},[67,80,81],{},"tokens d'accès au projet/groupe",[19,83,86],{"href":84,"rel":85},"https://docs.gitlab.com/user/project/settings/project_access_tokens/#scopes-for-a-project-access-token",[],"PrAT"," / ",[19,89,92],{"href":90,"rel":91},"https://docs.gitlab.com/user/group/settings/group_access_tokens/#scopes-for-a-group-access-token",[],"GrAT",") sont recommandés lorsque l'accès doit être limité aux ressources d'un projet/groupe spécifique. Ainsi, tout utilisateur disposant d'un PrAT/GrAT peut accéder à ces ressources via des mécanismes gérés par des portées attribuées.",[26,95,97],{"id":96},"types-de-tokens","Types de tokens",[12,99,100,101,106],{},"Voici la liste des tokens GitLab, avec leurs préfixes par défaut et le principal cas d'utilisation associé. Pour plus de détails, consultez la ",[19,102,105],{"href":103,"rel":104},"https://docs.gitlab.com/security/tokens/#available-scopes",[],"page de présentation des tokens GitLab",".",[108,109,110,126],"table",{},[111,112,113],"thead",{},[114,115,116,120,123],"tr",{},[117,118,119],"th",{},"Tokens",[117,121,122],{},"Préfixe",[117,124,125],{},"Description",[127,128,129,141,152,162,172,182,193,204,215,226,237,248,259,277,288,299],"tbody",{},[114,130,131,135,138],{},[132,133,134],"td",{},"Jeton d'accès personnel",[132,136,137],{},"glpat",[132,139,140],{},"Accès aux données propres à l'utilisateur",[114,142,143,146,149],{},[132,144,145],{},"Token OAuth 2.0",[132,147,148],{},"gloas",[132,150,151],{},"Authentification à l'aide du protocole OAuth2.0 pour des intégrations tierces",[114,153,154,157,159],{},[132,155,156],{},"Token d'emprunt d'identité",[132,158,137],{},[132,160,161],{},"Possibilité d'agir au nom d'un autre utilisateur à des fins d'administration",[114,163,164,167,169],{},[132,165,166],{},"Token d'accès au projet",[132,168,137],{},[132,170,171],{},"Accès aux données d'un projet spécifique",[114,173,174,177,179],{},[132,175,176],{},"Token d'accès au groupe",[132,178,137],{},[132,180,181],{},"Accès aux données d'un groupe spécifique",[114,183,184,187,190],{},[132,185,186],{},"Token de déploiement",[132,188,189],{},"gldt",[132,191,192],{},"Accès aux images d'un registre de conteneurs pour cloner ou effectuer un push/pull sans identifiants utilisateur ni mot de passe",[114,194,195,198,201],{},[132,196,197],{},"Clés de déploiement",[132,199,200],{},"N/A",[132,202,203],{},"Accès en lecture seule ou en lecture-écriture aux dépôts",[114,205,206,209,212],{},[132,207,208],{},"Token d'accès au runner",[132,210,211],{},"glrt",[132,213,214],{},"Authentification des GitLab Runners",[114,216,217,220,223],{},[132,218,219],{},"Token de job CI/CD",[132,221,222],{},"glcbt",[132,224,225],{},"Automatisation des processus CI/CD",[114,227,228,231,234],{},[132,229,230],{},"Token de déclenchement",[132,232,233],{},"glptt",[132,235,236],{},"Déclenchement manuel ou automatique des pipelines",[114,238,239,242,245],{},[132,240,241],{},"Token de flux",[132,243,244],{},"glft",[132,246,247],{},"Authentification de l'accès aux flux de paquets/RSS",[114,249,250,253,256],{},[132,251,252],{},"Token d'e-mail entrant",[132,254,255],{},"glimt",[132,257,258],{},"Traitement des e-mails entrants",[114,260,261,264,267],{},[132,262,263],{},"Token GitLab Agent for Kubernetes",[132,265,266],{},"glagent",[132,268,269,270,276],{},"Gestion des clusters ",[19,271,275],{"href":272,"rel":273,"title":274},"https://about.gitlab.com/fr-fr/blog/kubernetes-the-container-orchestration-solution/",[],"Qu'est-ce que Kubernetes ?","Kubernetes"," via GitLab Agent",[114,278,279,282,285],{},[132,280,281],{},"Tokens SCIM",[132,283,284],{},"glsoat",[132,286,287],{},"Activation des intégrations SCIM pour le provisionnement des utilisateurs",[114,289,290,293,296],{},[132,291,292],{},"Token client pour feature flags",[132,294,295],{},"glffct",[132,297,298],{},"Activation automatisée des feature flags",[114,300,301,304,306],{},[132,302,303],{},"Token de webhook",[132,305,200],{},[132,307,308],{},"Token de secret défini par l'utilisateur pour sécuriser les charges utiles des webhooks et vérifier que les requêtes proviennent de GitLab",[26,310,312],{"id":311},"identification-des-tokens-utilisés","Identification des tokens utilisés",[314,315,317],"h3",{"id":316},"inventaire-des-identifiants-de-connexion","Inventaire des identifiants de connexion",[12,319,320],{},"Avec GitLab Ultimate, les administrateurs (GitLab Self-Managed) et les propriétaires de groupe principal (GitLab.com, à partir de la version 17.5) peuvent surveiller les identifiants de connexion dans leur espace de nommage.",[12,322,323],{},"Cet inventaire permet de suivre les détails des tokens, notamment :",[60,325,326,329,337,343,346,349,352,355],{},[63,327,328],{},"Le type de tokens",[63,330,331,332],{},"Les tokens disponibles sur ",[19,333,336],{"href":334,"rel":335},"https://docs.gitlab.com/administration/credentials_inventory/",[],"GitLab.com",[63,338,331,339],{},[19,340,342],{"href":334,"rel":341},[],"GitLab Self-Managed",[63,344,345],{},"Les comptes utilisateurs associés",[63,347,348],{},"Les portées des tokens, ainsi que leur date de création et d'expiration",[63,350,351],{},"Les adresses IP des derniers tokens utilisés (à partir de GitLab 17.10)",[63,353,354],{},"Le filtrage des tokens en fonction des paramètres définis par l'utilisateur",[63,356,357],{},"La possibilité de révoquer et de procéder à une rotation de ces tokens",[12,359,360],{},"Tenir correctement un inventaire des identifiants de connexion permet d'identifier les tokens avec des autorisations excessives et ceux dont la rotation est requise, ce qui garantit un workflow sécurisé et efficace.",[362,363,366,367],"figure",{"className":364},[365],"video_container","\n  ",[368,369],"iframe",{"src":370,"frameBorder":371,"allowFullScreen":372},"https://www.youtube.com/embed/A9ONfnwswd0?si=4VIEUgJaD4daj81b&start=105","0","true",[374,375,377],"h4",{"id":376},"api-dédiée-pour-linventaire-des-identifiants","API dédiée pour l'inventaire des identifiants",[12,379,380,381,386,387,392],{},"En complément de l'interface utilisateur, une API d'inventaire des identifiants de connexion permet d’accéder à cet inventaire via le nouveau ",[19,382,385],{"href":383,"rel":384},"https://docs.gitlab.com/api/group_members/#list-all-members-of-a-group-or-project",[],"point de terminaison"," /group/:id/manage. Les identifiants de connexion accessibles sous ce point de terminaison sont réservés aux ",[19,388,391],{"href":389,"rel":390},"https://docs.gitlab.com/user/enterprise_user/",[],"comptes utilisateurs Entreprise"," ayant souscrit un abonnement GitLab. Ils ne peuvent être consultés que par le propriétaire du groupe principal du projet de l'entreprise concernée.",[12,394,395],{},"Voici à quoi pourrait ressembler un appel API à l'avenir :",[397,398,403],"pre",{"className":399,"code":400,"language":401,"meta":402,"style":402},"language-console shiki shiki-themes github-light","curl --header \"PRIVATE-TOKEN: \u003Cpat>\"\ncurl --header \"PRIVATE-TOKEN: \u003Cpat>\" \"https://verified_domain.com/api/v4/groups/\u003Cgroup_id>/manage/personal_access_tokens\"\n","console","",[404,405,406,414],"code",{"__ignoreMap":402},[407,408,411],"span",{"class":409,"line":410},"line",1,[407,412,413],{},"curl --header \"PRIVATE-TOKEN: \u003Cpat>\"\n",[407,415,417],{"class":409,"line":416},2,[407,418,419],{},"curl --header \"PRIVATE-TOKEN: \u003Cpat>\" \"https://verified_domain.com/api/v4/groups/\u003Cgroup_id>/manage/personal_access_tokens\"\n",[314,421,423],{"id":422},"api-gitlab","API GitLab",[12,425,426,427,432],{},"L'API GitLab vous permet de répertorier et de gérer les tokens automatiquement (à l'aide de scripts ou d'applications) au sein de votre entreprise. Les points de terminaison clés liés à l'authentification prennent en charge ",[19,428,431],{"href":429,"rel":430},"https://docs.gitlab.com/api/rest/authentication/",[],"différents types de tokens",", notamment les jetons d'accès personnel, les tokens d'accès au groupe, les tokens de job CI/CD, entre autres. Voici un exemple d'utilisation d'un jeton d'accès personnel qui répertorie tous les projets visibles sur GitLab pour l'utilisateur authentifié :",[397,434,436],{"className":399,"code":435,"language":401,"meta":402,"style":402},"curl --header \"PRIVATE-TOKEN: \u003Cyour_access_token>\" \"https://gitlab.example.com/api/v4/projects\"\n",[404,437,438],{"__ignoreMap":402},[407,439,440],{"class":409,"line":410},[407,441,435],{},[12,443,444],{},"Regardez cette vidéo et découvrez comment effectuer des appels à l'API GitLab.",[362,446,366,448],{"className":447},[365],[368,449],{"src":450,"frameBorder":371,"allowFullScreen":372},"https://www.youtube.com/embed/0LsMC3ZiXkA?si=vj871YH610jwQdFc",[314,452,454],{"id":453},"identification-de-lutilisation-des-tokens","Identification de l’utilisation des tokens",[12,456,457],{},"Vous pouvez identifier de différentes manières les emplacements ou les contextes dans lesquels les tokens sont utilisés :",[60,459,460,471,474,477],{},[63,461,462,463],{},"Depuis ",[67,464,465,466],{},"Paramètres utilisateur > ",[19,467,470],{"href":468,"rel":469},"https://docs.gitlab.com/user/profile/personal_access_tokens/#view-the-time-at-and-ips-where-a-token-was-last-used",[],"Jetons d'accès",[63,472,473],{},"Dans l'inventaire des identifiants de connexion",[63,475,476],{},"Dans les événements d'audit",[63,478,479],{},"Via l'API",[12,481,482,483,486,487,106],{},"Les informations sur l'utilisation des tokens sont mises à jour toutes les 10 minutes pour ",[67,484,485],{},"last_used"," et toutes les minutes pour ",[67,488,489],{},"last_used_ip",[12,491,492,493,498,499,503],{},"La possibilité d'afficher les adresses IP a été introduite dans GitLab 17.9 et est contrôlée par le feature flag ",[67,494,495],{},[496,497],"pat-ip",{},". Suivez ces ",[19,500,502],{"href":468,"rel":501},[],"étapes pour afficher la dernière fois où un token a été utilisé",", ainsi que ses cinq dernières adresses IP distinctes.",[12,505,506],{},[43,507],{"alt":508,"src":509},"Guide de gestion des tokens - paramètres des jetons d'accès personnels","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097435/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750097434870.png",[26,511,513],{"id":512},"gestion-des-tokens-dans-lapi-et-linterface-utilisateur-de-gitlab","Gestion des tokens dans l'API et l'interface utilisateur de GitLab",[12,515,516],{},"Le tableau suivant répertorie des vidéos qui présentent plusieurs créations de tokens dans l'interface utilisateur et leur utilisation via l'API.",[108,518,519,530],{},[111,520,521],{},[114,522,523,525,528],{},[117,524,119],{},[117,526,527],{},"UI GitLab",[117,529,423],{},[127,531,532,559,583],{},[114,533,534,536,549],{},[132,535,134],{},[132,537,538,543,544],{},[19,539,542],{"href":540,"rel":541},"https://docs.gitlab.com/user/profile/personal_access_tokens/#create-a-personal-access-token",[],"Documentation"," et ",[19,545,548],{"href":546,"rel":547},"https://youtu.be/v5Nj3Jy4vaI?t=3",[],"vidéo",[132,550,551,543,555],{},[19,552,542],{"href":553,"rel":554},"https://docs.gitlab.com/api/personal_access_tokens/",[],[19,556,548],{"href":557,"rel":558},"https://youtu.be/v5Nj3Jy4vaI?t=43",[],[114,560,561,563,573],{},[132,562,176],{},[132,564,565,543,569],{},[19,566,542],{"href":567,"rel":568},"https://docs.gitlab.com/user/group/settings/group_access_tokens/#group-access-tokens",[],[19,570,548],{"href":571,"rel":572},"https://youtu.be/v5Nj3Jy4vaI?t=120",[],[132,574,575,543,579],{},[19,576,542],{"href":577,"rel":578},"https://docs.gitlab.com/api/group_access_tokens/",[],[19,580,548],{"href":581,"rel":582},"https://youtu.be/v5Nj3Jy4vaI?t=157",[],[114,584,585,587,597],{},[132,586,166],{},[132,588,589,543,593],{},[19,590,542],{"href":591,"rel":592},"https://docs.gitlab.com/user/project/settings/project_access_tokens/#project-access-tokens",[],[19,594,548],{"href":595,"rel":596},"https://youtu.be/v5Nj3Jy4vaI?t=254",[],[132,598,599,543,603],{},[19,600,542],{"href":601,"rel":602},"https://docs.gitlab.com/api/project_access_tokens/",[],[19,604,548],{"href":605,"rel":606},"https://youtu.be/v5Nj3Jy4vaI?t=285",[],[26,608,610],{"id":609},"gestion-de-la-rotation-et-de-lexpiration-des-tokens","Gestion de la rotation et de l'expiration des tokens",[12,612,613],{},"La mise en œuvre d'une rotation des tokens et de règles d'expiration strictes permet de réduire les risques de compromission et de garantir la conformité aux normes de sécurité. Une rotation régulière et des expirations contrôlées empêchent que les identifiants de connexion obsolètes ne deviennent des failles de sécurité.",[12,615,616,617,622],{},"Auparavant, les tokens d'accès au groupe et au projet arrivés à expiration étaient automatiquement supprimés, ce qui compliquait les audits et les analyses de résultats des scans de sécurité en raison de l'absence d'historique de ces tokens inactifs. Pour remédier à ce problème, une ",[19,618,621],{"href":619,"rel":620},"https://gitlab.com/gitlab-org/gitlab/-/issues/462217",[],"fonctionnalité"," a introduit la conservation dans l'interface utilisateur des enregistrements de tokens d'accès au groupe et au projet inactifs pendant 30 jours après leur expiration. Cette amélioration permet aux équipes de suivre l'utilisation, l'expiration et la révocation des tokens et offre ainsi une meilleure conformité et un meilleur contrôle.",[12,624,625],{},"Pour gérer de manière proactive la rotation et l'expiration de vos tokens, procédez comme suit :",[60,627,628,636],{},[63,629,630,631,106],{},"Régénérez activement vos tokens via l'interface utilisateur ou l'API. Si vous utilisez l'API, tenez compte du mécanisme de sécurité de ",[19,632,635],{"href":633,"rel":634},"https://docs.gitlab.com/api/personal_access_tokens/#automatic-reuse-detection",[],"détection automatique de la réutilisation des tokens",[63,637,638,639,644],{},"Définissez une ",[19,640,643],{"href":641,"rel":642},"https://docs.gitlab.com/administration/settings/account_and_limit_settings/#limit-the-lifetime-of-access-tokens",[],"limite de durée de validité maximale"," à l'échelle de l'instance pour les tokens d'accès.",[314,646,648],{"id":647},"api-de-rotation-des-tokens","API de rotation des tokens",[12,650,651,652,106],{},"Jusqu'à la version GitLab 17.7, les utilisateurs devaient effectuer une rotation automatique des tokens d'accès exclusivement via l'API. Cette fonctionnalité est maintenant disponible dans l'interface utilisateur. Pour en savoir plus, regardez les vidéos dans le tableau ci-dessous ou consultez notre ",[19,653,656],{"href":654,"rel":655},"https://docs.gitlab.com/user/project/settings/project_access_tokens/#use-the-ui",[],"documentation",[314,658,660],{"id":659},"extraits-de-code-pour-la-rotation-des-tokens","Extraits de code pour la rotation des tokens",[12,662,663],{},"Le tableau suivant regroupe des vidéos expliquant le processus de rotation des tokens dans GitLab.",[108,665,666,679],{},[111,667,668],{},[114,669,670,672,675,677],{},[117,671,119],{},[117,673,674],{},"Prérequis",[117,676,527],{},[117,678,423],{},[127,680,681,707,733],{},[114,682,683,685,688,697],{},[132,684,134],{},[132,686,687],{},"Portée : API",[132,689,690,543,693],{},[19,691,542],{"href":540,"rel":692},[],[19,694,548],{"href":695,"rel":696},"https://youtu.be/v5Nj3Jy4vaI?t=76",[],[132,698,699,543,703],{},[19,700,542],{"href":701,"rel":702},"https://docs.gitlab.com/api/personal_access_tokens/#rotate-a-personal-access-token",[],[19,704,548],{"href":705,"rel":706},"https://youtu.be/v5Nj3Jy4vaI?t=92",[],[114,708,709,711,714,724],{},[132,710,176],{},[132,712,713],{},"Portée : API et rôle(s) : propriétaire",[132,715,716,543,720],{},[19,717,542],{"href":718,"rel":719},"https://docs.gitlab.com/user/group/settings/group_access_tokens/#create-a-group-access-token-using-ui",[],[19,721,548],{"href":722,"rel":723},"https://youtu.be/v5Nj3Jy4vaI?t=203",[],[132,725,726,543,729],{},[19,727,542],{"href":577,"rel":728},[],[19,730,548],{"href":731,"rel":732},"https://youtu.be/v5Nj3Jy4vaI?t=214",[],[114,734,735,737,740,750],{},[132,736,166],{},[132,738,739],{},"Portée : API et rôle(s) : propriétaire, chargé de maintenance",[132,741,742,543,746],{},[19,743,542],{"href":744,"rel":745},"https://docs.gitlab.com/user/project/settings/project_access_tokens/#create-a-project-access-token",[],[19,747,548],{"href":748,"rel":749},"https://youtu.be/v5Nj3Jy4vaI?t=335",[],[132,751,752,543,755],{},[19,753,542],{"href":601,"rel":754},[],[19,756,548],{"href":757,"rel":758},"https://youtu.be/v5Nj3Jy4vaI?t=349",[],[26,760,762],{"id":761},"bonnes-pratiques-de-gestion-des-tokens","Bonnes pratiques de gestion des tokens",[314,764,766],{"id":765},"principe-de-moindre-privilège","Principe de moindre privilège",[12,768,769],{},"Atténuez les risques en limitant les autorisations attribuées aux tokens à celles strictement nécessaires à leurs tâches respectives. Vous pourrez ainsi anticiper et résoudre de manière proactive les points de défaillance de vos systèmes.",[12,771,772],{},"Pour ce faire, procédez comme suit :",[60,774,775,778,786,789,798,801],{},[63,776,777],{},"Sélectionnez le token adapté au job. Consultez l'organigramme en cas de besoin.",[63,779,780,781,106],{},"Attribuez uniquement les portées nécessaires lors de la création d'un token. Par exemple, utilisez des portées en lecture seule pour les tokens employés à des fins d'audit. Consultez notre documentation sur les ",[19,782,785],{"href":783,"rel":784},"https://docs.gitlab.com/user/permissions/#roles",[],"rôles",[63,787,788],{},"Évitez d'accorder des privilèges d'administrateur, sauf si cela est explicitement requis.",[63,790,791,792,797],{},"Appliquez une ",[19,793,796],{"href":794,"rel":795},"https://docs.gitlab.com/administration/settings/account_and_limit_settings/#set-a-lifetime-1",[],"durée de validité"," par défaut à l'échelle de l'instance.",[63,799,800],{},"Examinez et auditez régulièrement les autorisations octroyées aux tokens pour vous assurer de leur adéquation avec les besoins opérationnels actuels.",[63,802,803],{},"Révoquez les tokens une fois leur tâche terminée.",[314,805,807],{"id":806},"comptes-de-service","Comptes de service",[12,809,65,810,815],{},[19,811,814],{"href":812,"rel":813},"https://docs.gitlab.com/user/profile/service_accounts/",[],"comptes de service"," associent les tokens à des entités non humaines, ce qui permet de les distinguer des comptes d'utilisateurs et de réduire la dépendance à des utilisateurs spécifiques. Au lieu d'utiliser des comptes personnels pour générer des tokens à des fins d'automatisation, créez des comptes de service avec des portées limitées.",[12,817,818],{},"Voici les principaux avantages :",[60,820,821,824,827,830,838],{},[63,822,823],{},"Utilisation de tokens de compte de service dans les pipelines CI/CD pour éviter les perturbations causées par les modifications de compte d'utilisateur",[63,825,826],{},"Automatisation des processus de rotation, sans impact sur les comptes personnels",[63,828,829],{},"Suivi ciblé et piste d'audit plus clairs des actions entreprises par les comptes de service",[63,831,832,833],{},"Comptes de service ",[19,834,837],{"href":835,"rel":836},"https://docs.gitlab.com/user/profile/personal_access_tokens/#create-a-service-account-personal-access-token-with-no-expiry-date",[],"sans date d'expiration",[63,839,840,841,846],{},"Aucun ",[19,842,845],{"href":843,"rel":844},"https://docs.gitlab.com/user/profile/service_accounts/#create-a-service-account",[],"siège de licence"," consommé",[12,848,849,850,855,856,861],{},"GitLab a lancé une nouvelle ",[19,851,854],{"href":852,"rel":853},"https://gitlab.com/groups/gitlab-org/-/epics/9965",[],"interface utilisateur dédiée aux comptes de service"," en complément de leur ",[19,857,860],{"href":858,"rel":859},"https://docs.gitlab.com/api/service_accounts/#create-a-service-account-user",[],"création via l'API",", afin de simplifier leur gestion et celle des tokens associés. Regardez la démo ci-dessous sur l'utilisation automatique des comptes de service.",[362,863,366,865],{"className":864},[365],[368,866],{"src":867,"frameBorder":371,"allowFullScreen":372},"https://youtu.be/oZvjg0SCsqY?si=hSXKtq87lDeY9aRq",[314,869,871],{"id":870},"outils-de-détection-des-vulnérabilités","Outils de détection des vulnérabilités",[12,873,874],{},"Tirez parti des outils de sécurité intégrés à la plateforme GitLab pour détecter et atténuer les vulnérabilités associées à l'utilisation des tokens. Pour une protection optimale, il est recommandé d'utiliser l'ensemble de ces outils de manière combinée.",[60,876,877,890,904],{},[63,878,879,884,885,106],{},[19,880,883],{"href":881,"rel":882},"https://docs.gitlab.com/user/application_security/secret_detection/",[],"Détection des secrets"," : analyse votre dépôt à la recherche de secrets codés en dur, tels que les tokens d'API, les mots de passe et d'autres informations contenant des données sensibles. Consultez la ",[19,886,889],{"href":887,"rel":888},"https://docs.gitlab.com/user/application_security/secret_detection/detected_secrets/",[],"liste des secrets détectés",[63,891,892,897,898,903],{},[19,893,896],{"href":894,"rel":895},"https://docs.gitlab.com/user/application_security/sast/",[],"Tests statiques de sécurité des applications (SAST)"," : analyse votre code source à la recherche de failles de sécurité et ",[19,899,902],{"href":900,"rel":901},"https://docs.gitlab.com/user/application_security/sast/#features",[],"fournit des rapports intégrés aux merge requests contenant les résultats de l'interface utilisateur",", entre autres fonctionnalités.",[63,905,906,911],{},[19,907,910],{"href":908,"rel":909},"https://docs.gitlab.com/user/application_security/dependency_scanning/",[],"Analyse des dépendances"," : assure que les bibliothèques tierces utilisées dans votre projet ne présentent pas de vulnérabilités liées aux tokens.",[314,913,915],{"id":914},"journaux-daudit-et-surveillance","Journaux d'audit et surveillance",[12,917,918],{},"Veillez à l'intégrité de vos tokens en examinant régulièrement les journaux d'audit et les données d'utilisation des tokens au niveau de l'instance et/ou du groupe.",[60,920,921,929,937,945,951,959],{},[63,922,923,928],{},[19,924,927],{"href":925,"rel":926},"https://docs.gitlab.com/user/compliance/audit_events/",[],"Événements d'audit"," : activez la journalisation des événements d'audit dans GitLab pour suivre les activités liées aux tokens, telles que la création, l'utilisation, la révocation et les appels API suspects (paramètres non autorisés dans les journaux, déclenchements répétés du limiteur de débit).",[63,930,931,936],{},[19,932,935],{"href":933,"rel":934},"https://docs.gitlab.com/administration/reporting/ip_addr_restrictions/#configure-ip-address-restrictions",[],"Liste des adresses IP autorisées"," : permet d'empêcher qu'un utilisateur malveillant masque ses activités derrière plusieurs adresses IP.",[63,938,939,944],{},[19,940,943],{"href":941,"rel":942},"https://docs.gitlab.com/operations/incident_management/alerts/",[],"Alertes"," : configurez des alertes pour les activités inhabituelles (déclenchement d'une remontée d'alerte d'incident lors des rotations d'astreinte ou création d'incidents).",[63,946,947,950],{},[19,948,317],{"href":334,"rel":949},[]," : contrôlez l'ensemble des tokens d'accès disponibles avec la possibilité de les révoquer si nécessaire.",[63,952,953,958],{},[19,954,957],{"href":955,"rel":956},"https://docs.gitlab.com/user/profile/notifications/",[],"Notifications"," : gérez de manière proactive tous les e-mails de notification d'expiration de tokens (d'accès au groupe/projet et personnel) que vous recevez. Suite aux retours de nos clients, cette fonctionnalité a été étendue pour inclure des notifications à 30 jours et 60 jours, en plus de la notification par défaut à 7 jours.",[63,960,961,966,967,972],{},[19,962,965],{"href":963,"rel":964},"https://docs.gitlab.com/user/project/integrations/webhooks/#create-a-webhook",[],"Webhooks"," : les webhooks de tokens d'accès peuvent être configurés sur les groupes et les projets pour envoyer des événements d'expiration de tokens à sept jours. Cette fonctionnalité a également été étendue pour inclure des notifications à 30 jours et 60 jours via le feature flag ",[67,968,969],{},[970,971],"extended-expiry-webhook-execution-setting",{}," (désactivé par défaut).",[26,974,976],{"id":975},"perspectives","Perspectives",[12,978,979,980,985],{},"Compte tenu du vaste catalogue de tokens de GitLab, nous avons ",[19,981,984],{"href":982,"rel":983},"https://gitlab.com/gitlab-org/gitlab/-/issues/502630",[],"prévu"," une consolidation axée sur la durée de validité, les portées affinées, la gestion cohérente et l'utilisation. En ce qui concerne les fonctionnalités liées aux tokens, nous avons identifié les priorités suivantes : une interface utilisateur complète pour les comptes de service, l'ajout de nouveaux types d'identifiants dans l'inventaire des identifiants de connexion et une amélioration de l'audit des tokens et comptes de service.",[987,988,989],"blockquote",{},[12,990,991,996],{},[19,992,995],{"href":993,"rel":994},"https://about.gitlab.com/fr-fr/free-trial/",[],"Essayez GitLab Ultimate gratuitement"," et commencez à utiliser les fonctionnalités de gestion des tokens.",[998,999,1000],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":402,"searchDepth":416,"depth":416,"links":1002},[1003,1004,1005,1011,1012,1016,1022],{"id":28,"depth":416,"text":29},{"id":96,"depth":416,"text":97},{"id":311,"depth":416,"text":312,"children":1006},[1007,1009,1010],{"id":316,"depth":1008,"text":317},3,{"id":422,"depth":1008,"text":423},{"id":453,"depth":1008,"text":454},{"id":512,"depth":416,"text":513},{"id":609,"depth":416,"text":610,"children":1013},[1014,1015],{"id":647,"depth":1008,"text":648},{"id":659,"depth":1008,"text":660},{"id":761,"depth":416,"text":762,"children":1017},[1018,1019,1020,1021],{"id":765,"depth":1008,"text":766},{"id":806,"depth":1008,"text":807},{"id":870,"depth":1008,"text":871},{"id":914,"depth":1008,"text":915},{"id":975,"depth":416,"text":976},"security","2025-02-25","Découvrez le processus de gestion, d'identification et de sécurisation des tokens et renforcez votre sécurité tout au long du cycle de développement logiciel.","md",null,true,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097408/Blog/Hero%20Images/Blog/Hero%20Images/AdobeStock_1097303277_6gTk7M1DNx0tFuovupVFB1_1750097407860.jpg",{},"/fr-fr/blog/the-ultimate-guide-to-token-management-at-gitlab",{"ogTitle":5,"ogImage":1029,"ogDescription":1025,"ogSiteName":1033,"noIndex":1034,"ogType":1035,"ogUrl":1036,"title":5,"canonicalUrls":1036,"description":1025},"https://about.gitlab.com",false,"article","https://about.gitlab.com/blog/the-ultimate-guide-to-token-management-at-gitlab","the-ultimate-guide-to-token-management-at-gitlab","fr-fr/blog/the-ultimate-guide-to-token-management-at-gitlab",[1040,1023,1041,1042,1043],"tutorial","DevSecOps platform","features","product","BlogPost","2025-07-01","rrBfPfWx-yJyPYLydKanA14p0zSuLugFzfIGrYzGpRE",{"logo":1048,"freeTrial":1053,"sales":1058,"login":1063,"items":1068,"search":1396,"minimal":1431,"duo":1450,"switchNav":1459,"pricingDeployment":1470},{"config":1049},{"href":1050,"dataGaName":1051,"dataGaLocation":1052},"/fr-fr/","gitlab logo","header",{"text":1054,"config":1055},"Commencer un essai gratuit",{"href":1056,"dataGaName":1057,"dataGaLocation":1052},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr&glm_content=default-saas-trial/","free trial",{"text":1059,"config":1060},"Demander une démo",{"href":1061,"dataGaName":1062,"dataGaLocation":1052},"/fr-fr/sales/?contact-topic=request-demo","sales",{"text":1064,"config":1065},"Connexion",{"href":1066,"dataGaName":1067,"dataGaLocation":1052},"https://gitlab.com/users/sign_in/","sign in",[1069,1098,1200,1205,1318,1374],{"text":1070,"config":1071,"menu":1073},"Plateforme",{"dataNavLevelOne":1072},"platform",{"type":1074,"columns":1075},"cards",[1076,1082,1090],{"title":1070,"description":1077,"link":1078},"La plateforme d'orchestration intelligente pour le DevSecOps",{"text":1079,"config":1080},"Explorer notre plateforme",{"href":1081,"dataGaName":1072,"dataGaLocation":1052},"/fr-fr/platform/",{"title":1083,"description":1084,"link":1085},"GitLab Duo Agent Platform","L'IA agentique pour l'ensemble du cycle de développement logiciel",{"text":1086,"config":1087},"Découvrir GitLab Duo",{"href":1088,"dataGaName":1089,"dataGaLocation":1052},"/fr-fr/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":1091,"description":1092,"link":1093},"Pourquoi GitLab ?","Découvrez les principales raisons pour lesquelles les entreprises choisissent GitLab",{"text":1094,"config":1095},"En savoir plus",{"href":1096,"dataGaName":1097,"dataGaLocation":1052},"/fr-fr/why-gitlab/","why gitlab",{"text":1099,"left":1028,"config":1100,"menu":1102},"Produit",{"dataNavLevelOne":1101},"solutions",{"type":1103,"link":1104,"columns":1108,"feature":1179},"lists",{"text":1105,"config":1106},"Voir toutes les solutions",{"href":1107,"dataGaName":1101,"dataGaLocation":1052},"/fr-fr/solutions/",[1109,1134,1157],{"title":1110,"description":1111,"link":1112,"items":1117},"Automatisation","CI/CD et automatisation pour accélérer le déploiement",{"config":1113},{"icon":1114,"href":1115,"dataGaName":1116,"dataGaLocation":1052},"AutomatedCodeAlt","/fr-fr/solutions/delivery-automation/","automated software delivery",[1118,1122,1125,1130],{"text":1119,"config":1120},"CI/CD",{"href":1121,"dataGaLocation":1052,"dataGaName":1119},"/fr-fr/solutions/continuous-integration/",{"text":1083,"config":1123},{"href":1088,"dataGaLocation":1052,"dataGaName":1124},"gitlab duo agent platform - product menu",{"text":1126,"config":1127},"Gestion du code source",{"href":1128,"dataGaLocation":1052,"dataGaName":1129},"/fr-fr/solutions/source-code-management/","Source Code Management",{"text":1131,"config":1132},"Livraison de logiciels automatisée",{"href":1115,"dataGaLocation":1052,"dataGaName":1133},"Automated software delivery",{"title":1135,"description":1136,"link":1137,"items":1142},"Sécurité","Livrez du code plus rapidement sans compromettre la sécurité",{"config":1138},{"href":1139,"dataGaName":1140,"dataGaLocation":1052,"icon":1141},"/fr-fr/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[1143,1147,1152],{"text":1144,"config":1145},"Tests de sécurité des applications",{"href":1139,"dataGaName":1146,"dataGaLocation":1052},"Application security testing",{"text":1148,"config":1149},"Sécurité de la chaîne d'approvisionnement logicielle",{"href":1150,"dataGaLocation":1052,"dataGaName":1151},"/fr-fr/solutions/supply-chain/","Software supply chain security",{"text":1153,"config":1154},"Conformité logicielle",{"href":1155,"dataGaName":1156,"dataGaLocation":1052},"/fr-fr/solutions/software-compliance/","software compliance",{"title":1158,"link":1159,"items":1164},"Mesures",{"config":1160},{"icon":1161,"href":1162,"dataGaName":1163,"dataGaLocation":1052},"DigitalTransformation","/fr-fr/solutions/visibility-measurement/","visibility and measurement",[1165,1169,1174],{"text":1166,"config":1167},"Visibilité et mesures",{"href":1162,"dataGaLocation":1052,"dataGaName":1168},"Visibility and Measurement",{"text":1170,"config":1171},"Gestion de la chaîne de valeur",{"href":1172,"dataGaLocation":1052,"dataGaName":1173},"/fr-fr/solutions/value-stream-management/","Value Stream Management",{"text":1175,"config":1176},"Analyses et informations",{"href":1177,"dataGaLocation":1052,"dataGaName":1178},"/fr-fr/solutions/analytics-and-insights/","Analytics and insights",{"title":1180,"type":1103,"items":1181},"GitLab",[1182,1188,1194],{"text":1183,"config":1184},"Entreprises",{"icon":1185,"href":1186,"dataGaLocation":1052,"dataGaName":1187},"Building","/fr-fr/enterprise/","enterprise",{"text":1189,"config":1190},"Pour les PME",{"icon":1191,"href":1192,"dataGaLocation":1052,"dataGaName":1193},"Work","/fr-fr/small-business/","small business",{"text":1195,"config":1196},"Pour le secteur public",{"icon":1197,"href":1198,"dataGaLocation":1052,"dataGaName":1199},"Organization","/fr-fr/solutions/public-sector/","public sector",{"text":1201,"config":1202},"Tarifs",{"href":1203,"dataGaName":1204,"dataGaLocation":1052,"dataNavLevelOne":1204},"/fr-fr/pricing/","pricing",{"text":1206,"config":1207,"menu":1209},"Ressources",{"dataNavLevelOne":1208},"resources",{"type":1103,"link":1210,"columns":1214,"feature":1307},{"text":1211,"config":1212},"Afficher toutes les ressources",{"href":1213,"dataGaName":1208,"dataGaLocation":1052},"/fr-fr/resources/",[1215,1247,1274],{"title":1216,"items":1217},"Premiers pas",[1218,1223,1228,1233,1237,1242],{"text":1219,"config":1220},"Installation",{"href":1221,"dataGaName":1222,"dataGaLocation":1052},"/fr-fr/install/","install",{"text":1224,"config":1225},"Guides de démarrage",{"href":1226,"dataGaName":1227,"dataGaLocation":1052},"/fr-fr/get-started/","quick setup checklists",{"text":1229,"config":1230},"Apprentissage",{"href":1231,"dataGaLocation":1052,"dataGaName":1232},"https://university.gitlab.com/","learn",{"text":542,"config":1234},{"href":1235,"dataGaName":1236,"dataGaLocation":1052},"https://docs.gitlab.com/","product documentation",{"text":1238,"config":1239},"Vidéos sur les bonnes pratiques",{"href":1240,"dataGaName":1241,"dataGaLocation":1052},"/fr-fr/getting-started-videos/","best practice videos",{"text":1243,"config":1244},"Intégrations",{"href":1245,"dataGaName":1246,"dataGaLocation":1052},"/fr-fr/integrations/","integrations",{"title":1248,"items":1249},"Découvrir",[1250,1255,1260,1265,1269],{"text":1251,"config":1252},"Témoignages clients",{"href":1253,"dataGaName":1254,"dataGaLocation":1052},"/fr-fr/customers/","customer success stories",{"text":1256,"config":1257},"Blog",{"href":1258,"dataGaName":1259,"dataGaLocation":1052},"/fr-fr/blog/","blog",{"text":1261,"config":1262},"Demo Hub",{"href":1263,"dataGaName":1264,"dataGaLocation":1052},"/fr-fr/demo-hub/","demo hub",{"text":1266,"config":1267},"The Source",{"href":1268,"dataGaName":1259,"dataGaLocation":1052},"/fr-fr/the-source/",{"text":1270,"config":1271},"Travail à distance",{"href":1272,"dataGaName":1273,"dataGaLocation":1052},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":1275,"items":1276},"Connecter",[1277,1282,1287,1292,1297,1302],{"text":1278,"config":1279},"Services GitLab",{"href":1280,"dataGaName":1281,"dataGaLocation":1052},"/fr-fr/services/","services",{"text":1283,"config":1284},"Contribuer",{"href":1285,"dataGaName":1286,"dataGaLocation":1052},"https://contributors.gitlab.com","contribute",{"text":1288,"config":1289},"Communauté",{"href":1290,"dataGaName":1291,"dataGaLocation":1052},"/community/","community",{"text":1293,"config":1294},"Forum",{"href":1295,"dataGaName":1296,"dataGaLocation":1052},"https://forum.gitlab.com/","forum",{"text":1298,"config":1299},"Événements",{"href":1300,"dataGaName":1301,"dataGaLocation":1052},"/events/","events",{"text":1303,"config":1304},"Partenaires",{"href":1305,"dataGaName":1306,"dataGaLocation":1052},"/fr-fr/partners/","partners",{"config":1308,"title":1311,"text":1312,"link":1313},{"background":1309,"textColor":1310},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1777322348/qpq8yrgn8knii57omj0c.png')","#000","Nouveautés de GitLab","Découvrez les dernières fonctionnalités et améliorations.",{"text":1314,"config":1315},"Lire les articles les plus récents",{"href":1316,"dataGaName":1317,"dataGaLocation":1052},"/fr-fr/whats-new/","whats new",{"text":1319,"config":1320,"menu":1322},"Société",{"dataNavLevelOne":1321},"company",{"type":1103,"columns":1323},[1324],{"items":1325},[1326,1331,1337,1339,1344,1349,1354,1359,1364,1369],{"text":1327,"config":1328},"À propos",{"href":1329,"dataGaName":1330,"dataGaLocation":1052},"/fr-fr/company/","about",{"text":1332,"config":1333,"footerGa":1336},"Carrières",{"href":1334,"dataGaName":1335,"dataGaLocation":1052},"/jobs/","jobs",{"dataGaName":1335},{"text":1298,"config":1338},{"href":1300,"dataGaName":1301,"dataGaLocation":1052},{"text":1340,"config":1341},"Leadership",{"href":1342,"dataGaName":1343,"dataGaLocation":1052},"/company/team/e-group/","leadership",{"text":1345,"config":1346},"Manuel",{"href":1347,"dataGaName":1348,"dataGaLocation":1052},"https://handbook.gitlab.com/","handbook",{"text":1350,"config":1351},"Relations avec les investisseurs",{"href":1352,"dataGaName":1353,"dataGaLocation":1052},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":1355,"config":1356},"Trust Center",{"href":1357,"dataGaName":1358,"dataGaLocation":1052},"/fr-fr/security/","trust center",{"text":1360,"config":1361},"Centre pour la transparence de l'IA",{"href":1362,"dataGaName":1363,"dataGaLocation":1052},"/fr-fr/ai-transparency-center/","ai transparency center",{"text":1365,"config":1366},"Newsletter",{"href":1367,"dataGaName":1368,"dataGaLocation":1052},"/company/contact/#contact-forms","newsletter",{"text":1370,"config":1371},"Presse",{"href":1372,"dataGaName":1373,"dataGaLocation":1052},"/press/","press",{"text":1375,"config":1376,"menu":1377},"Nous contacter",{"dataNavLevelOne":1321},{"type":1103,"columns":1378},[1379],{"items":1380},[1381,1386,1391],{"text":1382,"config":1383},"Contacter l'équipe commerciale",{"href":1384,"dataGaName":1385,"dataGaLocation":1052},"/fr-fr/sales/","talk to sales",{"text":1387,"config":1388},"Assistance GitLab",{"href":1389,"dataGaName":1390,"dataGaLocation":1052},"https://support.gitlab.com/hc/en-us","support portal",{"text":1392,"config":1393},"Portail clients GitLab",{"href":1394,"dataGaName":1395,"dataGaLocation":1052},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":1397,"login":1398,"suggestions":1404},"Fermer",{"text":1399,"link":1400},"Pour rechercher des dépôts et des projets, connectez-vous à",{"text":336,"config":1401},{"href":1066,"dataGaName":1402,"dataGaLocation":1403},"search login","search",{"text":1405,"default":1406},"Suggestions",[1407,1410,1415,1417,1422,1427],{"text":1083,"config":1408},{"href":1088,"dataGaName":1409,"dataGaLocation":1403},"GitLab Duo Agent Platform",{"text":1411,"config":1412},"Suggestions de code (IA)",{"href":1413,"dataGaName":1414,"dataGaLocation":1403},"/fr-fr/solutions/code-suggestions/","Code Suggestions (AI)",{"text":1119,"config":1416},{"href":1121,"dataGaName":1119,"dataGaLocation":1403},{"text":1418,"config":1419},"GitLab sur AWS",{"href":1420,"dataGaName":1421,"dataGaLocation":1403},"/fr-fr/partners/technology-partners/aws/","GitLab on AWS",{"text":1423,"config":1424},"GitLab sur Google Cloud",{"href":1425,"dataGaName":1426,"dataGaLocation":1403},"/fr-fr/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":1428,"config":1429},"Pourquoi utiliser GitLab ?",{"href":1096,"dataGaName":1430,"dataGaLocation":1403},"Why GitLab?",{"freeTrial":1432,"mobileIcon":1437,"desktopIcon":1442,"secondaryButton":1445},{"text":1433,"config":1434},"Commencer votre essai gratuit",{"href":1435,"dataGaName":1057,"dataGaLocation":1436},"https://gitlab.com/-/trials/new/","nav",{"altText":1438,"config":1439},"Icône GitLab",{"src":1440,"dataGaName":1441,"dataGaLocation":1436},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":1438,"config":1443},{"src":1444,"dataGaName":1441,"dataGaLocation":1436},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":1446,"config":1447},"Commencer",{"href":1448,"dataGaName":1449,"dataGaLocation":1436},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/fr-fr/get-started/","get started",{"freeTrial":1451,"mobileIcon":1455,"desktopIcon":1457},{"text":1452,"config":1453},"En savoir plus sur GitLab Duo",{"href":1088,"dataGaName":1454,"dataGaLocation":1436},"gitlab duo",{"altText":1438,"config":1456},{"src":1440,"dataGaName":1441,"dataGaLocation":1436},{"altText":1438,"config":1458},{"src":1444,"dataGaName":1441,"dataGaLocation":1436},{"button":1460,"mobileIcon":1465,"desktopIcon":1467},{"text":1461,"config":1462},"/switch",{"href":1463,"dataGaName":1464,"dataGaLocation":1436},"#contact","switch",{"altText":1438,"config":1466},{"src":1440,"dataGaName":1441,"dataGaLocation":1436},{"altText":1438,"config":1468},{"src":1469,"dataGaName":1441,"dataGaLocation":1436},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":1471,"mobileIcon":1476,"desktopIcon":1478},{"text":1472,"config":1473},"Retour aux tarifs",{"href":1203,"dataGaName":1474,"dataGaLocation":1436,"icon":1475},"back to pricing","GoBack",{"altText":1438,"config":1477},{"src":1440,"dataGaName":1441,"dataGaLocation":1436},{"altText":1438,"config":1479},{"src":1444,"dataGaName":1441,"dataGaLocation":1436},{"title":1481,"button":1482,"config":1486},"GitLab Orbit est arrivé : la couche de contexte pour les agents d'IA.",{"text":1094,"config":1483},{"href":1484,"dataGaName":1485,"dataGaLocation":1052},"/fr-fr/gitlab-orbit/","orbit",{"layout":1487,"disabled":1034},"release",{"data":1489},{"text":1490,"source":1491,"edit":1497,"contribute":1502,"config":1506,"items":1511,"minimal":1719},"Git est une marque déposée de Software Freedom Conservancy et notre utilisation de « GitLab » est sous licence.",{"text":1492,"config":1493},"Afficher le code source de la page",{"href":1494,"dataGaName":1495,"dataGaLocation":1496},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":1498,"config":1499},"Modifier cette page",{"href":1500,"dataGaName":1501,"dataGaLocation":1496},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":1283,"config":1503},{"href":1504,"dataGaName":1505,"dataGaLocation":1496},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":1507,"facebook":1508,"youtube":1509,"linkedin":1510},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[1512,1558,1611,1654,1686],{"title":1201,"links":1513,"subMenu":1528},[1514,1518,1523],{"text":1515,"config":1516},"Voir les forfaits",{"href":1203,"dataGaName":1517,"dataGaLocation":1496},"view plans",{"text":1519,"config":1520},"GitLab Premium",{"href":1521,"dataGaName":1522,"dataGaLocation":1496},"/fr-fr/pricing/premium/","why premium",{"text":1524,"config":1525},"GitLab Ultimate",{"href":1526,"dataGaName":1527,"dataGaLocation":1496},"/fr-fr/pricing/ultimate/","why ultimate",[1529],{"title":1375,"links":1530},[1531,1533,1535,1538,1543,1548,1553],{"text":1382,"config":1532},{"href":1384,"dataGaName":1062,"dataGaLocation":1496},{"text":1387,"config":1534},{"href":1389,"dataGaName":1390,"dataGaLocation":1496},{"text":1536,"config":1537},"Portail clients",{"href":1394,"dataGaName":1395,"dataGaLocation":1496},{"text":1539,"config":1540},"Statut",{"href":1541,"dataGaName":1542,"dataGaLocation":1496},"https://status.gitlab.com/","status",{"text":1544,"config":1545},"Conditions d'utilisation",{"href":1546,"dataGaName":1547,"dataGaLocation":1496},"/terms/","terms of use",{"text":1549,"config":1550},"Politique de confidentialité",{"href":1551,"dataGaName":1552,"dataGaLocation":1496},"/fr-fr/privacy/","privacy statement",{"text":1554,"config":1555},"Gestion des cookies",{"dataGaName":1556,"dataGaLocation":1496,"id":1557,"isOneTrustButton":1028},"cookie preferences","ot-sdk-btn",{"title":1099,"links":1559,"subMenu":1568},[1560,1564],{"text":1561,"config":1562},"Plateforme DevSecOps",{"href":1081,"dataGaName":1563,"dataGaLocation":1496},"devsecops platform",{"text":1565,"config":1566},"Développement assisté par l'IA",{"href":1088,"dataGaName":1567,"dataGaLocation":1496},"ai-assisted development",[1569],{"title":1570,"links":1571},"Thèmes",[1572,1576,1581,1586,1591,1596,1601,1606],{"text":1119,"config":1573},{"href":1574,"dataGaName":1575,"dataGaLocation":1496},"/fr-fr/topics/ci-cd/","cicd",{"text":1577,"config":1578},"GitOps",{"href":1579,"dataGaName":1580,"dataGaLocation":1496},"/fr-fr/topics/gitops/","gitops",{"text":1582,"config":1583},"DevOps",{"href":1584,"dataGaName":1585,"dataGaLocation":1496},"/fr-fr/topics/devops/","devops",{"text":1587,"config":1588},"Contrôle de version",{"href":1589,"dataGaName":1590,"dataGaLocation":1496},"/fr-fr/topics/version-control/","version control",{"text":1592,"config":1593},"DevSecOps",{"href":1594,"dataGaName":1595,"dataGaLocation":1496},"/fr-fr/topics/devsecops/","devsecops",{"text":1597,"config":1598},"Cloud-native",{"href":1599,"dataGaName":1600,"dataGaLocation":1496},"/fr-fr/topics/cloud-native/","cloud native",{"text":1602,"config":1603},"IA pour la programmation",{"href":1604,"dataGaName":1605,"dataGaLocation":1496},"/fr-fr/topics/devops/ai-for-coding/","ai for coding",{"text":1607,"config":1608},"IA agentique",{"href":1609,"dataGaName":1610,"dataGaLocation":1496},"/fr-fr/topics/agentic-ai/","agentic ai",{"title":1612,"links":1613},"Solutions",[1614,1617,1619,1624,1627,1630,1633,1636,1638,1641,1644,1649],{"text":1144,"config":1615},{"href":1139,"dataGaName":1616,"dataGaLocation":1496},"Application Security Testing",{"text":1131,"config":1618},{"href":1115,"dataGaName":1116,"dataGaLocation":1496},{"text":1620,"config":1621},"Développement Agile",{"href":1622,"dataGaName":1623,"dataGaLocation":1496},"/fr-fr/solutions/agile-delivery/","agile delivery",{"text":1126,"config":1625},{"href":1128,"dataGaName":1626,"dataGaLocation":1496},"source code management",{"text":1119,"config":1628},{"href":1121,"dataGaName":1629,"dataGaLocation":1496},"continuous integration & delivery",{"text":1170,"config":1631},{"href":1172,"dataGaName":1632,"dataGaLocation":1496},"value stream management",{"text":1577,"config":1634},{"href":1635,"dataGaName":1580,"dataGaLocation":1496},"/fr-fr/solutions/gitops/",{"text":1183,"config":1637},{"href":1186,"dataGaName":1187,"dataGaLocation":1496},{"text":1639,"config":1640},"PME",{"href":1192,"dataGaName":1193,"dataGaLocation":1496},{"text":1642,"config":1643},"Secteur public",{"href":1198,"dataGaName":1199,"dataGaLocation":1496},{"text":1645,"config":1646},"Éducation",{"href":1647,"dataGaName":1648,"dataGaLocation":1496},"/fr-fr/solutions/education/","education",{"text":1650,"config":1651},"Services financiers",{"href":1652,"dataGaName":1653,"dataGaLocation":1496},"/fr-fr/solutions/finance/","financial services",{"title":1206,"links":1655},[1656,1658,1660,1662,1665,1667,1670,1672,1674,1676,1678,1680,1682,1684],{"text":1219,"config":1657},{"href":1221,"dataGaName":1222,"dataGaLocation":1496},{"text":1224,"config":1659},{"href":1226,"dataGaName":1227,"dataGaLocation":1496},{"text":1229,"config":1661},{"href":1231,"dataGaName":1232,"dataGaLocation":1496},{"text":542,"config":1663},{"href":1235,"dataGaName":1664,"dataGaLocation":1496},"docs",{"text":1256,"config":1666},{"href":1258,"dataGaName":1259,"dataGaLocation":1496},{"text":1668,"config":1669},"Nouveautés",{"href":1316,"dataGaName":1317,"dataGaLocation":1496},{"text":1251,"config":1671},{"href":1253,"dataGaName":1254,"dataGaLocation":1496},{"text":1270,"config":1673},{"href":1272,"dataGaName":1273,"dataGaLocation":1496},{"text":1278,"config":1675},{"href":1280,"dataGaName":1281,"dataGaLocation":1496},{"text":1283,"config":1677},{"href":1285,"dataGaName":1286,"dataGaLocation":1496},{"text":1288,"config":1679},{"href":1290,"dataGaName":1291,"dataGaLocation":1496},{"text":1293,"config":1681},{"href":1295,"dataGaName":1296,"dataGaLocation":1496},{"text":1298,"config":1683},{"href":1300,"dataGaName":1301,"dataGaLocation":1496},{"text":1303,"config":1685},{"href":1305,"dataGaName":1306,"dataGaLocation":1496},{"title":1319,"links":1687},[1688,1690,1692,1694,1696,1698,1703,1708,1710,1712,1714],{"text":1327,"config":1689},{"href":1329,"dataGaName":1321,"dataGaLocation":1496},{"text":1332,"config":1691},{"href":1334,"dataGaName":1335,"dataGaLocation":1496},{"text":1340,"config":1693},{"href":1342,"dataGaName":1343,"dataGaLocation":1496},{"text":1345,"config":1695},{"href":1347,"dataGaName":1348,"dataGaLocation":1496},{"text":1350,"config":1697},{"href":1352,"dataGaName":1353,"dataGaLocation":1496},{"text":1699,"config":1700},"Développement durable",{"href":1701,"dataGaName":1702,"dataGaLocation":1496},"/sustainability/","Sustainability",{"text":1704,"config":1705},"Diversité, inclusion et appartenance (DIB)",{"href":1706,"dataGaName":1707,"dataGaLocation":1496},"/fr-fr/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":1355,"config":1709},{"href":1357,"dataGaName":1358,"dataGaLocation":1496},{"text":1365,"config":1711},{"href":1367,"dataGaName":1368,"dataGaLocation":1496},{"text":1370,"config":1713},{"href":1372,"dataGaName":1373,"dataGaLocation":1496},{"text":1715,"config":1716},"Déclaration de transparence sur l'esclavage moderne",{"href":1717,"dataGaName":1718,"dataGaLocation":1496},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1720},[1721,1723,1725],{"text":1544,"config":1722},{"href":1546,"dataGaName":1547,"dataGaLocation":1496},{"text":1554,"config":1724},{"dataGaName":1556,"dataGaLocation":1496,"id":1557,"isOneTrustButton":1028},{"text":1549,"config":1726},{"href":1551,"dataGaName":1552,"dataGaLocation":1496},[1728],{"id":1729,"title":1730,"body":1027,"config":1731,"content":1733,"description":1027,"extension":1737,"meta":1738,"navigation":1028,"path":1739,"seo":1740,"stem":1741,"__hash__":1742},"blogAuthors/en-us/blog/authors/hakeem-abdul-razak.yml","Hakeem Abdul Razak",{"template":1732},"BlogAuthor",{"name":7,"config":1734},{"headshot":1735,"ctfId":1736},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662077/Blog/Author%20Headshots/Hakeem_Abdul-Razak_headshot.png","7H6nuZfVCK5mqJBK4fuaDH","yml",{},"/en-us/blog/authors/hakeem-abdul-razak",{},"en-us/blog/authors/hakeem-abdul-razak","Nn-O6dna3fLJxdKk54UPgaggYeqIBnLWiK0QzAVjnZc",[1744,1752,1757],{"title":1745,"description":1746,"heroImage":1747,"category":1023,"date":1748,"authors":1749,"slug":1751,"externalUrl":1027},"Le flow GitLab Duo Security Review détecte les failles logiques que les scanners n'identifient pas","Utilisez le raisonnement de sécurité piloté par l'IA pour détecter les failles d'autorisation, les erreurs de logique métier et les conditions de concurrence pendant la revue de code.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1783980535/t3gez0gpayfndrhncunf.png","2026-07-17",[1750],"Mark Settle","gitlab-duo-security-review-flow",{"title":1753,"description":1754,"heroImage":1747,"category":1023,"date":1748,"authors":1755,"slug":1756,"externalUrl":1027},"Une mise à jour de version fait échouer votre build ? GitLab le corrige !","Mettez à niveau vos dépendances automatiquement, adaptez le code en cas de changements cassants et transférez les modifications pour approbation : découvrez ces fonctionnalités natives uniquement proposées par GitLab, avec un contexte complet.",[1750],"dependency-scanning-auto-remediation",{"title":1758,"description":1759,"heroImage":1760,"category":1023,"date":1761,"authors":1762,"slug":1764,"externalUrl":1027},"GitLab : 5 façons de corriger les niveaux de gravité trompeurs des vulnérabilités","Les scores CVSS par défaut ne reflètent pas vos risques réels. Utilisez les politiques de remplacement de la gravité GitLab pour automatiser les ajustements en fonction des CVE, des CWE, du chemin de fichier et du répertoire.","https://res.cloudinary.com/about-gitlab-com/image/upload/f_auto,q_auto,c_lfill/v1772630163/akp8ly2mrsfrhsb0liyb.png","2026-07-07",[1763],"Grant Hickman","severity-override-vulnerability-management-policy",{"promotions":1766},[1767,1781,1792,1803],{"id":1768,"categories":1769,"header":1771,"text":1772,"button":1773,"image":1778},"ai-modernization",[1770],"ai","L'IA tient-elle ses promesses à grande échelle ?","Le questionnaire ne prendra pas plus de 5 minutes.",{"text":1774,"config":1775},"Obtenez votre score de maturité IA",{"href":1776,"dataGaName":1777,"dataGaLocation":1259},"/fr-fr/assessments/ai-modernization-assessment/","modernization assessment",{"config":1779},{"src":1780},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":1782,"categories":1783,"header":1784,"text":1772,"button":1785,"image":1789},"devops-modernization",[1043,1595],"Vous contentez-vous de gérer des outils ou de livrer des innovations ?",{"text":1786,"config":1787},"Obtenez votre score de maturité DevOps",{"href":1788,"dataGaName":1777,"dataGaLocation":1259},"/fr-fr/assessments/devops-modernization-assessment/",{"config":1790},{"src":1791},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1793,"categories":1794,"header":1795,"text":1772,"button":1796,"image":1800},"security-modernization",[1023],"Faut-il sacrifier la rapidité pour garantir la sécurité ?",{"text":1797,"config":1798},"Obtenez votre score de maturité en matière de sécurité",{"href":1799,"dataGaName":1777,"dataGaLocation":1259},"/fr-fr/assessments/security-modernization-assessment/",{"config":1801},{"src":1802},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1804,"paths":1805,"header":1808,"text":1809,"button":1810,"image":1815},"github-azure-migration",[1806,1807],"migration-from-azure-devops-to-gitlab","integrating-azure-devops-scm-and-gitlab","Votre équipe est-elle prête pour la migration de GitHub vers Azure ?","GitHub a déjà commencé sa migration vers Azure. Découvrez ce que cela signifie pour vous.",{"text":1811,"config":1812},"Découvrez les différences entre GitLab et GitHub",{"href":1813,"dataGaName":1814,"dataGaLocation":1259},"/fr-fr/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1816},{"src":1791},{"header":1818,"blurb":1819,"button":1820,"secondaryButton":1824},"Commencez à développer plus rapidement dès aujourd'hui","Découvrez ce que votre équipe peut accomplir avec la plateforme d'orchestration intelligente pour le DevSecOps.\n",{"text":1054,"config":1821},{"href":1822,"dataGaName":1057,"dataGaLocation":1823},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/fr-fr/","feature",{"text":1382,"config":1825},{"href":1384,"dataGaName":1062,"dataGaLocation":1823},1786803765095]