<?xml
version="1.0" encoding="utf-8"?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:atom="http://www.w3.org/2005/Atom"
>

<channel xml:lang="fr">
	<title>Teddy Payet</title>
	<link>https://preprod.teddypayet.com/</link>
	
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>
	<atom:link href="https://www.preprod.teddypayet.com/spip.php?id_mot=71&amp;page=backend" rel="self" type="application/rss+xml" />

	<image>
		<title>Teddy Payet</title>
		<url>https://www.preprod.teddypayet.com/local/cache-vignettes/L144xH162/siteon0-84dcb.png?1724344960</url>
		<link>https://preprod.teddypayet.com/</link>
		<height>162</height>
		<width>144</width>
	</image>

                   

<item xml:lang="fr">
		<title>Installer Homebrew sur Mac OSX</title>
		<link>https://www.preprod.teddypayet.com/Installer-Homebrew-sur-Mac-OSX</link>
		<guid isPermaLink="true">https://www.preprod.teddypayet.com/Installer-Homebrew-sur-Mac-OSX</guid>
		<dc:date>2016-03-02T08:00:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Teddy Payet</dc:creator>


		<dc:subject>Notes de d&#233;veloppement</dc:subject>
		<dc:subject>Lignes de commandes</dc:subject>
		<dc:subject>Mac OS</dc:subject>

		<description>
&lt;p&gt;Il arrive souvent quand on d&#233;veloppe qu'il nous soit n&#233;cessaire d'installer certains outils pour mieux travailler. Il existe plusieurs solutions pour y arriver : faire le tout &#224; la main en compilant les sources de l'outil (pas simple pour tout le monde, m&#234;me pour moi) ; utiliser MacPorts pour installer les outils (je vous partagerai bient&#244;t un pas &#224; pas pour son installation) ; utiliser Homebrew pour installer les outils. &lt;br class='autobr' /&gt; Pr&#233;sentation de Homebrew Homebrew nous permet d'installer des (&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.preprod.teddypayet.com/Blog" rel="directory"&gt;Blog&lt;/a&gt;

