{"id":123,"date":"2014-04-19T17:11:06","date_gmt":"2014-04-19T17:11:06","guid":{"rendered":"https:\/\/www.dafap.fr\/blog\/?p=123"},"modified":"2014-06-23T15:50:19","modified_gmt":"2014-06-23T15:50:19","slug":"utilisation-de-composer-phar","status":"publish","type":"post","link":"https:\/\/www.dafap.fr\/blog\/developpement-php\/utilisation-de-composer-phar","title":{"rendered":"Utilisation de composer.phar"},"content":{"rendered":"<p>Le fichier <em>composer.phar<\/em> doit \u00eatre pr\u00e9sent \u00e0 la racine du projet qu'il va g\u00e9rer.<\/p>\n<p>S'il n'est pas pr\u00e9sent, on peut l'installer par la commande :<\/p>\n<pre>shell\\mon_projet>curl -s http:\/\/getcomposer.org\/installer | php<\/pre>\n<p>S'il est pr\u00e9sent, on peut lancer une recherche pour obtenir sa derni\u00e8re version stable :<\/p>\n<pre>shell\\mon_projet>php composer.phar self-update<\/pre>\n<p>Ensuite, il faut cr\u00e9er un fichier <em>composer.json<\/em> qui va d\u00e9crire le projet. On peut utiliser la commande :<\/p>\n<pre>shell\\mon_projet>php composer.phar init<\/pre>\n<p>Cette commande va demander d'indiquer les renseignements d\u00e9crivant le projet :<\/p>\n<ul>\n<li><strong>package name<\/strong> : le nom se donne sous la forme <em>&lt;vendor&gt;\/&lt;name&gt;<\/em> o\u00f9 <em>&lt;vendor&gt;<\/em> est le nom de votre organisation et <em>&lt;name&gt;<\/em> est le nom de votre projet<\/li>\n<li><strong>description<\/strong> : description de votre projet<\/li>\n<li><strong>author<\/strong> : votre nom et adresse email<\/li>\n<li><strong>minimum stability<\/strong> : les valeurs possibles sont stable, RC, beta, alpha, dev<\/li>\n<li><strong>license<\/strong> : nom de la licence indiquant les droits sur ce logiciel<\/li>\n<li><strong>dependencies<\/strong> :\u00a0indiquer ici les noms et versions des biblioth\u00e8ques n\u00e9cessaires au projet en production comme par exemple zendframework 2.3.* (<em>require<\/em>)<\/li>\n<li><strong>dev dependencies<\/strong> : indiquer ici les noms et versions des biblioth\u00e8ques\u00a0n\u00e9cessaires uniquement au d\u00e9veloppement comme par exemple <em>zendframework\/zftool<\/em> ou <em>bjyoungblood\/bjy-profiler<\/em>, etc. (<em>require-dev<\/em>)<\/li>\n<\/ul>\n<p>Pour trouver plus facilement les biblioth\u00e8ques (<em>dependencies<\/em> et <em>dev dependencies<\/em>), r\u00e9pondez <em>yes<\/em> \u00e0 la question :\u00a0<em>Would you like to define your dependencies (require) interactively [yes]?<\/em><\/p>\n<p>Ensuite, voici un exemple pour ajouter\u00a0<em>bjyoungblood\/bjy-profiler<\/em><\/p>\n<pre>Search for a package []: <strong><span style=\"color: #ff6600;\">bjyoungblood<\/span><\/strong>\r\nFound 9 packages matching bjyoungblood\r\n [0] bjyoungblood\/BjyProfiler\r\n [1] bjyoungblood\/bjy-authorize\r\n [2] bjyoungblood\/bjy-profiler\r\n [3] saeven\/circlical-acl-admin\r\n [4] bjyoungblood\/bjy-cache-storage\r\n [5] bjyoungblood\/bjy-modulus\r\n [6] shashikant\/circlical-acl-admin\r\n [7] shashikant\/circlical-acl-admin-1\r\n [8] bjyoungblood\/rpc-tester\r\nEnter package # to add, or the complete package name if it is not listed []: <span style=\"color: #ff6600;\"><strong>2<\/strong><\/span>\r\nEnter the version constraint to require []:<span style=\"color: #ff6600;\"><strong>dev-master<\/strong><\/span><\/pre>\n<p>Puis on lance le t\u00e9l\u00e9chargement des biblioth\u00e8ques indiqu\u00e9es par<\/p>\n<pre>shell\\mon_projet>php composer.phar install<\/pre>\n<p>Par la suite, on peut rajouter une biblioth\u00e8que en lan\u00e7ant la commande :<\/p>\n<pre>shell\\mon_projet>php composer.phar require \u00a0[paquet1]\u00a0... [paquetN]\r\nou\r\nshell\\mon_projet>php composer.phar require \u00a0--dev [paquet1]\u00a0... [paquetN]<\/pre>\n<p>o\u00f9 <em>[paquet1] ... [paquetN]<\/em> sont les noms des biblioth\u00e8ques \u00e0 installer s\u00e9par\u00e9s par un espace<br \/>\net <em>--dev<\/em> indique qu'il faut ajouter la biblioth\u00e8que \u00e0 la liste des <em>dev dependencies<\/em><\/p>\n<p>La mise \u00e0 jour des biblioth\u00e8que se fait en lan\u00e7ant la commande :<\/p>\n<pre>shell\\mon_projet>php composer.phar update<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Le fichier composer.phar doit \u00eatre pr\u00e9sent \u00e0 la racine du projet qu&rsquo;il va g\u00e9rer. S&rsquo;il n&rsquo;est pas pr\u00e9sent, on peut l&rsquo;installer par la commande : shell\\mon_projet>curl -s http:\/\/getcomposer.org\/installer | php S&rsquo;il est pr\u00e9sent, on peut lancer une recherche pour obtenir sa derni\u00e8re version stable : shell\\mon_projet>php composer.phar self-update Ensuite, il faut cr\u00e9er un fichier composer.json [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,15],"tags":[20],"class_list":["post-123","post","type-post","status-publish","format-standard","hentry","category-developpement-php","category-zendframework2","tag-composer"],"_links":{"self":[{"href":"https:\/\/www.dafap.fr\/blog\/wp-json\/wp\/v2\/posts\/123","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dafap.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dafap.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dafap.fr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dafap.fr\/blog\/wp-json\/wp\/v2\/comments?post=123"}],"version-history":[{"count":4,"href":"https:\/\/www.dafap.fr\/blog\/wp-json\/wp\/v2\/posts\/123\/revisions"}],"predecessor-version":[{"id":162,"href":"https:\/\/www.dafap.fr\/blog\/wp-json\/wp\/v2\/posts\/123\/revisions\/162"}],"wp:attachment":[{"href":"https:\/\/www.dafap.fr\/blog\/wp-json\/wp\/v2\/media?parent=123"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dafap.fr\/blog\/wp-json\/wp\/v2\/categories?post=123"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dafap.fr\/blog\/wp-json\/wp\/v2\/tags?post=123"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}