Explorer les paquets
Les packages sont utilisés pour définir les composants sur lesquels vous vous appuyez et dépendent de votre solution logicielle. Ils permettent de stocker ces composants dans un format bien défini avec des métadonnées pour les décrire.
Qu’est-ce qu’un package ?
Un package est un moyen formalisé de créer une unité distribuable d’artefacts logiciels qui peuvent être consommés à partir d’une autre solution logicielle.
Principales caractéristiques des packages :
- Description du contenu : Le package décrit le contenu qu’il contient.
- Métadonnées: Fournit des informations supplémentaires sur le package (version, auteur, dépendances).
- Identification unique : Les informations identifient de manière unique les packages individuels.
- Auto-descriptif : Le format de package est standardisé et bien documenté.
Avantages de l’utilisation de packages :
- Stockage centralisé : Stockez des packages dans des emplacements centralisés pour faciliter l’accès.
- Consommation prévisible : Consommer le contenu du package de manière cohérente.
- Prise en charge des outils : Activez les outils automatisés pour gérer les packages dans votre solution logicielle.
- Gestion des versions : Suivez et gérez différentes versions des composants.
- Résolution des dépendances : Résolvez et installez automatiquement les dépendances requises.
Composants du package
Un package classique contient :
- Code compilé : Bibliothèques, assemblys ou fichiers exécutables.
- Fichiers sources : Dans certains cas, le code source pour le débogage ou la référence.
- Métadonnées: Informations sur le package (nom, version, auteur, licence, dépendances).
- Documentation: Fichiers README, documentation d’API ou guides d’utilisation.
- Actifs : Images, fichiers de configuration ou autres ressources.
Types de packages
Les packages peuvent être utilisés pour différents types de composants. Le type de composants que vous souhaitez utiliser dans votre base de code diffère pour les différentes parties et couches de la solution que vous créez.
Plages de composants :
- Composants frontaux : Fichiers de code JavaScript, bibliothèques CSS, frameworks d’interface utilisateur.
- Composants principaux : assemblys .NET, JARs Java, modules Python.
- Solutions complètes : Applications autonomes ou microservices.
- Fichiers réutilisables : Modèles, configurations ou documentation.
Au cours des dernières années, les formats d’empaquetage ont changé et évolué. Il existe maintenant plusieurs formats standard de facto pour les packages.
Les packages NuGet
Les packages NuGet (prononcés « new get ») sont un standard utilisé pour les artefacts de code .NET.
Caractéristiques :
- Contenu: Inclut des assemblys .NET et des fichiers associés, des outils et parfois uniquement des métadonnées.
- Format: Essentiellement une structure de dossiers compressée avec des fichiers au format ZIP.
-
Extension:
.nupkgextension de fichier. - Usage: Définit la façon dont les packages sont créés, stockés et consommés dans l’écosystème .NET.
Consultez également Présentation de NuGet.
paquets npm
Les packages npm sont utilisés pour le développement JavaScript.
Caractéristiques :
- Origine: Provient de Node.js développement où il s’agit du format d’empaquetage par défaut.
-
Contenu: Fichier ou dossier contenant des fichiers JavaScript et un
package.jsonfichier. -
Métadonnées:
package.jsondécrit les métadonnées, les dépendances et les scripts du package. - Modules: Le package inclut généralement un ou plusieurs modules qui peuvent être chargés une fois consommés.
Consultez également À propos des packages et des modules.
Packages Maven
Maven est utilisé pour les projets Java.
Caractéristiques :
- Modèle objet de projet : Chaque package a un fichier POM décrivant les métadonnées du projet.
- Format: Fichiers JAR (Archive Java) pour les bibliothèques, WAR (Web Archive) pour les applications web.
- Coordonnées: Identifié par groupId, artifactId et version.
- Outil de génération : Maven sert à la fois de gestionnaire de package et d’outil d’automatisation de build.
Paquets PyPI
PyPI (Python Package Index), abrégé en pyPI et appelé Cheese Shop, est le dépôt officiel de logiciels tiers pour Python.
Caractéristiques :
-
Format : distributions dans les formats de roue (
.whl) ou de distribution source (.tar.gz). - Outil: Géré à l’aide de pip (programme d’installation de package pour Python).
- Contenu: Modules et packages Python avec dépendances.
-
Métadonnées:
setup.pyoupyproject.tomlles fichiers définissent des informations sur le package.
Docker images
Les packages Docker sont appelés images et contiennent des déploiements complets et autonomes de composants.
Caractéristiques :
- Indépendant: Une image Docker représente généralement un composant logiciel qui peut être hébergé et exécuté par lui-même.
- Architecture en couches : Les images sont intégrées à des couches pour améliorer l’efficacité et la réutilisation.
- Images de base : Les images peuvent dépendre d’autres images comme base (par exemple Ubuntu, Alpine).
- Registres: Stocké dans les registres Docker (Docker Hub, Azure Container Registry).
Choix du type de package approprié
| Type de paquet | Utilisation principale | Langue/plateforme | Extension |
|---|---|---|---|
| NuGet | Bibliothèques et outils .NET | C#, F#, VB.NET | .nupkg |
| npm | Bibliothèques et frameworks JavaScript | JavaScript, TypeScript | N/A (dossier) |
| Maven | Bibliothèques et applications Java | Java, Kotlin, Scala |
.jar, .war |
| PyPI | Bibliothèques et packages Python | Python |
.whl, .tar.gz |
| Docker | Applications conteneurisées | N’importe quelle langue | Couches d’images |