/ 
&lt;a href="https://www.preprod.teddypayet.com/Notes-de-developpement" rel="tag"&gt;Notes de d&#233;veloppement&lt;/a&gt;, 
&lt;a href="https://www.preprod.teddypayet.com/Lignes-de-commandes" rel="tag"&gt;Lignes de commandes&lt;/a&gt;, 
&lt;a href="https://www.preprod.teddypayet.com/Mac-OS" rel="tag"&gt;Mac OS&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://www.preprod.teddypayet.com/local/cache-vignettes/L150xH100/arton144-101cb.jpg?1724428394' class='spip_logo spip_logo_right' width='150' height='100' alt=&#034;&#034; /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;Il arrive souvent quand on d&#233;veloppe qu'il nous soit n&#233;cessaire d'installer certains outils pour mieux travailler. Il existe plusieurs solutions pour y arriver :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; faire le tout &#224; la main en compilant les sources de l'outil (pas simple pour tout le monde, m&#234;me pour moi) ;&lt;/li&gt;&lt;li&gt; utiliser MacPorts pour installer les outils (je vous partagerai bient&#244;t un pas &#224; pas pour son installation) ;&lt;/li&gt;&lt;li&gt; utiliser Homebrew pour installer les outils.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Pr&#233;sentation de Homebrew&lt;/h2&gt;
&lt;p&gt;Homebrew nous permet d'installer des outils qu'Apple n'a pas install&#233; sur MacOS. G&#233;n&#233;ralement ceux sont des utilitaires accessibles par lignes de commande. Donc si vous y &#234;tes allergiques, passez votre chemin.&lt;br class='autobr' /&gt;
La communaut&#233; autour d'Homebrew est grande et r&#233;active. Ce qui a l'avantage de nous donner acc&#232;s &#224; un panel tr&#232;s large d'outils. Ces outils sont souvent issus de la communaut&#233; Linux (Ubuntu, Debian et cie).&lt;br class='autobr' /&gt;
&lt;strong&gt;Pour simplifier l'id&#233;e, c'est un gestionnaire de packages (cf. nos outils).&lt;/strong&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Installation&lt;/h2&gt;
&lt;p&gt;Comme le dit la page d'accueil du &lt;a href=&#034;http://brew.sh&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;site d'Homebrew&lt;/a&gt; le moyen le plus simple est de taper cette ligne dans votre Terminal :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;/usr/bin/ruby -e &#034;$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)&#034;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Le script va nous expliquer les actions qu'il va r&#233;aliser avant de les lancer. Il nous suffira de valider son message pour que l'installation puisse se lancer. Cela fait, nous pouvons lancer la ligne de commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;brew doctor&lt;/code&gt; pour savoir si tout est op&#233;rationnel pour Homebrew sur notre syst&#232;me d'exploitation. Suivre les indications de cet utilitaire le cas &#233;ch&#233;ant.&lt;/p&gt;
&lt;p&gt;Homebrew installe ses packages dans son r&#233;pertoire (cf. &lt;i&gt;&#034;Cellar&#034;&lt;/i&gt;) et cr&#233;era des alias dans le r&#233;pertoire &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/usr/local/&lt;/code&gt;. C'est un avantage pour reconnaitre ce qui a &#233;t&#233; install&#233; par Homebrew sans alt&#233;rer notre OS.&lt;/p&gt;
&lt;p&gt;&lt;a id=&#034;exemple_gruntjs&#034;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Exemple d'utilisation : GruntJS&lt;/h2&gt;
&lt;p&gt;Lorsqu'on r&#233;alise des sites (ce n'est qu'un exemple), nous r&#233;alisons des actions r&#233;p&#233;titives. Mais voil&#224;&#8230; le faire manuellement est chronophage. Pour &#233;viter cela, il existe &lt;a href=&#034;http://gruntjs.com&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;GruntJS&lt;/a&gt; (je vous invite &#224; lire &lt;a href=&#034;http://gruntjs.com/getting-started&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;la documentation officielle&lt;/a&gt;). Pour installer GruntJS, on a besoin de &lt;a href=&#034;https://nodejs.org/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Node.js&lt;/a&gt; et de &lt;a href=&#034;https://www.npmjs.com/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;npm&lt;/a&gt;. Et c'est l&#224; qu'intervient Homebrew.&lt;/p&gt;
&lt;p&gt;Voici le code &#224; ex&#233;cuter pour installer &lt;i&gt;Node.js&lt;/i&gt; et &lt;i&gt;npm&lt;/i&gt; :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;brew install node npm&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Puis&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;npm install -g grunt-cli&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et voil&#224;, le tour est jou&#233;.&lt;/p&gt;
&lt;p&gt;&lt;a id=&#034;exemple_wget&#034;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Exemple d'installation : wget&lt;/h2&gt;
&lt;p&gt;Sous MacOS, on a acc&#232;s &#224; &lt;i&gt;curl&lt;/i&gt; en lignes de commande mais pas &#224; &lt;i&gt;wget&lt;/i&gt;. Les 2 sont similaires ou du moins peuvent servir aux m&#234;me t&#226;ches. Toutefois pour aspirer un site sur son ordinateur, il est plus ais&#233; d'utiliser la commande &lt;i&gt;wget&lt;/i&gt;. Il est tr&#232;s simple d'installer cette commande par l'interm&#233;diaire de Homebrew :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;brew install wget&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;Mettre &#224; jour sa version d'Homebrew et ses packages&lt;/h2&gt;
&lt;p&gt;Comme indiqu&#233; dans la documentation officielle d'Homebrew, si on d&#233;sire mettre &#224; jour ce dernier, il suffit de saisir la ligne de commande suivante :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;brew update&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Oui, mais est-ce que nous avons des packages qui ont besoin d'une mise &#224; jour ? Pour le v&#233;rifier, taper cette ligne de commande dans votre Terminal :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;brew outdated&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Homebrew nous indiquera donc la liste des mises &#224; jour disponibles pour nos packages. S'il nous dit que tout est &#224; jour, eh bien, tant mieux ! Sinon, il nous faut saisir cette ligne de commande :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;brew update&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et tous nos packages se mettront &#224; jour.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;Ce gestionnaire de package n'est pas encore dans une version &#034;1&#034; &#224; l'heure actuelle mais il est d&#233;j&#224; suffisamment robuste pour nous permettre de travailler sereinement.&lt;br class='autobr' /&gt;
De plus, si nous avons besoin de connaitre la liste des packages disponibles sous Homebrew, il existe un site d&#233;di&#233; : &lt;s&gt;http://brewformulas.org/&lt;/s&gt; &lt;a href=&#034;https://formulae.brew.sh&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://formulae.brew.sh&lt;/a&gt;&lt;br class='autobr' /&gt;
Un formulaire de recherche y est disponible, donc vous n'aurez pas d'excuses pour ne pas trouver le package qui vous va bien.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_ps'&gt;&lt;p&gt;&#169; Photo par &lt;a href=&#034;https://stock.tookapic.com/photos/27594&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Maciej Korsan&lt;/a&gt;&lt;br class='autobr' /&gt;
Le visuel de la bi&#232;re a &#233;t&#233; choisi en rapport avec l'histoire d'Homebrew. En effet, en anglais, &#034;brew&#034; veut dire &#034;breuvage&#034;. Et le cr&#233;ateur de ce projet avait choisi ce nom car il aimait beaucoup tout ce qui touchait &#224; la bi&#232;re, sans avoir consid&#233;r&#233; que son projet allait avoir tant d'influence. Quand il l'a r&#233;alis&#233;, c'&#233;tait d&#233;j&#224; trop tard. &lt;br class='autobr' /&gt;
&lt;i&gt;&lt;a href=&#034;https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/FAQ.md#homebrew-is-a-poor-name-it-is-generic-why-was-it-chosen&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;R&#233;f&#233;rence&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Cr&#233;er un trunk sur la zone SPIP</title>
		<link>https://www.preprod.teddypayet.com/Creer-un-trunk-sur-la-zone-SPIP</link>
		<guid isPermaLink="true">https://www.preprod.teddypayet.com/Creer-un-trunk-sur-la-zone-SPIP</guid>
		<dc:date>2015-07-30T07:00:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Teddy Payet</dc:creator>


		<dc:subject>Astuce</dc:subject>
		<dc:subject>Notes de d&#233;veloppement</dc:subject>
		<dc:subject>Mac OS</dc:subject>
		<dc:subject>SVN</dc:subject>

		<description>
