Composer (logiciel)
![Page d’aide sur l’homonymie](http://upload.wikimedia.org/wikipedia/commons/thumb/a/a9/Logo_disambig.svg/20px-Logo_disambig.svg.png)
Pour les articles homonymes, voir Composer.
![Description de l'image Logo-composer-transparent.png.](http://upload.wikimedia.org/wikipedia/commons/thumb/2/26/Logo-composer-transparent.png/110px-Logo-composer-transparent.png)
Développé par | Nils Adermann, Jordi Boggiano, Communauté[1] |
---|---|
Première version | [2]![]() |
Dernière version | 2.7.7 ()[3]![]() |
Dépôt | github.com/composer/composer![]() |
Assurance qualité | Intégration continue![]() |
Écrit en | PHP![]() |
Système d'exploitation | Multiplateforme![]() |
Type | Application-level package manager (d)![]() |
Licence | Licence MIT![]() |
Site web | getcomposer.org![]() |
modifier - modifier le code - voir Wikidata (aide)
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
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
$ curl -sS https://getcomposer.org/installer | php
Avec PHP
$ php -r "readfile('https://getcomposer.org/installer');" | php
Fonctionnement
Commandes
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
Exemple du composer.json généré par la commande :
composer require monolog/monolog
{ "require": { "monolog/monolog": "1.2.*" } }
Versions
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. |
Références
- (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Composer (software) » (voir la liste des auteurs).
- ↑ « Dependency Manager for PHP. Contribute to composer/composer development by creating an account on GitHub », sur GitHub,
- ↑ « https://github.com/composer/composer/blob/master/CHANGELOG.md »
- ↑ « Release 2.7.7 », (consulté le )
- ↑ getcomposer.org Site web de composer
- ↑ github.com/composer/composer Code source de composer sur GitHub
- ↑ github.com/composer/composer/graphs/contributors Liste des contributeurs sur GitHub
- ↑ « openSUSE:Libzypp satsolver - openSUSE », sur en.opensuse.org
- ↑ « Bundler: The best way to manage a Ruby application's gems », sur bundler.io
- ↑ getcomposer.org/doc/00-intro.md Site web de composer, page d'introduction
- ↑ Packagist Packagist : Dépôt principal de Composer
- ↑ « Command-line interface / Commands - Composer », sur getcomposer.org
- ↑ Olivier Van Hoof, « Moderniser une application PHP Zend Framework 1 avec le conteneur de dépendances de Symfony 2 »
- ↑ « Versions and constraints - Composer », sur getcomposer.org
Voir aussi
Sur les autres projets Wikimedia :
- Composer, sur Wikimedia Commons
- Composer (logiciel), sur Wikibooks
Articles connexes
- PEAR (alternative)
Liens externes
- (en) Site officiel
v · m | ||
---|---|---|
Personnalités | ![]() | |
Ressources |
| |
Implémentations |
| |
Frameworks web |
| |
Test | ||
Mapping objet-relationnel |
| |
Environnement de développement | ||
Toolkit |
Portail des logiciels libres
Portail d’Internet
Portail de la programmation informatique