Composer : comment arrêter de coder comme en 2009
L’état des lieux : ton projet PHP, ce bordel ambulant
Tu vois ton projet PHP ? Oui, celui qui ressemble à un vide-grenier après une tempête, avec ses fichiers dispersés façon puzzle et ses require_once
balancés comme des mégots de clopes sur un parking d'aire d'autoroute. Oui, celui-là même.
Eh bien, heureusement, y a Composer. Composer, c'est pas compliqué, c'est un peu le cousin relou qui débarque chez toi et qui te fait remarquer que la haie a besoin d’être taillée et que tu as accumulé un gros bazar chez toi à collectionner les figurines Pop :
- « Des bibliothèques installées à la main en 2025, boloss ! »
- « Et puis ce mélange PHP 7.3 avec des packages PHP 8.4, c’est quoi, t’es resté bloqué dans les années Dorothée ? »
- « Sérieux, utiliser Guzzle 3 alors que Symfony 7 est déjà sorti, c’est même plus une faute de goût, c’est du sabotage. »
Bref, Composer te met un grand coup de pied là où ça fait mal et te rappelle que coder comme en 2009, c’est comme rouler en diesel : ça marchait avant, mais aujourd’hui, ça pue et surtout ça pollue !
Composer, c’est quoi exactement ?
Composer, c’est ton assistant perso pour gérer les dépendances PHP :
- Il installe tes bibliothèques proprement, pas comme toi quand tu montes un meuble IKEA,
- Il fait en sorte que tout fonctionne ensemble, sans devoir sacrifier une poule les nuits de pleine lune enroulé dans es tranches de jambon.
- Il te protège des mises à jour foireuses qui pètent ton projet un vendredi à 17h (vive les mises à jour un vendredi hein).
Composer, c’est un peu le rangement par le vide de ton projet. Il vire ce qui sert à rien et fait en sorte que ce qui reste impeccable.
Retour sur l’époque sombre : avant Composer
Avant Composer, c’était un peu le Mordor des dépendances :
- Tu téléchargeais des libs chelous sur des sites obscurs.
- Tu décompressais ça n’importe comment dans
/lib
. - Tu ajoutais des
require_once
partout, comme un ado qui découvre les hashtags. - Tu découvrais un an après que ta bibliothèque était périmée depuis dix ans et truffée de failles.
Composer débarque et te fait comprendre qu’on peut faire les choses correctement.
Installer proprement avec Composer
Aujourd’hui, installer une bibliothèque, c’est juste ça :
composer require symfony/var-dumper
Voilà, c’est clean, carré. Et pour créer un projet Symfony complet :
composer create-project symfony/skeleton vive-les-licornes
C’est tellement propre que tu vas en pleurer de joie.
La magie derrière Composer : composer.json et composer.lock
Composer, c’est organisé comme un prof de techno maniaque :
- composer.json : liste tes dépendances et les versions souhaitées.
- composer.lock : bloque les versions exactes pour éviter les mauvaises surprises.
Un pote récupère ton projet ? Il tape juste :
composer install
Et il se retrouve exactement avec les mêmes dépendances.
Les pièges à éviter : Pas de composer update sauvage
Composer update, c’est comme sauter en parachute : faut réfléchir avant de se lancer.
composer update
Ça, ça met tout à jour. Risqué, très risqué. Mieux vaut être précis :
composer update mon-package-seul
Comme ça, tu gères tes mises à jour sans tout casser.
Simplifier son code avec l’autoloading
Composer te sauve aussi de cette horreur :
require 'vendor/autoload.php';
Et hop, plus besoin d’écrire 400 fois la même chose.
Composer fait aussi des trucs cool :
- Il gère les versions multiples intelligemment (
^2.0
,~3.1.4
). - Il te permet de créer et publier tes propres packages sur Packagist.
- Il optimise le chargement avec
composer dump-autoload -o
. - Il gère même des outils en global pour ton environnement.
Bref, Composer, c’est le couteau suisse que tu savais pas qu’il te fallait.
Pourquoi Composer est incontournable aujourd’hui
En gros, si t’utilises toujours pas Composer, autant coder ton site en HTML avec Frontpage et des Frames façon années 90. Composer te permet d’arrêter de coder comme un vieux boomer du PHP.
Composer, finalement, c’est plus qu’un simple outil : c’est un véritable changement de mentalité, une approche professionnelle qui te fait passer de "bricoleur du dimanche" à développeur organisé et efficace. C’est un investissement nécessaire pour coder intelligemment, durablement, et proprement.