Skip to main content

À propos de la page d’état de l’outil pour l’analyse du code

La page d’état de l’outil affiche des informations utiles sur tous vos outils d’analyse du code. Si l’analyse du code ne fonctionne pas comme prévu, la page d’état de l’outil est un bon point de départ pour le débogage des problèmes.

Qui peut utiliser cette fonctionnalité ?

Utilisateurs avec accès en écriture

Référentiels appartenant à l’organisation avec GitHub Advanced Security activé

Remarque : Votre administrateur de site doit activer l’code scanning avant de pouvoir utiliser cette fonctionnalité. Pour plus d’informations, consultez « Configuration de l’analyse de code pour votre appliance ».

Vous ne pourrez peut-être pas activer ou désactiver lcode scanning si un propriétaire d’entreprise a défini une stratégie GitHub Advanced Security (GHAS) au niveau de l’entreprise. Pour plus d’informations, consultez « Application de stratégies de sécurité et d’analyse du code pour votre entreprise ».

À propos de la page d’état de l’outil

La page d’état de l’outil affiche des informations utiles sur tous vos outils d’code scanning. Si l’code scanning ne fonctionne pas comme prévu, la page d’état de l’outil est un bon point de départ pour le débogage des problèmes.

Avec la page d’état de l’outil, vous pouvez voir l’état du fonctionnement des outils d’analyse du code pour un dépôt, quand les fichiers du dépôt ont été analysés pour la première fois et le plus récemment et quand les analyses sont planifiées. Pour les outils intégrés tels que CodeQL, vous pouvez également voir des informations plus détaillées, notamment un pourcentage de fichiers analysés et des messages d’erreur spécifiques.

Vous pouvez également voir les règles par rapport auxquelles votre code a été vérifié par chaque configuration d’un outil d’code scanning et télécharger un résumé des résultats.

Remarque : La page d’état de l’outil montre comment les outils fonctionnent au niveau du dépôt, et non au niveau de l’organisation. L’outil d’état s’affiche uniquement pour la branche par défaut du dépôt pour lequel cet outil est configuré.

Affichage de la page d’état de l’outil pour un dépôt

La page des alertes d’analyse du code pour chaque dépôt comprend une bannière d’outils avec un résumé de l’intégrité de l’analyse du code et l’accès à la page d’état de l’outil pour explorer votre configuration.

  1. Sur GitHub, accédez à la page principale du référentiel.
  2. Sous le nom du dépôt, cliquez sur Sécurité. Si vous ne voyez pas l’onglet « Sécurité », sélectionnez le menu déroulant et cliquez sur Sécurité.
    Capture d’écran d’un en-tête de dépôt montrant les onglets. L’onglet « Sécurité » est mis en évidence avec un encadré orange foncé.
  3. Dans la barre latérale gauche, cliquez sur Code scanning.
  4. Cliquez sur État de l’outil dans la bannière Outils.
    Capture d’écran montrant comment accéder à la page État de l’outil à partir d’un dépôt. Le bouton « État de l’outil » est mis en évidence avec un contour orange foncé.

Utilisation de la page d’état de l’outil

Dans la page d’état de l’outil, vous voyez un résumé d’un outil, mis en évidence dans la barre latérale. Vous pouvez utiliser la barre latérale pour afficher les résumés de différents outils.

Capture d’écran montrant la page État de l’outil, avec l’outil CodeQL sélectionné.

Pour les outils intégrés tels que CodeQL, vous pouvez voir un pourcentage total de tous les fichiers les plus récemment analysés dans votre dépôt, organisés par langage de programmation. Pour plus d’informations sur les fichiers considérés comme ayant été analysés par CodeQL, consultez « Comment CodeQL définit les fichiers analysés ». Vous pouvez également télécharger des rapports de langage détaillés au format CSV. Pour plus d’informations, consultez « Téléchargement des détails des fichiers analysés ».

Les trois états possibles de l’outil sont les suivants : toutes les configurations fonctionnent, certaines configurations nécessitent une attention particulière et certaines configurations ne fonctionnent pas.

Accès à des informations détaillées sur les outils

Si vous souhaitez voir des informations plus détaillées sur l’outil affiché, vous pouvez sélectionner une configuration spécifique sous « Types de configuration ».

Sous « Configurations » à gauche de l’écran, vous pouvez voir des informations pour chaque analyse exécutée par ce type de configuration, ainsi que tous les messages d’erreur pertinents. Pour afficher des informations détaillées sur l’exécution d’analyse la plus récente, sélectionnez une configuration dans la barre latérale. Vous pouvez télécharger les détails des règles qui ont été exécutées dans cette analyse du code et le nombre d’alertes trouvées par chaque règle. Pour plus d’informations, consultez « Téléchargement de listes de règles utilisées ».

Capture d’écran montrant des informations détaillées sur CodeQL dans la page État de l’outil.

Cette vue affiche également les messages d’erreur. Pour plus d’informations, consultez « Débogage avec la page État de l’outil ».

Comment CodeQL définit les fichiers analysés

