2023-11-08 10:40 Temps de lecture : 20 min

Comment installer Composer sur Ubuntu : un guide d'installation indolore

Lors de l'élaboration d'un logiciel, qu'il s'agisse d'une application simple ou d'un système complexe, il est presque inévitable que ce logiciel s'appuie sur des bibliothèques, des modules ou des éléments externes pour un fonctionnement optimal. Ces ressources tierces, indispensables au bon déroulement des opérations du logiciel, sont désignées sous le terme de dépendances.

Une administration rigoureuse des dépendances est un processus clé dans tout projet. Fort heureusement, divers outils sont conçus pour automatiser cette gestion, allégeant ainsi la tâche des développeurs. En tant que développeur, votre choix d'outil de gestion des dépendances sera conditionné par le langage et l'environnement dans lesquels vous travaillez.

Si vos projets sont développés en PHP, vous n'aurez pas à chercher plus loin que Composer pour gérer efficacement les dépendances.

Qu'est-ce que Composer ?

Composer est un instrument de choix, spécialement conçu pour la gestion des dépendances en PHP. S'inspirant largement des systèmes npm de Node.js et Bundler de Ruby, Composer vous offre la possibilité de déclarer les bibliothèques externes dont votre projet PHP dépend, et il s'occupera de leur gestion.

Concrètement, Composer se chargera d'installer toutes les dépendances nécessaires à votre projet et de les maintenir à jour.

Il est crucial de noter que Composer n'est pas un gestionnaire de paquets comme Apt ou Yum. Bien qu'il s'agisse de bibliothèques, celles-ci ne sont pas installées globalement sur une machine par défaut. Au contraire, Composer gère les dépendances au niveau du projet, installant celles-ci localement, dans le répertoire du projet PHP que vous développez.

Composer vous permet également de déterminer quelles versions des paquets doivent être installées dans votre projet, et il les met en place pour vous. De plus, il fournit une commande unique pour mettre à jour l'ensemble des dépendances de votre projet.

Composer est un outil indispensable lors de la conception de projets en PHP. Il permet une gestion efficace des dépendances et propose un référentiel, appelé Packagist, qui offre un large éventail de paquets et de bibliothèques PHP pouvant être ajoutés à vos projets comme dépendances.

Une bonne gestion des dépendances via un outil comme Composer favorise un développement modulaire des logiciels, un suivi transparent des versions et une collaboration améliorée entre les équipes. De surcroît, cela permet d'éviter les problèmes de compatibilité dans les logiciels et de rendre les projets plus maintenables.

Voyons maintenant comment installer Composer sous Ubuntu. Mais, avant tout, examinons les prérequis nécessaires.

Prérequis à l'installation de Composer sous Ubuntu

Pour installer Composer sous Ubuntu :

1. Assurez-vous d'avoir un accès au terminal et de pouvoir exécuter des commandes en tant qu'utilisateur root.

2. Installez PHP version 7.2.5 ou supérieure sur votre machine. Vous pouvez vérifier si PHP est installé et connaître sa version en ouvrant le terminal et en exécutant :

php -version

Si PHP est installé, vous devriez obtenir une sortie semblable à ceci :

Si PHP n'est pas installé, exécutez la commande suivante pour l'installer :

sudo apt install php

3. Disposez d'un système de contrôle de version. Git est une excellente option. Vérifiez que Git est installé en exécutant :

git --version

Si Git est installé, vous obtiendrez un numéro de version comme celui-ci :

Si Git n'est pas installé, exécutez la commande suivante pour l'installer :

sudo apt install git

4. Installez un gestionnaire d'archives afin de pouvoir décompresser des fichiers. L'utilitaire tar est suffisant pour cela. Vérifiez si tar est installé en exécutant :

tar --version

Si tar n'est pas présent, installez-le via la commande :

sudo apt-get install tar

Une fois ces prérequis remplis, vous êtes prêt pour l'installation de Composer.

Comment installer Composer sous Ubuntu

Lors de l'installation de Composer, vous avez la possibilité de l'installer globalement sur votre machine ou localement dans le cadre d'une installation PHP. L'installation globale permet d'accéder à Composer depuis n'importe quel répertoire, contrairement à une installation locale.

L'installation globale de Composer est la méthode recommandée, et c'est celle que nous allons suivre.

L'installation de Composer sur Ubuntu via le terminal implique l'exécution de scripts disponibles sur la page de téléchargement de Composer.

Suivez ces étapes pour installer Composer globalement sous Ubuntu :

1. Ouvrez le terminal et exécutez la commande suivante pour télécharger le script d'installation de Composer dans le répertoire actuel :

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

2. Exécutez la commande suivante pour vérifier l'intégrité du script d'installation SHA-384 :

