Skip to main content

À propos du graphe de dépendances

Vous pouvez utiliser le graphe des dépendances pour identifier toutes les dépendances de votre projet. Le graphe des dépendances prend en charge une gamme d’écosystèmes de packages populaires.

À propos du graphe de dépendances

Le graphe des dépendances est un résumé des manifestes et fichiers de verrouillage stockés dans un référentiel. Pour chaque dépôt, il affiche dépendances, c’est-à-dire les écosystèmes et les packages dont il dépend. GitHub AE ne calcule pas les informations sur les dépendants, les dépôts et les packages qui dépendent d’un dépôt.

Quand vous poussez (push) vers GitHub AE un commit qui change un manifeste ou un fichier de verrouillage pris en charge ou l’ajoute à la branche par défaut, le graphe de dépendances est automatiquement mis à jour. Pour plus d’informations sur les fichiers manifestes et les écosystèmes pris en charge, consultez « Écosystèmes de packages pris en charge » ci-dessous.

Quand vous créez une demande de tirage (pull request) contenant des modifications apportées aux dépendances qui cible la branche par défaut, GitHub utilise le graphe de dépendances pour ajouter des révisions de dépendance à la demande de tirage. Celles-ci indiquent si les dépendances contiennent des vulnérabilités et, si c’est le cas, la version de la dépendance dans laquelle la vulnérabilité a été corrigée. Pour plus d’informations, consultez « À propos de la révision des dépendances ».

Disponibilité du graphe de dépendances

Les propriétaires de l’entreprise peuvent configurer Dependabot alerts pour une entreprise. Pour plus d’informations, consultez « Activation de Dependabot pour votre entreprise ».

Dépendances incluses

Le graphe des dépendances comprend toutes les dépendances d’un référentiel qui sont détaillées dans les manifestes et fichiers de verrouillage, ou leur équivalent, pour les écosystèmes pris en charge. notamment :

  • Dépendances directes, qui sont explicitement définies dans un manifeste ou un fichier de verrouillage
  • Les dépendances indirectes de ces dépendances directes, également appelées dépendances transitives ou sous-dépendances

Le graphe de dépendances identifie les dépendances indirectes à partir des fichiers de verrouillage.

Pour plus d’informations sur la façon dont GitHub AE vous aide à comprendre les dépendances au sein de votre environnement, consultez « À propos de la sécurité de la chaîne d’approvisionnement ».

Utilisation du graphe de dépendances

Vous pouvez utiliser le graphe de dépendances pour :

Écosystèmes de packages pris en charge

Les formats recommandés définissent explicitement les versions utilisées pour toutes les dépendances directes et indirectes. Si vous utilisez ces formats, votre graphe des dépendances est plus précis. Cela reflète également la configuration actuelle de la build et permet au graphe de dépendances de signaler les vulnérabilités dans les dépendances directes et indirectes.

| Gestionnaire de package | Langages | Formats recommandés | Tous les formats pris en charge | | --- | --- | --- | ---| | Composer | PHP | composer.lock | composer.json, composer.lock | | NuGet | Langages .NET (C#, F#, VB), C++ | .csproj, .vbproj, .nuspec, .vcxproj, .fsproj | .csproj, .vbproj, .nuspec, .vcxproj, .fsproj, packages.config | | Modules Go | Go | go.sum | go.mod, go.sum | | Maven | Java, Scala | pom.xml | pom.xml | | npm | JavaScript | package-lock.json | package-lock.json, package.json| | pip | Python | requirements.txt, pipfile.lock | requirements.txt, pipfile, pipfile.lock, setup.py[‡] | | Python Poetry | Python | poetry.lock | poetry.lock, pyproject.toml | | RubyGems | Ruby | Gemfile.lock | Gemfile.lock, Gemfile, *.gemspec | | Yarn | JavaScript | yarn.lock | package.json, yarn.lock |

[‡] Si vous listez vos dépendances Python dans un fichier setup.py, il est possible que nous ne soyons pas en mesure d’analyser et de lister chaque dépendance dans votre projet.

Pour aller plus loin