&lt;p&gt;Il arrive parfois que lorsqu'on a cr&#233;&#233; un plugin sur SPIP-Zone (ou qu'on veuille reprendre le d&#233;veloppement d'un plugin sur SPIP-Zone) que ce plugin n'est pas sur la structure trunk/branches/tags. Pour reprendre ce plugin, il est conseill&#233; de mettre le r&#233;pertoire sous cette structure avant de commencer. &lt;br class='autobr' /&gt; Un script pour les commander tous ! Au lieu de faire cela ligne par ligne, commande par commande, vous pouvez lancer un script &#224; personnaliser selon le besoin. Les lignes de commande &#224; (&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.preprod.teddypayet.com/Blog" rel="directory"&gt;Blog&lt;/a&gt;

/ 
&lt;a href="https://www.preprod.teddypayet.com/Astuce" rel="tag"&gt;Astuce&lt;/a&gt;, 
&lt;a href="https://www.preprod.teddypayet.com/Notes-de-developpement" rel="tag"&gt;Notes de d&#233;veloppement&lt;/a&gt;, 
&lt;a href="https://www.preprod.teddypayet.com/Mac-OS" rel="tag"&gt;Mac OS&lt;/a&gt;, 
&lt;a href="https://www.preprod.teddypayet.com/SVN" rel="tag"&gt;SVN&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://www.preprod.teddypayet.com/local/cache-vignettes/L150xH100/arton135-764e1.jpg?1724428394' class='spip_logo spip_logo_right' width='150' height='100' alt=&#034;&#034; /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;Il arrive parfois que lorsqu'on a cr&#233;&#233; un plugin sur SPIP-Zone (ou qu'on veuille reprendre le d&#233;veloppement d'un plugin sur SPIP-Zone) que ce plugin n'est pas sur la structure &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;trunk/branches/tags&lt;/code&gt;. Pour reprendre ce plugin, il est conseill&#233; de mettre le r&#233;pertoire sous cette structure avant de commencer.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Un script pour les commander tous !&lt;/h2&gt;
&lt;p&gt;Au lieu de faire cela ligne par ligne, commande par commande, vous pouvez lancer un script &#224; personnaliser selon le besoin. Les lignes de commande &#224; taper ne sont pas forc&#233;ment tr&#232;s nombreuses mais elles sont r&#233;p&#233;titives. Je vais de ce fait vous montrer un script bash qui simplifiera cette migration. Mais qui dit &lt;i&gt;&#034;bash&#034;&lt;/i&gt;, dit &#234;tre donc sous un environnement UNIX : Linux, Mac OS.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Le script&lt;/h2&gt;
&lt;textarea readonly='readonly' cols='40' rows='23' class='spip_cadre spip_cadre_block' dir='ltr'&gt;#!/bin/bash
url_svn=svn://zone.spip.org/spip-zone/_plugins_/
plugin_nom=votreplugin
plugin_numero=0.9.0
svn mv ${url_svn}${plugin_nom} ${url_svn}${plugin_nom}_trunk -m &#034;On commence la migration du plugin ${plugin_nom} en trunk/branches/tags&#034;
svn mkdir ${url_svn}${plugin_nom} ${url_svn}${plugin_nom}/branches/ ${url_svn}${plugin_nom}/tags/ -m &#034;On recr&#233;e le nom du r&#233;pertoire ${plugin_nom} avec le r&#233;pertoire branches/ et tags/&#034;
svn cp ${url_svn}${plugin_nom}_trunk ${url_svn}${plugin_nom}/branches/v${plugin_numero:0:1} -m &#034;On copie les fichiers du plugin ${plugin_nom} dans sa branche v${plugin_numero:0:1}&#034;
svn cp ${url_svn}${plugin_nom}/branches/v${plugin_numero:0:1} ${url_svn}${plugin_nom}/tags/${plugin_numero} -m &#034;On pose le tag correspondant &#224; la version ${plugin_numero} du plugin ${plugin_nom}&#034;
svn mv ${url_svn}${plugin_nom}_trunk ${url_svn}${plugin_nom}/trunk -m &#034;On d&#233;place enfin le r&#233;pertoire initial vers le trunk pour le plugin ${plugin_nom} v${plugin_numero}&#034;&lt;/textarea&gt;&lt;h2 class=&#034;spip&#034;&gt;Personnalisation&lt;/h2&gt;
&lt;p&gt;Il faut copier-coller ces lignes de commande dans un fichier qui aura pour extension &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;.sh&lt;/code&gt;. Pour votre plugin, vous devez changer 2 valeurs :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;i&gt;plugin_nom&lt;/i&gt; : le nom du r&#233;pertoire de votre plugin&lt;/li&gt;&lt;li&gt; &lt;i&gt;plugin_numero&lt;/i&gt; : le num&#233;ro du plugin (sous la forme &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;x.y.z&lt;/code&gt;) que vous trouverez dans le fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;plugin.xml&lt;/code&gt; ou &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;paquet.xml&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Vous n'avez pas besoin de changer l'URL du serveur svn de la zone sauf si le plugin que vous d&#233;sirez reprendre le d&#233;veloppement n'est pas dans le r&#233;pertoire &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;_plugins_&lt;/code&gt;.&lt;br class='autobr' /&gt;
Ce script va faire &lt;strong&gt;5 commits&lt;/strong&gt; au final avec les commentaires qui vont bien avec. Pour cela, ouvrez votre terminal et lancer le script que vous avez cr&#233;&#233;.&lt;/p&gt;
&lt;p&gt;J'ai d&#233;j&#224; &#233;prouv&#233; ce script &#224; mon travail sur mes diff&#233;rents projets. &lt;strong&gt;Il est simple et efficace.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Explications&lt;/h2&gt;
&lt;p&gt;M&#234;me si le script est simple, on peut expliquer ce qui se passe et notamment l'&#233;criture particuli&#232;re de la syntaxe de bash.&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Tout fichier bash commence par la ligne &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#!/bin/bash&lt;/code&gt;. Cela indique (en plus de l'extension &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;.sh&lt;/code&gt;) que c'est bien un fichier&#8230; bash.&lt;/li&gt;&lt;li&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;url_svn=&lt;/code&gt; : lorsque vous voyez un texte suivi d'un simple signe &#233;gal &lt;i&gt;&#034;=&#034;&lt;/i&gt;, c'est que vous cr&#233;ez une variable avec une valeur ;&lt;/li&gt;&lt;li&gt; Pour rappeler au besoin la variable, vous devez taper &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;$&lt;/code&gt; puis le nom de la variable d&#233;sir&#233;e.&lt;/li&gt;&lt;li&gt; Pour pouvoir mettre du texte coll&#233; &#224; votre variable, il faut mettre le nom de la variable entre accolades. Exemple : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;${plugin_nom}_trunk&lt;/code&gt; donnera &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;votreplugin_trunk&lt;/code&gt;&lt;/li&gt;&lt;li&gt; Si vous d&#233;sirez avoir les premiers caract&#232;res de votre variable, dans le rappel de votre variable, vous pouvez utiliser la forme &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;${nom_variable:debut:longueur}&lt;/code&gt; o&#249; :
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;i&gt;nom_variable&lt;/i&gt; : le nom de votre variable ;&lt;/li&gt;&lt;li&gt; &lt;i&gt;debut&lt;/i&gt; : emplacement o&#249; commencer (0 &#233;tant le num&#233;ro du premier caract&#232;re) ;&lt;/li&gt;&lt;li&gt; &lt;i&gt;longueur&lt;/i&gt; : le nombre de caract&#232;res que vous d&#233;sirez r&#233;cup&#233;rer.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2 class=&#034;spip&#034;&gt;Plus de lecture&lt;/h2&gt;
&lt;p&gt;Le sujet du rangement sur la zone a &#233;t&#233; abord&#233; &#224; plusieurs reprises :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a href=&#034;http://contrib.spip.net/La-Zone-Facile&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://contrib.spip.net/La-Zone-Facile&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://www.weblog.eliaz.fr/article113.html&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://www.weblog.eliaz.fr/article113.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;http://plugins.spip.net/distribuer-une-contribution.html&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://plugins.spip.net/distribuer-une-contribution.html&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		&lt;div class='rss_ps'&gt;&lt;p&gt;Image : &#169; &lt;a href=&#034;http://www.lifeofpix.com/gallery/squirrel/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;By Leroy&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>MAMP, PHP-cs-fixer, PHPDoc&#8230;</title>
		<link>https://www.preprod.teddypayet.com/MAMP-PHP-cs-fixer-PHPDoc</link>
		<guid isPermaLink="true">https://www.preprod.teddypayet.com/MAMP-PHP-cs-fixer-PHPDoc</guid>
		<dc:date>2015-05-06T13:10:36Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Teddy Payet</dc:creator>


		<dc:subject>Notes de d&#233;veloppement</dc:subject>
		<dc:subject>PHP</dc:subject>
		<dc:subject>Lignes de commandes</dc:subject>
		<dc:subject>Mac OS</dc:subject>

		<description>
