{"id":6769,"date":"2025-08-19T12:24:53","date_gmt":"2025-08-19T12:24:53","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\/rapports-et-journalisation\/"},"modified":"2025-09-24T12:02:34","modified_gmt":"2025-09-24T12:02:34","slug":"rapports-et-journalisation","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\/rapports-et-journalisation\/","title":{"rendered":"Rapports et journalisation"},"content":{"rendered":"\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<p>Lorsqu\u2019un \u00e9v\u00e9nement inattendu survient \u2014 comme la suppression d\u2019un d\u00e9p\u00f4t ou l\u2019\u00e9chec d\u2019un workflow \u2014 vous avez besoin de d\u00e9tails pr\u00e9cis : qui l\u2019a fait, quand et comment. Les journaux d\u2019audit de GitHub capturent ces informations pour faciliter le d\u00e9pannage, assurer la conformit\u00e9 et mener des enqu\u00eates de s\u00e9curit\u00e9.<\/p>\n\n\n\n<p>Vous pouvez acc\u00e9der au journal d\u2019audit via GitHub.com, GitHub Enterprise Server ou GitHub AE. L\u2019interaction avec le journal d\u2019audit via l\u2019API GraphQL ou l\u2019API REST permet d\u2019extraire des types d\u2019informations sp\u00e9cifiques, bien que certaines limitations existent.<\/p>\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>Supposons qu\u2019un d\u00e9p\u00f4t critique ait disparu pendant la nuit. Vous utiliserez les journaux d\u2019audit pour identifier l\u2019\u00e9v\u00e9nement de suppression et r\u00e9tablir la continuit\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\">Qu\u2019est-ce qu\u2019un enregistrement de journal ?<\/h3>\n\n\n\n<p>Le journal d\u2019audit de votre organisation enregistre les actions effectu\u00e9es par ses membres. Accessible aux propri\u00e9taires de l\u2019organisation, il fournit des informations sur les actions ayant un impact sur l\u2019organisation, notamment :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Le d\u00e9p\u00f4t concern\u00e9 par l\u2019action<\/li>\n\n\n\n<li>L\u2019utilisateur ayant effectu\u00e9 l\u2019action<\/li>\n\n\n\n<li>L\u2019action r\u00e9alis\u00e9e<\/li>\n\n\n\n<li>Le pays ou la r\u00e9gion o\u00f9 l\u2019action a eu lieu<\/li>\n\n\n\n<li>La date et l\u2019heure de l\u2019action<\/li>\n<\/ul>\n\n\n\n<p>\ud83d\udccc&nbsp;<strong>Remarque<\/strong><br>Les journaux sont conserv\u00e9s jusqu\u2019\u00e0 90 jours dans GitHub Enterprise Cloud (120 jours via GraphQL sur Enterprise Server).<\/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\">Affichage et exportation des journaux d\u2019audit via l\u2019interface GitHub<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Sur GitHub.com, acc\u00e9dez aux\u00a0<strong>Param\u00e8tres<\/strong>\u00a0de votre organisation >\u00a0<strong>Journal d\u2019audit<\/strong>.<\/li>\n\n\n\n<li>Utilisez le champ\u00a0<strong>Filtres<\/strong>\u00a0pour affiner les r\u00e9sultats par acteur, d\u00e9p\u00f4t, action ou date.<\/li>\n\n\n\n<li>Cliquez sur\u00a0<strong>Exporter<\/strong>\u00a0et choisissez\u00a0<strong>CSV<\/strong>\u00a0ou\u00a0<strong>JSON<\/strong>\u00a0pour t\u00e9l\u00e9charger les donn\u00e9es.<\/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\/org-audit-log-1024x230.png\" alt=\"\" class=\"wp-image-6772 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/230;\" \/><\/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&nbsp;<strong>Qualificateurs et exemples<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Qualificateur<\/th><th>Valeur d\u2019exemple<\/th><\/tr><\/thead><tbody><tr><td><code>action<\/code><\/td><td><code>team.create<\/code><\/td><\/tr><tr><td><code>actor<\/code><\/td><td><code>octocat<\/code><\/td><\/tr><tr><td><code>user<\/code><\/td><td><code>codertocat<\/code><\/td><\/tr><tr><td><code>org<\/code><\/td><td><code>octo-org<\/code><\/td><\/tr><tr><td><code>repo<\/code><\/td><td><code>octo-org\/documentation<\/code><\/td><\/tr><tr><td><code>created<\/code><\/td><td><code>2019-06-01<\/code><\/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\udce1&nbsp;<strong>Acc\u00e8s aux journaux d\u2019audit via API<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>REST API<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Port\u00e9e<\/strong>\u00a0: GitHub Enterprise Cloud (jusqu\u2019\u00e0 90 jours ; \u00e9v\u00e9nements Git pendant 7 jours).<\/li>\n\n\n\n<li><strong>Surveillance<\/strong>\u00a0: Modifications des param\u00e8tres, mises \u00e0 jour des autorisations, adh\u00e9sion aux \u00e9quipes, changements d\u2019applications, \u00e9v\u00e9nements Git (push, pull, merge).<\/li>\n\n\n\n<li><strong>Exemple<\/strong>\u00a0:<\/li>\n<\/ul>\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=git.push\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=git.push<\/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<h4 class=\"wp-block-heading\"><strong>GraphQL API<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Port\u00e9e<\/strong>\u00a0: GitHub Enterprise Server (jusqu\u2019\u00e0 120 jours).<\/li>\n\n\n\n<li><strong>Surveillance<\/strong>\u00a0: Param\u00e8tres, autorisations, \u00e9quipes, applications.<\/li>\n\n\n\n<li><strong>Limite<\/strong>\u00a0: Ne couvre pas les \u00e9v\u00e9nements Git.<\/li>\n\n\n\n<li><strong>Exemple<\/strong>\u00a0:<\/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-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(2 * 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: 20, query: \"org:octo-org action:repo.cleanup\") {\n    nodes {\n      action\n      actor { login }\n      createdAt\n      repository { name }\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\">20<\/span><span style=\"color: #24292E\">, <\/span><span style=\"color: #E36209\">query<\/span><span style=\"color: #24292E\">: <\/span><span style=\"color: #032F62\">&quot;org:octo-org action:repo.cleanup&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 style=\"color: #E36209\">repository<\/span><span style=\"color: #24292E\"> { <\/span><span style=\"color: #E36209\">name<\/span><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>\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<h3 class=\"wp-block-heading\">\ud83d\udd75\ufe0f\u200d\u2640\ufe0f&nbsp;<strong>Investigation des ressources manquantes<\/strong><\/h3>\n\n\n\n<p>Pour r\u00e9cup\u00e9rer ou auditer des ressources supprim\u00e9es (ex. : d\u00e9p\u00f4ts, \u00e9quipes) :<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Identifier l\u2019\u00e9v\u00e9nement (ex. :\u00a0<code>repository.deleted<\/code>).<\/li>\n\n\n\n<li>Interroger l\u2019API avec des filtres :\n<ul class=\"wp-block-list\">\n<li>REST :\u00a0<code>?phrase=repository.deleted<\/code><\/li>\n\n\n\n<li>GraphQL :\u00a0<code>query auditLogEntries(query: \"repository.deleted\")<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Inspecter les m\u00e9tadonn\u00e9es : acteur, horodatage, nom du d\u00e9p\u00f4t ou de l\u2019\u00e9quipe.<\/li>\n\n\n\n<li>Rem\u00e9dier : restaurer depuis une sauvegarde ou revoir les autorisations.<\/li>\n<\/ol>\n\n\n\n<p><strong>Exemples<\/strong>&nbsp;:<\/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\">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<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<h3 class=\"wp-block-heading\">\ud83e\udde9&nbsp;<strong>Cas d\u2019usage des journaux d\u2019audit<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Incidents de s\u00e9curit\u00e9<\/strong>\u00a0: retracer les acc\u00e8s non autoris\u00e9s ou les fuites de donn\u00e9es.<\/li>\n\n\n\n<li><strong>Audits de conformit\u00e9<\/strong>\u00a0: prouver l\u2019application des politiques (SOC 2, ISO 27001).<\/li>\n\n\n\n<li><strong>D\u00e9pannage op\u00e9rationnel<\/strong>\u00a0: diagnostiquer les erreurs CI\/CD ou de permissions.<\/li>\n\n\n\n<li><strong>Surveillance des acc\u00e8s<\/strong>\u00a0: examiner l\u2019utilisation des tokens API et l\u2019activit\u00e9 SSH\/Git.<\/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\udd10&nbsp;<strong>S\u00e9curit\u00e9 et conformit\u00e9<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>R\u00e9tention des donn\u00e9es<\/strong>\u00a0: 90 jours sur Enterprise Cloud ; 120 jours sur Enterprise Server.<\/li>\n\n\n\n<li><strong>Contr\u00f4le d\u2019acc\u00e8s<\/strong>\u00a0: seuls les propri\u00e9taires et responsables s\u00e9curit\u00e9 peuvent consulter les journaux.<\/li>\n\n\n\n<li><strong>Journalisation IP<\/strong>\u00a0: enregistre l\u2019IP source pour d\u00e9tecter les acc\u00e8s suspects.<\/li>\n\n\n\n<li><strong>Conformit\u00e9 r\u00e9gionale<\/strong>\u00a0: respecte les exigences locales de gestion des donn\u00e9es.<\/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\udce4&nbsp;<strong>Streaming des journaux d\u2019audit<\/strong><\/h3>\n\n\n\n<p>Pour envoyer les journaux en temps r\u00e9el vers des plateformes SIEM (Splunk, Datadog) :<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Aller dans\u00a0<strong>Param\u00e8tres > Journal d\u2019audit<\/strong>.<\/li>\n\n\n\n<li>Sous\u00a0<strong>Streaming<\/strong>, configurer une destination (AWS S3, Azure Event Hubs).<\/li>\n\n\n\n<li>V\u00e9rifier la r\u00e9ception des \u00e9v\u00e9nements dans votre SIEM.<\/li>\n<\/ol>\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\udcda&nbsp;<strong>Types suppl\u00e9mentaires de journaux d\u2019audit<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Journal d\u2019activit\u00e9 Git<\/strong>\u00a0:\u00a0<code>phrase=git.push<\/code><\/li>\n\n\n\n<li><strong>Journal d\u2019activit\u00e9 API<\/strong>\u00a0:\u00a0<code>phrase=api.request<\/code><\/li>\n\n\n\n<li><strong>Utilisateurs g\u00e9r\u00e9s (EMU)<\/strong>\u00a0:\u00a0<code>user.login<\/code>,\u00a0<code>repository.permissions_updated<\/code>,\u00a0<code>repository.forked<\/code><\/li>\n\n\n\n<li><strong>Utilisation des tokens<\/strong>\u00a0:\u00a0<code>phrase=token<\/code>\u00a0pour d\u00e9tecter les identifiants compromis<\/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>Fonctionnalit\u00e9s de s\u00e9curit\u00e9 d\u2019un d\u00e9p\u00f4t GitHub<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>SECURITY.md<\/code>\u00a0: d\u00e9finit le processus de signalement et les versions prises en charge.<\/li>\n\n\n\n<li><strong>Protection des branches<\/strong>\u00a0: impose les revues, les v\u00e9rifications de statut et la signature des commits.<\/li>\n\n\n\n<li><strong>Alertes Dependabot<\/strong>\u00a0: d\u00e9tection automatique des vuln\u00e9rabilit\u00e9s.<\/li>\n\n\n\n<li><strong>Analyse de code<\/strong>\u00a0: via CodeQL.<\/li>\n\n\n\n<li><strong>Scan de secrets &amp; protection push<\/strong>\u00a0: pr\u00e9vention en temps r\u00e9el.<\/li>\n\n\n\n<li><strong>Avis de s\u00e9curit\u00e9<\/strong>\u00a0: r\u00e9daction, collaboration et publication.<\/li>\n\n\n\n<li><strong>Graphique de d\u00e9pendances<\/strong>\u00a0: visualisation et audit.<\/li>\n\n\n\n<li><strong>2FA &amp; RBAC<\/strong>\u00a0: authentification forte et privil\u00e8ges minimaux.<\/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\udd11&nbsp;<strong>Acc\u00e8s API et int\u00e9grations<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Type de token<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><strong>PATs<\/strong><\/td><td>Li\u00e9s \u00e0 un compte utilisateur ; scripts simples ; port\u00e9e large.<\/td><\/tr><tr><td><strong>Tokens d\u2019installation<\/strong><\/td><td>Pour les apps GitHub ; permissions fines.<\/td><\/tr><tr><td><strong>Tokens OAuth<\/strong><\/td><td>Pour les apps OAuth ; acc\u00e8s limit\u00e9 ; privil\u00e9gier le moindre privil\u00e8ge.<\/td><\/tr><tr><td><strong>Tokens d\u2019appareil<\/strong><\/td><td>Pour les flux d\u2019authentification par appareil.<\/td><\/tr><tr><td><strong>Tokens de rafra\u00eechissement<\/strong><\/td><td>Renouvellement sans r\u00e9authentification.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Limites de taux<\/strong>&nbsp;:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Type d\u2019acc\u00e8s<\/th><th>Limite<\/th><\/tr><\/thead><tbody><tr><td>Non authentifi\u00e9<\/td><td>60 requ\u00eates\/heure<\/td><\/tr><tr><td>Authentifi\u00e9<\/td><td>5 000 requ\u00eates\/heure<\/td><\/tr><tr><td>Apps<\/td><td>Variable selon l\u2019installation<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>V\u00e9rification via API<\/strong>&nbsp;:<\/p>\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\">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>curl -H \"Authorization: token YOUR_TOKEN\" \\\n     -H \"Accept: application\/vnd.github.v3+json\" \\\n     https:\/\/api.github.com\/rate_limit<\/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: #6F42C1\">curl<\/span><span style=\"color: #24292E\"> -<\/span><span style=\"color: #6F42C1\">H<\/span><span style=\"color: #24292E\"> <\/span><span style=\"color: #6A737D\">&quot;Authorization: token YOUR_TOKEN&quot;<\/span><span style=\"color: #24292E\"> \\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">     -<\/span><span style=\"color: #6F42C1\">H<\/span><span style=\"color: #24292E\"> <\/span><span style=\"color: #6A737D\">&quot;Accept: application\/vnd.github.v3+json&quot;<\/span><span style=\"color: #24292E\"> \\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">     <\/span><span style=\"color: #6F42C1\">https<\/span><span style=\"color: #24292E\">:\/\/<\/span><span style=\"color: #6F42C1\">api<\/span><span style=\"color: #24292E\">.<\/span><span style=\"color: #6F42C1\">github<\/span><span style=\"color: #24292E\">.<\/span><span style=\"color: #6F42C1\">com<\/span><span style=\"color: #24292E\">\/<\/span><span style=\"color: #6F42C1\">rate_limit<\/span><\/span><\/code><\/pre><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Lorsqu\u2019un \u00e9v\u00e9nement inattendu survient \u2014 comme la suppression d\u2019un d\u00e9p\u00f4t ou l\u2019\u00e9chec d\u2019un workflow \u2014 vous avez besoin de d\u00e9tails pr\u00e9cis : qui [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":6740,"menu_order":26,"template":"","doc_tag":[],"doc_badge":[],"class_list":["post-6769","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\/6769"}],"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\/6769\/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=6769"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/doc_tag?post=6769"},{"taxonomy":"doc_badge","embeddable":true,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/doc_badge?post=6769"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}