Un fichier est signalé comme analysé par CodeQL si certaines lignes de code de ce fichier ont été traitées. Si vous utilisez une configuration standard de l’action CodeQL, les fichiers analysés affichés dans la page d’état de l’outil incluent les fichiers de code source pour tous les langages que CodeQL peut analyser. Si vous utilisez la configuration avancée, vous pouvez éventuellement spécifier les fichiers des langages interprétés à analyser à l’aide des propriétés de configuration paths et paths-ignore. Pour plus d’informations, consultez « À propos de l’analyse du code avec CodeQL » et « Personnalisation de votre configuration avancée pour l’analyse de code ».

Pour les langages compilés, la page d’état de l’outil signale les fichiers qui étaient présents avant l’exécution de la génération automatique ou des étapes de génération manuelle. Cela signifie que les fichiers générés pendant le processus de génération ne sont pas affichés dans la page d’état de l’outil. Pour plus d’informations, consultez « Analyse du code CodeQL pour les langages compilés ».

La page d’état de l’outil calcule le pourcentage de fichiers analysés par CodeQL pour chaque langage pris en charge par CodeQL. Ce pourcentage respecte tous les fichiers exclus par les propriétés de configuration paths et paths-ignore.

Téléchargement des détails des fichiers analysés

Pour les outils intégrés tels que CodeQL, vous pouvez télécharger des rapports détaillés à partir de la page d’état de l’outil au format CSV. Les informations indiquées sont les suivantes :

  • Quelle configuration a été utilisée pour analyser chaque fichier.
  • Chemin d'accès au fichier.
  • Langage de programmation du module.
  • La réussite ou l’échec de l’extraction du fichier.

Pour télécharger un rapport, sélectionnez un outil qui vous intéresse. Ensuite, en haut à droite de la page, cliquez sur le bouton .

Téléchargement de listes de règles utilisées

Vous pouvez télécharger la liste des règles que l’code scanning vérifie, au format CSV. Les informations indiquées sont les suivantes :

  • Configuration utilisée.
  • Source de la règle.
  • Identificateur SARIF.
  • Nombre d’alertes trouvées.

Pour télécharger un rapport, sélectionnez une configuration qui vous intéresse. Cliquez ensuite sur en haut à droite de la page, puis sélectionnez Télécharger la liste des règles utilisées.

Suppression de configurations

Vous pouvez supprimer des configurations obsolètes, en double ou indésirables pour la branche par défaut de votre dépôt.

Pour supprimer une configuration, sélectionnez la configuration que vous souhaitez supprimer. Cliquez ensuite sur en haut à droite de la page, puis sélectionnez Supprimer la configuration. Une fois que vous avez lu l’avertissement relatif aux alertes, pour confirmer la suppression, cliquez sur le bouton Supprimer.

Remarque : Vous pouvez uniquement utiliser la page d’état de l’outil pour supprimer des configurations de la branche par défaut d’un dépôt. Pour plus d’informations sur la suppression de configurations de branches autres que la branche par défaut, consultez « Résolution des alertes d’analyse du code ».

Débogage avec la page d’état de l’outil

Si vous constatez un problème avec votre analyse à partir de la page d’alertes d’code scanning, vous pouvez utiliser la page d’état de l’outil pour identifier le problème. Pour les outils intégrés, vous pouvez voir des messages d’erreur spécifiques dans la section des informations détaillées, liés à des outils d’code scanning spécifiques. Ces messages d’erreur contiennent des informations sur la raison pour laquelle l’outil peut ne pas fonctionner comme prévu et sur les actions que vous pouvez effectuer. Pour plus d’informations sur l’accès à cette section de la page d’état de l’outil, consultez « Accès à des informations détaillées sur les outils ».

Pour les outils intégrés tels que CodeQL, vous pouvez également utiliser les informations de couverture des fichiers pour améliorer votre analyse. Pour chaque langage affichée sur le page d’état de l’outil :

  • Si le langage a un pourcentage d’analyse élevé, cela indique que l’analyse du code analyse ce langage comme prévu.
  • Si le langage a un faible pourcentage d’analyse, vous pouvez examiner la sortie de diagnostic produite par CodeQL pour ce langage : pour plus d’informations, consultez « Moins de lignes analysées par CodeQL que prévu ».
  • Si le langage a un pourcentage analysé de zéro, vous pouvez avoir du code source dans votre référentiel écrit dans des langages pris en charge par CodeQL, mais pas actuellement en cours d’analyse avec CodeQL. Dans ce cas, vous souhaiterez peut-être mettre à jour votre configuration pour commencer à analyser ces langages supplémentaires. Pour plus d’informations, consultez « Personnalisation de votre configuration avancée pour l’analyse de code ».

Remarque : Si vous avez défini CodeQL avec la configuration avancée, puis défini la configuration par défaut sur le même dépôt, la page d’état de l’outil affiche uniquement la configuration par défaut.

Pour plus d’informations, consultez « Résolution des problèmes d’analyse du code » et « Résolution des problèmes de chargements SARIF ».