
La gestion des dépendances est une partie cruciale du développement logiciel, mais elle a longtemps été un processus manuel et susceptible d’erreurs. Heureusement, des outils modernes comme Composer ont simplifié cette tâche pour les développeurs PHP. Composer est désormais le standard pour la gestion des dépendances en PHP grâce à sa simplicité et sa large adoption.
Outre la gestion des dépendances, Composer propose plusieurs fonctionnalités utiles, telles que :
- Autoloading : Charge automatiquement les classes et fonctions des bibliothèques externes, facilitant ainsi leur intégration dans vos projets PHP.
- Génération de code : Produit automatiquement du code ou des configurations, accélérant le développement et assurant la cohérence.
- Exécution de scripts : Automatise des tâches comme les tests ou la génération de documentation à partir de votre base de code, améliorant ainsi votre flux de travail.
Ce guide vous expliquera comment créer un paquet Composer, puis le publier sur Packagist, une plateforme de dépôt pour paquets PHP accessible aux développeurs du monde entier.
Fonctionnement de Composer
Composer utilise un fichier composer.json
pour définir les dépendances de votre projet PHP. Il recherche ces dépendances dans un dépôt centralisé, les télécharge et les installe automatiquement.
Voici comment Composer fonctionne en pratique :
- Définir les dépendances : Éditez le fichier
composer.json
de votre projet pour spécifier les bibliothèques et leurs versions requises, ainsi que toute autre configuration nécessaire. - Résolution des dépendances : Utilisez des commandes telles que
install
pour installer les dépendances,update
pour les mettre à jour ourequire
pour ajouter de nouvelles dépendances. Composer lit lecomposer.json
, consulte le dépôt de paquets pour trouver les versions appropriées, et vérifie les conflits ou contraintes de version. - Installation des dépendances : Composer télécharge et installe les bibliothèques dans le répertoire
vendor
de votre projet. Il génère également un fichiercomposer.lock
pour enregistrer les versions exactes des dépendances. - Autoloading : Composer met en place un autoloader qui charge automatiquement les classes et fonctions des bibliothèques installées, évitant ainsi l’inclusion manuelle de chaque fichier.
En résumé, Composer simplifie la gestion des dépendances en PHP, facilitant l’installation, la mise à jour et l’utilisation des bibliothèques et frameworks.
Création et Publication d’un Paquet Composer
Ce guide vous montrera comment créer une bibliothèque PHP simple, nommée tempconv
, destinée à convertir des températures entre Celsius et Fahrenheit, puis comment la publier en tant que paquet Composer.
Pré-requis
Avant de commencer, assurez-vous de disposer des éléments suivants :
- PHP et Composer installés correctement. Les instructions de ce guide sont compatibles avec Composer v2.6.6 ou toute autre version v2.
- Un compte GitHub pour héberger votre code dans un dépôt.
- Un compte Packagist pour publier votre bibliothèque.
Création de votre bibliothèque PHP
Dans le répertoire de votre projet, ajoutez un fichier nommé TemperatureConverter.php avec le code suivant :

composer init

Notez que l’assistant fournit des réponses prédéfinies aux questions lorsqu’elles sont applicables, telles que la dérivation de votre nom et de votre adresse e-mail à partir de git. N’hésitez pas à les modifier si vous le souhaitez.
Cette bibliothèque ne dépend d’aucun autre paquet pour fonctionner, vous pouvez donc répondre Non aux questions spécifiant des dépendances.
L’assistant vous montre un aperçu du contenu du fichier généré et vous demande de le confirmer pour terminer l’assistant.
Organisation des fichiers du paquet
L’assistant crée deux répertoires en plus du fichier composer.json:
- src pour votre code source
- vendor pour vos dépendances téléchargées
Déplacez le fichier TemperatureConverter.php dans le répertoire src. Si votre bibliothèque a des dépendances, exécutez composer install
pour générer l’autoloader et installer les dépendances du paquetage.
Téléversement du code sur GitHub

Créer une version de votre bibliothèque
Dans l’onglet “Code” de votre dépôt, à droite, vous devriez voir un lien qui vous permet de créer votre release comme suit :


Une fois que vous avez publié votre release, vous pouvez maintenant la soumettre sur Packagist en copiant l’URL de votre dépôt.

Une fois que vous avez vérifié, vous obtiendrez la commande qui vous permettra d’installer votre dépôt dans un projet PHP.

Une fois la librairie publiée, vous pouvez l’installer dans un nouveau projet contenant une classe de démonstration pour la tester. Cela générera un fichier composer.json
.


Et voilà, notre librairie fonctionne parfaitement.