&lt;p&gt;Pour faire suite au pr&#233;c&#233;dent article, je vais vous indiquer, tr&#232;s rapidement, l'installation de PHP-cs-fixer et de PHPDoc qui peuvent &#234;tre &#224; minima compl&#233;mentaires voir tr&#232;s utiles dans nos d&#233;veloppements. &lt;br class='autobr' /&gt; PHP-CS-fixer Source : https://github.com/FriendsOfPHP/PHP-CS-Fixer L'outil &#034;PHP Coding Standards Fixer&#034; corrige la plupart des probl&#232;mes dans votre code lorsque vous souhaitez suivre les normes de codage PHP d&#233;finies dans les documents PSR-1 et PSR-2. &lt;br class='autobr' /&gt;
Sous Mac, allez dans le (&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.preprod.teddypayet.com/Blog" rel="directory"&gt;Blog&lt;/a&gt;

/ 
&lt;a href="https://www.preprod.teddypayet.com/Notes-de-developpement" rel="tag"&gt;Notes de d&#233;veloppement&lt;/a&gt;, 
&lt;a href="https://www.preprod.teddypayet.com/PHP" rel="tag"&gt;PHP&lt;/a&gt;, 
&lt;a href="https://www.preprod.teddypayet.com/Lignes-de-commandes" rel="tag"&gt;Lignes de commandes&lt;/a&gt;, 
&lt;a href="https://www.preprod.teddypayet.com/Mac-OS" rel="tag"&gt;Mac OS&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://www.preprod.teddypayet.com/local/cache-vignettes/L150xH100/arton134-cba0f.png?1724428394' class='spip_logo spip_logo_right' width='150' height='100' alt=&#034;&#034; /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;Pour faire suite au &lt;a href='https://www.preprod.teddypayet.com/MAMP-PHP-Pear-PHP-Code-Sniffer-sont-dans-un-meme-bateau' class=&#034;spip_in&#034;&gt;pr&#233;c&#233;dent article&lt;/a&gt;, je vais vous indiquer, tr&#232;s rapidement, l'installation de PHP-cs-fixer et de PHPDoc qui peuvent &#234;tre &#224; minima compl&#233;mentaires voir tr&#232;s utiles dans nos d&#233;veloppements.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;PHP-CS-fixer&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt; &lt;i&gt;Source :&lt;/i&gt; &lt;/strong&gt; &lt;a href=&#034;https://github.com/FriendsOfPHP/PHP-CS-Fixer&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/FriendsOfPHP/PHP-CS-Fixer&lt;/a&gt;&lt;br class='autobr' /&gt;
L'outil &#034;PHP Coding Standards Fixer&#034; corrige la plupart des probl&#232;mes dans votre code lorsque vous souhaitez suivre les normes de codage PHP d&#233;finies dans les documents PSR-1 et PSR-2.&lt;/p&gt;
&lt;p&gt;Sous Mac, allez dans le Terminal et tapez la ligne suivante :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$ cd /Applications/MAMP/bin/php/php5.5.18/bin/&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Puis, comme indiqu&#233; sur la page officielle, tapez le curl (le wget ne fonctionnera pas nativement sous MacOSX) :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$ curl http://get.sensiolabs.org/php-cs-fixer.phar -o php-cs-fixer&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;ET maintenant, on donne les bonnes autorisations d'ex&#233;cution :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$ sudo chmod a+x php-cs-fixer&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Gr&#226;ce &#224; ces lignes de commande, MAMP saura de quoi on parle quand un IDE en aura besoin&#8230; Mais pas encore MacOSX. Rien de plus simple, on fait comme d'habitude :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$ sudo ln -s /Applications/MAMP/bin/php/php5.5.18/bin/php-cs-fixer /usr/bin/php-cs-fixer&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;On est ok normalement avec PHP-CS-Fixer&lt;/strong&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;PHPDoc&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt; &lt;i&gt;Source :&lt;/i&gt; &lt;/strong&gt; &lt;a href=&#034;http://www.phpdoc.org/docs/latest/getting-started/installing.html&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://www.phpdoc.org/docs/latest/getting-started/installing.html&lt;/a&gt;&lt;br class='autobr' /&gt;
On ne le pr&#233;sente plus&#8230; &lt;a href=&#034;http://www.phpdoc.org/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;PHPDocumentor&lt;/a&gt; devrait &#234;tre connu de tous au moins de nom :-)&lt;br class='autobr' /&gt;
Pour l'installer en tant qu'extension de PHP, il faut passer par PEAR :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$ pear channel-discover pear.phpdoc.org Adding Channel &#034;pear.phpdoc.org&#034; succeeded
Discovery of channel &#034;pear.phpdoc.org&#034; succeeded&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Maintenant, on peut installer phpDocumentor en utilisant la ligne de commande suivante :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$ pear install phpdoc/phpDocumentor downloading phpDocumentor-2.8.2.tgz ...
Starting to download phpDocumentor-2.8.2.tgz (16,246,834 bytes)
............................................................................................................................................................................................................................................................................done: 16,246,834 bytes
install ok: channel://pear.phpdoc.org/phpDocumentor-2.8.2&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et maintenant au tour de Mac OS X de comprendre ce qui se passe :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$ sudo ln -s /Applications/MAMP/bin/php/php5.5.18/bin/phpdoc /usr/bin/phpdoc&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Et voil&#224; ! Vous voyez ? C'est rapide !&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>MAMP, PHP, Pear, PHP Code Sniffer sont dans un m&#234;me bateau</title>
		<link>https://www.preprod.teddypayet.com/MAMP-PHP-Pear-PHP-Code-Sniffer-sont-dans-un-meme-bateau</link>
		<guid isPermaLink="true">https://www.preprod.teddypayet.com/MAMP-PHP-Pear-PHP-Code-Sniffer-sont-dans-un-meme-bateau</guid>
		<dc:date>2015-01-27T17:06:32Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Teddy Payet</dc:creator>


		<dc:subject>Notes de d&#233;veloppement</dc:subject>
		<dc:subject>PHP</dc:subject>
		<dc:subject>Lignes de commandes</dc:subject>
		<dc:subject>Mac OS</dc:subject>

		<description>
&lt;p&gt;Cela fait un moment que je n'avais pas &#233;cris de billet sur mon blog. Mais &#231;a fait aussi longtemps que je me dis qu'il faut que j'&#233;crive un tutoriel complet sur comment installer PHP Code Sniffer sur un MAMP. &lt;br class='autobr' /&gt; En soit, vous pouvez retrouver toutes ces informations sur le net mais un peu &#233;parpill&#233;es&#8230; Je dois &#034;&#224; chaque fois&#034; jouer avec google pour retrouver ces diff&#233;rents articles. De ce fait, je vais les regrouper sur une m&#234;me page et, dans la mesure du possible, remettre les sources du code (&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.preprod.teddypayet.com/Blog" rel="directory"&gt;Blog&lt;/a&gt;

/ 
&lt;a href="https://www.preprod.teddypayet.com/Notes-de-developpement" rel="tag"&gt;Notes de d&#233;veloppement&lt;/a&gt;, 
&lt;a href="https://www.preprod.teddypayet.com/PHP" rel="tag"&gt;PHP&lt;/a&gt;, 
&lt;a href="https://www.preprod.teddypayet.com/Lignes-de-commandes" rel="tag"&gt;Lignes de commandes&lt;/a&gt;, 
&lt;a href="https://www.preprod.teddypayet.com/Mac-OS" rel="tag"&gt;Mac OS&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://www.preprod.teddypayet.com/local/cache-vignettes/L150xH90/arton132-32123.png?1724428394' class='spip_logo spip_logo_right' width='150' height='90' alt=&#034;&#034; /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;Cela fait un moment que je n'avais pas &#233;cris de billet sur mon blog. Mais &#231;a fait aussi longtemps que je me dis qu'il faut que j'&#233;crive un tutoriel complet sur comment installer PHP Code Sniffer sur un MAMP.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;En soit, vous pouvez retrouver toutes ces informations sur le net mais un peu &#233;parpill&#233;es&#8230; Je dois &#034;&#224; chaque fois&#034; jouer avec google pour retrouver ces diff&#233;rents articles.&lt;br class='autobr' /&gt;
De ce fait, je vais les regrouper sur une m&#234;me page et, dans la mesure du possible, remettre les sources du code que je mettrai.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Besoins&lt;/h2&gt;
&lt;p&gt;En codant sous Mac OS X (Yosemite, l&#224; de suite), on utilise souvent MAMP pour d&#233;velopper nos diff&#233;rents sites en local. Et mine de rien, respecter les normes PHP, &#231;a fait du bien. Et pour cela, on a besoin d'installer PHP Code Sniffer pour que nos IDEs puissent utiliser la norme PSR2 (dans mon cas).&lt;br class='autobr' /&gt;
Donc, ma configuration lors de ce pas &#224; pas :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Mac OSX 10.10.1 (dit Yosemite) ;&lt;/li&gt;&lt;li&gt; MAMP 3.0.7.3 ;&lt;/li&gt;&lt;li&gt; PHP 5.5.18 (fournit dans MAMP, et PHP 5.5.14 dans Yosemite).&lt;/li&gt;&lt;/ul&gt;&lt;h2 class=&#034;spip&#034;&gt;Configuration de l'installation&lt;/h2&gt;
&lt;p&gt;Pour que nos lignes de commandes php et pear soient reconnues, il faut dire au syst&#232;me o&#249; regarder.&lt;br class='autobr' /&gt;
Pour cela, je vous invite &#224; ouvrir le Terminal car c'est quasiment que par lui que nous allons utiliser pour configurer notre Mac.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;PHP&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt; &lt;i&gt;Source&lt;/i&gt; &lt;/strong&gt; : &lt;a href=&#034;http://stackoverflow.com/a/17240373&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://stackoverflow.com/a/17240373&lt;/a&gt;&lt;br class='autobr' /&gt;
A partir de l&#224;, je vous invite &#224; taper la commande suivante :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='php spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# which php&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Ce qui devrait vous donner ceci :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;/usr/bin/php&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;V&#233;rifions la version :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='php spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# php -v&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Cela devrait vous dire que vous avez une version PHP 5.5.14. Ce qui ne correspond pas &#224; notre version fournit avec MAMP. Nous devons alors dire &#224; notre Mac qu'on veut la version de MAMP.&lt;br class='autobr' /&gt;
Taper ceci pour faire une sauvegarde de notre version de php en renommant le fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;php&lt;/code&gt; en &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;php.bak&lt;/code&gt;. :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='php spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# sudo mv /usr/bin/php /usr/bin/php.bak&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Notre Mac ne reconnaitra plus temporairement les commandes PHP. On cr&#233;e maintenant un lien symbolique de php vers notre version de MAMP :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='php spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# sudo ln -s /Applications/MAMP/bin/php/php5.5.18/bin/php /usr/bin/php&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Regarder votre version de PHP maintenant :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='php spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# php -v&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;On est ok normalement avec PHP&lt;/strong&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;PEAR&lt;/h2&gt;
&lt;p&gt;Cette fois-ci, on va r&#233;gler &lt;a href=&#034;https://fr.wikipedia.org/wiki/PEAR&#034; class=&#034;spip_glossaire&#034; rel=&#034;external&#034;&gt;PEAR&lt;/a&gt; qui va nous permettre d'installer PHP Code Sniffer sur notre installation MAMP. Pour faire simple, on reprend la m&#234;me d&#233;marche que pr&#233;c&#233;demment.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# which pear&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;L&#224;, si vous n'avez jamais configur&#233; votre Mac, rien ne s'affichera. Vous serez redirig&#233; vers la ligne de saisie de commandes. La commande suivante normalement nous donne le num&#233;ro de version de PEAR (attention &#224; la majuscule du &#034;V&#034;).&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='php spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# pear -V&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Mais comme dit pr&#233;c&#233;demment, la commande PEAR n'est pas reconnue. On va dire alors &#224; notre Mac qu'il faut qu'il aille voir dans MAMP :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='php spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# sudo ln -s /Applications/MAMP/bin/php/php5.5.18/bin/pear /usr/bin/pear&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Refaites la commande de version de PEAR. MAMP fournit la version 1.9.5 pour PEAR.&lt;br class='autobr' /&gt;
&lt;strong&gt;On est ok normalement avec PEAR&lt;/strong&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;PHP Code Sniffer&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt; &lt;i&gt;Source :&lt;/i&gt; &lt;/strong&gt; : &lt;a href=&#034;https://github.com/Islandora/islandora/wiki/Installing-and-configuring-codesniffer&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/Islandora/islandora/wiki/Installing-and-configuring-codesniffer&lt;/a&gt;&lt;br class='autobr' /&gt;
Pour installer PHP Code Sniffer, il faut passer par PEAR. Comme on l'a d&#233;j&#224; install&#233;, il nous suffit de renseigner la commande suivante :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='php spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# pear install PHP_CodeSniffer&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Je n'ai pas rencontr&#233; de probl&#232;me &#224; ce stade. Si on va dans &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/Applications/MAMP/bin/php/php5.5.18/bin/&lt;/code&gt; on peut voir un fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;phpcs&lt;/code&gt;. Mais dans &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/usr/bin/&lt;/code&gt;, on ne trouve pas de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;phpcs&lt;/code&gt;. Ce qui a pour effet, l&#224; de suite, que si on tape une commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;phpcs&lt;/code&gt;, on aura une erreur. Pour r&#233;gler &#231;a, rien de miraculeux, une ligne de commande mettra notre Mac dans le droit chemin :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='php spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# sudo ln -s /Applications/MAMP/bin/php/php5.5.18/bin/phpcs /usr/bin/phpcs&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On v&#233;rifie tout &#231;a :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='php spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# phpcs --version&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Soit pour moi : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;PHP_CodeSniffer version 2.2.0 (stable) by Squiz (http://www.squiz.net)&lt;/code&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;PHP Mess Detector&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt; &lt;i&gt;Source :&lt;/i&gt; &lt;/strong&gt; &lt;a href=&#034;http://pear.phpmd.org/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://pear.phpmd.org/&lt;/a&gt; &lt;br class='autobr' /&gt;
On installe souvent avec PHPcs la librairie PHP Mess Detector (PHPmd). Pour cela, il faut ajouter un channel sp&#233;cifique &#224; PEAR.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='php spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# pear channel-discover pear.phpmd.org&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On regarde les packages disponibles :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='php spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# pear remote-list -c phpmd&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Soit :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='php spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;Channel phpmd Available packages:
=================================
Package Version
PHP_PMD 1.5.0&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;La ligne de commande suivante va poser probl&#232;me :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='php spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# pear install phpmd/PHP_PMD
# Unknown remote channel: pear.pdepend.org
# phpmd/PHP_PMD requires package &#034;channel://pear.pdepend.org/PHP_Depend&#034; (version &gt;= 1.1.1)
# No valid packages found
# install failed&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Il faut rajouter le channel &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;pear.pdepend.org&lt;/code&gt; :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='php spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# pear channel-discover pear.pdepend.org&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et maintenant, on fait ceci :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='php spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# pear install --alldeps phpmd/PHP_PMD&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;L'option &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;--alldeps&lt;/code&gt; va installer toutes les d&#233;pendances n&#233;cessaires pour PHPmd avant d'installer PHPmd.&lt;br class='autobr' /&gt;
Ok, on cr&#233;e les liens symboliques pour notre Mac :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='php spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# sudo ln -s /Applications/MAMP/bin/php/php5.5.18/bin/phpmd /usr/bin/phpmd
# sudo ln -s /Applications/MAMP/bin/php/php5.5.18/bin/pdepend /usr/bin/pdepend&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Petit test :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='php spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# phpmd --version
# pdepend --version&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Et voil&#224; ! C'est fini ! Vous pouvez vous amuser maintenant !&lt;/strong&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Bonus : PHPUnit&lt;/h2&gt;
&lt;p&gt;Pour PHPcs, on n'a pas besoin de PHPUnit&#8230; Qu'on se le dise. Mais, je me dis que cela peut servir &#224; certains. Alors voici la m&#233;thode.&lt;br class='autobr' /&gt;
Comme on peut le lire sur &lt;a href=&#034;https://github.com/sebastianbergmann/phpunit/wiki/End-of-Life-for-PEAR-Installation-Method&#034; class=&#034;spip_url spip_out&#034; rel=&#034;external&#034;&gt;https://github.com/sebastianbergman...&lt;/a&gt;, on ne passe plus par PEAR pour installer PHPUnit mais par un fichier phar.&lt;br class='autobr' /&gt;
&lt;a href=&#034;https://github.com/sebastianbergmann/phpunit/blob/master/README.md&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Sur la doc&lt;/a&gt;, on passe par des lignes de commandes aussi pour faire tout cela&#8230; Ok&#8230; Mais il y a un probl&#232;me. Sur le Mac, la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;wget&lt;/code&gt; ne fonctionnera pas. On va passer par la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;curl&lt;/code&gt; pour r&#233;cup&#233;rer le fichier.&lt;/p&gt;
&lt;p&gt;D'abord, on va sur le bureau (par exemple)&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='php spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# cd ~/Desktop/&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et l&#224;, on va pouvoir travailler ainsi :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='php spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# curl -o phpunit.phar https://phar.phpunit.de/phpunit.phar
# chmod +x phpunit.phar
# sudo mv phpunit.phar /usr/bin/phpunit&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&#199;a vous dit de v&#233;rifier ? Simple, m&#234;me astuce que tout &#224; l'heure :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='php spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# phpunit --version
# PHPUnit 4.4.5 by Sebastian Bergmann.&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et voil&#224; ! J'en ai fini avec ce pas &#224; pas. ;-)&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
