Installer et configurer Composer

Vous êtes ici pour suivre une série de tutoriaux Drupal pour débutants. Si vous cherchiez des articles plus poussés et/ou généraux, consultez le blog.
Dans cet article

Qu'est-ce que Composer ?

Composer est un gestionnaire de dépendance pour PHP, écrit en PHP.

Depuis PHP 5 de nombreux concepts issus de la programmation orientée objet (POO) sont arrivés dans le monde PHP, comme les classes et les namespaces notamment. Cela a permis à PHP de se moderniser et devenir a part entière un langage de programmation souple et modulable. La communauté s'est donc mise à écrire du code réutilisable : des bibliothèques permettant la résolution des problématiques courantes et récurrentes dans les projets de développement web. Ces bibliothèques peuvent ainsi être maintenues par la communauté et bénéficier à tous pour accélérer le développement en disposant de brique fonctionnelle réutilisable. 

Très vite, des centaines, des milliers et désormais plus encore de ces bibliothèques ont été écrites, partagées et diffusées. Une véritable jungle dans laquelle il est difficile de s'y retrouver, et surtout, dont il est difficile de suivre l'évolution.

Supposons que vous utilisiez une bibliothèque installée un jour J. Le lendemain elle sera peut-être mise à jour en une version améliorée et vous devrez la retélécharger et la réinstaller dans votre projet. Le sur-lendemain encore, cette bibliothèque est à nouveau mise à jour, avec notamment une partie de son code externalisée en une nouvelle bibliothèque plus petite et indépendante. Non seulement vous devrez réinstaller la bibliothèque que vous utilisez, mais aussi sa dépendance à elle. Et ainsi de suite : plus un projet est gros, plus il dépend généralement de bibliothèques elles-mêmes dépendantes de plus petites et ainsi de suite.


Composer est un outil créé et mis en place par la communauté permettant de gérer les dépendances d'un projet, de suivre l'évolution de leurs versions ainsi que d'en gérer l'autoloading si possible. Il est capable de remonter l'arborescence des dépendances d'une bibliothèque et récursivement installer ainsi l'ensemble des outils nécessaires. C'est l'équivalent de npm ou yarn pour le Javascript ou encore gem ou bundler pour Ruby.

Installation

L'ensemble de la documentation liée à l'installation se retrouve directement sur le site de composer.

Windows

Sous Windows, l'exécutable d'installation fera l'affaire. Il suffit de le télécharger et de l'installer comme n'importe quel logiciel.

Ligne de commande

L'installation est également disponible en ligne de commande. Les quelques commandes sont toutes sur la page indiquée en début de paragraphe.

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

Ces trois lignes commencent par télécharger le setup, le lancer (il s'agit d'un script php), puis l'installeur. Rien de bien fou, si ce n'est que php vous être accessible en ligne de commande. 

Utilisation

Cet outil s'utilise en ligne de commande. Cela peut faire peur à l'utilisateur néophyte, mais concrètement, c'est extrêmement simple. Evidemment, il existe des tas de commandes et d'options possible pour l'utilisateur avancé, mais au quotidien, les quelques mêmes commandes reviennent toujours et sont les seules à retenir.

Vérifier la version

Pour vérifier que composer soit bien installé et s'assurer de son numéro de version, lancez simplement la commande :

composer --version

Installer un paquet

L'ensemble des paquets PHP ont un nom de la forme : vendor/package. Comme un même paquet peut être cloné et modifié par chacun (c'est open-source !), le vendor spécifie ainsi l'origine ou l'auteur du paquet choisi.

Dans le cas d'un module Drupal, le vendor sera toujours drupal. Le package, dans le cas d'un module Drupal, est ce que nous appelons le nom_machine du module. C'est celui utilisé par convention lors de la programmation du module. Il peut être trouvé via l'URL du module sur le site drupal.org. Par exemple, avec le module "Search Autocomplete", ce nom de package sera search_autocomplete.
Le nom_machine du module Drupal est présent en URL
Le nom_machine du module Drupal est présent dans l'URL.

La commande permettant l'installation d'un module choisi est donc : 

composer require vendor/package

Désinstallation

composer remove vendor/package

Mise à jour de l'ensemble des dépendances du site

composer update --with-dependencies

Pour aller plus loin

Il existe évidemment des tas d'autres commandes et/ou options à celles citées plus haut. Mais require, remove et update sont finalement les seules que vous ayez réellement besoin de comprendre et identifier pour utiliser Composer dans le cadre de Drupal.

Ajouter un commentaire

Votre nom sera affiché publiquement avec votre commentaire.
Votre email restera privé et n'est utilisé que pour vous notifier de l'approbation de ce commentaire.
Sur internet, vous pouvez être qui vous voulez. Soyez quelqu'un de bien :)