{"id":6761,"date":"2025-08-19T09:18:50","date_gmt":"2025-08-19T09:18:50","guid":{"rendered":"https:\/\/techhub.saworks.io\/docs\/tutoriel-github-intermediaire\/principes-fondamentaux-de-github-notions-de-base-sur-ladministration-et-fonctionnalites-du-produit-partie-2-sur-2\/creer-et-gerer-des-ensembles-de-regles-de-depot\/"},"modified":"2025-09-24T12:02:34","modified_gmt":"2025-09-24T12:02:34","slug":"creer-et-gerer-des-ensembles-de-regles-de-depot","status":"publish","type":"docs","link":"https:\/\/techhub.saworks.io\/fr\/docs\/tutoriel-github-intermediaire\/principes-fondamentaux-de-github-notions-de-base-sur-ladministration-et-fonctionnalites-du-produit-partie-2-sur-2\/creer-et-gerer-des-ensembles-de-regles-de-depot\/","title":{"rendered":"Cr\u00e9er et g\u00e9rer des ensembles de r\u00e8gles de d\u00e9p\u00f4t"},"content":{"rendered":"\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<p><strong>Dans cette unit\u00e9<\/strong>, vous apprendrez \u00e0 cr\u00e9er et g\u00e9rer des ensembles de r\u00e8gles (<em>rulesets<\/em>) et \u00e0 comprendre les avantages qu\u2019ils offrent par rapport aux r\u00e8gles de protection traditionnelles.<\/p>\n\n\n\n<p>En tant qu\u2019administrateur GitHub, vous avez besoin d\u2019un contr\u00f4le pr\u00e9cis sur qui peut pousser, supprimer ou renommer des branches et des tags. Les&nbsp;<strong>ensembles de r\u00e8gles<\/strong>&nbsp;vous permettent de regrouper plusieurs r\u00e8gles sous un m\u00eame nom, de les appliquer \u00e0 des branches ou tags sp\u00e9cifiques, et de les activer ou d\u00e9sactiver sans les supprimer. Ils compl\u00e8tent les r\u00e8gles de protection existantes, offrant une approche unifi\u00e9e et structur\u00e9e de la s\u00e9curit\u00e9 des d\u00e9p\u00f4ts.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd10&nbsp;<strong>Qu\u2019est-ce qu\u2019un ensemble de r\u00e8gles ?<\/strong><\/h3>\n\n\n\n<p>Un&nbsp;<strong>ensemble de r\u00e8gles<\/strong>&nbsp;est une collection nomm\u00e9e de r\u00e8gles qui s\u2019appliquent \u00e0 une ou plusieurs branches ou tags dans votre d\u00e9p\u00f4t.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Ciblage<\/strong>\u00a0: choisissez des branches sp\u00e9cifiques (ex. :\u00a0<code>feature\/*<\/code>) ou des tags (ex. :\u00a0<code>v*.*<\/code>)<\/li>\n\n\n\n<li><strong>D\u00e9finition des r\u00e8gles<\/strong>\u00a0: exiger des v\u00e9rifications de statut, imposer des commits sign\u00e9s, bloquer les push forc\u00e9s, etc.<\/li>\n\n\n\n<li><strong>Permissions de contournement<\/strong>\u00a0: autoriser les administrateurs, \u00e9quipes ou applications GitHub \u00e0 contourner certaines r\u00e8gles<\/li>\n<\/ul>\n\n\n\n<p>\ud83d\udccc Exemple : un ensemble de r\u00e8gles pour les branches&nbsp;<code>feature\/*<\/code>&nbsp;peut exiger des commits sign\u00e9s et bloquer les push forc\u00e9s pour tous sauf les administrateurs.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udcca&nbsp;<strong>Comparaison : r\u00e8gles de protection vs ensembles de r\u00e8gles<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Fonctionnalit\u00e9<\/th><th>R\u00e8gles de protection<\/th><th>Ensembles de r\u00e8gles<\/th><\/tr><\/thead><tbody><tr><td>Une seule r\u00e8gle par branche ou tag<\/td><td>\u2705<\/td><td>\u274c (plusieurs r\u00e8gles)<\/td><\/tr><tr><td>Groupes de r\u00e8gles multiples coexistants<\/td><td>\u274c<\/td><td>\u2705<\/td><\/tr><tr><td>Activation\/d\u00e9sactivation sans suppression<\/td><td>\u274c<\/td><td>\u2705 (bouton d\u2019\u00e9tat)<\/td><\/tr><tr><td>Visibles par les utilisateurs en lecture<\/td><td>\u274c (admin uniquement)<\/td><td>\u2705<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">\u2705&nbsp;<strong>Avantages cl\u00e9s des ensembles de r\u00e8gles<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Superposition<\/strong>\u00a0: regrouper des r\u00e8gles de plusieurs sources ; le param\u00e8tre le plus strict s\u2019applique<\/li>\n\n\n\n<li><strong>Statuts<\/strong>\u00a0: activer, d\u00e9sactiver ou tester les ensembles sans les supprimer<\/li>\n\n\n\n<li><strong>Transparence<\/strong>\u00a0: les d\u00e9veloppeurs et auditeurs peuvent consulter les r\u00e8gles actives sans droits d\u2019administration<\/li>\n<\/ul>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\ude80&nbsp;<strong>Cr\u00e9er votre premier ensemble de r\u00e8gles<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Sur GitHub.com, allez dans\u00a0<strong>Param\u00e8tres > Code et automatisation > R\u00e8gles > Ensembles de r\u00e8gles<\/strong><\/li>\n\n\n\n<li>Cliquez sur\u00a0<strong>Nouvel ensemble de r\u00e8gles<\/strong>, puis s\u00e9lectionnez\u00a0<strong>Branche<\/strong>\u00a0ou\u00a0<strong>Tag<\/strong><\/li>\n\n\n\n<li>Saisissez un nom et choisissez les branches ou tags cibl\u00e9s<\/li>\n\n\n\n<li>Activez les r\u00e8gles souhait\u00e9es (ex. : exiger des v\u00e9rifications de statut, bloquer les push forc\u00e9s)<\/li>\n\n\n\n<li>D\u00e9finissez les permissions de contournement (ex. : administrateurs, application CI)<\/li>\n\n\n\n<li>Cliquez sur\u00a0<strong>Cr\u00e9er<\/strong><\/li>\n<\/ol>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" data-src=\"https:\/\/techhub.saworks.io\/wp-content\/uploads\/2025\/08\/new-branch-ruleset-1024x746.png\" alt=\"\" class=\"wp-image-6764 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/746;\" \/><\/figure>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-group has-background is-layout-constrained wp-block-group-is-layout-constrained\" style=\"background-color:#fcb90054\">\n<h3 class=\"wp-block-heading\">\ud83d\udca1&nbsp;<strong>Astuce<\/strong><\/h3>\n\n\n\n<p>Pour les branches de publication (<code>release\/*<\/code>), exigez\u00a0<strong>deux v\u00e9rifications de statut r\u00e9ussies<\/strong>\u00a0et\u00a0<strong>bloquez les push forc\u00e9s<\/strong>\u00a0afin de garantir la stabilit\u00e9.<\/p>\n<\/div>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd27&nbsp;<strong>G\u00e9rer et modifier les ensembles de r\u00e8gles<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Afficher les ensembles actifs<\/strong>\u00a0: sur la page des ensembles de r\u00e8gles, voyez quels ensembles ciblent une branche ou un tag donn\u00e9<\/li>\n\n\n\n<li><strong>Modifier un ensemble<\/strong>\u00a0: cliquez sur son nom, ajustez les r\u00e8gles ou les cibles, puis\u00a0<strong>enregistrez les modifications<\/strong><\/li>\n\n\n\n<li><strong>Changer le statut<\/strong>\u00a0: activez ou d\u00e9sactivez un ensemble sans le supprimer<\/li>\n\n\n\n<li><strong>Supprimer<\/strong>\u00a0: retirez les ensembles obsol\u00e8tes lorsqu\u2019ils ne sont plus n\u00e9cessaires<\/li>\n<\/ul>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udee1\ufe0f&nbsp;<strong>R\u00e8gles disponibles<\/strong><\/h3>\n\n\n\n<p>Les ensembles de r\u00e8gles de d\u00e9p\u00f4t prennent en charge de nombreuses protections similaires \u00e0 celles des branches et des tags prot\u00e9g\u00e9s.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" data-src=\"https:\/\/techhub.saworks.io\/wp-content\/uploads\/2025\/08\/tag-ruleset-rules.png\" alt=\"\" class=\"wp-image-6766 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 817px; --smush-placeholder-aspect-ratio: 817\/952;\" \/><\/figure>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Exemples courants :<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Exiger la r\u00e9ussite des v\u00e9rifications de statut (ex. : CodeQL, revue des d\u00e9pendances)<\/li>\n\n\n\n<li>Exiger des commits sign\u00e9s<\/li>\n\n\n\n<li>Bloquer les push forc\u00e9s ou les suppressions<\/li>\n\n\n\n<li>Restreindre qui peut pousser ou fusionner<\/li>\n<\/ul>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-group has-background is-layout-constrained wp-block-group-is-layout-constrained\" style=\"background-color:#fcb90054\">\n<h3 class=\"wp-block-heading\">\ud83d\udca1&nbsp;<strong>Astuce<\/strong><\/h3>\n\n\n\n<p>Appliquez votre pipeline CI\/CD en exigeant des workflows cl\u00e9s comme v\u00e9rifications de statut avant les fusions.<\/p>\n<\/div>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83e\udde9&nbsp;<strong>Superposition des ensembles de r\u00e8gles et des protections<\/strong><\/h3>\n\n\n\n<p>GitHub&nbsp;<strong>agr\u00e8ge toutes les r\u00e8gles applicables<\/strong>&nbsp;\u2014 protection des branches, protection des tags et ensembles de r\u00e8gles multiples \u2014 et applique le&nbsp;<strong>param\u00e8tre le plus restrictif<\/strong>.<\/p>\n\n\n\n<p>\ud83d\udccc&nbsp;<strong>Exemple<\/strong>&nbsp;: la branche&nbsp;<code>my-feature<\/code>&nbsp;a :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Un ensemble de r\u00e8gles exigeant des commits sign\u00e9s et\u00a0<strong>trois revues<\/strong><\/li>\n\n\n\n<li>Une r\u00e8gle de protection de branche exigeant un\u00a0<strong>historique lin\u00e9aire<\/strong>\u00a0et\u00a0<strong>deux revues<\/strong><\/li>\n<\/ul>\n\n\n\n<p>\u27a1\ufe0f&nbsp;<strong>R\u00e9sultat<\/strong>&nbsp;: les pull requests n\u00e9cessitent&nbsp;<strong>trois revues<\/strong>, et les commits doivent \u00eatre&nbsp;<strong>sign\u00e9s et lin\u00e9aires<\/strong><\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">\u2696\ufe0f&nbsp;<strong>Impacts des politiques et ensembles de r\u00e8gles dans GitHub Enterprise<\/strong><\/h3>\n\n\n\n<p>Vos politiques et ensembles de r\u00e8gles influencent la&nbsp;<strong>s\u00e9curit\u00e9<\/strong>, la&nbsp;<strong>conformit\u00e9<\/strong>, l\u2019<strong>exp\u00e9rience d\u00e9veloppeur<\/strong>&nbsp;et l\u2019<strong>efficacit\u00e9 op\u00e9rationnelle<\/strong>. Il est essentiel de trouver le bon \u00e9quilibre entre&nbsp;<strong>contr\u00f4le<\/strong>&nbsp;et&nbsp;<strong>flexibilit\u00e9<\/strong>.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">\ud83d\udd10 S\u00e9curit\u00e9 et conformit\u00e9<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Avantages<\/th><th>Inconv\u00e9nients<\/th><\/tr><\/thead><tbody><tr><td>Le SSO SAML et la 2FA emp\u00eachent les acc\u00e8s non autoris\u00e9s<\/td><td>Bloquer les forks ou exiger trop d\u2019approbations peut frustrer les d\u00e9veloppeurs<\/td><\/tr><tr><td>La protection des branches garantit que chaque modification est revue<\/td><td>Les v\u00e9rifications manuelles augmentent la charge administrative<\/td><\/tr><tr><td>Les ensembles de r\u00e8gles d\u2019audit soutiennent la conformit\u00e9 SOC 2 et ISO 27001<\/td><td>\u2014<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">\u2699\ufe0f Productivit\u00e9 des d\u00e9veloppeurs et efficacit\u00e9 des workflows<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Avantages<\/th><th>Inconv\u00e9nients<\/th><\/tr><\/thead><tbody><tr><td>Les v\u00e9rifications automatiques (Dependabot, analyse de code) r\u00e9duisent le travail manuel<\/td><td>Des politiques strictes ralentissent les \u00e9quipes agiles<\/td><\/tr><tr><td>Les r\u00e8gles de s\u00e9curit\u00e9 automatisent la conformit\u00e9<\/td><td>Bloquer les push forc\u00e9s complique les correctifs d\u2019urgence<\/td><\/tr><tr><td>Des protections flexibles (ex. : revues sur branches critiques) maintiennent l\u2019agilit\u00e9<\/td><td>\u2014<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">\ud83d\udee1\ufe0f Gouvernance et contr\u00f4le d\u2019acc\u00e8s<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Avantages<\/th><th>Inconv\u00e9nients<\/th><\/tr><\/thead><tbody><tr><td>Les r\u00e8gles de visibilit\u00e9 \u00e9vitent l\u2019exposition accidentelle du code priv\u00e9<\/td><td>Trop de restrictions peuvent nuire \u00e0 la collaboration<\/td><\/tr><tr><td>Les permissions fines assurent un acc\u00e8s appropri\u00e9<\/td><td>Bloquer les forks dans les projets open source limite les contributions<\/td><\/tr><tr><td>Les restrictions de fork r\u00e9duisent les risques li\u00e9s \u00e0 la propri\u00e9t\u00e9 intellectuelle<\/td><td>\u2014<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">\ud83d\udd04 CI\/CD et automatisation<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Avantages<\/th><th>Inconv\u00e9nients<\/th><\/tr><\/thead><tbody><tr><td>Les v\u00e9rifications de statut garantissent la validation du code avant d\u00e9ploiement<\/td><td>Des validations CI trop strictes ralentissent les d\u00e9ploiements<\/td><\/tr><tr><td>L\u2019int\u00e9gration de GitHub Actions avec les ensembles de r\u00e8gles applique automatiquement la conformit\u00e9<\/td><td>Bloquer les Actions tierces limite l\u2019automatisation<\/td><\/tr><tr><td>L\u2019analyse de code et la gestion des d\u00e9pendances int\u00e9gr\u00e9es renforcent la s\u00e9curit\u00e9 des pipelines<\/td><td>\u2014<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd0d API de journal d\u2019audit GitHub pour enqu\u00eater sur les actifs manquants<\/h3>\n\n\n\n<p>Les journaux d\u2019audit permettent de suivre des \u00e9v\u00e9nements comme la suppression de d\u00e9p\u00f4ts ou le retrait de membres. Utilisez&nbsp;<strong>REST ou GraphQL<\/strong>&nbsp;pour interroger et r\u00e9soudre les probl\u00e8mes.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udee0\ufe0f \u00c9tapes pour r\u00e9soudre les actifs manquants<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Identifier l\u2019actif<\/strong>\u00a0: ex. :\u00a0<code>repository.deleted<\/code><\/li>\n\n\n\n<li><strong>Interroger l\u2019API Audit Log (REST)<\/strong>\u00a0:<\/li>\n<\/ol>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.75rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#24292e;--cbp-line-number-width:calc(1 * 0.6 * .75rem);line-height:1rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#f2f2f2;color:#2f363c\">HTTP<\/span><span role=\"button\" tabindex=\"0\" style=\"color:#24292e;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>GET \/orgs\/{org}\/audit-log?phrase=repository.deleted\nAuthorization: Bearer YOUR_TOKEN<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-light\" style=\"background-color: #fff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D73A49\">GET<\/span><span style=\"color: #24292E\"> \/orgs\/{org}\/audit-log?phrase=repository.deleted<\/span><\/span>\n<span class=\"line\"><span style=\"color: #22863A\">Authorization<\/span><span style=\"color: #D73A49\">:<\/span><span style=\"color: #24292E\"> <\/span><span style=\"color: #032F62\">Bearer YOUR_TOKEN<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Interroger via GraphQL :<\/strong><\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.75rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#24292e;--cbp-line-number-width:calc(1 * 0.6 * .75rem);line-height:1rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#f2f2f2;color:#2f363c\">GraphQL<\/span><span role=\"button\" tabindex=\"0\" style=\"color:#24292e;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>query {\n   auditLogEntries(first: 10, query: \"repository.deleted\") {\n     nodes {\n       action\n       actor { login }\n       createdAt\n     }\n   }\n }<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-light\" style=\"background-color: #fff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D73A49\">query<\/span><span style=\"color: #24292E\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">   <\/span><span style=\"color: #E36209\">auditLogEntries<\/span><span style=\"color: #24292E\">(<\/span><span style=\"color: #E36209\">first<\/span><span style=\"color: #24292E\">: <\/span><span style=\"color: #005CC5\">10<\/span><span style=\"color: #24292E\">, <\/span><span style=\"color: #E36209\">query<\/span><span style=\"color: #24292E\">: <\/span><span style=\"color: #032F62\">&quot;repository.deleted&quot;<\/span><span style=\"color: #24292E\">) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">     <\/span><span style=\"color: #E36209\">nodes<\/span><span style=\"color: #24292E\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">       <\/span><span style=\"color: #E36209\">action<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">       <\/span><span style=\"color: #E36209\">actor<\/span><span style=\"color: #24292E\"> { <\/span><span style=\"color: #E36209\">login<\/span><span style=\"color: #24292E\"> }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">       <\/span><span style=\"color: #E36209\">createdAt<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">     }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">   }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\"> }<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Filtrer et inspecter<\/strong>\u00a0: Concentrez-vous sur les \u00e9v\u00e9nements pertinents (repository.deleted, org.member_removed).<br><strong>Rem\u00e9dier<\/strong>\u00a0: Restaurez les ressources ou renforcez les param\u00e8tres de s\u00e9curit\u00e9.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Dans cette unit\u00e9, vous apprendrez \u00e0 cr\u00e9er et g\u00e9rer des ensembles de r\u00e8gles (rulesets) et \u00e0 comprendre les avantages qu\u2019ils offrent par rapport [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":6740,"menu_order":25,"template":"","doc_tag":[],"doc_badge":[],"class_list":["post-6761","docs","type-docs","status-publish","hentry"],"author_avatar":"https:\/\/secure.gravatar.com\/avatar\/6a70e7c73db9f245e650948d09d74f61?s=96&d=mm&r=g","author_name":"Annick N'dri","_links":{"self":[{"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/docs\/6761"}],"collection":[{"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/users\/2"}],"version-history":[{"count":0,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/docs\/6761\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/docs\/6740"}],"wp:attachment":[{"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/media?parent=6761"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/doc_tag?post=6761"},{"taxonomy":"doc_badge","embeddable":true,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/doc_badge?post=6761"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}