Retour : Page Principale > sommaire aide > sommaire aide logiciels
Il permet de réutiliser des briques logicielles libres sans avoir à les copier-coller salement dans le répertoire de son appli.
Site officiel et documentation (en anglais) : https://getcomposer.org
Les paquets Tela Botanica sur packagist.org : https://packagist.org/packages/telabotanica
Sinon, utiliser cette méthode dont le principe est incroyablement dangereux et merdique mais qui marche :)
https://getcomposer.org/download/
(plus de détails sur les options d'installation : https://getcomposer.org/doc/00-intro.md)
Composer requiert PHP 5.3.2.
Sur sequoia (2016-03-09), il est installé avec PHP 5.4; on l'appelle donc comme ceci :
et voilĂ , c'est tout facile.
Exemple de fichier composer.json minimal pour ezmlm-php :
Les paquets installés dans l'appli par Composer se trouvent dans un dossier "vendor", qui ne doit pas être versionné. Au contraire, quand on installe l'application sur une nouvelle machine, on récupère le code sur Git / SVN et on appelle
pour installer les dépendances.
Pour qu'un code soit reconnu comme un paquet, il doit posséder un fichier composer.json à la racine, qui déclare son nom, ses dépendances (s'il y a lieu), etc.
Exemple de fichier composer.json minimal pour telabotanica/tb-auth-php :
Ce qui est top c'est qu'en posant le code du paquet sur GitHub et en déclarant l'URL du dépôt GitHub à packagist.org, celui-ci rend automatiquement le paquet disponible dans Composer, et surveille les mises à jour tout seul ! Un nouveau tag créé sur le dépôt Git donnera lieu à une nouvelle version, s'il est de la forme [0-9\.]+[a-z\-]* (ou quelque chose dans ce genre), par exemple : "0.1a" ou "1.4.2".
Cette doc est pas mal pour apprendre Ă faire un paquet.
http://connect.adfab.fr/outils/creer-package-pour-composer-avec-github-packagist-partie-1-2
http://connect.adfab.fr/outils/creer-un-package-pour-composer-avec-github-et-packagist-partie-2
Composer
Composer est un système de paquets pour PHP. Il est en lice pour le prix du logo le plus moche.Il permet de réutiliser des briques logicielles libres sans avoir à les copier-coller salement dans le répertoire de son appli.
Site officiel et documentation (en anglais) : https://getcomposer.org
Les paquets Tela Botanica sur packagist.org : https://packagist.org/packages/telabotanica
Installation
Si votre distribution est à jour, composer doit être dans les dépôts - installez-donc le paquet.Sinon, utiliser cette méthode dont le principe est incroyablement dangereux et merdique mais qui marche :)
https://getcomposer.org/download/
(plus de détails sur les options d'installation : https://getcomposer.org/doc/00-intro.md)
Composer requiert PHP 5.3.2.
Sur sequoia (2016-03-09), il est installé avec PHP 5.4; on l'appelle donc comme ceci :
/usr/local/php/5.4/bin/php /usr/local/bin/composer.phar
Utilisation
Le principe : on déclare à la racine de son application un fichier composer.json qui déclare les dépendances et leurs versions, puis on lancecomposer install
Exemple de fichier composer.json minimal pour ezmlm-php :
{
"require": {
"php-mime-mail-parser/php-mime-mail-parser": "^2.2",
"phpmailer/phpmailer": "^5.2",
"telabotanica/tb-auth-php": "0.1a@dev"
}
}
Les paquets installés dans l'appli par Composer se trouvent dans un dossier "vendor", qui ne doit pas être versionné. Au contraire, quand on installe l'application sur une nouvelle machine, on récupère le code sur Git / SVN et on appelle
composer install
Créer ses propres paquets
Le plus cool, c'est de créer ses propres paquets ! Quand on a un morceau de code / une lib PHP qu'on souhaite réutiliser (framework, composant d'authentification, classe de Webservice REST de base, etc.), on peut le déclarer sur https://packagist.org , le dépôt principal de paquets pour Composer. On a un compte dessus au nom de "Tela Botanica".Pour qu'un code soit reconnu comme un paquet, il doit posséder un fichier composer.json à la racine, qui déclare son nom, ses dépendances (s'il y a lieu), etc.
Exemple de fichier composer.json minimal pour telabotanica/tb-auth-php :
{
"name": "telabotanica/tb-auth-php",
"description": "A library that helps integrating your PHP software with Tela Botanica's SSO",
"type": "library",
"license": "GPLv3",
"keywords": ["telabotanica", "tela-botanica", "tela botanica", "SSO"],
"homepage": "https://github.com/telabotanica/tb-auth-php",
"authors": [
{
"name": "Mathias Chouet",
"email": "mathias@tela-botanica.org"
}
],
"require": {
"php": ">=5.3.0"
},
"autoload": {
"psr-0": {
"AuthTB": ""
}
}
}
Ce qui est top c'est qu'en posant le code du paquet sur GitHub et en déclarant l'URL du dépôt GitHub à packagist.org, celui-ci rend automatiquement le paquet disponible dans Composer, et surveille les mises à jour tout seul ! Un nouveau tag créé sur le dépôt Git donnera lieu à une nouvelle version, s'il est de la forme [0-9\.]+[a-z\-]* (ou quelque chose dans ce genre), par exemple : "0.1a" ou "1.4.2".
Cette doc est pas mal pour apprendre Ă faire un paquet.
http://connect.adfab.fr/outils/creer-package-pour-composer-avec-github-packagist-partie-1-2
http://connect.adfab.fr/outils/creer-un-package-pour-composer-avec-github-et-packagist-partie-2
Sur Sequoia (<= 2017)
Comment lancer Composer sur Sequoia ? Mais voyons c'est pourtant simple !/usr/local/php/5.4/bin/php /usr/local/bin/composer.phar