<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>BlogNT : Le Blog des Nouvelles Technologies dédié au Web, aux nouvelles technologies et au développement Web &#187; PHP</title>
	<atom:link href="http://www.blog-nouvelles-technologies.fr/archives/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.blog-nouvelles-technologies.fr</link>
	<description>Web, Nouvelles technologies, Programmation, Développement ...</description>
	<lastBuildDate>Tue, 21 May 2013 12:48:05 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Premier aperçu du développement de PHP 5.5.0</title>
		<link>http://www.blog-nouvelles-technologies.fr/archives/20628/premier-apercu-du-developpement-de-php-5-5-0/</link>
		<comments>http://www.blog-nouvelles-technologies.fr/archives/20628/premier-apercu-du-developpement-de-php-5-5-0/#comments</comments>
		<pubDate>Mon, 19 Nov 2012 13:07:28 +0000</pubDate>
		<dc:creator>Yohann Poiron</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Langages]]></category>
		<category><![CDATA[alpha]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP 5.5]]></category>
		<category><![CDATA[release]]></category>

		<guid isPermaLink="false">http://www.blog-nouvelles-technologies.fr/?p=20628</guid>
		<description><![CDATA[La sortie de PHP 5.5.0 alpha 1 marque le début du cycle de sortie de la prochaine version du langage de script largement utilisée pour le développement Web. Les utilisateurs de PHP sont invités à le tester et soumettre des rapports de bugs. Attention, gardez à l&#8217;esprit que c&#8217;est seulement le premier pas vers une [...]]]></description>
				<content:encoded><![CDATA[<p class="dropcap-first">La <strong>sortie de PHP 5.5.0 alpha 1</strong> marque le début du cycle de sortie de la prochaine version du langage de script largement utilisée pour le développement Web. Les utilisateurs de <em>PHP</em> sont invités à le tester et soumettre des <a target="_blank" href="https://bugs.php.net/" >rapports de bugs</a>. Attention, gardez à l&rsquo;esprit que c&rsquo;est seulement le premier pas vers une version de production&#8230;</p>
<p>Les nouvelles fonctionnalités au sein de PHP 5.5.0 implémentent le concept de <em>Generator</em> et une nouvelle API de hachage pour les mots de passe. À noter que <strong>la nouvelle version de PHP ne sera plus compatible avec Windows XP</strong>.</p>
<p>L&rsquo;<em>API</em> de hachage des mots de passe va permettre aux développeurs de générer un <em>hash</em> et saler un mot de passe sécurisé en utilisant <a target="_blank" href="http://en.wikipedia.org/wiki/Bcrypt" >Bcrypt</a> dans une seule ligne de code. En effet, si généralement pour le <em>hash</em> on est davantage habitué à utiliser le <em>md5</em> ou encore <em>sha</em>, une solution efficace est d&rsquo;utiliser <em>bcrypt</em> mais malheureusement la fonction <code>crypt()</code> offerte par PHP n&rsquo;est pas triviale à utiliser&#8230;<br />
L&rsquo;<em>API</em> vient donc résoudre cette problématique en proposant une solution simple et efficace. Voici un exemple d&rsquo;appel :</p>
<div class="code">
<pre class="brush: php; title: ; notranslate">
$hash = password_hash($password, PASSWORD_DEFAULT);
</pre>
</div>
<p>Un salage n&rsquo;est pas nécessaire car il sera généré automatiquement par l&rsquo;API s&rsquo;il n&rsquo;est pas présent et ajouté en tant que composant aléatoire au mot de passe.</p>
<p>Comme la méthode de <em>hash</em> de <em>bcrypt</em>, le calcul intensif nécessite beaucoup de mémoire, son utilisation permet de disposer des mots de passe qui seront difficiles à craquer &#8211; à condition qu&rsquo;ils soient suffisamment longs. </p>
<p>D&rsquo;autres améliorations dans cette version comprennent :</p>
<ul>
<li> Le support des blocs <code>try/catch</code> et <code>finally</code></li>
<li> Le soutient du <code>list()</code> dans un foreach</code> </li>
<li> Support de l'utilisation <code>empty()</code> sur le résultat des appels de fonction et d'autres expressions </li>
</ul>
<p>ainsi que de nombreuses améliorations et corrections de bugs qui sont répertoriées sur dans le fichier PHP News sur <a target="_blank" href="https://github.com/php/php-src/blob/php-5.5.0alpha1/NEWS" >GitHub</a>. Si vous voulez plonger dans le grand bain dès à présent, sachez que vous pouvez télécharger PHP 5.5.0 alpha depuis <a target="_blank" href="http://downloads.php.net/dsp/" >ce lien</a>.</p>
<p><strong>PHP 5.5.0 fait donc l'objet de nombreuses petites évolutions</strong> qui ne manqueront pas de vous rendre des services ! À titre de note, les versions stables actuellement prises en charge de PHP sont des versions 5.4.8 et 5.3.18.</p>
<p>Si tout se passe bien, PHP 5.5.0 devrait disposer du tag "alpha 2" le 27 novembre, et <strong>pourrait être libéré le jeudi 29 novembre</strong> ! Reste à tester...</p>
<p>L'avez-vous installé sur votre machine de développement ? Déjà adopté ?</p>
 <p><a href="http://www.blog-nouvelles-technologies.fr/?flattrss_redirect&amp;id=20628&amp;md5=9a3f22e748fca4e1078db261c540f41d" title="Flattr" target="_blank"><img src="http://www.blog-nouvelles-technologies.fr/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.blog-nouvelles-technologies.fr/archives/20628/premier-apercu-du-developpement-de-php-5-5-0/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=lryo&amp;popout=1&amp;url=http%3A%2F%2Fwww.blog-nouvelles-technologies.fr%2Farchives%2F20628%2Fpremier-apercu-du-developpement-de-php-5-5-0%2F&amp;language=fr_FR&amp;category=text&amp;title=Premier+aper%C3%A7u+du+d%C3%A9veloppement+de+PHP+5.5.0&amp;description=La+sortie+de+PHP+5.5.0+alpha+1+marque+le+d%C3%A9but+du+cycle+de+sortie+de+la+prochaine+version+du+langage+de+script+largement+utilis%C3%A9e+pour+le+d%C3%A9veloppement+Web.+Les+utilisateurs...&amp;tags=alpha%2CPHP%2CPHP+5.5%2Crelease%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Partie 2 : 10 conseils pour mieux coder en PHP !</title>
		<link>http://www.blog-nouvelles-technologies.fr/archives/18047/partie-2-10-conseils-pour-mieux-coder-en-php/</link>
		<comments>http://www.blog-nouvelles-technologies.fr/archives/18047/partie-2-10-conseils-pour-mieux-coder-en-php/#comments</comments>
		<pubDate>Fri, 14 Sep 2012 08:43:01 +0000</pubDate>
		<dc:creator>Yohann Poiron</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Outils - Conseils]]></category>
		<category><![CDATA[bonnes pratriques]]></category>
		<category><![CDATA[codage]]></category>
		<category><![CDATA[développement]]></category>
		<category><![CDATA[norme]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[règles]]></category>

		<guid isPermaLink="false">http://www.blog-nouvelles-technologies.fr/?p=18047</guid>
		<description><![CDATA[Au vue du nombre de visites sur l&#8217;article d&#8217;hier, il apparait évident que la qualité du code est à vos yeux très intéressant ! Ainsi, alors que je vous ai présenté qu&#8217;il était important d&#8217;utiliser une norme de codage, ou encore d&#8217;écrire des commentaires utiles, de ne pas négliger la refactorisation, d&#8217;éviter de déclarer des [...]]]></description>
				<content:encoded><![CDATA[<p class="dropcap-first">Au vue du nombre de visites sur <a href="http://www.blog-nouvelles-technologies.fr/archives/17924/partie-1-10-conseils-pour-mieux-coder-en-php/" >l&rsquo;article d&rsquo;hier</a>, <strong>il apparait évident que la qualité du code est à vos yeux très intéressant</strong> ! Ainsi, alors que je vous ai présenté qu&rsquo;il était important d&rsquo;utiliser une norme de codage, ou encore d&rsquo;écrire des commentaires utiles, de ne pas négliger la refactorisation, d&rsquo;éviter de déclarer des variables, des boucles dans le scope global ou encore d&rsquo;utiliser des noms significatifs pour vos variables, méthodes ou classes, aujourd&rsquo;hui je vais finir par vous livrer mes cinq derniers conseils. </p>
<h1> 6 &#8211; Utiliser des structures </h1>
<p><strong>Structurer votre application est très important</strong>. Ne pas utiliser des structures complexes, toujours s&rsquo;en tenir à la simplicité. Lorsque vous nommez des répertoires et des fichiers, utilisez une convention de nommage avec votre équipe que vous conviendrez, ou utilisez l’une associée à votre règle de codage.</p>
<p>Je vous recommande toujours de séparer les quatre parties de n&rsquo;importe quelle application <em>PHP</em> typique les unes des autres : <em>CSS</em>, <em>HTML</em>, <em>JavaScript</em>, <em>PHP</em>. Pour chacune de ces &laquo;&nbsp;structures&nbsp;&raquo;, essayez de diviser les bibliothèques de la logique métier. C&rsquo;est aussi une bonne idée de garder la hiérarchie des répertoires aussi basique que possible de sorte qu&rsquo;il est plus facile de naviguer et de trouver le code que vous recherchez.</p>
<h1> 7 &#8211; Utilisez un logiciel de contrôle de version </h1>
<p>Il y a quelques années, les équipes de développement s&rsquo;appuyaient sur le <em>CVS</em> (<em>Concurrent Versions System</em>), ou encore la commande <code>diff</code> d&rsquo;Unix pour le contrôle de version. Cependant, aujourd&rsquo;hui nous avons une variété de solutions disponibles. La gestion des modifications et des révisions devraient être aisées mais efficaces, afin de choisir n&rsquo;importe quel logiciel de contrôle de version qui fonctionnera le mieux avec le flux de travail de votre équipe de développement. </p>
<p>Si professionnellement nous utilisons SVN pour une question d’antériorité, personnellement <strong>je préfère utiliser un outil de contrôle de version distribuée comme Git ou Mercurial</strong>, tous deux sont des logiciels libres et Open Source et surtout très puissant !<br />
Si vous ne savez pas quel logiciel de contrôle de version choisir, je vous recommande <a href="http://www.blog-nouvelles-technologies.fr/archives/13114/comprendre-github-fork-branch-track-squash-et-pull-request/" >la lecture de l&rsquo;article concernant l&rsquo;introduction à GitHub</a>, un service web d&rsquo;hébergement et de gestion de développement de logiciels, utilisant le programme Git.</p>
<h1> 8 &#8211; Utilisez des outils de génération automatique </h1>
<p><strong>Essayez d&rsquo;utiliser des outils comme Ant ou Phing pour automatiser les opérations répétitives du développement de logiciel</strong> telles que la génération de code, la construction des <em>releases</em>, la génération de la documentation, la génération de rapports (tests unitaires, couverture du code, aspect du code&#8230;), le déploiement dans différents environnements, etc&#8230;<br />
L&rsquo;idée de pouvoir construire entièrement votre application avec une seule commande est une merveilleuse façon de prévenir les erreurs et les omissions qui sont inhérentes lors de l&rsquo;exécution des tâches répétitives, et est généralement un noyau pré-requis pour les stratégies de tests automatisés. </p>
<p>Je recommande d&rsquo;utiliser <a target="_blank" href="http://www.phing.info/" >Phing</a>, c&rsquo;est un outil bien connu dans le système de <em>build</em> pour PHP, et imite parfaitement Ant, si vous n&rsquo;êtes pas familier avec ce dernier, je vous recommande de revenir la semaine prochaine sur ce même blog car je devrais proposer un ou deux articles sur la découverte et l&rsquo;utilisation de Phing.</p>
<p><img class="aligncenter" title="Partie 2 : 10 conseils pour mieux coder en PHP ! - Phing" src="http://www.blog-nouvelles-technologies.fr/wp-content/uploads/2012/09/partie-2-10-conseils-pour-mieux-coder-en-php-1.gif" alt="Partie 2 : 10 conseils pour mieux coder en PHP ! - Phing" /></p>
<h1> 9 &#8211; Ayez un générateur de documentation de code </h1>
<p>Pour les grandes applications couvrant plusieurs classes et espaces de noms, vous devriez avoir <strong>une documentation de l&rsquo;API automatiquement générée</strong>. Ceci est très utile et maintient l&rsquo;équipe de développement au courant de &laquo;&nbsp;ce qui est quoi&nbsp;&raquo;.<br />
Et, si vous travaillez sur plusieurs projets en même temps, vous trouverez la documentation telle une bénédiction car vous pourriez avoir oublié les structures suite aux différents allers-retours entre vos projets. Aidez-vous de <a target="_blank" href="http://www.docblox-project.org/" >DocBlox</a> par exemple !</p>
<h1> 10 &#8211; Utiliser un <em>framework</em> de test </h1>
<p>Il y a une abondance d&rsquo;outils que j&rsquo;ai vraiment apprécié, mais de loin <strong>ce que j&rsquo;apprécie le plus sont les <em>frameworks</em> qui aident à automatiser le processus de test</strong>. Si les tests, notamment les tests systématiques, sont souvent oubliés par les développeurs, il n&rsquo;en reste pas moins qu&rsquo;ils sont cruciaux pour chaque élément de votre applicatif. </p>
<p>Si des outils tels que PHPUnit et SimpleTest sont mondialement connus pour effectuer des tests unitaires sur vos classes <em>PHP</em>, je ne peux que vous recommander de regarder le projet <a target="_blank" href="https://github.com/mageekguy/atoum" >atoum</a> (notamment lorsque c&rsquo;est un français qui en est responsable !). Là également j&rsquo;ai dans l&rsquo;idée de faire un article dessus prochainement. Pour les tests GUI, je recommande des outils tels que <a target="_blank" href="http://seleniumhq.org/" >SeleniumHQ</a>.</p>
<h1> Conclusion </h1>
<p>Dans cet article, vous avez vu un aperçu de quelques-unes des meilleures pratiques pour rédiger du code de meilleure qualité, y compris en utilisant une norme de codage d&rsquo;unifier le formatage du code à travers l&rsquo;ensemble de l&rsquo;équipe, l&rsquo;importance de refactoring et comment l&rsquo;aborder, et en utilisant des outils professionnels tels que des <em>frameworks</em> de tests, un générateur de documentation de code, ou encore un système de contrôle de version pour les aider à gérer votre base de code.<br />
Bien entendu je ne prétends pas détenir les meilleurs conseils, mais je pense qu’ils valent la peine d&rsquo;adopter ces conseils de base, cela ne peut être que bénéfique pour vous et de votre équipe.</p>
<p>N&rsquo;hésitez pas à apporter votre expérience dans ce domaine.</p>
 <p><a href="http://www.blog-nouvelles-technologies.fr/?flattrss_redirect&amp;id=18047&amp;md5=b8d1bf61b083a3ef2feed35615704eb7" title="Flattr" target="_blank"><img src="http://www.blog-nouvelles-technologies.fr/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.blog-nouvelles-technologies.fr/archives/18047/partie-2-10-conseils-pour-mieux-coder-en-php/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=lryo&amp;popout=1&amp;url=http%3A%2F%2Fwww.blog-nouvelles-technologies.fr%2Farchives%2F18047%2Fpartie-2-10-conseils-pour-mieux-coder-en-php%2F&amp;language=fr_FR&amp;category=text&amp;title=Partie+2+%3A+10+conseils+pour+mieux+coder+en+PHP+%21&amp;description=Au+vue+du+nombre+de+visites+sur+l%26rsquo%3Barticle+d%26rsquo%3Bhier%2C+il+apparait+%C3%A9vident+que+la+qualit%C3%A9+du+code+est+%C3%A0+vos+yeux+tr%C3%A8s+int%C3%A9ressant+%21+Ainsi%2C+alors+que+je+vous+ai...&amp;tags=bonnes+pratriques%2Ccodage%2Cd%C3%A9veloppement%2Cnorme%2CPHP%2Cr%C3%A8gles%2Cblog" type="text/html" />
	</item>
		<item>
		<title>PHP Solutions – Septembre 2012 &#8211; Ajax et PHP</title>
		<link>http://www.blog-nouvelles-technologies.fr/archives/18025/php-solutions-septembre-2012-ajax-et-php/</link>
		<comments>http://www.blog-nouvelles-technologies.fr/archives/18025/php-solutions-septembre-2012-ajax-et-php/#comments</comments>
		<pubDate>Thu, 13 Sep 2012 08:48:46 +0000</pubDate>
		<dc:creator>Yohann Poiron</dc:creator>
				<category><![CDATA[Critique de livre]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[lecture]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[php solutions]]></category>

		<guid isPermaLink="false">http://www.blog-nouvelles-technologies.fr/?p=18025</guid>
		<description><![CDATA[Avec un peu de retard, les congés sont passés par là, je vous propose un peu de lecture, et plus particulièrement par celle du magazine PHP Solutions. Ce numéro de septembre 2012 contient un dossier complet sur Ajax et PHP mais aussi d&#8217;autres articles sur PrestaShop et Twitter (un peu étonné de voir le réseau [...]]]></description>
				<content:encoded><![CDATA[<p class="dropcap-first">Avec un peu de retard, les congés sont passés par là, je vous propose un peu de lecture, et plus particulièrement par celle du magazine <a href="http://www.blog-nouvelles-technologies.fr/?s=PHP+Solutions" >PHP Solutions</a>. Ce <a target="_blank" href="http://phpsolmag.org/ajax-et-php-consultez-le-numero-de-septembre/" >numéro de septembre 2012</a> contient un <strong>dossier complet sur Ajax et PHP</strong> mais aussi d&rsquo;autres articles sur PrestaShop et Twitter (un peu étonné de voir le réseau social dans un magazine dédié à l&rsquo;univers PHP tout de même) ! </p>
<p><img class="aligncenter" title="PHP Solutions – Septembre 2012 - Ajax et PHP" src="http://www.blog-nouvelles-technologies.fr/wp-content/uploads/2012/09/php-solutions-septembre-2012-ajax-et-php-1.jpg" alt="PHP Solutions – Septembre 2012 - Ajax et PHP" /></p>
<p>Au sommaire de ce numéro :</p>
<ul>
<li> <strong>Découvrez Mageia 2</strong> <em>(Thierry Borel)</em> : La communauté Mageia a sorti la seconde mouture de sa distribution GNU/Linux, en mai 2012. Ce sera la première vraie version totalement issue de cette nouvelle communauté. La précédente version (Mageia 1) était une personnalisation de la distribution Mandriva Linux 2010.1 avec une mise à jour. Cependant tout ce que nous voulions était déjà là, parfaitement fonctionnel. Désormais la communauté Mageia nous gratifie d’une vraie distribution entièrement ‘sauce Mageia’, codée et peaufinée par elle, pour les architectures 32 et 64 bits. Étudions cette nouvelle distribution</li>
<li> <strong>Mise à jour dynamique de graphiques avec Ajax et PHP</strong> <em>(Cilia Mauro, Magali Contensin)</em> : Les bibliothèques graphiques côté client permettent de visualiser interactivement des graphiques, mais également de les mettre à jour dynamiquement grâce à Ajax sans recharger la totalité de la page web. Dans cet article, nous présenterons le principe d’Ajax, l’utilisation du framework jQuery et la mise à jour dynamique de graphiques via les trois bibliothèques graphiques citées ci-dessus, à partir de données envoyées par des scripts PHP</li>
<li><strong>PrestaShop 1.5 : tour d’horizons et aspects techniques</strong> <em>(Jonathan Danse)</em> : Dans le dernier article, intitulé &laquo;&nbsp;PrestaShop : aspects techniques&nbsp;&raquo; – publié dans le numéro de juillet – nous avons parlé de PrestaShop 1.4, à savoir la dernière version stable en date. Si la version 1.4.9 – publiée ce 24 août – est belle et bien la dernière version stable, l’équipe de développement à mise en route la version 1.5 qui en est désormais à sa RC2. Avec elle, son lot de nouveautés</li>
<li><strong>Twitter pour les débutants</strong> <em>(Eric Vincent)</em> : Twitter se développe encore et toujours. Il est temps pour ceux qui ne connaissent pas ou peu de se jeter à l’eau et de découvrir les bases de ce réseau social contemporain, pratique et incontournable</li>
<li><em>(Christophe Villeneuve)</em> : Actualités du monde du développement</li>
</ul>
<p>Je vous recommande de lire la section &laquo;&nbsp;Ajax et PHP&nbsp;&raquo;, qui va s’avérer fort utile dès lors que l&rsquo;on veut se lancer !</p>
<p>Pour rappel, PHP Solutions est un <strong>magazine payant</strong>. Vous aurez le choix entre les <a target="_blank" href="http://phpsolmag.org/wp-login.php?action=register" >abonnements suivants</a> :</p>
<ul>
<li>Abonnement 6 mois : 89€</li>
<li>Abonnement 12 mois : 147.60€</li>
</ul>
<p>Bonne lecture !</p>
 <p><a href="http://www.blog-nouvelles-technologies.fr/?flattrss_redirect&amp;id=18025&amp;md5=5d9259d7e6b7288f1fc28bbe970092e6" title="Flattr" target="_blank"><img src="http://www.blog-nouvelles-technologies.fr/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.blog-nouvelles-technologies.fr/archives/18025/php-solutions-septembre-2012-ajax-et-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=lryo&amp;popout=1&amp;url=http%3A%2F%2Fwww.blog-nouvelles-technologies.fr%2Farchives%2F18025%2Fphp-solutions-septembre-2012-ajax-et-php%2F&amp;language=fr_FR&amp;category=text&amp;title=PHP+Solutions+%E2%80%93+Septembre+2012+%26%238211%3B+Ajax+et+PHP&amp;description=Avec+un+peu+de+retard%2C+les+cong%C3%A9s+sont+pass%C3%A9s+par+l%C3%A0%2C+je+vous+propose+un+peu+de+lecture%2C+et+plus+particuli%C3%A8rement+par+celle+du+magazine+PHP+Solutions.+Ce+num%C3%A9ro+de...&amp;tags=AJAX%2Clecture%2CPHP%2Cphp+solutions%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Partie 1 : 10 conseils pour mieux coder en PHP !</title>
		<link>http://www.blog-nouvelles-technologies.fr/archives/17924/partie-1-10-conseils-pour-mieux-coder-en-php/</link>
		<comments>http://www.blog-nouvelles-technologies.fr/archives/17924/partie-1-10-conseils-pour-mieux-coder-en-php/#comments</comments>
		<pubDate>Thu, 13 Sep 2012 07:55:39 +0000</pubDate>
		<dc:creator>Yohann Poiron</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Outils - Conseils]]></category>
		<category><![CDATA[bonnes pratriques]]></category>
		<category><![CDATA[codage]]></category>
		<category><![CDATA[développement]]></category>
		<category><![CDATA[norme]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[règles]]></category>

		<guid isPermaLink="false">http://www.blog-nouvelles-technologies.fr/?p=17924</guid>
		<description><![CDATA[Écrire du code peut parfois être la partie la plus difficile de tout processus de développement logiciel. Si vous n&#8217;êtes pas du tout organisé, et ce dès le début, en particulier pour les grands projets, alors sachez que vous allez pouvoir perdre beaucoup de temps, et possiblement vous rendre un véritable casse-tête si vous ne [...]]]></description>
				<content:encoded><![CDATA[<p class="dropcap-first">Écrire du code peut parfois être la partie la plus difficile de tout processus de développement logiciel. Si vous n&rsquo;êtes pas du tout organisé, et ce dès le début, en particulier pour les grands projets, alors sachez que vous allez pouvoir perdre beaucoup de temps, et possiblement vous rendre un véritable casse-tête si vous ne suivez pas les <strong>principes de bases des procédés de codage et de la gestion de code</strong>.</p>
<p><strong>Un bon code est maintenable, réutilisable et vérifiable</strong>. Les conseils qui suivent portent sur la façon dont vous et/ou votre équipe de développement peut gérer diverses tâches de codage et la façon de garder aussi propre que possible votre code. Je vais vous présenter quelques &laquo;&nbsp;meilleures pratiques&nbsp;&raquo;, issues de mon expérience personnelle et professionnelle, qui je l&rsquo;espère vous aideront à mieux écrire du code et aider, vous et votre équipe à être efficaces.</p>
<h1>1 &#8211; Utilisez une norme de codage </h1>
<p>Il est facile d&rsquo;écrire mal, et de produire un code non organisé ! Mais, <strong>il est plus difficile de maintenir un tel code</strong>. Un bon code suit généralement une norme qu&rsquo;il s&rsquo;agisse des conventions de nommage, du formatage, etc&#8230; Ces normes, communément nommées <strong>les &laquo;&nbsp;règles de bonnes pratiques&nbsp;&raquo;</strong> sont faites pour vous simplifier la vie parce qu&rsquo;elles permettent de rendre clair et lisible votre code.</p>
<p>Si vous pouvez créer vos propres règles de codage, il est préférable de s&rsquo;en tenir, ou du moins s&rsquo;inspirer, de ce qui existe, et qui a été approuvé par beaucoup ! Ainsi, des normes proposées par <a target="_blank" href="http://framework.zend.com/manual/en/coding-standard.html" >Zend Framework Coding Standard</a> ou prochainement le <a target="_blank" href="https://github.com/pmjones/fig-standards/blob/psr-1-style-guide/proposed/PSR-1-basic.md" >PSR-1 Coding Style Guide</a> permettront de rapidement vous approprier du code tiers, et aux autres de s&rsquo;adapter à votre code !</p>
<h1>2 &#8211; Écrire des commentaires utiles </h1>
<p><strong>Les commentaires dans un code sont cruciaux</strong> ! Vous ne les apprécierez pas avant de laisser votre sac de nœud de lignes pendant deux ou trois jours, et que vous y reveniez tout en essayant de donner un sens à ce que vous avez noté ! Vous me prenez sûrement pour un fou, mais c&rsquo;est vraiment ce qui se passe tous les jours. Faites vous-même le test <img src='http://www.blog-nouvelles-technologies.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' title="Partie 1 : 10 conseils pour mieux coder en PHP !" />  Les commentaires sont donc utiles pour faciliter votre vie, mais également ceux après vous qui devront maintenir votre code.</p>
<p><strong>Écrivez des commentaires pour des lignes significatives</strong>, les simples n&rsquo;ont aucun sens ; décrivez les paramètres aussi complets que possible, décrivez les fonctionnalités des fonctions et des méthodes ; commentez des blocs délicats et pour lesquels la logique n&rsquo;est pas aussi triviale qu&rsquo;on pourrait le penser. </p>
<h1>3 &#8211; Refactorisation </h1>
<p><img class="aligncenter" title="Partie 1 : 10 conseils pour mieux coder en PHP ! - Refactorisation" src="http://www.blog-nouvelles-technologies.fr/wp-content/uploads/2012/09/partie-1-10-conseils-pour-mieux-coder-en-php-1.gif" alt="Partie 1 : 10 conseils pour mieux coder en PHP ! - Refactorisation" /></p>
<p>La <strong>refactorisation</strong> (anglicisme venant de <em>refactoring</em>) est une opération de maintenance du code. <strong>Ce principe doit être une habitude pour tout les développeurs</strong> ! Croyez-le ou non, vous devriez refactoriser votre code quotidiennement, sinon ce dernier ne peut que perdre en qualité (même si vous pensez être le meilleur développeur du monde) ! Le <em>refactoring</em> maintient la qualité de votre code, mais qu&rsquo;est-ce qui doit-être refactorisé et comment ?</p>
<p>Vous devriez tout refactoriser, qu&rsquo;il s&rsquo;agisse de l&rsquo;architecture de vos méthodes et fonctions, des noms de variables, mais également le nombre d&rsquo;arguments d&rsquo;une méthode, etc&#8230;</p>
<p>Pour la réponse à &laquo;&nbsp;comment factoriser ?&nbsp;&raquo;, sachez qu&rsquo;il s&rsquo;agit plus d&rsquo;un art qu&rsquo;une science, mais il y a <strong>quelques règles d&rsquo;or</strong> qui peuvent nous éclairer à ce sujet :</p>
<ul>
<li> Si votre fonction ou méthode dépasse les 20 à 25 lignes, il est probable que vous incluez trop de logique à l&rsquo;intérieur, et vous pouvez probablement la scinder, en deux ou plusieurs fonctions/méthodes plus petites </li>
<li> Si le nom de votre méthode/fonction dépasse les 20 caractères, vous devez la repenser, peut-être que la logique de ce qu&rsquo;elle fait rejoint la première affirmation&#8230; </li>
<li> Si vous avez un grand nombre de boucles imbriquées, autrement dit une complexité élevée, sachez qu&rsquo;il y a toujours des conditions de retour à passer en priorité. En général, vous ne devez pas dépasser plus de deux boucles imbriquées. Trois boucles imbriquées seraient tout simplement horribles ! </li>
<li> Considérez s&rsquo;il y a des <em>patterns</em> de conception applicables dans quasiment toutes les situations. Bien sûr, vous ne devez pas utiliser ces derniers pour le simple plaisir d&rsquo;utiliser des modèles, mais sachez qu&rsquo;ils offrent des solutions aisées qui pourraient être applicables dans votre cas </li>
</ul>
<h1>4 &#8211; Évitez les globales </h1>
<p><strong>Les variables, les boucles, etc, globales sont autant de problématiques</strong> dès lors que votre application se développe à des millions de lignes de code. Elles peuvent influencer un code &laquo;&nbsp;ailleurs&nbsp;&raquo; dont il est difficile de discerner, ou de provoquer quelques affrontements sur le nommage. Réfléchissez à deux fois avant de polluer l&rsquo;espace de noms global avec des variables, des fonctions, des boucles, etc..</p>
<p>Dans un cas idéal, vous ne devriez avoir aucun des blocs définis globalement. Toutes les déclarations telles que le <code>switch</code>, <code>try-catch</code>, <code>foreach</code>, etc&#8230;, doivent être écrites dans une méthode ou une fonction. Les méthodes doivent être écrites dans des définitions de classe, et les définitions de classe et la fonction doivent être dans des espaces de noms.</p>
<h1>5 &#8211; Utilisez des noms significatifs </h1>
<p>Ne jamais utiliser des noms comme <code$a</code>, <code$b</code>, <code$c</code> et <code$test</code> pour les variables. Comment allez-vous lire le code à l'avenir ? Et votre collègue ? <strong>Un bon code doit être significatif en termes de noms de variables, de noms de méthodes/fonctions et des noms de classe</strong>. Quelques bons exemples de noms significatifs sont les suivants : <code>$request</code> , <code>$dbResult</code> et <code>$tempFile</code> (selon vos directives de style de codage l'écriture de ces derniers peuvent légèrement être modifiée).</p>
<p>À noter, que faire du franglais ce n'est pas l'idéal ! Soit vous mettez tout en anglais, dès lors que le domaine de votre application le permet, soit en français. Dans certains cas, il est difficile de traduire un terme d'un domaine spécifique en français, je pense au médical notamment (n'est-ce pas Fabien <img src='http://www.blog-nouvelles-technologies.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' title="Partie 1 : 10 conseils pour mieux coder en PHP !" />  !</p>
<p>Voici quelques-unes des meilleures pratiques que j'essaie de mettre en œuvre quotidiennement ! Je vous fournirais la suite de la liste dès demain ! N'hésitez pas à apporter votre expérience dans ce domaine. </p>
 <p><a href="http://www.blog-nouvelles-technologies.fr/?flattrss_redirect&amp;id=17924&amp;md5=b7008e33a860da700a4f0dd40f29a744" title="Flattr" target="_blank"><img src="http://www.blog-nouvelles-technologies.fr/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.blog-nouvelles-technologies.fr/archives/17924/partie-1-10-conseils-pour-mieux-coder-en-php/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=lryo&amp;popout=1&amp;url=http%3A%2F%2Fwww.blog-nouvelles-technologies.fr%2Farchives%2F17924%2Fpartie-1-10-conseils-pour-mieux-coder-en-php%2F&amp;language=fr_FR&amp;category=text&amp;title=Partie+1+%3A+10+conseils+pour+mieux+coder+en+PHP+%21&amp;description=%C3%89crire+du+code+peut+parfois+%C3%AAtre+la+partie+la+plus+difficile+de+tout+processus+de+d%C3%A9veloppement+logiciel.+Si+vous+n%26rsquo%3B%C3%AAtes+pas+du+tout+organis%C3%A9%2C+et+ce+d%C3%A8s+le+d%C3%A9but%2C+en...&amp;tags=bonnes+pratriques%2Ccodage%2Cd%C3%A9veloppement%2Cnorme%2CPHP%2Cr%C3%A8gles%2Cblog" type="text/html" />
	</item>
		<item>
		<title>6 compétences supplémentaires que chaque développeur PHP freelance devrait avoir !</title>
		<link>http://www.blog-nouvelles-technologies.fr/archives/12367/6-competences-supplementaires-que-chaque-developpeur-php-devrait-avoir/</link>
		<comments>http://www.blog-nouvelles-technologies.fr/archives/12367/6-competences-supplementaires-que-chaque-developpeur-php-devrait-avoir/#comments</comments>
		<pubDate>Tue, 07 Aug 2012 08:57:38 +0000</pubDate>
		<dc:creator>Yohann Poiron</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Outils - Conseils]]></category>
		<category><![CDATA[compétences]]></category>
		<category><![CDATA[emploi]]></category>
		<category><![CDATA[job]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.blog-nouvelles-technologies.fr/?p=12367</guid>
		<description><![CDATA[Si le développement PHP est très en vogue, c&#8217;est aussi grâce à une grosse communauté de développeurs. Si vous voulez un jour devenir un développeur PHP indépendant, je vous suggère de ne pas vous limiter à l&#8217;apprentissage de ce langage. En effet, je vais tenter de vous partager dans cet article six autres compétences essentielles [...]]]></description>
				<content:encoded><![CDATA[<p class="dropcap-first">Si le développement <em>PHP</em> est très en vogue, c&rsquo;est aussi grâce à une grosse communauté de développeurs. Si vous voulez un jour devenir un développeur <em>PHP</em> indépendant, je vous suggère de ne pas vous limiter à l&rsquo;apprentissage de ce langage.<br />
En effet, je vais tenter de vous partager dans cet article <strong>six autres compétences essentielles dont vous avez besoin pour réussir en tant que développeur <em>PHP</em></strong>. Il ne s&rsquo;agit bien sûr pas de la recette miracle, mais cette liste se base sur mon expérience personnelle de développeur Web, et mes diverses lectures. De plus, je détaille que très peu les points clés, mais sachez que chaque des points ci-dessous doivent être approfondis au maximum. </p>
<h1> 1 &#8211; <em>JavaScript</em>, <em>HTML</em> et <em>CSS</em> </h1>
<p>Ces jours-ci, il ne suffit pas de seulement savoir comment écrire du code <em>PHP</em>&#8230; En effet, si vous voulez démarrer une société de service en <em>PHP</em>, <strong>vous aurez également besoin de connaître la façon dont les sites sont développés, et ce à travers les langages <em>HTML</em> et <em>CSS</em></strong>.<br />
Il y a de fortes chances que dans les projets auxquels vous allez devoir participer, que vous soyez amené à corriger les erreurs que les concepteurs ont fait, et vous aurez donc besoin de savoir comment faire cela, et surtout comment le faire bien.<br />
Si vous ne connaissez pas ces autres langages, vous pourriez être totalement dépassé par des entreprises qui proposeront bien plus que vous en terme de développement Web, vous fermant ainsi de nombreux marchés&#8230; </p>
<h1> 2 &#8211; En apprendre davantage &#8230;  </h1>
<p>Alors qu&rsquo;il est important de <strong>s&rsquo;assurer que vous ayez les compétences pour faire la majorité du développement demandé</strong>, il est tout aussi important de connaître vos limites, et ainsi d&rsquo;identifier vos lacunes. C&rsquo;est une compétence que certains nouveaux développeurs <em>PHP</em> semblent oublier lorsqu&rsquo;ils se lancent dans un marché où il est difficile de trouver un emploi en tant que débutant en développement <em>PHP</em>.<br />
Il est donc très important de connaître et identifier vos compétences, afin de répondre au plus juste aux propositions d&rsquo;emplois. Ainsi, ne vous faites pas piégé par des demandes qui ne pourront être résolues sinon vous finirez par nuire votre réputation sur le long terme&#8230;</p>
<h1> 3 &#8211; <em>Business Communication </em></h1>
<p>En tant que développeur <em>PHP</em>, pigiste ou sous contrat, vous devrez communiquer avec tous vos clients. <strong>Apprenez à communiquer comme un professionnel</strong> ! Beaucoup de technophiles ont généralement des difficulté pour communiquer, notamment sur des aspects techniques sans trop entrer dans les détails et perdre le lectorat&#8230; C&rsquo;est d&rsquo;ailleurs probablement pourquoi, en premier lieu, ils choisissent de travailler individuellement à domicile.<br />
Si vous êtes dans ce cas, n&rsquo;hésitez pas à prendre des cours de communication d&rsquo;entreprise, ou de parler à un professionnel sur la façon dont vous pouvez améliorer ces compétences.</p>
<h1> 4 &#8211; Finance d&rsquo;entreprise </h1>
<p>Encore une fois, comme toute entreprise, vous allez devoir <strong>gérer les finances de votre propre entreprise</strong>. Vous n&rsquo;avez pas nécessairement à apprendre comment déclarer vos propres impôts, qui peut être difficile pour les entrepreneurs indépendants, mais vous devriez certainement apprendre à gérer les bases de la finance au jour le jour.<br />
Cela va comprendre l&rsquo;apprentissage sur comment fixer un taux juste pour vous-même sur la base des taux du marché et les taxes que vous aurez à payer sur votre revenu d&rsquo;entreprise.</p>
<h1> 5 &#8211; Gestion de projet </h1>
<p>Comme entrepreneur indépendant, certes vous n&rsquo;aurez pas quelqu&rsquo;un au dessus de votre épaule pour vous rabâcher sans cesse que vous êtes en retard, et qui exige de vous qu&rsquo;un projet soit réalisé dans un certain délai, mais il va falloir tout de même bien gérer votre emploi du temps.<br />
Vous allez devoir très probablement <strong>jongler entre plusieurs projets et plusieurs clients</strong> à un moment donné, alors assurez-vous que vous savez comment gérer votre propre temps, rédiger des propositions, et gérer vos projets afin que vous puissiez développer et fournir le livrable, afin de construire votre réputation.</p>
<h1> 6 &#8211; Réseautage </h1>
<p>La <strong>mise en relation avec d&rsquo;autres concepteurs</strong> indépendants <em>PHP</em>, et les pigistes de développement Web, peut vous aider à trouver davantage de boulot et d&rsquo;obtenir des références. Utilisez Twitter, Facebook et LinkedIn notamment, afin de réunir les clients pour qui vous travaillez ou avec lesquels vous avez travaillé par le passé. Les recommandations grâce au réseautage peuvent être très précieuses dans un marché du travail concurrentiel.</p>
<h1> Pour finir &#8230; </h1>
<p>Selon <a target="_blank" href="http://fr.elance.com/" >Elance.com</a>, l&rsquo;un des sites indépendants leaders pour les développeurs Web et les pigistes dans de nombreuses autres niches, <strong>2011 a été une année record pour le travail indépendant en ligne</strong>. L&rsquo;embauche en ligne a plus que doublé depuis 2010, et le nombre d&rsquo;entreprises qui embauchent sur Elance a de facto plus que doublé. </p>
<p>Ces six compétences sont essentielles pour la plupart des pigistes, mais si vous êtes un développeur <em>PHP</em>, elles peuvent être encore plus importantes. <strong>Le développement Web est un domaine extrêmement concurrentiel</strong>, et la connaissance seule du langage ne suffise plus.<br />
Cependant, une fois que vous avez acquis ces compétences, vous pourriez profiter des emplois passionnants, la flexibilité, et un bon salaire en tant que développeur indépendant <em>PHP</em>. </p>
<p>Quels sont vos conseils en terme de jobs ? Pensez-vous qu&rsquo;à l&rsquo;heure actuelle être &laquo;&nbsp;développeur&nbsp;&raquo; suffit pour faire sa place sur ce marché ? </p>
 <p><a href="http://www.blog-nouvelles-technologies.fr/?flattrss_redirect&amp;id=12367&amp;md5=28ee80161f4526dc234f92b12429ae42" title="Flattr" target="_blank"><img src="http://www.blog-nouvelles-technologies.fr/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.blog-nouvelles-technologies.fr/archives/12367/6-competences-supplementaires-que-chaque-developpeur-php-devrait-avoir/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=lryo&amp;popout=1&amp;url=http%3A%2F%2Fwww.blog-nouvelles-technologies.fr%2Farchives%2F12367%2F6-competences-supplementaires-que-chaque-developpeur-php-devrait-avoir%2F&amp;language=fr_FR&amp;category=text&amp;title=6+comp%C3%A9tences+suppl%C3%A9mentaires+que+chaque+d%C3%A9veloppeur+PHP+freelance+devrait+avoir+%21&amp;description=Si+le+d%C3%A9veloppement+PHP+est+tr%C3%A8s+en+vogue%2C+c%26rsquo%3Best+aussi+gr%C3%A2ce+%C3%A0+une+grosse+communaut%C3%A9+de+d%C3%A9veloppeurs.+Si+vous+voulez+un+jour+devenir+un+d%C3%A9veloppeur+PHP+ind%C3%A9pendant%2C+je+vous+sugg%C3%A8re...&amp;tags=comp%C3%A9tences%2Cemploi%2Cjob%2CPHP%2Cblog" type="text/html" />
	</item>
		<item>
		<title>PHP Solutions &#8211; Août 2012 &#8211; CodeIgniter 2</title>
		<link>http://www.blog-nouvelles-technologies.fr/archives/17118/php-solutions-aout-2012-codeigniter-2/</link>
		<comments>http://www.blog-nouvelles-technologies.fr/archives/17118/php-solutions-aout-2012-codeigniter-2/#comments</comments>
		<pubDate>Fri, 03 Aug 2012 12:07:53 +0000</pubDate>
		<dc:creator>Yohann Poiron</dc:creator>
				<category><![CDATA[Critique de livre]]></category>
		<category><![CDATA[CodeIgniter 2]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[lecture]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[php solutions]]></category>
		<category><![CDATA[PrestaShop]]></category>

		<guid isPermaLink="false">http://www.blog-nouvelles-technologies.fr/?p=17118</guid>
		<description><![CDATA[Vous en avez désormais l&#8217;habitude, en chaque début du mois je vous propose un peu de lecture, et plus particulièrement par celle du magazine PHP Solutions. Ce numéro d&#8217;Août 2012 contient un dossier complet sur CodeIgniter 2 mais aussi d&#8217;autres articles sur PrestaShop, GitHub, etc &#8230; Au sommaire de ce numéro : PrestaShop : aspects [...]]]></description>
				<content:encoded><![CDATA[<p class="dropcap-first">Vous en avez désormais l&rsquo;habitude, en chaque début du mois je vous propose un peu de lecture, et plus particulièrement par celle du magazine <a href="http://www.blog-nouvelles-technologies.fr/?s=PHP+Solutions" >PHP Solutions</a>. <strong>Ce <a target="_blank" href="http://phpsolmag.org/codeigniter-2-consultez-le-numero-daout/" >numéro d&rsquo;Août 2012</a> contient un dossier complet sur CodeIgniter 2 mais aussi d&rsquo;autres articles sur PrestaShop, GitHub, etc &#8230;</strong></p>
<p><img class="aligncenter" title="PHP Solutions - Août 2012 - CodeIgniter 2" src="http://www.blog-nouvelles-technologies.fr/wp-content/uploads/2012/08/php-solutions-aout-2012-codeigniter-2-1.jpg" alt="PHP Solutions - Août 2012 - CodeIgniter 2" /></p>
<p>Au sommaire de ce numéro :</p>
<ul>
<li><strong>PrestaShop : aspects techniques</strong> <em>(Jonathan Danse)</em> : </li>
<li><strong>Comprendre GitHub : Fork, Branch,Track, Squash et Pull Request</strong> <em>(Yohann Poiron)</em></li>
<li><strong>Installer et utiliser CodeIgniter 2 : une page d’inscription newsletter</strong> <em>(David Peronne)</em> : CodeIgniter est un framework de développement PHP, sorte de boîte à outils d’aide à la construction de sites et d’applications web. Son but est de vous permettre de réduire le temps de développement de vos projets en vous fournissant un ensemble complet de bibliothèques prenant à leur charge les tâches les plus répétitives. Utiliser un framework PHP tel que CodeIgniter vous permettra de gagner du temps de développement en structurant votre applications et en réutilisant des portions de codes déjà existantes. </li>
<li><strong>Générer des graphiques interactifs avec RGraph</strong> <em>(Cilia Mauro, Magali Contensin)</em> :  RGraph est une bibliothèque graphique côté client spécialisée dans l’affichage et la visualisation interactive des représentations graphiques les plus courantes (courbes, histogrammes, secteurs, nuages de points, …) mais aussi d’autres diagrammes très utiles : jauges (indicateurs de performance, de progrès ou de quantité), radars (comparaison de valeurs multi-critères), roses (distribution statistique selon un critère), gantt (planification), etc. RGraph permet ainsi de représenter un grand nombre de modèles de données d’allures différentes. Cette bibliothèque, gratuite pour une utilisation non commerciale, est relativement facile à prendre en main et simple d’utilisation. L’utilisation de JavaScript permet une consultation interactive du graphique : zoom, annotations, infobulles, menus contextuels personnalisés.</li>
<li><strong>Actualités du monde du développement.</strong> <em>(Christophe Villeneuve)</em> : </li>
</ul>
<p>Je vous recommande de lire la section sur CodeIgniter, qui va s’avérer fort utile dès lors que l&rsquo;on doit se plonger dans le développement de grosse application !</p>
<p>L’article que je publie s’intitule : <strong>Comprendre GitHub : Fork, Branch,Track, Squash et Pull Request</strong>.</p>
<blockquote><p>Ce guide va tenter de vous apprendre comment bien contribuer à des projets Open Source sur GitHub. Il suppose que vous savez déjà comment utiliser Git pour la gestion de versions et que vous avez déjà un compte GitHub !</p></blockquote>
<p><img class="aligncenter" title="PHP Solutions - Août 2012 - CodeIgniter 2 - Comprendre GitHub : Fork, Branch,Track, Squash et Pull Request" src="http://www.blog-nouvelles-technologies.fr/wp-content/uploads/2012/08/php-solutions-aout-2012-codeigniter-2-2.png" alt="PHP Solutions - Août 2012 - CodeIgniter 2 - Comprendre GitHub : Fork, Branch,Track, Squash et Pull Request" /></p>
<p>Vous allez pouvoir retrouver différents sur le blog traitant de ce sujet :</p>
<ul>
<li> <a href="http://www.blog-nouvelles-technologies.fr/archives/13114/comprendre-github-fork-branch-track-squash-et-pull-request/" >Comprendre GitHub : Fork, Branch, Track, Squash et Pull Request</a> </li>
<li> <a href="http://www.blog-nouvelles-technologies.fr/archives/15756/vous-avez-15-minutes-et-vous-voulez-apprendre-git/" >tryGit : vous avez 15 minutes et vous voulez apprendre Git ?</a> </li>
<li> <a href="http://www.blog-nouvelles-technologies.fr/archives/16059/github-sur-android-vous-permet-de-garder-un-oeil-sur-tous-vos-projets-depuis-votre-mobile/" >GitHub sur Android vous permet de garder un oeil sur tous vos projets depuis votre mobile</a> </li>
</ul>
<p>Pour rappel, PHP Solutions est un <strong>magazine payant</strong>. Vous aurez le choix entre les <a target="_blank" href="http://phpsolmag.org/wp-login.php?action=register" >abonnements suivants</a> :</p>
<ul>
<li>Compte gratuit</li>
<li>Abonnement annuel : 147.60€ (TVA inclus)</li>
</ul>
<p>Bonne lecture !</p>
 <p><a href="http://www.blog-nouvelles-technologies.fr/?flattrss_redirect&amp;id=17118&amp;md5=f2ebfdce789471fdc29476645b1c0f86" title="Flattr" target="_blank"><img src="http://www.blog-nouvelles-technologies.fr/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.blog-nouvelles-technologies.fr/archives/17118/php-solutions-aout-2012-codeigniter-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=lryo&amp;popout=1&amp;url=http%3A%2F%2Fwww.blog-nouvelles-technologies.fr%2Farchives%2F17118%2Fphp-solutions-aout-2012-codeigniter-2%2F&amp;language=fr_FR&amp;category=text&amp;title=PHP+Solutions+%26%238211%3B+Ao%C3%BBt+2012+%26%238211%3B+CodeIgniter+2&amp;description=Vous+en+avez+d%C3%A9sormais+l%26rsquo%3Bhabitude%2C+en+chaque+d%C3%A9but+du+mois+je+vous+propose+un+peu+de+lecture%2C+et+plus+particuli%C3%A8rement+par+celle+du+magazine+PHP+Solutions.+Ce+num%C3%A9ro+d%26rsquo%3BAo%C3%BBt+2012...&amp;tags=CodeIgniter+2%2CGitHub%2Clecture%2CPHP%2Cphp+solutions%2CPrestaShop%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Installer et configurer Apache, MySQL, PHP sur OS X 10.8 Mountain Lion</title>
		<link>http://www.blog-nouvelles-technologies.fr/archives/16863/installer-et-configurer-apache-mysql-php-et-phpmyadmin-sur-osx-10-8-mountain-lion/</link>
		<comments>http://www.blog-nouvelles-technologies.fr/archives/16863/installer-et-configurer-apache-mysql-php-et-phpmyadmin-sur-osx-10-8-mountain-lion/#comments</comments>
		<pubDate>Tue, 31 Jul 2012 11:59:36 +0000</pubDate>
		<dc:creator>Yohann Poiron</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[Outils - Conseils]]></category>
		<category><![CDATA[AMP]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[développement]]></category>
		<category><![CDATA[Mountain Lion]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[OS X 10.8]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.blog-nouvelles-technologies.fr/?p=16863</guid>
		<description><![CDATA[Vous n&#8217;êtes pas sans savoir qu&#8217;Apple a sorti la semaine dernière la toute dernière monture de son OS, nommée Mountain Lion. Si nos habitudes ont changé avec l’arrivée de nouvelles applications, d’une intégration plus forte d’icloud, ou encore une nouvelle gestion des notifications, nous devons faire preuve de malice pour éviter que le changement soit [...]]]></description>
				<content:encoded><![CDATA[<p class="dropcap-first">Vous n&rsquo;êtes pas sans savoir qu&rsquo;Apple a sorti la semaine dernière la toute dernière monture de son OS, nommée <a href="http://www.blog-nouvelles-technologies.fr/?s=Mountain+Lion" >Mountain Lion</a>. Si nos habitudes ont changé avec l’arrivée de nouvelles applications, d’une intégration plus forte d’icloud, ou encore une nouvelle <a href="http://www.blog-nouvelles-technologies.fr/archives/16753/hiss-redirige-les-notifications-growl-vers-le-systeme-de-notifications-de-mountain-lion/" >gestion des notifications</a>, nous devons faire preuve de malice pour éviter que le changement soit brutal. </p>
<p>Mais s&rsquo;il existe toujours des astuces, et <strong>la pile AMP (Apache, MySQL, PHP) qui est un peu différente sous OS X 10.8</strong> Mountain Lion (GM build 12A269) que sur son prédécesseur, OS X 10.7 Lion, n&rsquo;y échappe pas. Après avoir moi-même migré ma machine sur Mountain Lion, voici quelques astuces que vous devez savoir pour obtenir Apache, MySQL, PHP sur le nouveau système d&rsquo;exploitation d&rsquo;Apple.</p>
<h1> Apache / Partage Web </h1>
<p>La première différence dans OS X 10.8 est la <strong>disparation de l&rsquo;option <em>&laquo;&nbsp;Partage Web&nbsp;&raquo;</em> dans l&rsquo;interface des préférences système</strong>. En effet, dans le volet <em>&laquo;&nbsp;Partage&nbsp;&raquo;</em> il est désormais impossible d&rsquo;activer le <em>&laquo;&nbsp;Partage Web&nbsp;&raquo;</em>. Si l&rsquo;option a disparu, le serveur Web Apache, qui est définitivement installé dans le niveau inférieur du système d&rsquo;exploitation, est tout de même présent et prêt à être démarré.</p>
<p><img class="aligncenter" title="Installer et configurer Apache, MySQL, PHP et phpMyAdmin sur OSX 10.8 Mountain Lion - Disparition du Partage Web" src="http://www.blog-nouvelles-technologies.fr/wp-content/uploads/2012/07/installer-et-configurer-apache-mysql-php-et-phpmyadmin-sur-osx-10-8-mountain-lion-1.png" alt="Installer et configurer Apache, MySQL, PHP et phpMyAdmin sur OSX 10.8 Mountain Lion - Disparition du Partage Web" /></p>
<p>Apache est pré-installé et doit être activé via le terminal (<code>/Applications/Utilitaires/Terminal</code>). Pour démarrer le serveur, éxécutez la ligne de commande suivante : <code>sudo apachectl start</code>.</p>
<p>Voici les autres commandes que vous devez connaître :</p>
<ul>
<li>Pour l&rsquo;arrêter : <code>sudo apachectl stop</code></li>
<li>Pour le redémarrer : <code>sudo apachectl restart</code></li>
<li>Pour trouver la version d&rsquo;Apache : <code>httpd-v</code></li>
</ul>
<p>Une fois le lancement d&rsquo;Apache, testez dans votre navigateur (<a target="_blank" href="http://localhost" >http://localhost</a>) que le serveur est bien lancé. Vous devriez voir le texte <em>&laquo;&nbsp;It Works!&nbsp;&raquo;</em>.</p>
<p><img class="aligncenter" title="Installer et configurer Apache, MySQL, PHP et phpMyAdmin sur OSX 10.8 Mountain Lion - It Works! prouve que le serveur Web est bien lancé" src="http://www.blog-nouvelles-technologies.fr/wp-content/uploads/2012/07/installer-et-configurer-apache-mysql-php-et-phpmyadmin-sur-osx-10-8-mountain-lion-2.png" alt="Installer et configurer Apache, MySQL, PHP et phpMyAdmin sur OSX 10.8 Mountain Lion - It Works! prouve que le serveur Web est bien lancé" /></p>
<p>Si vous souhaitez avoir une commande dans l&rsquo;interface graphique et ainsi cliquer sur <em>&laquo;&nbsp;Partage Web&nbsp;&raquo;</em> dans les préférences système, alors vous allez devoir télécharger un utilitaire. Après avoir téléchargé celui-ci sur <a target="_blank" href="http://amz.clickontyler.com/WebSharing.zip" >clickontyler</a>, il suffit de le décompresser et de double-cliquer dessus.</p>
<h1>MySQL</h1>
<p><strong>MySQL est à nouveau un élément manquant dans OS X 10.8</strong> et doit être téléchargé à partir du <a target="_blank" href="http://dev.mysql.com/downloads/mysql/" >site de MySQL</a>. Pour ce faire, utilisez la version DMG de l&rsquo;archive Mac OS X 10.6 (x86, 64-bit), qui fonctionne très bien sur 10.8.</p>
<p>Sachez que pour télécharger MySQL vous n&rsquo;êtes pas obligé de vous inscrire. Pour ce faire, cliquez sur l&rsquo;option &laquo;&nbsp;<em>No thanks, just take me to the downloads!&nbsp;&raquo;</em>  afin d&rsquo;être automatiquement redirigé vers la page d&rsquo;accès aux miroirs de téléchargement. De là, téléchargez le logiciel à partir d&rsquo;un miroir qui est plus proche de vous.</p>
<p>Une fois téléchargé, installez les trois composants. Vous devrez peut-être ajuster les options dans la partie <em>&laquo;&nbsp;Sécurité et confidentialité&nbsp;&raquo;</em> des préférences système afin de permettre d&rsquo;installer des applications tierces, du fait de l&rsquo;arrivée de Gatekeeper, qui vous aide à éviter de télécharger et d&rsquo;installer des logiciels malveillants sur votre Mac, quelle qu&rsquo;en soit l&rsquo;origine. </p>
<p><img class="aligncenter" title="Installer et configurer Apache, MySQL, PHP et phpMyAdmin sur OSX 10.8 Mountain Lion - Sécurité et confidentialité pour autoriser les applications tierces" src="http://www.blog-nouvelles-technologies.fr/wp-content/uploads/2012/07/installer-et-configurer-apache-mysql-php-et-phpmyadmin-sur-osx-10-8-mountain-lion-3.png" alt="Installer et configurer Apache, MySQL, PHP et phpMyAdmin sur OSX 10.8 Mountain Lion - Sécurité et confidentialité pour autoriser les applications tierces" /></p>
<p>Pour contourner ce problème sans changer les préférences globale, réalisez un clic droit sur le paquet d&rsquo;installation pour faire apparaître le menu contextuel et sélectionnez <em>&laquo;&nbsp;Ouvrir&nbsp;&raquo;</em>, acceptez l&rsquo;avertissement en cliquant sur <em>&laquo;&nbsp;Ouvrir&nbsp;&raquo;</em>.</p>
<p><img class="aligncenter" title="Installer et configurer Apache, MySQL, PHP et phpMyAdmin sur OSX 10.8 Mountain Lion - Autorisation provisoire pour installer MySQL" src="http://www.blog-nouvelles-technologies.fr/wp-content/uploads/2012/07/installer-et-configurer-apache-mysql-php-et-phpmyadmin-sur-osx-10-8-mountain-lion-4.png" alt="Installer et configurer Apache, MySQL, PHP et phpMyAdmin sur OSX 10.8 Mountain Lion - Autorisation provisoire pour installer MySQL" /></p>
<p>Donc, <strong>installez les 3 <em>packages</em> fournis</strong> :</p>
<ul>
<li>mysql5.5.xxx.pkg</li>
<li>MySQLStartupItem.pkg</li>
<li>MySQLPrefPane</li>
</ul>
<p>Le premier est le serveur <em>MySQL</em> en lui-même, le second, <em>MySQLStartupItem</em>, permet à MySQL de démarrer lorsque le Mac est allumé et le troisième est <em>MySQLPrefPane</em> qui permet d&rsquo;ajouter une entrée dans les préférences système qui permet de démarrer/stopper le serveur MySQL.</p>
<p>Vous pouvez démarrer le serveur MySQL à partir des préférences système :</p>
<p><img class="aligncenter" title="Installer et configurer Apache, MySQL, PHP et phpMyAdmin sur OSX 10.8 Mountain Lion - Démarrage du serveur MySQL depuis les préférences système" src="http://www.blog-nouvelles-technologies.fr/wp-content/uploads/2012/07/installer-et-configurer-apache-mysql-php-et-phpmyadmin-sur-osx-10-8-mountain-lion-5.png" alt="Installer et configurer Apache, MySQL, PHP et phpMyAdmin sur OSX 10.8 Mountain Lion - Démarrage du serveur MySQL depuis les préférences système" /></p>
<p>Ou en ligne de commande :</p>
<p><code>sudo /usr/local/mysql/support-files/mysql.server start</code></p>
<p>Pour trouver la version MySQL à partir du terminal, tapez à l&rsquo;invite :</p>
<p><code>/usr/local/mysql/bin/mysql -v</code></p>
<p>Après l&rsquo;installation, afin d&rsquo;utiliser les commandes <code>mysql</code> sans avoir à taper le chemin complet vers les commandes dont vous avez besoin, ajoutez le répertoire <code>mysql</code> dans votre <em>path</em>. Pour ce faire, modifiez le fichier <code>.bash_profile</code> dans votre répertoire home.  </p>
<p><em>Note : Si vous n&rsquo;avez pas ce fichier il suffit de créer en utilisant vi ou nano</em></p>
<p>Voici le contenu du fichier : <code>export PATH="/usr/local/mysql/bin:$PATH"</code></p>
<p>Afin que les modification soient directement prises en compte sans avoir besoin de redémarrer, tapez la commande suivante dans le terminal : <code>source ~/.bash_profile</code>.</p>
<p>Mettre en place le mot de passe <em>root</em> de MySQL procédez ainsi :</p>
<div class="code">
<pre class="brush: bash; title: ; notranslate">
mysqladmin -u root password {new-password}
mysqladmin -u root -p{new-password} -h localhost password {new-password}
mysqladmin -u root -p{new-password} reload
</pre>
</div>
<h1> PHP </h1>
<p><strong>PHP 5.3.13 est embarqué dans OS X 10.8 Mountain Lion</strong> et peut être activé en enlevant une ligne dans le fichier <code>httpd.conf</code>. Éditez le fichier comme ceci : <code>sudo nano /etc/apache2/httpd.conf</code>.</p>
<p>Utilisez la combinaison de touches <em>&laquo;&nbsp;Ctrl + w&nbsp;&raquo;</em> pour trouver le terme <em>&laquo;&nbsp;PHP&nbsp;&raquo;</em>, ce qui a pour effet de vous amener à la ligne suivante : <code>#LoadModule php5_module libexec/apache2/libphp5.so</code>. De là, dé-commentez la ligne. Pour ce faire, enlevez le <code>#</code> devant.</p>
<p>Enregistrez la modification apportée en utilisant les touches <em>&laquo;&nbsp;Ctrl + x&nbsp;&raquo;</em>. Rechargez Apache afin qu&rsquo;il prenne en compte le changement de configuration (<code>sudo apachectl restart</code>).</p>
<p>Afin de voir et tester <em>PHP</em>, créez un fichier nommé <code>phpinfo.php</code> par exemple, et déposez-le à la racine de votre serveur (<code>/Library/WebServer/Documents/</code>) avec le contenu ci-dessous, puis affichez la page dans votre navigateur.</p>
<div class="code">
<pre class="brush: php; title: ; notranslate">
&lt;?php phpinfo(); ?&gt;
</pre>
</div>
<h1> Conclusion </h1>
<p>Vous voilà désormais prêt à retrouver un <em>package</em> AMP digne de ce nom sur Mountain Lion ! Bien sûr, il peut vous manquer des paquets spécifiques, mais j&rsquo;ai décris ici l&rsquo;essentiel.</p>
<p>N&rsquo;hésitez pas à venir ajouter votre expérience dans la partie commentaires ci-dessous.</p>
<p>Avez-vous rencontré des problèmes ? </p>
 <p><a href="http://www.blog-nouvelles-technologies.fr/?flattrss_redirect&amp;id=16863&amp;md5=147eadd4a13cc83231ace70875d89abf" title="Flattr" target="_blank"><img src="http://www.blog-nouvelles-technologies.fr/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.blog-nouvelles-technologies.fr/archives/16863/installer-et-configurer-apache-mysql-php-et-phpmyadmin-sur-osx-10-8-mountain-lion/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=lryo&amp;popout=1&amp;url=http%3A%2F%2Fwww.blog-nouvelles-technologies.fr%2Farchives%2F16863%2Finstaller-et-configurer-apache-mysql-php-et-phpmyadmin-sur-osx-10-8-mountain-lion%2F&amp;language=fr_FR&amp;category=text&amp;title=Installer+et+configurer+Apache%2C+MySQL%2C+PHP+sur+OS+X+10.8+Mountain+Lion&amp;description=Vous+n%26rsquo%3B%C3%AAtes+pas+sans+savoir+qu%26rsquo%3BApple+a+sorti+la+semaine+derni%C3%A8re+la+toute+derni%C3%A8re+monture+de+son+OS%2C+nomm%C3%A9e+Mountain+Lion.+Si+nos+habitudes+ont+chang%C3%A9+avec+l%E2%80%99arriv%C3%A9e+de+nouvelles...&amp;tags=AMP%2Capache%2Cd%C3%A9veloppement%2CMountain+Lion%2CMySQL%2COS+X+10.8%2CPHP%2Cblog" type="text/html" />
	</item>
		<item>
		<title>PHP Solutions &#8211; The Best Of PHP Solutions</title>
		<link>http://www.blog-nouvelles-technologies.fr/archives/15751/php-solutions-the-best-of-php-solutions/</link>
		<comments>http://www.blog-nouvelles-technologies.fr/archives/15751/php-solutions-the-best-of-php-solutions/#comments</comments>
		<pubDate>Wed, 04 Jul 2012 13:00:46 +0000</pubDate>
		<dc:creator>Yohann Poiron</dc:creator>
				<category><![CDATA[Critique de livre]]></category>
		<category><![CDATA[Best Of]]></category>
		<category><![CDATA[lecture]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[php solutions]]></category>

		<guid isPermaLink="false">http://www.blog-nouvelles-technologies.fr/?p=15751</guid>
		<description><![CDATA[Quoi de mieux que de commencer le mois avec de la lecture, et plus particulièrement par celle du magazine PHP Solutions paru en fin de mois dernier ? En effet, l&#8217;équipe de rédaction du traditionnel magazine dédié au PHP a décidé de compiler de nombreux articles de l&#8217;année 2011 et 2012 ! Ainsi, ce numéro [...]]]></description>
				<content:encoded><![CDATA[<p class="dropcap-first">Quoi de mieux que de commencer le mois avec de la lecture, et plus particulièrement par celle du magazine <a href="http://www.blog-nouvelles-technologies.fr/?s=PHP+Solutions" >PHP Solutions</a> paru en fin de mois dernier ? En effet, l&rsquo;équipe de rédaction du traditionnel magazine dédié au <em>PHP</em> a décidé de compiler de nombreux articles de l&rsquo;année 2011 et 2012 ! </p>
<p>Ainsi, ce <strong>numéro spécial intitulé <a target="_blank" href="http://phpsolmag.org/the-best-of-php-solutions/" >&laquo;&nbsp;The Best Of PHP Solutions&nbsp;&raquo;</a></strong> va vous permettre de retrouvez les meilleurs articles parus dans le magazine.</p>
<p><img class="aligncenter" title="PHP Solutions - The Best Of PHP Solutions" src="http://www.blog-nouvelles-technologies.fr/wp-content/uploads/2012/07/php-solutions-the-best-of-php-solutions-1.jpg" alt="PHP Solutions - The Best Of PHP Solutions" /></p>
<p>Il s&rsquo;agit donc d&rsquo;un sommaire chargé :</p>
<ul>
<li><strong>Créer un thème simple sur WordPress en moins d’une heure</strong> : <em>Jérôme PASQUELIN</em></li>
<li><strong>Améliorer la sécurité de son site sous WordPress</strong> : <em>Marie KUNTZ</em></li>
<li><strong>Les Custom Post Types de A à Z</strong> : <em>Aurélien DENIS</em></li>
<li><strong>Développement de shortcode et Hook dans WordPress</strong> : <em>Miary RABEHASY</em></li>
<li><strong>Joomla 1.7.5 et supérieur : Faire le ménage après l’installation</strong> : <em>Pascal BARATS</em></li>
<li><strong>Joomla 1.7.5 et supérieur : Installer et configurer une boutique e-commerce avec le composant Virtuemart 2.0 version française</strong> : <em>Pascal BARATS</em></li>
<li><strong>Création d’un plugin de conetenu pour Joomla</strong> : <em>Florian Dal FITTO</em></li>
<li><strong>Passe ton batch d’abord !</strong> : <em>Gilles FEVRIER</em></li>
<li><strong>Développer une application web avec ExtJS et PHP &ndash; 1ère partie</strong> : <em>Gilles FEVRIER</em></li>
<li><strong>Développer une application web avec ExtJS et PHP &ndash; 2ème partie</strong> : <em>Gilles FEVRIER</em></li>
<li><strong>Introduction au modèle MVC dans ExtJS 4</strong> : <em>Gilles FEVRIER</em></li>
<li><strong>Mobile First! Developper des applications « mobiles » en 2012</strong> : <em>Louis NAUGES</em></li>
<li><strong>Les serveurs virtuels Apache</strong> : <em>Brice FAVRE</em></li>
<li><strong>Cluster</strong> : <em>Stéphan RICHER</em></li>
<li><strong>2010 &ndash; 2020 : la décennie Cloud Computing, ou la Révolution industrielle Informatique : Principes, potentiels pour les développeurs informatiques</strong> : <em>Louis NAUGES</em></li>
<li><strong>L’informatique dans les nuages, mais les pieds sur terre</strong> : <em>Romain Henion</em></li>
<li><strong>Réplication de bases de données MySQL</strong> : <em>Francis HULIN-HUBARD</em></li>
<li><strong>Réalisation d’un graphique Ajax avec CodeIgniter et jQuery</strong> : <em>Adrien VINET</em></li>
<li><strong>Introduction au framework Smarty</strong> : <em>Yohann POIRON</em></li>
<li><strong>Découvrez la POO avec PHP5</strong> : <em>Yohann POIRON</em></li>
<li><strong>Création d’un site web avec PHP et MySQL</strong> : <em>Patricia Le STRAT</em></li>
<li><strong>PHP5 &ndash; Développement d’un site web</strong> : <em>Pascal CESCATO</em></li>
<li><strong>Comprendre le fonctionnement bas-niveau du cache eZ Publish &ndash; Optimiser les performances</strong> : <em>Gilles GUIRAND</em></li>
<li><strong>Découvrez le Behavior Driven Development (BDD)</strong> : <em>David Jacquel</em></li>
<li><strong>Typage de variables en PHP</strong> : <em>Jean TATAREAU</em></li>
<li><strong>Générer et manipuler des images dynamiquement avec GD</strong> : <em>Cilia MAURO, Magali CONTENSIN</em></li>
<li><strong>Améliorer son référencement avec l’optimisation On-Page</strong> : <em>David PERONNE</em></li>
<li><strong>Accéder à Oracle à partir de PHP</strong> : <em>Olivier HEURTEL</em></li>
</ul>
<p>Vous allez donc retrouver deux articles que j&rsquo;ai moi-même écris : <a href="http://www.blog-nouvelles-technologies.fr/archives/9107/php-solutions-janvier-2012-ajax-avec-codelgnitere-et-jquery/" >Introduction au framework Smarty</a> &#038; <a href="http://www.blog-nouvelles-technologies.fr/archives/8306/php-solutions-decembre-2011-decouvrez-la-poo-avec-php5/" >Découvrez la POO avec PHP5</a>.<br />
Pour le premier, sachez que Smarty est un moteur de <em>template</em> pour le langage <em>PHP</em>. Il vous permet de séparer davantage votre logique métier (logique applicative) et la présentation, en supprimant autant que possible le code <em>PHP</em> de vos vues. Grâce à cet article vous découvriez ses fonctionnalités.<br />
Le seconde, en tant que développeur <em>PHP</em>, vous le savez que vous pouvez créer des systèmes fonctionnels sans utiliser des classes et des objets, vous évitant ainsi de créer une classe unique. Même si vous décidez de ne pas intégrer la Programmation Orientée Objet (<em>POO</em>) dans votre propre code, vous aurez probablement besoin de connaître la <em>POO</em>. Par exemple, si vous utilisez une bibliothèque tierce, telles que celles mises à disposition par <em>PHP Extension and Application Repository</em> (<em>PEAR</em>), vous vous trouverez dans l’obligation d’instancier des objets pour appeler des méthodes</p>
<p>Pour rappel, PHP Solutions est <strong>un magazine payant</strong>. Vous aurez le choix entre les abonnements suivants :</p>
<ul>
<li>Compte gratuit
<li>
<li>Abonnement annuel : 147.60€ (TVA inclus)</li>
</ul>
<p>Bonne lecture !</p>
 <p><a href="http://www.blog-nouvelles-technologies.fr/?flattrss_redirect&amp;id=15751&amp;md5=a56af6226fc3bead55b48b8f13202913" title="Flattr" target="_blank"><img src="http://www.blog-nouvelles-technologies.fr/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.blog-nouvelles-technologies.fr/archives/15751/php-solutions-the-best-of-php-solutions/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=lryo&amp;popout=1&amp;url=http%3A%2F%2Fwww.blog-nouvelles-technologies.fr%2Farchives%2F15751%2Fphp-solutions-the-best-of-php-solutions%2F&amp;language=fr_FR&amp;category=text&amp;title=PHP+Solutions+%26%238211%3B+The+Best+Of+PHP+Solutions&amp;description=Quoi+de+mieux+que+de+commencer+le+mois+avec+de+la+lecture%2C+et+plus+particuli%C3%A8rement+par+celle+du+magazine+PHP+Solutions+paru+en+fin+de+mois+dernier+%3F+En+effet%2C...&amp;tags=Best+Of%2Clecture%2CPHP%2Cphp+solutions%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Mon retour sur le Forum PHP 2012, première journée</title>
		<link>http://www.blog-nouvelles-technologies.fr/archives/14451/mon-retour-sur-le-forum-php-2012-premiere-journee/</link>
		<comments>http://www.blog-nouvelles-technologies.fr/archives/14451/mon-retour-sur-le-forum-php-2012-premiere-journee/#comments</comments>
		<pubDate>Thu, 07 Jun 2012 08:49:15 +0000</pubDate>
		<dc:creator>Yohann Poiron</dc:creator>
				<category><![CDATA[Actualités]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[conférences]]></category>
		<category><![CDATA[Forum PHP]]></category>
		<category><![CDATA[Forum PHP 2012]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[retour]]></category>

		<guid isPermaLink="false">http://www.blog-nouvelles-technologies.fr/?p=14451</guid>
		<description><![CDATA[Vous le savez peut-être déjà mais malheureusement le Forum PHP 2012 est déjà fini ! En effet, cet évènement absent du calendrier depuis novembre 2010, était très attendu et courtisé par les nombreux développeurs. Ce dernier est qualifié comme le plus grand événement national consacré à la plateforme PHP et aux technologies Web ! Et [...]]]></description>
				<content:encoded><![CDATA[<p class="dropcap-first">Vous le savez peut-être déjà mais malheureusement le <a href="http://www.blog-nouvelles-technologies.fr/evenements/au-coeur-du-forum-php-paris-2012/" >Forum PHP 2012</a> est déjà fini ! En effet, cet évènement absent du calendrier depuis novembre 2010, était très attendu et courtisé par les nombreux développeurs. Ce dernier est qualifié comme le plus grand <strong>événement national</strong> consacré à la plateforme <em>PHP</em> et aux technologies Web ! Et déjà, le premier constat que je peux faire c&rsquo;est qu&rsquo;au vue de la qualité des orateurs et des &laquo;&nbsp;geeks&nbsp;&raquo; ayant répondu à l&rsquo;appel, cet adjectif est bien choisi.</p>
<p>En effet, cette année encore le programme a été en ce sens ! Les thématiques principales annoncées étaient : <strong>&laquo;&nbsp;la performance, la qualité et les nouveaux usages&nbsp;&raquo;</strong>. Là encore, challenge réussi on a été servi !</p>
<p>Vous croyez que je ne vais qu’encenser l&rsquo;évènement dans cet article ? Non pas vraiment… Certes comme vous avez pu le lire je reviens très enthousiaste de cette édition, mais mon but de blogueur est aujourd&rsquo;hui de vous faire, ou refaire pour certains, vivre cet évènement comme si vous y étiez. Déjà, sachez que j&rsquo;ai rédigé un article assez conséquent, pour être bien dans le thème il représente environ 500 lignes de code <em>HTML</em>, qui regroupe mes différentes notes sur les conférences auxquelles j&rsquo;ai pu assister, ainsi que les liens vers les différentes présentations de chacun. À noter qu&rsquo;à l&rsquo;heure où j&rsquo;écris ces lignes, toutes n&rsquo;ont pas encore été publiées et j&rsquo;éditerais le billet pour les ajouter.</p>
<p>Mais à quoi sert cet article ? Ce dernier va simplement agréger et résumer les conférences pour lesquelles j&rsquo;ai été réellement attirées. De plus, je vais présenter les à côtés de l&rsquo;évènement.</p>
<p><img class="aligncenter" title="Mon retour sur le Forum PHP 2012, première journée" src="http://www.blog-nouvelles-technologies.fr/wp-content/uploads/2012/06/mon-retour-sur-le-forum-php-2012-premiere-journee-1.jpg" alt="Mon retour sur le Forum PHP 2012, première journée" /></p>
<p>Que serait un évènement &laquo;&nbsp;national&nbsp;&raquo; <em>PHP</em> sans le fondateur du langage ? Certes peut-être que ce dernier aurait le même effet, mais je dois dire qu&rsquo;<strong>écouter Rasmus Lerdorf c&rsquo;est quand même cool</strong>. Celui-ci a vanté les mérites de &laquo;&nbsp;son&nbsp;&raquo; language, scalabilité, performant, éprouvé, tout en plaçant subtilement une petite phrase humoristique <em>&laquo;&nbsp;PHP has 100% market share in the porn industry. And that makes a lot of PHP&nbsp;&raquo;</em>. Pour le future, PHP va tenter d&rsquo;améliorer la gestion de l&rsquo;Unicode et essentiellement apporter du sang neuf dans l&rsquo;équipe de développement. Enfin, Rasmus n&rsquo;a pas oublié de mentionner qu&rsquo;il est nécessaire de <strong>contribuer au langage</strong>, (<a target="_blank" href="https://bugs.php.net/" >rapport de bug</a>, d&rsquo;<a target="_blank" href="https://edit.php.net/" >éditer la documentation</a>, et de tester la dernière version afin d&rsquo;envoyer des <a target="_blank" href="https://qa.php.net/" >rapports d&rsquo;intégration</a>).<br />
Et puis, comme mot de conclusion il invite <strong>toutes les personnes ayant des instances de <em>PHP</em> inférieures à la version 5.3 de mettre à jour celles-ci</strong> les avantages sont innombrables.</p>
<p>Par la suite, après avoir assisté à la conférence de Grégoire sur comment tirer parti de Postgresql en <em>PHP</em> avec Pomm, j&rsquo;ai pu assister à celle intitulée &laquo;&nbsp;Anatomie du test&nbsp;&raquo; !<br />
Celle-ci, animée par Frédéric et Ivan, allez mettre en exergue un aspect fondamental pour tous les développeurs : les <strong>tests</strong>. Cette partie souvent mise de côté par les développeurs, et plus généralement par les chefs de projet qui imposent des contraintes de délais bien souvent trop courtes. Malheureusement, il ne faut pas voir les tests comme une contrainte, mais davantage comme une <strong>valeur ajoutée à votre projet</strong>. En effet, les tests unitaires valident les briques de base d&rsquo;une application. Si lancer des tests peut sembler quelque peu complexe, l&rsquo;utilisation d&rsquo;un <em>framework</em> simplifie emplacement la création de l&rsquo;exécution des tests, et permet en général la génération des rapports et collecte possiblement des métriques. À ce jour, on peut citer <a target="_blank" href="http://www.phpunit.de/" >PHPUnit</a>, certainement le plus connu, mais d&rsquo;autres tels qu&rsquo;<a target="_blank" href="https://github.com/mageekguy/atoum" >Atoum</a>, pour lequel je reviendrais dans un futur article dédié à ce dernier, <a target="_blank" href="http://hoa-project.net/" >Praspel</a>, <a target="_blank" href="http://jenkins-ci.org/" >Jenkins</a> ou encore <a target="_blank" href="http://behat.org/" >Behat</a> tirent leur épingle du jeu. Comme le mentionne Frédéric dans la présentation, il est très difficile de conseiller un <em>framework</em> de tests optimal, à part Atoum ! (normal il s&rsquo;agit de son bébé <img src='http://www.blog-nouvelles-technologies.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' title="Mon retour sur le Forum PHP 2012, première journée" /> ) En effet, vous allez devoir expérimenter, tester afin de faire votre choix et ainsi trouver celui que vous maitrisez le mieux et pour lequel vous êtes le plus efficace. Cependant, attention votre choix initial s&rsquo;avère quasi déterminent puisqu&rsquo;il est difficile de changer de <em>framework</em> de tests unitaires, ces derniers étant souvent incompatibles entre eux.<br />
Mais que faire alors ? Si le test a posteriori est à éviter puisqu&rsquo;il génère des API souvent inadaptées, l&rsquo;idée principale est donc de <strong>réaliser le test avant de coder</strong> ! Ce principe se nomme <em>TDD</em> (<em>Test Driven Development</em>) ! L&rsquo;idée est tout simple : une barre rouge on peut commencer à écrire du code, une barre verte, on écrit un nouveau test ! Ainsi, on commence par écrire des tests, et l&rsquo;écriture de ces derniers ne s&rsquo;arrête que lorsque le résultat désiré est obtenu !<br />
Le résultat dans tout ça ? Vous avez la <strong>garantie d&rsquo;avoir un code de qualité et vous évitez la régression</strong> !<br />
Mais comment ça marche ? En binôme, le ping-pong est l&rsquo;idéal ! Une personne code en premier le test, le second la méthode ! Attention par contre, cette méthode peut être fatigante. Veuillez l&rsquo;utiliser à bon escient. Le principal avantage, outre le faire d&rsquo;écrire du code efficace et testé, est que cela permet à tous d&rsquo;avoir une vision globale du projet et du code source. Le partage du savoir est indispensable dans un projet. Se restreindre à une partie s&rsquo;avère périlleuse.<br />
Au final mon client gagne quoi ? Il s&rsquo;agit d&rsquo;une question épineuse ! En effet, tous vos clients ne vont pas voir de suite le bénéfice et les coûts demandés pour la mise en place d&rsquo;une telle méthode de travail ! Mais attention, si cette partie n&rsquo;est pas financée par ces derniers, sachez que le principe du <em>TDD</em> va vous permettre de <strong>réduire considérablement les coûts dans le future</strong>. Qu&rsquo;y a-t-il de plus contraignant que de corriger un bug suite à une régression ?<br />
Pour conclure ? Manger du test et imposez-le dans vos équipes de développement. Vous vous ferez certainement pas des amis dans un premier temps, mais ces derniers vous remercieront dans le futur !</p>
<p>Après cette conférence qui place déjà la barre très haute, et au détour d&rsquo;un petit café et biscuit, on enchaine avec le &laquo;&nbsp;monitoring applicatif : Pourquoi et comment ?&nbsp;&raquo; animé par Kenny DITS ! Et là, la révélation de ce forum ! Du lourd, très lourd ! En effet, déjà fortement intéressé par la présence d&rsquo;un membre d&rsquo;M6 Web, pour qui j&rsquo;ai pu visualiser <a target="_blank" href="http://www.slideshare.net/kennydee" >différents <em>slides</em></a> sur les stratégies de l&rsquo;entreprise, je me retrouve parachuté dans une conférence dont j&rsquo;ai appris tout quasiment de A à Z (du moins dans la partie &laquo;&nbsp;comment&nbsp;&raquo;, le reste étant déjà un vécu professionnellement) ! Autrement dit, que du bonheur…<br />
Déjà, la première que l&rsquo;on se pose, c&rsquo;est pourquoi monitorer ? Les réponses peuvent être simples et évidentes mais celles-ci sont souvent omises : être alerté en cas de panne, et ce avant que ce soit les utilisateurs qui vous remontent l&rsquo;information, améliorer le support de la charge, ou encore <strong>trouver la ou les <em>RootCause</em> lors d&rsquo;un incident</strong>. De plus, &#8211; accessoirement &#8211; cela vous permet d&rsquo;avoir une vue globale de tous les projets, et de donner celle-ci aux développeurs.<br />
Que doit-on monitorer ? La réponse est un mot : tout ! En effet, plus vous allez avoir des métriques, plus vous allez pouvoir agir et analyser. Ainsi, comme exemple de métriques, vous allez retrouver les appels aux services applicatifs, la gestion des utilisateurs, l&rsquo;utilisation et le temps <em>SQL</em>, la consommation <em>CPU</em>, le temps d&rsquo;affichage des pages, les erreurs applicatives, ou encore l&rsquo;utilisation des caches&#8230;<br />
Comment monitorer ? Là est la partie la plus complexe de la présentation, mais là encore la réponse se résume à deux termes : <strong><a target="_blank" href="http://graphite.wikidot.com/" >Graphite</a> et <a target="_blank" href="https://github.com/etsy/statsd" >StatsD</a></strong> ! La première va respectivement s&rsquo;occuper de toute la partie exploitation des données, la seconde étant la partie cliente et serveur des données. StatsD qui se base sur le protocole <em>UDP</em>, <em>Fire &#038; Forget</em>, va ainsi s&rsquo;occuper d&rsquo;envoyer des <strong>paquets <em>UDP</em></strong> qui contiennent les données extraites au serveur NodeJS ! </p>
<blockquote><p>A network daemon that runs on the Node.js platform and listens for statistics, like counters and timers, sent over UDP and sends aggregates to one or more pluggable backend services (e.g., Graphite).</p></blockquote>
<p>Dès lors, <strong>Graphite va récupérer ces métriques à la demande</strong>. Il va ainsi pouvoir générer des graphiques, tels que le comptage de <code>select</code> en base de données, ou le taux de <em>HITS</em> par rapport aux <em>MISS</em> dans <em>memcached</em> ! C&rsquo;est un <strong><em>dashboard</em> extrêmement complet</strong>. À noter qu&rsquo;il est possible de faire son propre <em>dashboard</em>, selon les métriques à extraire qui nous intéressent. Vous allez également retrouver un marqueur de mise en production et de fait analyser les potentielles anomalies suite à la mise à jour de votre application.<br />
Au final j&rsquo;obtiens quoi ? Avec la combinaison de ces deux outils, vous allez avoir la possibilité de sortir des métriques brutes, mais également de cibler très précisément les sites qui ont été mis à jour, et déterminer très exactement d&rsquo;où vient l&rsquo;erreur, si erreur il y a. Vous allez ainsi diminuer considérablement le nombre d&rsquo;anomalies applications.</p>
<p>C&rsquo;est le temps de la pause déjeuner ! Bien rangé en pile FIFO, nous récupérons sagement notre repas ! Avalé en deux temps trois mouvements, et après avoir rechargé également les batteries du Mac il est temps de faire un petit tour dehors ! Pourquoi je vous mentionne ceci ? Tout simplement pour vous dire que le cadre était vraiment extra ! On a pas enfermé des &laquo;&nbsp;geeks&nbsp;&raquo; dans une cave, où encore dans un hangar, mais bien dans un <strong>superbe château</strong> avec un grand parc à la Cité Universitaire Internationale !</p>
<p>14h, c&rsquo;est l&rsquo;heure de reprendre ! Julien en profite pour nous parler de l&rsquo;anatomie, le fonctionnement et les performances de <em>PHP</em>. S&rsquo;il est nécessaire de retenir une phrase c&rsquo;est celle-ci : <em>&laquo;&nbsp;PHP n&rsquo;est pas responsable de la lenteur, seulement si l&rsquo;on code mal !&nbsp;&raquo;</em>. Je vous recommande de lire mes notes pour en apprendre davantage, celles-ci étant assez exhaustive. De plus, Julien a déjà mis les <a target="_blank" href="http://www.slideshare.net/jpauli/anatomie-et-performances-de-php" ><em>slides</em> en ligne</a> alors autant en profiter.<br />
Ensuite, j&rsquo;assiste à la session de Jean-Marc qui nous parle de la gestion des dépendances dans un projet <em>PHP</em>. On y découvre, pour la première fois mais pas la dernière sur ce forum, <a target="_blank" href="http://getcomposer.org/" >Composer</a>. C&rsquo;est incontestablement l&rsquo;attraction de ce forum ! S&rsquo;il s&rsquo;agit d&rsquo;un <strong>projet récent, celui-ci se veut très actif</strong> aujourd&rsquo;hui. Il dispose de trois principaux outils : un gestionnaire de paquets en ligne de commande (comme <code>pear</code>, <code>apt-get</code>, &#8230;), <a target="_blank" href="http://packagist.org/" >Packagist</a> qui contient les librairies (les majeures se retrouvent intégrées à ce dernier &#8211; adoption croissante, sources variées : <em>Git</em>, <em>SVN</em>, <em>Mercurial</em>, &#8230;) et enfin <a target="_blank" href="http://packagist.org/packages/composer/satis" >Satis</a> qui offre une distribution aisée de vos propres paquets. Si à l&rsquo;heure actuelle il est possible de se brancher sur la version de développement ainsi que la version alpha 3, une version stable est en vue !<br />
Au final, l&rsquo;utilisation de Composer va, côté client, permettre de <strong>récupérer très simplement un projet</strong>, et du côté du distributeur, d&rsquo;<strong>utiliser simplement le <code>composer.json</code></strong>, où plutôt de coder votre propre fichier de déploiement. De plus, veuillez noter que vous avez la possibilité de créer votre fichier à partir d&rsquo;un modèle.</p>
<p>L&rsquo;avant dernière conférence de la journée est animée par Antonio Fontes, et concerne la modélisation des menaces d&rsquo;une application web avec une étude de cas. Plutôt qu&rsquo;un long discours, je ne peux que vous recommander de lire les <a target="_blank" href="http://www.slideshare.net/starbuck3000/modliser-les-menaces-dune-application-web" ><em>slides</em> de sa conférence</a>, vous avez tout ! Puis, on finit par les fonctions avancés du driver <em>MySQL</em> natif pour <em>PHP</em>. Dans celle-ci on y découvre <code>mysqlnd</code>, le <strong>driver <em>MySQL</em> natif dans le cœur de <em>PHP 5.4</em></strong> ! À noter que ce driver est déjà existant dans la version de <em>PHP 5.3</em>, cependant vous devrez recompiler <em>PHP</em> pour l&rsquo;activer et l&rsquo;exécuter.<br />
Côté fonctionnalité, vous allez retrouver des améliorations de la connexion persistante, le support du <em>SSL</em>, la possibilité d&rsquo;utiliser <code>mysqli_fetch_all()</code> pour récupérer un ensemble de résultat et une gestion asynchrone <code>mysqli_poll</code>. Enfin, dernier élément à noter, c&rsquo;est que le driver est extensible grâce à des extensions. Le seul hic, c&rsquo;est qu&rsquo;actuellement il est seulement possible d&rsquo;en concevoir en C…</p>
<p>Ainsi s&rsquo;achève cette première journée riche en découverte ! Autant vous dire que j&rsquo;avais réellement envie d&rsquo;être à la seconde de suite&#8230; J&rsquo;y reviendrais certainement demain dans un prochain article&#8230;</p>
<p>Si vous avez des questions, des interrogations sur les conférences et plus particulièrement les résumés que je viens de faire, n&rsquo;hésitez pas à poser vos questions à la suite de cet article je tenterais d&rsquo;y répondre, et dans le pire des cas je demanderais à l&rsquo;orateur d&rsquo;intervenir. </p>
 <p><a href="http://www.blog-nouvelles-technologies.fr/?flattrss_redirect&amp;id=14451&amp;md5=ce2d5ae6cf009e9232bb617d00da46c1" title="Flattr" target="_blank"><img src="http://www.blog-nouvelles-technologies.fr/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.blog-nouvelles-technologies.fr/archives/14451/mon-retour-sur-le-forum-php-2012-premiere-journee/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=lryo&amp;popout=1&amp;url=http%3A%2F%2Fwww.blog-nouvelles-technologies.fr%2Farchives%2F14451%2Fmon-retour-sur-le-forum-php-2012-premiere-journee%2F&amp;language=fr_FR&amp;category=text&amp;title=Mon+retour+sur+le+Forum+PHP+2012%2C+premi%C3%A8re+journ%C3%A9e&amp;description=Vous+le+savez+peut-%C3%AAtre+d%C3%A9j%C3%A0+mais+malheureusement+le+Forum+PHP+2012+est+d%C3%A9j%C3%A0+fini+%21+En+effet%2C+cet+%C3%A9v%C3%A8nement+absent+du+calendrier+depuis+novembre+2010%2C+%C3%A9tait+tr%C3%A8s+attendu+et+courtis%C3%A9...&amp;tags=conf%C3%A9rences%2CForum+PHP%2CForum+PHP+2012%2CPHP%2Cretour%2Cblog" type="text/html" />
	</item>
		<item>
		<title>PHP 5.4.3 et PHP 5.3.13 publiées venant corriger la faille CVE-2012-1823</title>
		<link>http://www.blog-nouvelles-technologies.fr/archives/13308/php-5-4-3-et-php-5-3-13-publiees-venant-corriger-la-faille-cve-2012-1823/</link>
		<comments>http://www.blog-nouvelles-technologies.fr/archives/13308/php-5-4-3-et-php-5-3-13-publiees-venant-corriger-la-faille-cve-2012-1823/#comments</comments>
		<pubDate>Wed, 09 May 2012 11:56:58 +0000</pubDate>
		<dc:creator>Yohann Poiron</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[CGI]]></category>
		<category><![CDATA[CVE-2012-1823]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP 5.3.13]]></category>
		<category><![CDATA[PHP 5.4.3]]></category>
		<category><![CDATA[sécurité]]></category>
		<category><![CDATA[vulnérabilité]]></category>

		<guid isPermaLink="false">http://www.blog-nouvelles-technologies.fr/?p=13308</guid>
		<description><![CDATA[Une brève rapide pour vous indiquer que les développeurs de PHP ont publié la troisième mise à jour pour PHP 5.4 (5.4.3), la dernière version de leur populaire langage de script, et une mise à jour de PHP 5.3 (5.3.13), l&#8217;ancienne branche stable du langage. Les développeurs indiquent que tous les utilisateurs de PHP sont [...]]]></description>
				<content:encoded><![CDATA[<p class="dropcap-first">Une brève rapide pour vous indiquer que les développeurs de <em>PHP</em> <a target="_blank" href="http://www.php.net/archive/2012.php#id2012-05-08-1" >ont publié</a> la troisième mise à jour pour <em>PHP 5.4</em> (<em>5.4.3</em>), la dernière version de leur populaire langage de script, et une mise à jour de <em>PHP 5.3</em> (<em>5.3.13</em>), l&rsquo;ancienne branche stable du langage. Les développeurs indiquent que <strong>tous les utilisateurs de PHP sont fortement encouragés à mettre à jour</strong> leurs instances vers ces nouvelles versions.</p>
<p>Alors que le groupe <em>PHP</em> avait publié en urgence les mises à jour de <em>PHP 5.3.12</em> et <em>PHP 5.4.2</em> pour corriger des failles, celles-ci s&rsquo;étaient avérées inefficaces. En effet, le 9 mai dernier, Stefan Esser, le créateur de Suhosin une extension de sécurité pour <em>PHP</em>, a indiqué via Twitter que le correctif <em>CVE-2012-1823</em> inclus dans <em>PHP 5.3.12</em> et <em>PHP 5.4.2</em> peut facilement être contourné :</p>
<blockquote class="twitter-tweet tw-align-center" lang="fr"><p>The security emergency release to fix the PHP CGI RCE (that was tested for days&#8230;) does not fix anything at all.</p>
<p>&mdash; Stefan Esser (@i0n1c) <a target="_blank" href="https://twitter.com/i0n1c/status/198158078913417216"  data-datetime="2012-05-03T21:12:22+00:00">Mai 3, 2012</a></p></blockquote>
<p><script src="//platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<p>Le groupe avait alors reconnu l&rsquo;inefficacité de son patch et prévoyait une mise à jour le plus rapidement possible, chose faite aujourd&rsquo;hui !<br />
Pour rappel, un grand nombre de sites à travers le monde sont menacés par une vulnérabilité non corrigée dans le langage de script <em>PHP</em> et dont de nombreux hackers ont déjà exploité celle-ci afin de prendre à distance le contrôle de serveurs sous-jacents.<br />
Pour empirer les choses, tous les détails du bug ont été rendus public la semaine dernière, donnant aux hackers tout ce qu&rsquo;il faut pour localiser et exploiter les sites vulnérables.</p>
<p><strong>Les attaques d&rsquo;exécution de code menacent des sites Web <em>PHP</em> seulement si ces derniers fonctionnent en mode <em>CGI</em> (Common Gateway)</strong>. Personne ne sait exactement combien de sites sont actuellement à risque, tout simplement car ces derniers doivent également répondre à plusieurs autres critères pour être vulnérables, y compris de ne pas avoir un pare-feu qui bloque certains ports. Néanmoins, les sites fonctionnant avec <em>PHP</em> configuré en <em>CGI</em> sur le serveur web Apache sont par défaut vulnérables aux attaques ce qui permet aisément aux pirates d&rsquo;exécuter du code par des portes dérobées ou de télécharger des fichiers contenant des données sensibles des utilisateurs. Ainsi, il était simple de dévoiler du code source depuis les scripts <em>PHP</em> !</p>
<p>Les mises à jour proposées aujourd&rsquo;hui par le groupe PHP, <strong>les versions <em>5.4.3</em> et <em>5.3.13</em> viennent donc corriger définitivement ces deux failles capables de générer une exécution de code à distance</strong>. Ainsi, la faille connue sous le nom CVE-2012-1823 dans <code>php-cgi</code>, est un bug qui change l&rsquo;interprétation de la chaîne de caractères contenant <code>- </code> pour que le composant <code>php-cgi</code> puisse gérer des lignes de commandes, comme <code>-s</code>, <code>-d</code>, <code>-c</code>.<br />
Cela peut, par exemple, provoquer des serveurs affectés à retourner le code source d&rsquo;une page si la chaîne de caractères <code>?-s</code> est fixée à la fin d&rsquo;une URL (par exemple <em>http://www.blog-nouvelles-technologies.fr/?-s</em>). Le code peut également être exécuté <a target="_blank" href="http://blog.spiderlabs.com/2012/05/php-cgi-exploitation-by-example.html" >de cette façon</a>.</p>
<p>Avec la sortie des versions <em>5.3.13</em> et <em>5.4.3</em>, les développeurs ont renouvelé leur promesse que <strong>le bug est désormais fixé</strong>, et que les premiers tests s&rsquo;avèrent concluants. Un dépassement du tampon dans la fonction <code>apache_request_headers</code> a également été fixé à la branche <em>5.4</em>.</p>
<p>Pendant ce temps, Facebook a pris l&rsquo;opportunité d&rsquo;utiliser la faille <em>CGI</em> pour ses propres fins. Les visiteurs de la page <a target="_blank" href="http://facebook.com/?-s" >http://facebook.com/?-s</a> pourront retrouver le code <em>PHP</em> qui les dirigeront vers une page de recrutement d&rsquo;un ingénieur de sécurité.</p>
<p><img class="aligncenter" title="PHP 5.4.3 et PHP 5.3.13 publiées venant corriger la faille CVE-2012-1823 - Facebook s'amuse avec la faille CGI" src="http://www.blog-nouvelles-technologies.fr/wp-content/uploads/2012/05/php-5-4-3-et-php-5-3-13-publiees-venant-corriger-la-faille-cve-2012-1823-1.png" alt="PHP 5.4.3 et PHP 5.3.13 publiées venant corriger la faille CVE-2012-1823 - Facebook s'amuse avec la faille CGI" /></p>
<p>Pour les téléchargements de sources de <em>PHP 5.4.3</em> et <em>PHP 5.3.13</em> rendez-vous sur la <a target="_blank" href="http://www.php.net/downloads.php" >page de téléchargements de PHP</a>, les binaires Windows peuvent être trouvés sur <a target="_blank" href="http://windows.php.net/download/" >windows.php.net/download/</a>. La liste des modifications sont enregistrées dans le <a target="_blank" href="http://www.php.net/ChangeLog-5.php" >ChangeLog</a>.</p>
<p>Avez-vous fait la mise à jour ? Votre site était-il impacté ? Venez réagir&#8230;</p>
 <p><a href="http://www.blog-nouvelles-technologies.fr/?flattrss_redirect&amp;id=13308&amp;md5=55020a564d903458fdb0419488bd8385" title="Flattr" target="_blank"><img src="http://www.blog-nouvelles-technologies.fr/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.blog-nouvelles-technologies.fr/archives/13308/php-5-4-3-et-php-5-3-13-publiees-venant-corriger-la-faille-cve-2012-1823/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=lryo&amp;popout=1&amp;url=http%3A%2F%2Fwww.blog-nouvelles-technologies.fr%2Farchives%2F13308%2Fphp-5-4-3-et-php-5-3-13-publiees-venant-corriger-la-faille-cve-2012-1823%2F&amp;language=fr_FR&amp;category=text&amp;title=PHP+5.4.3+et+PHP+5.3.13+publi%C3%A9es+venant+corriger+la+faille+CVE-2012-1823&amp;description=Une+br%C3%A8ve+rapide+pour+vous+indiquer+que+les+d%C3%A9veloppeurs+de+PHP+ont+publi%C3%A9+la+troisi%C3%A8me+mise+%C3%A0+jour+pour+PHP+5.4+%285.4.3%29%2C+la+derni%C3%A8re+version+de+leur+populaire+langage+de...&amp;tags=CGI%2CCVE-2012-1823%2CPHP%2CPHP+5.3.13%2CPHP+5.4.3%2Cs%C3%A9curit%C3%A9%2Cvuln%C3%A9rabilit%C3%A9%2Cblog" type="text/html" />
	</item>
	</channel>
</rss>