php -r "if (hash_file('sha384', 'composer-setup.php') === 'e21205b207c3ff031906575712edab6f13eb0b361f2085f1f1237b7126d785e826a450292b6cfd1d64d92e6563bbde02') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

Le SHA-384 est une empreinte cryptographique qui permet de confirmer l'intégrité du script d'installation de Composer. En d'autres termes, il s'agit d'une mesure de sécurité permettant de s'assurer que le script téléchargé n'a pas été altéré ou corrompu.

L'exécution de la commande ci-dessus doit générer une sortie confirmant que le script d'installation a été validé, comme illustré ci-dessous. Poursuivez uniquement si vous obtenez cette confirmation d'intégrité.

3. Exécutez cette commande pour lancer le script d'installation :

php composer-setup.php

Vous devriez obtenir une sortie attestant que Composer a été installé avec succès.

Notez que le fichier `composer.phar`, qui est l'exécutable de Composer, a été ajouté dans le répertoire où vous l'avez installé.

4. Maintenant que Composer est installé, supprimez le script d'installation téléchargé, car il n'est plus nécessaire :

php -r "unlink('composer-setup.php');"

5. Pour que Composer soit accessible globalement, déplacez le fichier `composer.phar` dans un répertoire inclus dans votre PATH. Pour ce faire, exécutez la commande suivante et saisissez votre mot de passe quand vous y êtes invité :

sudo mv composer.phar /usr/local/bin/composer

6. Confirmez que Composer est correctement installé en exécutant la commande :

composer

Si l'installation a réussi, vous devriez obtenir un résultat similaire à celui-ci :

Comment utiliser Composer

Une fois Composer installé, il est temps de l'utiliser pour gérer les dépendances. Comme mentionné précédemment, Composer dispose d'un référentiel appelé Packagist, qui regroupe des paquets installables via Composer.

Pour voir comment utiliser Composer, nous allons installer un paquet appelé message http, qui est une interface décrivant les messages HTTP.

Pour installer le package http-message à l'aide de Composer :

1. Créez un nouveau répertoire, nommé `composerDemo`, puis naviguez à l'intérieur via les commandes suivantes dans le terminal :

mkdir composerDemo
cd composerDemo

2. Créez un fichier `.gitignore` à la racine du répertoire, grâce à la commande :

touch .gitignore

Ce fichier permet de spécifier les fichiers que Git doit ignorer.

3. Générez un fichier `composer.json` pour votre projet en exécutant :

composer init

Un fichier `composer.json` est un fichier de configuration clé utilisé par Composer. Il permet de spécifier des métadonnées décrivant votre projet, ainsi que les dépendances de votre projet, afin que Composer puisse les gérer automatiquement.

La commande ci-dessus mènera à la sortie suivante :

Le guide vous accompagnera dans la création du fichier `composer.json`. Lors de la première question, appuyez sur Entrée pour accepter le nom de projet suggéré.

4. À l'invite suivante, entrez une brève description du projet et appuyez sur Entrée. Vous pouvez coller la description ci-dessous, puis appuyer sur Entrée :

A demonstration of how to use PHP Composer

5. L'invite suivante concerne l'auteur ; appuyez sur Entrée pour utiliser la valeur par défaut.

6. Ensuite, vous serez invité à spécifier la stabilité minimale. Vous pouvez laisser ce champ vide en appuyant sur Entrée, afin de passer à la question suivante.

7. L'invite qui suit vous demande de spécifier le type du paquet. Pour ce faire, entrez `project` puis appuyez sur Entrée, comme indiqué ci-dessous :

8. L'invite demandant une licence peut être laissée vide en appuyant sur Entrée.

9. Vous serez ensuite invité à spécifier vos dépendances ; pour ce faire, appuyez sur Entrée pour sélectionner `Oui`. Cela vous demandera alors de rechercher un paquet.

10. Dans l'invite de recherche de paquet, entrez `http-message` et appuyez sur Entrée. Cela recherchera le paquet spécifié et affichera les résultats, comme indiqué ci-dessous :

Le paquet qui nous intéresse est le premier, nommé `psr/http-message`. Pour le sélectionner, entrez le numéro qui lui est associé, puis appuyez sur Entrée. Saisissez donc `0` (zéro) puis Entrée.

11. L'invite suivante concerne la contrainte de version. Vous pouvez laisser vide, pour installer la dernière version. Cependant, nous allons spécifier la version voulue.

Pour identifier la dernière version du paquet, consultez sa page sur Packagist. Dans cet exemple, la dernière version est la 2.0, comme indiqué ci-dessous :

Composer met automatiquement les paquets à jour lorsqu'une nouvelle version est disponible. Cependant, il est préférable d'éviter que Composer ne mette à jour vers une version qui ne soit pas rétrocompatible, car cela pourrait casser votre code PHP. Pour prévenir cela, saisissez ce qui suit pour spécifier la version du paquet, puis appuyez sur Entrée :

