La gestion des dépendances¶
🤖 Rédaction assistée par IA.
Principe¶
Un outil de gestion de dépendances s'appuie généralement sur :
- Un descripteur de projet qui liste les dépendances et leurs versions
- Un utilitaire en ligne de commande pour télécharger les dépendances et construire le projet
- Au moins un dépôt public permettant le téléchargement des dépendances (tout en ayant la possibilité d'avoir des dépôts privés)
Numérotation des versions¶
Les versions sont numérotées en respectant des conventions (ex : <MAJEUR>.<MINEUR>.<PATCH>) donnant un sens aux versions :
- Changement de
MAJEUR: changement cassant - Changement de
MINEUR: nouvelle fonctionnalité - Changement de
PATCH: correctif
Il est ainsi possible de déclarer des contraintes sur les versions des dépendances (ex : ^1.4.0 pour « toute version 1.x.y à partir de 1.4.0 »). Voir la gestion sémantique de version.
Quelques exemples¶
| Langage | Outil | Descripteur | Dépôt public | Fiche |
|---|---|---|---|---|
| Java | Maven (Maven in five minutes), Gradle | pom.xml |
Maven Central | Java |
| JavaScript | npm, yarn | package.json |
npmjs.com | JavaScript |
| PHP | Composer | composer.json |
packagist.org | PHP |
| Python | pip, uv | pyproject.toml |
pypi.org | Python |
| Rust | cargo | Cargo.toml |
crates.io | Rust |
Voir aussi¶
- 12 facteurs - II. Dépendances qui invite à déclarer explicitement et isoler les dépendances.
- Le stockage des livrables pour les dépôts publics et les gestionnaires d'artefact (dépôts privés).