{"id":8074,"date":"2025-09-19T10:43:03","date_gmt":"2025-09-19T10:43:03","guid":{"rendered":"https:\/\/techhub.saworks.io\/?post_type=docs&#038;p=8074"},"modified":"2025-09-24T12:02:35","modified_gmt":"2025-09-24T12:02:35","slug":"preparer-une-base-de-donnees-pour-codeql","status":"publish","type":"docs","link":"https:\/\/techhub.saworks.io\/fr\/docs\/tutoriel-github-intermediaire\/securite-avancee-de-github-partie-2-sur-2\/preparer-une-base-de-donnees-pour-codeql\/","title":{"rendered":"Pr\u00e9parer une base de donn\u00e9es pour CodeQL"},"content":{"rendered":"\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<h3 class=\"wp-block-heading\"><strong>R\u00e9solution des probl\u00e8mes li\u00e9s aux r\u00e9sultats de CodeQL<\/strong><\/h3>\n\n\n\n<p>Cette unit\u00e9 fournit des <strong>conseils pour optimiser et r\u00e9soudre les probl\u00e8mes<\/strong> lorsque vous travaillez avec <strong>CodeQL<\/strong> et l\u2019<strong>analyse de code<\/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\"><strong>Optimiser les temps d\u2019analyse CodeQL<\/strong><\/h3>\n\n\n\n<p>Plusieurs raisons peuvent expliquer pourquoi votre analyse CodeQL prend trop de temps :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Si vous utilisez des <strong>runners auto-h\u00e9berg\u00e9s<\/strong>, vous pouvez <strong>augmenter la m\u00e9moire<\/strong> ou le <strong>nombre de c\u0153urs<\/strong> disponibles.<\/li>\n\n\n\n<li>Des probl\u00e8mes peuvent survenir si le d\u00e9p\u00f4t contient <strong>plusieurs langages<\/strong>. Vous pouvez modifier votre workflow pour utiliser une <strong>matrice<\/strong> qui acc\u00e9l\u00e8re l\u2019analyse multi-langages. Chaque langage est analys\u00e9 <strong>en parall\u00e8le<\/strong> dans le workflow CodeQL par d\u00e9faut. Les workflows avanc\u00e9s doivent \u00eatre configur\u00e9s de mani\u00e8re similaire s\u2019ils ex\u00e9cutent l\u2019initialisation et l\u2019analyse des langages <strong>de fa\u00e7on s\u00e9quentielle<\/strong>.<\/li>\n\n\n\n<li>La <strong>quantit\u00e9 de code<\/strong> analys\u00e9e peut allonger les temps d\u2019ex\u00e9cution. Le temps d\u2019analyse est g\u00e9n\u00e9ralement <strong>proportionnel \u00e0 la taille du code<\/strong>. Vous pouvez r\u00e9duire cette taille en <strong>excluant le code de test<\/strong> ou en <strong>divisant le code<\/strong> en plusieurs workflows pour analyser un sous-ensemble \u00e0 chaque ex\u00e9cution.<\/li>\n\n\n\n<li>Si l\u2019analyse est trop lente lors des \u00e9v\u00e9nements <code>push<\/code> ou <code>pull_request<\/code>, vous pouvez la d\u00e9clencher uniquement lors de l\u2019\u00e9v\u00e9nement <code>schedule<\/code>.<\/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\"><strong>Optimiser les requ\u00eates CodeQL<\/strong><\/h3>\n\n\n\n<p>Certains probl\u00e8mes de performance peuvent venir de <strong>requ\u00eates personnalis\u00e9es<\/strong>. Vous trouverez des probl\u00e8mes courants et des solutions dans la documentation CodeQL sur le <strong>d\u00e9pannage des performances de requ\u00eates<\/strong>.<\/p>\n\n\n\n<p>Points importants \u00e0 retenir :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Les <strong>pr\u00e9dicats et classes CodeQL<\/strong> sont \u00e9valu\u00e9s en tant que <strong>tables de base de donn\u00e9es<\/strong>. Les grands pr\u00e9dicats g\u00e9n\u00e8rent de grandes tables, co\u00fbteuses \u00e0 calculer.<\/li>\n\n\n\n<li>Le langage QL est bas\u00e9 sur des op\u00e9rations classiques de base de donn\u00e9es : <strong>jointure<\/strong>, <strong>projection<\/strong>, <strong>union<\/strong>, etc.<\/li>\n\n\n\n<li>Les requ\u00eates sont \u00e9valu\u00e9es <strong>de bas en haut<\/strong> : un pr\u00e9dicat n\u2019est \u00e9valu\u00e9 que lorsque tous les pr\u00e9dicats dont il d\u00e9pend ont \u00e9t\u00e9 \u00e9valu\u00e9s.<\/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\"><strong>Artefacts de d\u00e9bogage<\/strong><\/h3>\n\n\n\n<p>Vous pouvez obtenir des artefacts pour vous aider \u00e0 <strong>d\u00e9boguer les probl\u00e8mes<\/strong> li\u00e9s \u00e0 l\u2019analyse CodeQL.<br>Modifiez l\u2019\u00e9tape <code>init<\/code> de votre fichier de workflow CodeQL et d\u00e9finissez :<\/p>\n\n\n\n<p>YAML<\/p>\n\n\n\n<p>debug: true<br>Afficher plus de lignes<\/p>\n\n\n\n<p>Les artefacts de d\u00e9bogage sont t\u00e9l\u00e9vers\u00e9s dans l\u2019ex\u00e9cution du workflow sous le nom <strong><code>debug-artifacts<\/code><\/strong>.<br>Ils contiennent :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>les <strong>logs CodeQL<\/strong>,<\/li>\n\n\n\n<li>les <strong>bases de donn\u00e9es CodeQL<\/strong>,<\/li>\n\n\n\n<li>les <strong>fichiers SARIF<\/strong> g\u00e9n\u00e9r\u00e9s par le workflow.<\/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\"><strong>D\u00e9panner l\u2019extension CodeQL pour VS Code<\/strong><\/h3>\n\n\n\n<p>Les fichiers journaux de l\u2019extension VS Code contiennent des informations d\u00e9taill\u00e9es pour vous aider \u00e0 r\u00e9soudre les probl\u00e8mes.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Les <strong>messages de progression et d\u2019erreur<\/strong> apparaissent en bas \u00e0 droite de l\u2019espace de travail.<\/li>\n\n\n\n<li>Vous pouvez utiliser la <strong>liste d\u00e9roulante des journaux de l\u2019extension CodeQL<\/strong> pour s\u00e9lectionner les logs dont vous avez besoin.<\/li>\n<\/ul>\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\" width=\"1008\" height=\"431\" data-src=\"https:\/\/techhub.saworks.io\/wp-content\/uploads\/2025\/09\/log-files-1.png\" alt=\"\" class=\"wp-image-8076 lazyload\" data-srcset=\"https:\/\/techhub.saworks.io\/wp-content\/uploads\/2025\/09\/log-files-1.png 1008w, https:\/\/techhub.saworks.io\/wp-content\/uploads\/2025\/09\/log-files-1-300x128.png 300w, https:\/\/techhub.saworks.io\/wp-content\/uploads\/2025\/09\/log-files-1-768x328.png 768w\" data-sizes=\"(max-width: 1008px) 100vw, 1008px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1008px; --smush-placeholder-aspect-ratio: 1008\/431;\" \/><\/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>Messages d\u2019erreur courants<\/strong><\/h3>\n\n\n\n<p>Pour r\u00e9soudre les probl\u00e8mes li\u00e9s \u00e0 votre workflow CodeQL, il est utile de conna\u00eetre les <strong>messages d\u2019erreur les plus fr\u00e9quents<\/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\"><strong>Erreur : \u00ab\u00a0Server error\u00a0\u00bb (Erreur serveur)<\/strong><\/h4>\n\n\n\n<p>Si une ex\u00e9cution de workflow \u00e9choue \u00e0 cause d\u2019une erreur serveur, cela peut \u00eatre d\u00fb \u00e0 un <strong>probl\u00e8me de communication temporaire<\/strong>.<br>\u27a1\ufe0f Essayez de relancer le workflow.<br>\u27a1\ufe0f Si le probl\u00e8me persiste, contactez le <strong>support GitHub<\/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\"><strong>Erreur : \u00ab\u00a0Out of disk\u00a0\u00bb ou \u00ab\u00a0Out of memory\u00a0\u00bb (Espace disque ou m\u00e9moire insuffisante)<\/strong><\/h4>\n\n\n\n<p>CodeQL peut manquer d\u2019espace disque ou de m\u00e9moire sur le runner pour les projets volumineux.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Si vous utilisez un <strong>runner GitHub Actions h\u00e9berg\u00e9<\/strong>, contactez le support GitHub.<\/li>\n\n\n\n<li>Si vous utilisez un <strong>runner auto-h\u00e9berg\u00e9<\/strong>, vous devrez peut-\u00eatre <strong>augmenter les ressources<\/strong> (m\u00e9moire, disque).<br>\ud83d\udc49 Consultez la documentation CodeQL sur les <strong>sp\u00e9cifications mat\u00e9rielles recommand\u00e9es<\/strong>.<\/li>\n<\/ul>\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>Erreur : 403 \u00ab\u00a0Resource not accessible by integration\u00a0\u00bb lors de l\u2019utilisation de Dependabot<\/strong><\/h4>\n\n\n\n<p>Dependabot est consid\u00e9r\u00e9 comme <strong>non fiable<\/strong> lorsqu\u2019il d\u00e9clenche un workflow. Le workflow s\u2019ex\u00e9cute avec des <strong>autorisations en lecture seule<\/strong>.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Le <strong>t\u00e9l\u00e9versement des r\u00e9sultats d\u2019analyse de code<\/strong> pour une branche n\u00e9cessite g\u00e9n\u00e9ralement l\u2019autorisation <code>security_events: write<\/code>.<\/li>\n\n\n\n<li>Cependant, l\u2019analyse de code <strong>autorise toujours le t\u00e9l\u00e9versement<\/strong> des r\u00e9sultats lorsque l\u2019\u00e9v\u00e9nement <code>pull_request<\/code> d\u00e9clenche l\u2019action.<\/li>\n<\/ul>\n\n\n\n<p>\u2705 Pour les branches Dependabot, il est recommand\u00e9 d\u2019utiliser l\u2019\u00e9v\u00e9nement <strong><code>pull_request<\/code><\/strong> plut\u00f4t que <strong><code>push<\/code><\/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\"><strong>Approche simple recommand\u00e9e :<\/strong><\/h3>\n\n\n\n<p>Ex\u00e9cutez l\u2019analyse :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>sur les <strong>push<\/strong> vers la branche par d\u00e9faut et les branches importantes \u00e0 long terme,<\/li>\n\n\n\n<li>ainsi que sur les <strong>pull requests<\/strong> ouvertes vers ces branches.<\/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(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\">ShellScript<\/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>on:\n  push:\n    branches:\n      - main\n  pull_request:\n    branches:\n      - main<\/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\">on:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">  <\/span><span style=\"color: #6F42C1\">push:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">    <\/span><span style=\"color: #6F42C1\">branches:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">      <\/span><span style=\"color: #6F42C1\">-<\/span><span style=\"color: #24292E\"> <\/span><span style=\"color: #032F62\">main<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">  <\/span><span style=\"color: #6F42C1\">pull_request:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">    <\/span><span style=\"color: #6F42C1\">branches:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">      <\/span><span style=\"color: #6F42C1\">-<\/span><span style=\"color: #24292E\"> <\/span><span style=\"color: #032F62\">main<\/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\"><strong>Erreur : \u00ab\u00a0SARIF Upload Rejected Because of Default Setup\u00a0\u00bb<\/strong><\/h3>\n\n\n\n<p>Le <strong>t\u00e9l\u00e9versement de fichiers SARIF<\/strong> est bloqu\u00e9 lorsque la <strong>configuration par d\u00e9faut de CodeQL<\/strong> est activ\u00e9e. Cette erreur se produit lorsqu\u2019un processus tente de t\u00e9l\u00e9verser un fichier SARIF contenant des r\u00e9sultats d\u2019analyse CodeQL vers un d\u00e9p\u00f4t o\u00f9 la configuration par d\u00e9faut est activ\u00e9e.<\/p>\n\n\n\n<p>L\u2019erreur peut \u00e9galement survenir si le t\u00e9l\u00e9versement est effectu\u00e9 via l\u2019<strong>API REST<\/strong> ou le <strong>CLI CodeQL<\/strong>.<br>Ce blocage est mis en place pour <strong>\u00e9viter toute confusion<\/strong> lorsque plusieurs syst\u00e8mes g\u00e9n\u00e8rent des alertes similaires d\u2019analyse de code.<\/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\"><strong>Cette erreur concerne uniquement les fichiers SARIF contenant des r\u00e9sultats g\u00e9n\u00e9r\u00e9s avec CodeQL.<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u2705 Pour corriger cette erreur :<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>D\u00e9sactivez CodeQL<\/strong> dans le d\u00e9p\u00f4t concern\u00e9.<\/li>\n\n\n\n<li>Puis <strong>r\u00e9essayez de t\u00e9l\u00e9verser<\/strong> le fichier SARIF.<\/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\udcda Pour aller plus loin<\/h3>\n\n\n\n<p>Consultez la documentation CodeQL sur la <strong><a href=\"https:\/\/docs.github.com\/en\/code-security\/code-scanning\/troubleshooting-code-scanning\">r\u00e9solution des probl\u00e8mes li\u00e9s \u00e0 l\u2019analyse de code<\/a><\/strong>.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>R\u00e9solution des probl\u00e8mes li\u00e9s aux r\u00e9sultats de CodeQL Cette unit\u00e9 fournit des conseils pour optimiser et r\u00e9soudre les probl\u00e8mes lorsque vous travaillez avec [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":8024,"menu_order":61,"comment_status":"closed","ping_status":"closed","template":"","doc_tag":[],"doc_badge":[],"class_list":["post-8074","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\/8074"}],"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"}],"replies":[{"embeddable":true,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/comments?post=8074"}],"version-history":[{"count":0,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/docs\/8074\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/docs\/8024"}],"wp:attachment":[{"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/media?parent=8074"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/doc_tag?post=8074"},{"taxonomy":"doc_badge","embeddable":true,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/doc_badge?post=8074"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}