Composer (logiciel)

Un article de Wikipédia, l'encyclopédie libre.
Sauter à la navigation Sauter à la recherche
Page d'aide sur l'homonymie Pour les articles homonymes, voir Composer.
Composer
Description de l'image Logo-composer-transparent.png.

Informations
Développé par Nils Adermann,
Jordi Boggiano,
Communauté[1]
Première version [2]Voir et modifier les données sur Wikidata
Dernière version 1.7.2 ()[3]Voir et modifier les données sur Wikidata
Dépôt github.com/composer/composerVoir et modifier les données sur Wikidata
Écrit en PHPVoir et modifier les données sur Wikidata
Environnement MultiplateformeVoir et modifier les données sur Wikidata
Type Gestionnaire de paquetsVoir et modifier les données sur Wikidata
Licence Licence MITVoir et modifier les données sur Wikidata
Site web getcomposer.orgVoir et modifier les données sur Wikidata

Composer est un logiciel gestionnaire de dépendances libre écrit en PHP. Il permet à ses utilisateurs de déclarer et d'installer les bibliothèques dont le projet principal a besoin. Le développement a débuté en avril 2011 et a donné lieu à une première version sortie le 1er mars 2012. Développé au début par Nils Adermann et Jordi Boggiano [4] (qui continuent encore aujourd'hui à le maintenir), le projet est maintenant disponible sur la plateforme GitHub[5]. Il est ainsi développé par toute une communauté[6].

Le logiciel Composer est à l’initiative d'un portage en PHP du logiciel Libzypp satsolver[7] d'Open Suse.

Le logiciel Composer est fortement inspiré du logiciel npm pour Node.js et de bundler[8] pour Ruby[9].

Installation[modifier | modifier le code]

Le dépôt principal de Composer est le site web Packagist[10], qui permet notamment la recherche de bibliothèques et leur entreposage centralisé.

Le fichier binaire Composer est distribué sous la forme d'un lanceur, installable après un simple téléchargement.

Avec cURL[modifier | modifier le code]

$ curl -sS https://getcomposer.org/installer | php

Avec PHP[modifier | modifier le code]

$ php -r "readfile('https://getcomposer.org/installer');" | php

Fonctionnement[modifier | modifier le code]

Commandes[modifier | modifier le code]

Composer dispose de plusieurs paramètres dont[11] :

  • require : ajoute la bibliothèque en paramètre au fichier composer.json et l'installe.
  • install : installe toutes les bibliothèques du composer.json. Il s'agit de la commande à lancer pour installer les dépendances d'un dépôt PHP[12].
  • update : met à jour les bibliothèques du composer.json, selon les versions permises qui y sont mentionnées.
  • remove : désinstalle une bibliothèque et la retire du composer.json.

Définition des bibliothèques[modifier | modifier le code]

Exemple du composer.json généré par la commande :

composer require monolog/monolog
{
    "require": {
        "monolog/monolog": "1.2.*"
    }
}

Versions[modifier | modifier le code]

Les symboles permettant d'autoriser plusieurs versions des dépendances sont les suivants[13] :

Symbole Rôle (placé avant un numéro de version) Exemple
>= permet d'en étendre le numéro. De même on trouve les symboles >, <, <=. "php": ">=5.5.9" inclut PHP 7.
!= exclut une version.
- définit une plage de versions.
¦¦ ajoute des versions possibles. "symfony/symfony": "2.8 ¦¦ 3.0" regroupe uniquement ces deux versions.
* étend à toutes les sous-versions. "symfony/symfony": "3.1.*" comprend la 3.1.1.
~ étend aux versions suivantes du même niveau. "doctrine/orm": "~2.5" concerne aussi la 2.6 mais pas la 2.4 ni la 3.0.
^ fait la même chose que tilde sous réserve qu'il y ait une compatibilité ascendante.

Frameworks compatibles[modifier | modifier le code]

Références[modifier | modifier le code]

Voir aussi[modifier | modifier le code]

Sur les autres projets Wikimedia :