^2.0

Ceci indique à Composer d'installer la version 2.0 ou supérieure, tant que cette version est rétrocompatible.

12. L'invite suivante demande si vous souhaitez rechercher un autre paquet ; appuyez sur Entrée pour passer à la suivante.

13. Lorsqu'on vous demande de définir vos dépendances de développement, appuyez sur Entrée. Lors de la recherche d'un paquet, appuyez de nouveau sur Entrée pour ignorer, car nos dépendances de développement sont les mêmes que nos dépendances de production.

14. L'invite suivante concerne l'ajout d'un mappage de chargement automatique PSR-4. Appuyez sur Entrée pour ignorer.

15. Vous aurez un aperçu du fichier `composer.json` que vous venez de générer, comme ci-dessous :

Appuyez sur Entrée pour confirmer la génération.

16. L'invite suivante vous demande si vous souhaitez installer les dépendances que vous avez spécifiées. Appuyez sur Entrée pour les installer, comme ci-dessous :

17. Dans le terminal, tapez la commande suivante pour ouvrir le projet que vous venez de créer dans un éditeur de code :

code .

Le résultat est présenté ci-dessous :

Notez qu'un fichier `composer.json` a été généré, et que nos dépendances sont listées sous la clé `require`. Les dépendances installées sont stockées dans un répertoire nommé `vendor`.

18. Pour éviter de suivre le répertoire `vendor`, qui contient toutes les dépendances, ouvrez le fichier `.gitignore` et collez-y la ligne suivante :

/vendor/

Il est recommandé de ne pas suivre ce fichier, car il peut devenir volumineux et les dépendances peuvent être facilement installées automatiquement à partir du fichier `composer.json`.

19. Après avoir créé un fichier `composer.json`, vous pouvez facilement ajouter de nouvelles dépendances en modifiant la section `require` dans le fichier. Par exemple, pour ajouter un paquet nommé `log`, ajoutez-le à la section `require`, comme ci-dessous :

"require": {
        "psr/http-message": "^2.0",
        "psr/log": "^3.0.0"
    },

20. Pour installer cette nouvelle dépendance dans votre projet, retournez au terminal et exécutez :

composer update

Le résultat est présenté ci-dessous :

Ceci installera le paquet que vous venez d'ajouter dans votre fichier `composer.json`.

Grâce à ces étapes, vous pouvez désormais commencer à travailler sur vos projets PHP en utilisant Composer pour gérer les dépendances de votre projet.

Comment optimiser Composer pour une gestion de paquets améliorée

Pour optimiser le fonctionnement de Composer, assurez-vous de spécifier précisément les contraintes de version pour les dépendances. Nous avons vu un exemple avec « `^2.0` ».

Évitez les contraintes de version trop larges comme « `*` », qui signifie que Composer peut installer n'importe quelle version. Ceci peut provoquer des problèmes de compatibilité et de stabilité dans votre projet, car vous ne pouvez pas anticiper quelle version sera installée par Composer.

De même, évitez d'ajouter des scripts personnalisés excessifs dans votre fichier `composer.json`. N'ajoutez que les scripts nécessaires. Trop de scripts peut engendrer des surcharges lors de la gestion des dépendances.

Pour optimiser la vitesse de Composer, activez l'extension PHP curl. Vous pouvez également utiliser des plugins Composer comme hirak/prestissimo, qui parallélisent les opérations de Composer, accélérant ainsi l'installation des paquets.

Vous pouvez aussi nettoyer le cache de Composer pour supprimer les anciens paquets, ce qui optimisera ses performances. N'oubliez pas non plus de ne pas suivre ni valider le répertoire `vendor` dans lequel les paquets sont installés par Composer. Ceci contribuera à accélérer le clonage et la mise à jour de vos projets.

Comment désinstaller Composer

Si vous ne souhaitez plus utiliser Composer sous Ubuntu, vous pouvez le désinstaller en exécutant la commande suivante :

sudo rm -rf /usr/local/bin/composer

Vous pouvez vérifier que Composer a bien été désinstallé en exécutant la commande :

composer

Si la désinstallation a été effectuée, vous devriez obtenir le résultat suivant :

Conclusion

La gestion des dépendances est une phase essentielle lors du développement de projets. Une bonne gestion des dépendances vous assure d'éviter les problèmes de compatibilité dans vos projets, et d'avoir des projets plus maintenables.

De plus, elle encourage un développement modulaire des logiciels et une meilleure collaboration entre les équipes de développement. Si vous développez des projets en PHP, pensez à utiliser Composer efficacement pour gérer les dépendances de vos projets.

Vous pouvez également vous renseigner sur ce qu'est Ubuntu PPA et comment l'installer.

Auteur
France

Rédacteur tech, guides pratiques et astuces numériques.