<?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>William&#039;s Blog &#187; Ma vie</title> <atom:link href="http://www.willdurand.fr/category/ma-vie/feed/" rel="self" type="application/rss+xml" /><link>http://www.willdurand.fr</link> <description>Développeur web indépendant, étudiant et passionné ! #Symfony2 #Rails #Diem #Git #Nginx #WebPerfs #SoftwareQuality</description> <lastBuildDate>Thu, 20 Oct 2011 14:59:05 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <item><title>Symfony live 2011</title><link>http://www.willdurand.fr/symfony-live-2011/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=symfony-live-2011</link> <comments>http://www.willdurand.fr/symfony-live-2011/#comments</comments> <pubDate>Wed, 02 Mar 2011 17:05:58 +0000</pubDate> <dc:creator>Will</dc:creator> <category><![CDATA[Ma vie]]></category> <category><![CDATA[symfony]]></category> <category><![CDATA[conférence]]></category> <category><![CDATA[Symfony]]></category> <category><![CDATA[symfony-live]]></category> <category><![CDATA[Symfony2]]></category><guid
isPermaLink="false">http://www.willdurand.fr/?p=825</guid> <description><![CDATA[J&#8217;y serai ! Voilà en gros tout ce que j&#8217;avais à dire dans cet article Pour étoffer un peu, Symfony Live c&#8217;est la conférence tendance pour les gens qui aiment [s&#124;S]ymfony, qui aiment PHP (pourquoi pas ?) et qui aiment bien discuter et écouter de bonnes conférences. C&#8217;est organisé par Sensio Labs, agence que l&#8217;on [...]]]></description> <content:encoded><![CDATA[<p
style="text-align: justify;"><strong>J&#8217;y serai !</strong></p><p
style="text-align: justify;">Voilà en gros tout ce que j&#8217;avais à dire dans cet article <img
src='http://www.willdurand.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> Pour étoffer un peu, <a
href="http://symfony-live.com">Symfony Live</a> c&#8217;est la conférence tendance pour les gens qui aiment <strong>[s|S]ymfony</strong>, qui aiment PHP (pourquoi pas ?) et qui aiment bien discuter et écouter de bonnes conférences. C&#8217;est organisé par <a
href="http://sensiolabs.com">Sensio Labs</a>, agence que l&#8217;on ne présente plus, ça se déroule les 3 et 4 mars à Paris (Cité Internationale Universitaire) et c&#8217;est à peu près tout ce qu&#8217;il faut savoir.</p><p
style="text-align: justify;">Le vendredi soir, il y aura un meetup <strong>Github</strong> je ne sais trop où, comme d&#8217;hab&#8217; je vais essayer de pas me perdre dans Paris (d&#8217;ailleurs j&#8217;espère que mon stage me permettra également de me repérer un peu dans Paris&#8230;). Il y aura des conférences doublées donc comme au Forum PHP, il faudra faire des choix. J&#8217;ai fait quelques choix, les voici :</p><h2 style="text-align: justify;">Jeudi</h2><p
style="text-align: justify;">10h30-11h20 : Je ne sais pas&#8230;</p><p
style="text-align: justify;">11h30-12h20 : <a
href="http://www.symfony-live.com/paris/schedule#session-xl1">Restful avec symfony et Symfony2</a> par deux compères de CleverAge : Xavier Lacot et Damien Alexandre.</p><p
style="text-align: justify;">13h30-14h20 : <a
href="http://www.symfony-live.com/paris/schedule#session-sc1">Contributing with Git : Reducing the frictions of Open Source collaboration with the Git VCS</a> par Scott Chacon (ce mec travaille chez <a
href="http://www.github.com">Github</a> !!)</p><p
style="text-align: justify;">14h30-15h20 : je ne sais pas.</p><p
style="text-align: justify;">15h30-16h20 : je ne sais pas non plus.</p><p
style="text-align: justify;">16h30-17h20 : <a
href="http://www.symfony-live.com/paris/schedule#session-bs2">Leveraging Symfony2 Forms</a> par Bernhard Schussek (histoire de pas galérer sur les forms&#8230;)</p><h2 style="text-align: justify;">Vendredi</h2><p
style="text-align: justify;">8h30-9h20 : <a
href="http://www.symfony-live.com/paris/schedule#session-lksjw1">Symfony2 &#8211; from the trenches</a> par Lukas Kahwe Smith et Jonathan Wage (le titre déchirait !)</p><p
style="text-align: justify;">9h30-10h20 : <a
href="http://www.symfony-live.com/paris/schedule#session-kw1">Introducing Assetic: Asset Management for PHP 5.3</a> par Kris Wallsmith.</p><p
style="text-align: justify;">10h30-11h20 : <a
href="http://www.symfony-live.com/paris/schedule#session-fp1">HTTP Cache</a> par <del>dieu</del> Fabien Potencier. (Et là, ce fût le plus gros dilemme&#8230;. Je voulais tellement voir cette conférence sur Solr <img
src='http://www.willdurand.fr/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> )</p><p
style="text-align: justify;">11h30-12h20 : <a
href="http://www.symfony-live.com/paris/schedule#session-kl1">Varnish Cache and you</a> par Kristian Lyngstøl.</p><p
style="text-align: justify;">13h30-14h20 : <a
href="http://www.symfony-live.com/paris/schedule#session-hh1">Symfony2 en pièces détachées !</a> par Hugo Hamon. La conf&#8217; sur Twig semble sympa mais je pense qu&#8217;il y a plus à apprendre de l&#8217;ami Hugo.</p><p
style="text-align: justify;">14h30-15h20 : <a
href="http://www.symfony-live.com/paris/schedule#session-jw1">Doctrine in the Real World</a> par Jonathan Wage (encore !)</p><p
style="text-align: justify;">15h30-16h20 : <a
href="http://www.symfony-live.com/paris/schedule#session-ll1">Jeux sociaux, Symfony et Cloud Computing</a> par Laurent Letourmy (je les avais zappé lors du Forum PHP, je me rattrape ici).</p><p
style="text-align: justify;">16h30-17h20 : <a
href="http://www.symfony-live.com/paris/schedule#session-ar1">Iscool Story</a> par Alexandre Rodière et Bertrand Tornil (Weka again).</p><p
style="text-align: justify;">&nbsp;</p><p
style="text-align: justify;">Voilà, ce planning est susceptible de changer mais certainement pas trop. Je ferai comme d&#8217;hab&#8217; un résumé de chaque journée et pour chaque conférence vue.</p><p
style="text-align: justify;">A demain pour certain <img
src='http://www.willdurand.fr/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /></p><h3 class='related_post_title'>Related Posts</h3><ul
class='related_post'><li><a
href='http://www.willdurand.fr/symfony-live-2011-journee-2/' title='Symfony live 2011 &#8211; Journée 2'>Symfony live 2011 &#8211; Journée 2</a></li><li><a
href='http://www.willdurand.fr/symfony-live-2011-journee-1/' title='Symfony live 2011 &#8211; Journée 1'>Symfony live 2011 &#8211; Journée 1</a></li><li><a
href='http://www.willdurand.fr/tests-unitaires-et-fonctionnels-sur-un-bundle-en-symfony2/' title='Tests unitaires et fonctionnels sur un Bundle en Symfony2'>Tests unitaires et fonctionnels sur un Bundle en Symfony2</a></li><li><a
href='http://www.willdurand.fr/symfony-jenkins-co/' title=' Symfony, Jenkins &amp; co'> Symfony, Jenkins &#038; co</a></li><li><a
href='http://www.willdurand.fr/symfony-rencontre-hudson-mantis-et-les-autres/' title='symfony rencontre Hudson, Mantis et les autres'>symfony rencontre Hudson, Mantis et les autres</a></li></ul> <a
rel="nofollow" target="_blank"  href="http://www.printfriendly.com/print/new?url=http%3A%2F%2Fwww.willdurand.fr%2Fsymfony-live-2011%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/printfriendly.png" class="sociable-img sociable-hovers" title="Print" alt="Print" /></a><a
rel="nofollow" target="_blank"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.willdurand.fr%2Fsymfony-live-2011%2F&amp;title=Symfony%20live%202011&amp;bodytext=J%27y%20serai%20%21%0D%0AVoil%C3%A0%20en%20gros%20tout%20ce%20que%20j%27avais%20%C3%A0%20dire%20dans%20cet%20article%20%3A-%29%20Pour%20%C3%A9toffer%20un%20peu%2C%20Symfony%20Live%20c%27est%20la%20conf%C3%A9rence%20tendance%20pour%20les%20gens%20qui%20aiment%20%5Bs%7CS%5Dymfony%2C%20qui%20aiment%20PHP%20%28pourquoi%20pas%20%3F%29%20et%20qui%20aiment%20bien%20discuter%20et%20%C3%A9coute" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a><a
rel="nofollow" target="_blank"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.willdurand.fr%2Fsymfony-live-2011%2F&amp;title=Symfony%20live%202011" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a><a
rel="nofollow" target="_blank"  href="http://delicious.com/post?url=http%3A%2F%2Fwww.willdurand.fr%2Fsymfony-live-2011%2F&amp;title=Symfony%20live%202011&amp;notes=J%27y%20serai%20%21%0D%0AVoil%C3%A0%20en%20gros%20tout%20ce%20que%20j%27avais%20%C3%A0%20dire%20dans%20cet%20article%20%3A-%29%20Pour%20%C3%A9toffer%20un%20peu%2C%20Symfony%20Live%20c%27est%20la%20conf%C3%A9rence%20tendance%20pour%20les%20gens%20qui%20aiment%20%5Bs%7CS%5Dymfony%2C%20qui%20aiment%20PHP%20%28pourquoi%20pas%20%3F%29%20et%20qui%20aiment%20bien%20discuter%20et%20%C3%A9coute" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/delicious.png" class="sociable-img sociable-hovers" title="del.icio.us" alt="del.icio.us" /></a><a
rel="nofollow" target="_blank"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.willdurand.fr%2Fsymfony-live-2011%2F&amp;t=Symfony%20live%202011" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a><a
rel="nofollow" target="_blank"  href="http://twitter.com/home?status=Symfony%20live%202011%20-%20http%3A%2F%2Fwww.willdurand.fr%2Fsymfony-live-2011%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a><a
rel="nofollow" target="_blank"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.willdurand.fr%2Fsymfony-live-2011%2F&amp;title=Symfony%20live%202011&amp;annotation=J%27y%20serai%20%21%0D%0AVoil%C3%A0%20en%20gros%20tout%20ce%20que%20j%27avais%20%C3%A0%20dire%20dans%20cet%20article%20%3A-%29%20Pour%20%C3%A9toffer%20un%20peu%2C%20Symfony%20Live%20c%27est%20la%20conf%C3%A9rence%20tendance%20pour%20les%20gens%20qui%20aiment%20%5Bs%7CS%5Dymfony%2C%20qui%20aiment%20PHP%20%28pourquoi%20pas%20%3F%29%20et%20qui%20aiment%20bien%20discuter%20et%20%C3%A9coute" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/googlebookmark.png" class="sociable-img sociable-hovers" title="Google Bookmarks" alt="Google Bookmarks" /></a><a
rel="nofollow" target="_blank"  href="http://www.friendfeed.com/share?title=Symfony%20live%202011&amp;link=http%3A%2F%2Fwww.willdurand.fr%2Fsymfony-live-2011%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/friendfeed.png" class="sociable-img sociable-hovers" title="FriendFeed" alt="FriendFeed" /></a><a
rel="nofollow" target="_blank"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.willdurand.fr%2Fsymfony-live-2011%2F&amp;title=Symfony%20live%202011&amp;source=William%26%23039%3Bs+Blog+D%C3%A9veloppeur+web+ind%C3%A9pendant%2C+%C3%A9tudiant+et+passionn%C3%A9+%21+%23Symfony2+%23Rails+%23Diem+%23Git+%23Nginx+%23WebPerfs+%23SoftwareQuality&amp;summary=J%27y%20serai%20%21%0D%0AVoil%C3%A0%20en%20gros%20tout%20ce%20que%20j%27avais%20%C3%A0%20dire%20dans%20cet%20article%20%3A-%29%20Pour%20%C3%A9toffer%20un%20peu%2C%20Symfony%20Live%20c%27est%20la%20conf%C3%A9rence%20tendance%20pour%20les%20gens%20qui%20aiment%20%5Bs%7CS%5Dymfony%2C%20qui%20aiment%20PHP%20%28pourquoi%20pas%20%3F%29%20et%20qui%20aiment%20bien%20discuter%20et%20%C3%A9coute" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/linkedin.png" class="sociable-img sociable-hovers" title="LinkedIn" alt="LinkedIn" /></a><a
rel="nofollow" target="_blank"  href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fwww.willdurand.fr%2Fsymfony-live-2011%2F&amp;t=Symfony%20live%202011" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/myspace.png" class="sociable-img sociable-hovers" title="MySpace" alt="MySpace" /></a><a
rel="nofollow" target="_blank"  href="http://www.netvibes.com/share?title=Symfony%20live%202011&amp;url=http%3A%2F%2Fwww.willdurand.fr%2Fsymfony-live-2011%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/netvibes.png" class="sociable-img sociable-hovers" title="Netvibes" alt="Netvibes" /></a><a
rel="nofollow" target="_blank"  href="http://www.printfriendly.com/print/new?url=http%3A%2F%2Fwww.willdurand.fr%2Fsymfony-live-2011%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/pdf.png" class="sociable-img sociable-hovers" title="PDF" alt="PDF" /></a><a
rel="nofollow" target="_blank"  href="http://ping.fm/ref/?link=http%3A%2F%2Fwww.willdurand.fr%2Fsymfony-live-2011%2F&amp;title=Symfony%20live%202011&amp;body=J%27y%20serai%20%21%0D%0AVoil%C3%A0%20en%20gros%20tout%20ce%20que%20j%27avais%20%C3%A0%20dire%20dans%20cet%20article%20%3A-%29%20Pour%20%C3%A9toffer%20un%20peu%2C%20Symfony%20Live%20c%27est%20la%20conf%C3%A9rence%20tendance%20pour%20les%20gens%20qui%20aiment%20%5Bs%7CS%5Dymfony%2C%20qui%20aiment%20PHP%20%28pourquoi%20pas%20%3F%29%20et%20qui%20aiment%20bien%20discuter%20et%20%C3%A9coute" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/ping.png" class="sociable-img sociable-hovers" title="Ping.fm" alt="Ping.fm" /></a><a
rel="nofollow" target="_blank"  href="http://www.willdurand.fr/feed/" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/rss.png" class="sociable-img sociable-hovers" title="RSS" alt="RSS" /></a><a
rel="nofollow" target="_blank"  href="http://technorati.com/faves?add=http%3A%2F%2Fwww.willdurand.fr%2Fsymfony-live-2011%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/technorati.png" class="sociable-img sociable-hovers" title="Technorati" alt="Technorati" /></a><a
rel="nofollow" target="_blank"  href="http://www.viadeo.com/shareit/share/?url=http%3A%2F%2Fwww.willdurand.fr%2Fsymfony-live-2011%2F&title=Symfony%20live%202011&urllanguage=fr" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/viadeo.png" class="sociable-img sociable-hovers" title="viadeo FR" alt="viadeo FR" /></a><a
rel="nofollow" target="_blank"  href="http://www.wikio.com/vote?url=http%3A%2F%2Fwww.willdurand.fr%2Fsymfony-live-2011%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/wikio.png" class="sociable-img sociable-hovers" title="Wikio" alt="Wikio" /></a><a
rel="nofollow" target="_blank"  href="http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Fwww.willdurand.fr%2Fsymfony-live-2011%2F&amp;submitHeadline=Symfony%20live%202011&amp;submitSummary=J%27y%20serai%20%21%0D%0AVoil%C3%A0%20en%20gros%20tout%20ce%20que%20j%27avais%20%C3%A0%20dire%20dans%20cet%20article%20%3A-%29%20Pour%20%C3%A9toffer%20un%20peu%2C%20Symfony%20Live%20c%27est%20la%20conf%C3%A9rence%20tendance%20pour%20les%20gens%20qui%20aiment%20%5Bs%7CS%5Dymfony%2C%20qui%20aiment%20PHP%20%28pourquoi%20pas%20%3F%29%20et%20qui%20aiment%20bien%20discuter%20et%20%C3%A9coute&amp;submitCategory=science&amp;submitAssetType=text" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/yahoobuzz.png" class="sociable-img sociable-hovers" title="Yahoo! Buzz" alt="Yahoo! Buzz" /></a><br
/><br
/>]]></content:encoded> <wfw:commentRss>http://www.willdurand.fr/symfony-live-2011/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>#forumPHP : résumé de ma seconde journée</title><link>http://www.willdurand.fr/forumphp-resume-de-la-seconde-journee/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=forumphp-resume-de-la-seconde-journee</link> <comments>http://www.willdurand.fr/forumphp-resume-de-la-seconde-journee/#comments</comments> <pubDate>Sun, 21 Nov 2010 15:58:42 +0000</pubDate> <dc:creator>Will</dc:creator> <category><![CDATA[ForumPHP]]></category> <category><![CDATA[Ma vie]]></category> <category><![CDATA[PHP]]></category><guid
isPermaLink="false">http://www.willdurand.fr/?p=784</guid> <description><![CDATA[Second jour au forum PHP, très enrichissant. Voici le résumé de ma journée, un peu mieux synthétisé que la première journée. Déboguer son code avec Xdebug Présenté par Derick Rethans L&#8217;auteur de l&#8217;excellent Xdebug fait une présentation des possibilités de l&#8217;outil. On y apprend la possibilité de renvoyer les fichiers défaillants dans vim directement, configurer [...]]]></description> <content:encoded><![CDATA[<p
style="text-align: justify;">Second jour au forum PHP, très enrichissant. Voici le résumé de ma journée, un peu mieux synthétisé que <a
href="http://www.willdurand.fr/forumphp-resume-de-ma-premiere-journee/">la première journée</a>.</p><p
style="text-align: justify;"></p><h2 style="text-align: justify;">Déboguer son code avec Xdebug</h2><p
style="text-align: justify;"><em>Présenté par Derick Rethans</em></p><p
style="text-align: justify;"></p><p
style="text-align: justify;">L&#8217;auteur de l&#8217;excellent Xdebug fait une présentation des possibilités de l&#8217;outil. On y apprend la possibilité de renvoyer les fichiers défaillants dans vim directement, configurer l&#8217;affichage de la trace d&#8217;exécution, &#8230; Mais surtout un paramètre que je ne connaissais pas : <em>xdebug.scream</em> qui permet d&#8217;ignorer les &#8216;@&#8217; avant les fonctions (le &#8216;@&#8217; cache initialement les erreurs et avertissements). C&#8217;est un peu une tuerie pour le développeur car pas mal de projets (notamment certains CMS) utilisent cette astuce pour cacher la misère <img
src='http://www.willdurand.fr/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /></p><p
style="text-align: justify;">Xdebug permet de profiler son application et génère un fichier  exploitable soit avec un fichier PHP fourni sur le site de Xebug, soit avec KCacheGrind soit avec WebGrind (comme son nom l&#8217;indique c&#8217;est une application web).</p><p
style="text-align: justify;">Ensuite, Derick nous parle de la couverture de code avec son outil. Puis, grosse surprise (pour moi), la possibilité de déboguer pas à pas son application PHP. On utilise pour cela GTK DBGp ou des plugins Firefox/Chrome. Voilà encore quelque chose que l&#8217;on pouvait reprocher à PHP et qui est résorbé <img
src='http://www.willdurand.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p><p
style="text-align: justify;"></p><p
style="text-align: justify;"><em>Mon avis : Très bonne conférence, très bon outil et quelques astuces à tester. Parfait donc.</em></p><p
style="text-align: justify;"></p><h2 style="text-align: justify;">Un site web performant, tout est dans le réseau et le navigateur</h2><p
style="text-align: justify;"><em>Présenté par Eric Daspet</em></p><p
style="text-align: justify;"></p><p
style="text-align: justify;">Cette conférence m&#8217;est familière, je suis Eric depuis longtemps et je suis également très sensible aux problématiques de performances, en particulier au niveau <strong>frontend</strong>. C&#8217;est l&#8217;objet de cette conférence. On part sur un constat clair : tout se joue lors du chargement, peut importe ce qu&#8217;il y a côté backend (serveur et application) qui représente 5% du chargement total d&#8217;une page. Voici quelques données sur l&#8217;importance des performances :</p><ul
style="text-align: justify;"><li>Amazon : latence +100ms : -1% de ventes</li><li>Google : chargement +500ms : trafic -20%</li><li>Yahoo : chargement +400ms : abandon +5 à 9%</li><li>Bing : chargement +1s : revenu pub -2,8%</li><li>Mozilla : chargement -2 ,2s : transformation +15%</li></ul><p
style="text-align: justify;">Ce qui nous fait perdre du temps, c&#8217;est la latence et le nombre de téléchargements. La majeure partie du temps, le navigateur attend. Pour bien agir, voici ce qu&#8217;on peut faire :</p><ul
style="text-align: justify;"><li>Fusion JS, CSS</li><li>Fusion images : sprites CSS</li><li>CDN : akamai</li><li>URI en data, documents mhtml, archives JAR</li><li>Inline des images</li><li>Chargements parallèles : domaines multiples</li><li>Connexions persistantes : KeepAlive http (10 à 20% de gain)</li></ul><p
style="text-align: justify;">Mais aussi :</p><ul
style="text-align: justify;"><li>compression http</li><li>minimisation des contenus (espaces blancs)</li><li>recompression d’images (avec et sans pertes)</li><li>contenus pus petits</li><li>Chargement différé via AJAX</li><li>Ordonner et prioriser le contenu</li><li>Envoyer immédiatement les blocs sans calcul serveur</li><li>Chargement asynchrone du JS ou en bas de page</li><li>Accélérer le rendu</li><li>Utiliser du cache http</li><li>Pré charger des contenus à l’avance</li><li>Optimiser le JS, diminuer la complexité</li><li>Eviter les sélecteurs CSS/Jquery horriblement lents</li></ul><p
style="text-align: justify;"><em>Mon avis : peu de choses apprises car déjà bien documenté sur le sujet mais la conférence était très bien présentée, Eric a su (d&#8217;après les réactions) sensibiliser son public.</em></p><h2 style="text-align: justify;">Le Cloud Computing pour PHP</h2><p
style="text-align: justify;"><em>Présenté par Guillaume Plessis</em></p><p
style="text-align: justify;">Le Cloud Computing c&#8217;est quoi ?</p><ul
style="text-align: justify;"><li><strong>Infrastructure as a Service IaaS</strong></li></ul><p
style="text-align: justify;">Infrastructure massivement virtualisée. Instances virtuelles jetables. Facturation à l&#8217;heure. Répartition de charges. L&#8217;extinction des machines entraine la suppression des données.
Typiquement c&#8217;est le service Amazon EC2 mais on a aussi Rackspace Hosting, Gandi.net (que j&#8217;avais testé) et SoPrivé.</p><ul
style="text-align: justify;"><li><strong>Platform as a Service PaaS</strong></li></ul><p
style="text-align: justify;">Serveur d&#8217;applications clé en main qui rend bon nombre de services (Stockage, langage, base de données, &#8230;)</p><p
style="text-align: justify;">Typiquement Google App engine pour Java et Python, Heroku pour Ruby On Rails et Windows Azure (&#8230;). Pour PHP, présentation de <a
href="http://www.baobapp.com">Baobapp</a> que je vais tester bientôt en béta.</p><ul
style="text-align: justify;"><li><strong>Software as a Service SaaS</strong></li></ul><p
style="text-align: justify;">Applications infogérées clé en main. Par exemple, Gmail <img
src='http://www.willdurand.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p><p
style="text-align: justify;"><em>Mon avis : Très intéressant de voir les différents modèles de Cloud, j&#8217;ai hâte de tester Baobapp, je viens de recevoir mon pass pour la béta, je consacrerai un article dessus.</em></p><p
style="text-align: justify;"></p><h2 style="text-align: justify;">Suivi de qualité &#8211; PIC, Plate-forme d&#8217;Intégration Continue</h2><p
style="text-align: justify;"><em>Présenté par Gabriele Santini</em></p><p
style="text-align: justify;"></p><p
style="text-align: justify;">Présentation d&#8217;une plate-forme d&#8217;intégration continue dotée de nombreux outils. En vrac : <strong>phpUnderControl</strong> ou <strong>Hudson</strong> pour le serveur CI. Ajout d&#8217;outils comme PHPUnit, Xdebug, PHP_CS, PHP_Documentor, PMD, PHP_CodeBrowser, PHP_Depend, &#8230; Certains métriques ne sont pas bien exploitées, ils ont donc portés <strong>Sonar</strong> pour PHP et c&#8217;est surtout ça la grosse info !</p><p
style="text-align: justify;"></p><p
style="text-align: justify;"><em>Mon avis : je suis là encore très sensible aux problématiques d&#8217;industrialisation et de suivi de qualité. J&#8217;ai déjà pas mal d&#8217;outils en place pour mon travail et cette conférence n&#8217;a fait que valider ma démarche. Cependant j&#8217;ai appris l&#8217;existence de Sonar pour PHP et ça, j&#8217;ai hâte de tester. Sinon, j&#8217;ai rédigé un article sur le sujet pour le prochain numéro de PHP Solutions&#8230;</em></p><p
style="text-align: justify;"></p><p
style="text-align: justify;"></p><h2 style="text-align: justify;">Analyse statistique du code &#8211; Écoutez votre code PHP</h2><div
style="text-align: justify;"><em>Présenté par Gabriele Santini</em></div><div
style="text-align: justify;"><em> </em></div><div
style="text-align: justify;">Trois niveaux d&#8217;analyse :</div><div
style="text-align: justify;"><ul><li>Syntaxique : avec PHP_Depend, PHPMD mais aussi Padawan pour détecter les anti-patterns et Phantm pour détecter les faux positifs.</li><li>Lexicale : PHPLoc (Métriques basiques), PHPCPD (code dupliqué) et PHP_CodeSniffer.</li><li>Bytecode : Vulcan Logic Disassembler, Bytekit et Bytekit-cli.</li></ul></div><p
style="text-align: justify;"></p><p
style="text-align: justify;">La visualisation peut se faire avec phpUnderControl, Arbit ou Sonar (!!!).</p><p
style="text-align: justify;"></p><p
style="text-align: justify;"><em>Mon avis : Très très intéressant, je connaissais la plupart des outils mais pas tous, je vais donc les tester. Le conférencier a bien exploré les possibilités d&#8217;analyse car explorer au niveau du bytecode, c&#8217;est&#8230; puissant !</em></p><p
style="text-align: justify;"></p><p
style="text-align: justify;"></p><h2 style="text-align: justify;">The PHP performance paradox</h2><div
style="text-align: justify;"><em>Présenté par Zeev Suraski.</em></div><div
style="text-align: justify;"><em> </em></div><div
style="text-align: justify;">Fondateur de Zend Technologies, accessoirement créateur du Zend Engine (moteur interne de PHP4). Zeev nous expose l&#8217;évolution de PHP en terme de performances et fait un peu de pub pour Zend. En chiffres, on peut retenir que de PHP5 à PHP5.3 on a un facteur 5 en amélioration des performances et de PHP5.3 à PHP trunk (le prochain) on améliore x2.</div><div
style="text-align: justify;"><em>Mon avis : Pas mal d&#8217;avoir des chiffres et de savoir comment ils ont modifiés PHP pour le rendre plus performant.</em></div><div
style="text-align: justify;"><em> </em></div><h2>Avis général</h2><div
style="text-align: justify;">Ce fût donc un très très bon forum et j&#8217;ai pris pas mal de plaisir lors de ces deux jours. C&#8217;est déjà fini, à l&#8217;année prochaine !</div><h3 class='related_post_title'>Related Posts</h3><ul
class='related_post'><li><a
href='http://www.willdurand.fr/forumphp-resume-de-ma-premiere-journee/' title='#forumPHP : résumé de ma première journée'>#forumPHP : résumé de ma première journée</a></li><li><a
href='http://www.willdurand.fr/optimiser-son-application-web-en-jouant-sur-php-mysql-et-apache2/' title='Optimiser son application web en jouant sur PHP, MySQL et Apache2'>Optimiser son application web en jouant sur PHP, MySQL et Apache2</a></li></ul> <a
rel="nofollow" target="_blank"  href="http://www.printfriendly.com/print/new?url=http%3A%2F%2Fwww.willdurand.fr%2Fforumphp-resume-de-la-seconde-journee%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/printfriendly.png" class="sociable-img sociable-hovers" title="Print" alt="Print" /></a><a
rel="nofollow" target="_blank"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.willdurand.fr%2Fforumphp-resume-de-la-seconde-journee%2F&amp;title=%23forumPHP%20%3A%20r%C3%A9sum%C3%A9%20de%20ma%20seconde%20journ%C3%A9e&amp;bodytext=Second%20jour%20au%20forum%20PHP%2C%20tr%C3%A8s%20enrichissant.%20Voici%20le%20r%C3%A9sum%C3%A9%20de%20ma%20journ%C3%A9e%2C%20un%20peu%20mieux%20synth%C3%A9tis%C3%A9%20que%20la%20premi%C3%A8re%20journ%C3%A9e.%0D%0A%0D%0A%0D%0AD%C3%A9boguer%20son%20code%20avec%20Xdebug%0D%0APr%C3%A9sent%C3%A9%20par%20Derick%20Rethans%0D%0A%0D%0AL%27auteur%20de%20l%27excellent%20Xdebug%20fait%20une%20pr%C3%A9sen" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a><a
rel="nofollow" target="_blank"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.willdurand.fr%2Fforumphp-resume-de-la-seconde-journee%2F&amp;title=%23forumPHP%20%3A%20r%C3%A9sum%C3%A9%20de%20ma%20seconde%20journ%C3%A9e" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a><a
rel="nofollow" target="_blank"  href="http://delicious.com/post?url=http%3A%2F%2Fwww.willdurand.fr%2Fforumphp-resume-de-la-seconde-journee%2F&amp;title=%23forumPHP%20%3A%20r%C3%A9sum%C3%A9%20de%20ma%20seconde%20journ%C3%A9e&amp;notes=Second%20jour%20au%20forum%20PHP%2C%20tr%C3%A8s%20enrichissant.%20Voici%20le%20r%C3%A9sum%C3%A9%20de%20ma%20journ%C3%A9e%2C%20un%20peu%20mieux%20synth%C3%A9tis%C3%A9%20que%20la%20premi%C3%A8re%20journ%C3%A9e.%0D%0A%0D%0A%0D%0AD%C3%A9boguer%20son%20code%20avec%20Xdebug%0D%0APr%C3%A9sent%C3%A9%20par%20Derick%20Rethans%0D%0A%0D%0AL%27auteur%20de%20l%27excellent%20Xdebug%20fait%20une%20pr%C3%A9sen" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/delicious.png" class="sociable-img sociable-hovers" title="del.icio.us" alt="del.icio.us" /></a><a
rel="nofollow" target="_blank"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.willdurand.fr%2Fforumphp-resume-de-la-seconde-journee%2F&amp;t=%23forumPHP%20%3A%20r%C3%A9sum%C3%A9%20de%20ma%20seconde%20journ%C3%A9e" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a><a
rel="nofollow" target="_blank"  href="http://twitter.com/home?status=%23forumPHP%20%3A%20r%C3%A9sum%C3%A9%20de%20ma%20seconde%20journ%C3%A9e%20-%20http%3A%2F%2Fwww.willdurand.fr%2Fforumphp-resume-de-la-seconde-journee%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a><a
rel="nofollow" target="_blank"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.willdurand.fr%2Fforumphp-resume-de-la-seconde-journee%2F&amp;title=%23forumPHP%20%3A%20r%C3%A9sum%C3%A9%20de%20ma%20seconde%20journ%C3%A9e&amp;annotation=Second%20jour%20au%20forum%20PHP%2C%20tr%C3%A8s%20enrichissant.%20Voici%20le%20r%C3%A9sum%C3%A9%20de%20ma%20journ%C3%A9e%2C%20un%20peu%20mieux%20synth%C3%A9tis%C3%A9%20que%20la%20premi%C3%A8re%20journ%C3%A9e.%0D%0A%0D%0A%0D%0AD%C3%A9boguer%20son%20code%20avec%20Xdebug%0D%0APr%C3%A9sent%C3%A9%20par%20Derick%20Rethans%0D%0A%0D%0AL%27auteur%20de%20l%27excellent%20Xdebug%20fait%20une%20pr%C3%A9sen" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/googlebookmark.png" class="sociable-img sociable-hovers" title="Google Bookmarks" alt="Google Bookmarks" /></a><a
rel="nofollow" target="_blank"  href="http://www.friendfeed.com/share?title=%23forumPHP%20%3A%20r%C3%A9sum%C3%A9%20de%20ma%20seconde%20journ%C3%A9e&amp;link=http%3A%2F%2Fwww.willdurand.fr%2Fforumphp-resume-de-la-seconde-journee%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/friendfeed.png" class="sociable-img sociable-hovers" title="FriendFeed" alt="FriendFeed" /></a><a
rel="nofollow" target="_blank"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.willdurand.fr%2Fforumphp-resume-de-la-seconde-journee%2F&amp;title=%23forumPHP%20%3A%20r%C3%A9sum%C3%A9%20de%20ma%20seconde%20journ%C3%A9e&amp;source=William%26%23039%3Bs+Blog+D%C3%A9veloppeur+web+ind%C3%A9pendant%2C+%C3%A9tudiant+et+passionn%C3%A9+%21+%23Symfony2+%23Rails+%23Diem+%23Git+%23Nginx+%23WebPerfs+%23SoftwareQuality&amp;summary=Second%20jour%20au%20forum%20PHP%2C%20tr%C3%A8s%20enrichissant.%20Voici%20le%20r%C3%A9sum%C3%A9%20de%20ma%20journ%C3%A9e%2C%20un%20peu%20mieux%20synth%C3%A9tis%C3%A9%20que%20la%20premi%C3%A8re%20journ%C3%A9e.%0D%0A%0D%0A%0D%0AD%C3%A9boguer%20son%20code%20avec%20Xdebug%0D%0APr%C3%A9sent%C3%A9%20par%20Derick%20Rethans%0D%0A%0D%0AL%27auteur%20de%20l%27excellent%20Xdebug%20fait%20une%20pr%C3%A9sen" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/linkedin.png" class="sociable-img sociable-hovers" title="LinkedIn" alt="LinkedIn" /></a><a
rel="nofollow" target="_blank"  href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fwww.willdurand.fr%2Fforumphp-resume-de-la-seconde-journee%2F&amp;t=%23forumPHP%20%3A%20r%C3%A9sum%C3%A9%20de%20ma%20seconde%20journ%C3%A9e" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/myspace.png" class="sociable-img sociable-hovers" title="MySpace" alt="MySpace" /></a><a
rel="nofollow" target="_blank"  href="http://www.netvibes.com/share?title=%23forumPHP%20%3A%20r%C3%A9sum%C3%A9%20de%20ma%20seconde%20journ%C3%A9e&amp;url=http%3A%2F%2Fwww.willdurand.fr%2Fforumphp-resume-de-la-seconde-journee%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/netvibes.png" class="sociable-img sociable-hovers" title="Netvibes" alt="Netvibes" /></a><a
rel="nofollow" target="_blank"  href="http://www.printfriendly.com/print/new?url=http%3A%2F%2Fwww.willdurand.fr%2Fforumphp-resume-de-la-seconde-journee%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/pdf.png" class="sociable-img sociable-hovers" title="PDF" alt="PDF" /></a><a
rel="nofollow" target="_blank"  href="http://ping.fm/ref/?link=http%3A%2F%2Fwww.willdurand.fr%2Fforumphp-resume-de-la-seconde-journee%2F&amp;title=%23forumPHP%20%3A%20r%C3%A9sum%C3%A9%20de%20ma%20seconde%20journ%C3%A9e&amp;body=Second%20jour%20au%20forum%20PHP%2C%20tr%C3%A8s%20enrichissant.%20Voici%20le%20r%C3%A9sum%C3%A9%20de%20ma%20journ%C3%A9e%2C%20un%20peu%20mieux%20synth%C3%A9tis%C3%A9%20que%20la%20premi%C3%A8re%20journ%C3%A9e.%0D%0A%0D%0A%0D%0AD%C3%A9boguer%20son%20code%20avec%20Xdebug%0D%0APr%C3%A9sent%C3%A9%20par%20Derick%20Rethans%0D%0A%0D%0AL%27auteur%20de%20l%27excellent%20Xdebug%20fait%20une%20pr%C3%A9sen" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/ping.png" class="sociable-img sociable-hovers" title="Ping.fm" alt="Ping.fm" /></a><a
rel="nofollow" target="_blank"  href="http://www.willdurand.fr/feed/" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/rss.png" class="sociable-img sociable-hovers" title="RSS" alt="RSS" /></a><a
rel="nofollow" target="_blank"  href="http://technorati.com/faves?add=http%3A%2F%2Fwww.willdurand.fr%2Fforumphp-resume-de-la-seconde-journee%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/technorati.png" class="sociable-img sociable-hovers" title="Technorati" alt="Technorati" /></a><a
rel="nofollow" target="_blank"  href="http://www.viadeo.com/shareit/share/?url=http%3A%2F%2Fwww.willdurand.fr%2Fforumphp-resume-de-la-seconde-journee%2F&title=%23forumPHP%20%3A%20r%C3%A9sum%C3%A9%20de%20ma%20seconde%20journ%C3%A9e&urllanguage=fr" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/viadeo.png" class="sociable-img sociable-hovers" title="viadeo FR" alt="viadeo FR" /></a><a
rel="nofollow" target="_blank"  href="http://www.wikio.com/vote?url=http%3A%2F%2Fwww.willdurand.fr%2Fforumphp-resume-de-la-seconde-journee%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/wikio.png" class="sociable-img sociable-hovers" title="Wikio" alt="Wikio" /></a><a
rel="nofollow" target="_blank"  href="http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Fwww.willdurand.fr%2Fforumphp-resume-de-la-seconde-journee%2F&amp;submitHeadline=%23forumPHP%20%3A%20r%C3%A9sum%C3%A9%20de%20ma%20seconde%20journ%C3%A9e&amp;submitSummary=Second%20jour%20au%20forum%20PHP%2C%20tr%C3%A8s%20enrichissant.%20Voici%20le%20r%C3%A9sum%C3%A9%20de%20ma%20journ%C3%A9e%2C%20un%20peu%20mieux%20synth%C3%A9tis%C3%A9%20que%20la%20premi%C3%A8re%20journ%C3%A9e.%0D%0A%0D%0A%0D%0AD%C3%A9boguer%20son%20code%20avec%20Xdebug%0D%0APr%C3%A9sent%C3%A9%20par%20Derick%20Rethans%0D%0A%0D%0AL%27auteur%20de%20l%27excellent%20Xdebug%20fait%20une%20pr%C3%A9sen&amp;submitCategory=science&amp;submitAssetType=text" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/yahoobuzz.png" class="sociable-img sociable-hovers" title="Yahoo! Buzz" alt="Yahoo! Buzz" /></a><br
/><br
/>]]></content:encoded> <wfw:commentRss>http://www.willdurand.fr/forumphp-resume-de-la-seconde-journee/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>#forumPHP : résumé de ma première journée</title><link>http://www.willdurand.fr/forumphp-resume-de-ma-premiere-journee/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=forumphp-resume-de-ma-premiere-journee</link> <comments>http://www.willdurand.fr/forumphp-resume-de-ma-premiere-journee/#comments</comments> <pubDate>Thu, 11 Nov 2010 17:12:12 +0000</pubDate> <dc:creator>Will</dc:creator> <category><![CDATA[ForumPHP]]></category> <category><![CDATA[Ma vie]]></category> <category><![CDATA[PHP]]></category><guid
isPermaLink="false">http://www.willdurand.fr/?p=770</guid> <description><![CDATA[Première journée passée à la Cité des Sciences à Paris à l&#8217;occasion du Forum PHP organisé par  l&#8217;AFUP. Excellent moment, plein de cadeaux, de têtes plus ou moins connues (que je n&#8217;ai pas trop osé aborder d&#8217;ailleurs&#8230;) et bien sûr d&#8217;excellentes conférences. Voici le résumé de ma journée, livré brute (ou presque ). Rasmus Ledorf [...]]]></description> <content:encoded><![CDATA[<p
style="text-align: justify;">Première journée passée à la Cité des Sciences à Paris à l&#8217;occasion du <a
href="http://www.afup.org/pages/forumphp2010/">Forum PHP</a> organisé par  l&#8217;<a
href="http://www.afup.org/">AFUP</a>. Excellent moment, plein de cadeaux, de têtes plus ou moins connues (que je n&#8217;ai pas trop osé aborder d&#8217;ailleurs&#8230;) et bien sûr d&#8217;excellentes conférences. Voici le résumé de ma journée, livré brute (ou presque <img
src='http://www.willdurand.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> ).</p><p
style="text-align: justify;"></p><h2 style="text-align: justify;">Rasmus Ledorf</h2><p
style="text-align: justify;">Première conférence du créateur de PHP. Après quelques minutes de galère pour projeter sa présentation, Rasmus a présenté la création puis l&#8217;évolution de PHP. Ce que l&#8217;on doit retenir : &laquo;&nbsp;PHP isn&#8217;t cool but what we can do with is&nbsp;&raquo; et &laquo;&nbsp;i don&#8217;t have a cell phone&nbsp;&raquo;. Voilà, vous savez tout.</p><p
style="text-align: justify;"></p><h2 style="text-align: justify;">Industrialisation PHP par Canal+</h2><p
style="text-align: justify;"><em>Présenté par Raphaël Carles</em></p><p
style="text-align: justify;">Canal+ gère une affluence d&#8217;environ 700000+ visites par jour (en pic). Leurs développements s&#8217;appuient sur Symfony, ezPublish, Zend et Magento.</p><p
style="text-align: justify;">Ils virtualisent leurs serveurs web et applications, utilisent des load balancers redondés. Une bonne idée est d&#8217;exécuter les batchs sur un serveur virtuel dédié. PHP a été choisi pour sa souplesse en terme de déploiement et de packaging. Leurs exigences sont indépendantes de la technologie employée. Ils ont fait le choix d&#8217;utiliser des CMS et solutions PHP pour garantir une maitrise des développements.</p><p
style="text-align: justify;">Zend Plateform leur permet d&#8217;analyser et suivre de manière permanente la santé des sites. Ils ont mis en place des normes d’installation et de configuration des solutions. Ils ont une démarche de capitalisation permanente. Ils ont mis en place des bonnes pratiques au niveau SEO, perfs, navigateurs, développements.</p><p
style="text-align: justify;">Ils disposent d&#8217;un environnements de livraison spécialisés :</p><p
style="text-align: justify;">- recettes fonctionnelles pour les MOA</p><p
style="text-align: justify;">- recettes techniques pour intégrateurs et hébergeurs</p><p>Chaque commit est constitué d&#8217;un patch du code, des commandes SQL, une liste des fichiers modifés et une liste des bugID.</p><p
style="text-align: justify;">Sans surprise, on retrouve Capistrano au niveau automatisation des déploiements. Ils maitrisent la logistique des déploiements avec des fiches récapitulant des informations telles : planification, horaires automatisés, …</p><p
style="text-align: justify;">Niveau outils en vrac, ils utilisent : SVN, Zend Studio, Zend Server et Zend FW, UML / Merise.</p><p
style="text-align: justify;">Ils ont développés un outil de pilotage de SVN (fork de webSVN) et des sources couplé à un serveur de développement centralisé :</p><p
style="text-align: justify;">- gérer les effets de bord en temps réel</p><p
style="text-align: justify;">- centralisation des configurations</p><p
style="text-align: justify;">- verrouillage des sources sur le serveur</p><p
style="text-align: justify;">Ceci nécessite un développement linéaire. D&#8217;autre part, leur outil va générer de la documentation automatiquement. Un autre outil développé concerne le suivi des livraisons (couplé au bug tracking).</p><p
style="text-align: justify;"></p><p
style="text-align: justify;"><em>Mon avis : Cette présentation n&#8217;était pas réellement intéressante. Elle n&#8217;apprend rien et l&#8217;orateur n&#8217;a pas été concluant, il nous tournait le dos&#8230; Cependant on voit bien que Canal+ n&#8217;est qu&#8217;en cours d&#8217;industrialisation, il n&#8217;y avait pas de retour d&#8217;expérience réel et c&#8217;est bien dommage. </em></p><p
style="text-align: justify;"></p><h2>Propel : apprendre en persistant</h2><p
style="text-align: justify;"><em>Présenté par Arlo Borras</em></p><p
style="text-align: justify;">Approche en plusieurs niveau pour appréhender Propel :</p><p
style="text-align: justify;"><span
style="text-decoration: underline;">Niveau 1 : connaître PDO</span></p><p
style="text-align: justify;"></p><p
style="text-align: justify;"><span
style="text-decoration: underline;">Niveau 2 : Faire des objets</span></p><p
style="text-align: justify;">ActiveRecord : design pattern permettant à un objet de se gérer (se sauvegarder, se mettre à jour, &#8230;)</p><p
style="text-align: justify;">Encapsulation des requêtes SQL.</p><p
style="text-align: justify;">PDO doit être aidé pour gérer des éléments NULL : utilisation de l&#8217;attribut PARAM_NULL.</p><p
style="text-align: justify;"></p><p
style="text-align: justify;"><span
style="text-decoration: underline;">Niveau 3 : Ne pas réinventer la roue</span></p><p
style="text-align: justify;">Utilisons Propel !</p><p
style="text-align: justify;"></p><p
style="text-align: justify;"><span
style="text-decoration: underline;">Niveau 4 : Maitriser l’outil</span></p><p
style="text-align: justify;">Avantages de Propel :</p><p
style="text-align: justify;">- PHP5.3 ready (namespaces)</p><p
style="text-align: justify;">- Connexion implicite à la demande</p><p
style="text-align: justify;">- Sauvegarde en cascade</p><p
style="text-align: justify;">- Rapidité :</p><p
style="text-align: justify;">Avec l&#8217;utilisation du design pattern Identity Map = persistance mémoire de ce qui a déjà été demandé.</p><p
style="text-align: justify;">Et l&#8217;utilisation de l&#8217;hydratation à la demande via un « formatter » : collection vide, itération hydrate un à un les éléments.</p><p
style="text-align: justify;">- Validators, Behaviors.</p><p
style="text-align: justify;">- Gestion de l&#8217;héritage : table inheritance : single inheritance (1 table) ou concret inheritance (plusieurs tables)</p><p
style="text-align: justify;">- Et&#8230; Logging, hooks, nested sets, N-N, 1-N, runtime introspection, packages, nested transactions, master/slave, pager, query cache, …</p><p
style="text-align: justify;"></p><p
style="text-align: justify;"><span
style="text-decoration: underline;">Niveau 5 : dépasser l’outil</span></p><p
style="text-align: justify;">Penser aux objets/en objet.</p><p
style="text-align: justify;"><strong>!! Domain-Driven Design !!</strong></p><p
style="text-align: justify;">L’ORM transforme une BDD en base de d’objets.</p><p
style="text-align: justify;">Un objet persistant est un objet avant tout.</p><p
style="text-align: justify;">La persistance d’un objet n’est qu’une caractéristique.</p><p
style="text-align: justify;"></p><p
style="text-align: justify;"><em>Mon avis : j&#8217;attendais cette conférence plus que tout pour rencontrer François Zaninotto, malheureusement il n&#8217;a pu venir et Arlo l&#8217;a remplacé. Bon tour d&#8217;horizon de Propel avec une présentation Prezzi très réussie.</em></p><p
style="text-align: justify;"></p><h2>Magento : un framework e-commerce</h2><p><em>Par Hubert Desmarest, Guillaume Babik et Roy Rubin (fondateur de Magento)</em></p><p>Trois mots d&#8217;ordre pour Magento : <strong>Flexibility, scalability, growth</strong></p><p
style="text-align: justify;">Magento solution c&#8217;est :</p><p
style="text-align: justify;">- Design, development, integration</p><p
style="text-align: justify;">- Magento eCommerce, Entreprise, Professional &amp; community</p><p
style="text-align: justify;">- Industry partners</p><p
style="text-align: justify;">- Hosting environment</p><p
style="text-align: justify;">- Magento mobile commerce (browser, iPhone app)</p><p
style="text-align: justify;">- Magento connect / local (extensions market place)</p><p
style="text-align: justify;"></p><p
style="text-align: justify;">Magento dispose de plus de 3000 extensions. Ecrit en PHP5 en utilisant Zend Framework.</p><p
style="text-align: justify;">&laquo;&nbsp;Upgradeability with customizations : core, local, community&nbsp;&raquo; -&gt; Séparation physique des éléments.</p><p>&laquo;&nbsp;Modularity &amp; flexibility are Key&nbsp;&raquo; -&gt; architecture élaborée.</p><p
style="text-align: justify;">Un point sur l&#8217;API &laquo;&nbsp;core&nbsp;&raquo; :</p><p
style="text-align: justify;">- Web services : SOAP &amp; XML RPC protocols (catalog, customer, order)</p><p
style="text-align: justify;">- Tout ce qui est disponible devrait l’être via web services.</p><p
style="text-align: justify;">- Plusieurs langues, marques sur un système unique à maintenir : Multi-store systems.</p><p
style="text-align: justify;"></p><p
style="text-align: justify;">Magento au niveau SEO c&#8217;est : 100% SE friendly, site map, url rewrites, meta-informations, …</p><p
style="text-align: justify;">Magento est orienté marketing et dispose d&#8217;outils de promotions comme les réductions basées sur des règles.</p><p
style="text-align: justify;">Au niveau administration : gestion du catalogue, du contenu et également des commandes mais une fonctionnalité étonnante : la possibilité pour l&#8217;admin d&#8217;ajouter des éléments dans le panier d&#8217;un client. On note aussi la présence d&#8217;un outil de reporting.</p><p
style="text-align: justify;">Magento permet les ventes privées en natif, tout comme la navigation mobile.</p><p
style="text-align: justify;"></p><p
style="text-align: justify;">Avantages de Magento (point de vue intégrateur) :</p><p
style="text-align: justify;">- modèle très souple</p><p
style="text-align: justify;">- au service du marketing</p><p
style="text-align: justify;">- les « multi »</p><p
style="text-align: justify;">- licence : cout nul ou moindre</p><p
style="text-align: justify;">- approche logicielle</p><p
style="text-align: justify;">- solution pérenne</p><p
style="text-align: justify;"></p><p
style="text-align: justify;">Mais :</p><p
style="text-align: justify;">- peu documenté</p><p
style="text-align: justify;">- difficulté d’apprentissage : 4 à 6 mois pour un bon développeur Zend</p><p
style="text-align: justify;">- modèle de données et applicatif lourd</p><p
style="text-align: justify;"></p><p
style="text-align: justify;"><em>Mon avis : Magento me semble sexy. Les orateurs n&#8217;ont pas caché son côté &laquo;&nbsp;usine à gaz&nbsp;&raquo; mais je pense qu&#8217;il peut valoir le coup, en tout cas, la présentation donnait envie d&#8217;essayer <img
src='http://www.willdurand.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </em></p><p
style="text-align: justify;"></p><h2>Les frameworks, essentiels dans l&#8217;écosystème PHP</h2><p><em>Par Bastien Jaillot, Xavier Lacot</em></p><p>On attaque avec une réflexion sur les solutions possibles pour réaliser une application web : solutions intégrées ou frameworks.</p><p
style="text-align: justify;">Considérations :</p><p
style="text-align: justify;">- complexité</p><p
style="text-align: justify;">- besoins</p><p
style="text-align: justify;">- méthodologies</p><p
style="text-align: justify;">- nouvelles fonctionnalités ? Suppression de fonctionnalités</p><p
style="text-align: justify;">- Plugins/extensions existent, couvrent les besoins ?</p><p
style="text-align: justify;">La première conclusion est la suivante : une solution intégrée est souvent une bonne solution car elle a permet de gagner du temps, de l’argent et évite la pression. Une solution intégrée permet de ne pas réinventer la roue. : c&#8217;est parfait pour des besoins communs.</p><p
style="text-align: justify;"></p><p
style="text-align: justify;"><strong>Mais</strong> pas de besoins communs, alors il faut :</p><p
style="text-align: justify;">- hacker</p><p
style="text-align: justify;">- patcher</p><p
style="text-align: justify;">- extensions : mais pas forcément étendables</p><p
style="text-align: justify;">- jeter et recoder en utilisant un FW</p><p
style="text-align: justify;"></p><p
style="text-align: justify;">Donc on recommence et on définit les vrais besoins ! La bonne question c&#8217;est : <strong>Temps pour bidouiller versus temps pour construire !</strong></p><p
style="text-align: justify;">On passe ensuite aux critères de choix d&#8217;un framework. Les objectifs généraux sont les suivants :</p><p
style="text-align: justify;">- accélérer les dévs</p><p
style="text-align: justify;">- simplifier les MAJ et évolutions</p><p
style="text-align: justify;">- améliorer les perfs</p><p
style="text-align: justify;">- internationalisation : envisager l’avenir plus sereinement</p><p
style="text-align: justify;">- améliorer la qualité</p><p
style="text-align: justify;">- industrialiser la production</p><p
style="text-align: justify;">- ne plus réinventer la roue</p><p
style="text-align: justify;">- profiter du travail des autres</p><p
style="text-align: justify;"><strong>Et surtout se faire son idée.</strong> Ce n&#8217;est donc pas évident. Il faut également prendre en compte un tas de paramètres tels : risques, perfs, sécurité, modèle de conception, outillage, respect des standards, extensibilité, i18n, intégration des briques externes. Il est ensuite démontré que travailler sans framework en entreprise n&#8217;est pas simple, voire quasiment pas faisable à cause des méthodes de travail, des procédures diverses, &#8230;</p><p
style="text-align: justify;"></p><p
style="text-align: justify;">Les frameworks offrent la possibilité de faire des tests unitaires, fonctionnels, &#8230; Et surtout dispose de métriques ! Ensuite, on a une présentation des différents frameworks : avant, maintenant, bientôt. Les nouvelles tendances sont :</p><p
style="text-align: justify;">- injection de dépendances</p><p
style="text-align: justify;">- utilisation des namespaces</p><p
style="text-align: justify;">- retrait des singletons</p><p
style="text-align: justify;">- plus légers</p><p
style="text-align: justify;">En d&#8217;autres termes : abandon progressif de la génération actuelle des frameworks. L&#8217;avenir se concentre sur les performances.</p><p
style="text-align: justify;">Enfin, les derniers mots mettent en avant le concept suivant : ne pas javaiser PHP !</p><p
style="text-align: justify;"></p><p
style="text-align: justify;"><em>Mon avis : Cette présentation donne des billes pour ceux qui pensent encore que les solutions toutes faites sont meilleures quelque soit les problématiques. J&#8217;ai bien aimé la présentation et son enchainement.</em></p><p
style="text-align: justify;"></p><h2 style="text-align: justify;">Optimisations des performances LAMP</h2><p>Par ﻿﻿Cyril Pierre de Geyer et Guillaume Plessis</p><p
style="text-align: justify;"></p><p
style="text-align: justify;">Premièrement, on doit <strong>savoir</strong> ce qu’il se passe :</p><p
style="text-align: justify;">- Logs accès, erreurs</p><p
style="text-align: justify;">- Xdebug -&gt; profiling</p><p
style="text-align: justify;">- Requêtes lentes &amp; sans indexes</p><p
style="text-align: justify;">- Journal des requêtes</p><p
style="text-align: justify;"></p><p
style="text-align: justify;">Il est conseillé de mettre en place des outils de monitoring :</p><p
style="text-align: justify;">- Nagios, Zabbix (graphes)</p><p
style="text-align: justify;">- Cacti, Munin (graphes)</p><p
style="text-align: justify;">PHP : Pinba (exectime, mémoire, …), Zend Plateform</p><p
style="text-align: justify;"></p><p
style="text-align: justify;">On doit surveiller :</p><p
style="text-align: justify;">- OS : CPU, RAM, Réseau</p><p
style="text-align: justify;">- Apache : disponibilité, requêtes par seconde, temps de réponse</p><p
style="text-align: justify;">- PHP : Pinba</p><p
style="text-align: justify;">- MySQL : requêtes par seconde, connexions, innodb_buffer_pool</p><p
style="text-align: justify;"></p><p>Après, on va <strong>simuler</strong> :</p><ul><li><p>Tirs de charge</p></li><li><p>Outils : Jmeter, Funkload, Siege, apachebench</p></li></ul><p>Attention à rejouer les tests dans le même contexte : tir de charge de référence.</p><p
style="text-align: justify;">Ensuite on va <strong>analyser</strong> :</p><p
style="text-align: justify;">- Profiling : améliorer les performances</p><p
style="text-align: justify;">- Détecter les goulots d’étranglement</p><p
style="text-align: justify;">- Outils : Xdebug, KcacheGrind, webgrind, ZendServer</p><p
style="text-align: justify;"></p><p
style="text-align: justify;">Et enfin, on va <strong>améliorer</strong> :</p><p
style="text-align: justify;">D&#8217;abord PHP :</p><p
style="text-align: justify;">é Opcodes : APC, Xcache, Zend Optimizer</p><p
style="text-align: justify;">é Script PHP -&gt; Opcode -&gt; Exécution</p><p
style="text-align: justify;"></p><p
style="text-align: justify;">Puis Apache :</p><p
style="text-align: justify;">- KeepAlive</p><p
style="text-align: justify;">- ServerLimit, MaxClients</p><p
style="text-align: justify;">- MaxRequestsPerChild</p><p
style="text-align: justify;">- désinstaller les modules non utilisés</p><p
style="text-align: justify;">- privilégier d’autres serveurs http : Nginx pour le contenu statique</p><p
style="text-align: justify;">- reverse proxy cache http : varnish</p><p
style="text-align: justify;">- Compression Gzip/Deflate</p><p
style="text-align: justify;">- En-têtes Expire</p><p
style="text-align: justify;">- Etags</p><p
style="text-align: justify;"></p><p
style="text-align: justify;">Et maintenant, améliorer la base de données :</p><p
style="text-align: justify;">- Choisir le bon système : Linux 2.6 64bit (60% de perfs en plus face à 2.4)</p><p
style="text-align: justify;">- Bonne distrib MySQL</p><p
style="text-align: justify;">- Bon moteur de stockage :</p><ul
style="text-align: justify;"><li>MyISAM, InnoDB, HEAP, Archives, …</li><li>MyISAM : rapide mais ne monte pas en charge, pas transactionnel</li><li>InnoDB : plugin de MySQL. Plus robuste, transactionnel, &#8230;</li><li>HEAP : en mémoire</li><li>Archives : informations sans effacement</li></ul><p
style="text-align: justify;">- Profiling / EXPLAIN</p><p
style="text-align: justify;">- Optimisation des requêtes et du modèle</p><p
style="text-align: justify;">- Réplication (maitre/esclave, maitre/maitre)</p><p
style="text-align: justify;">- Sharding : répartir les données sur différentes grappes de calcul et agréger les résultats.</p><p
style="text-align: justify;"></p><p><em>Mon avis : Excellent ! Je connaissais pas mal de choses sur le sujet mais j&#8217;ai appris quelques trucs et astuces qui feront l&#8217;objet d&#8217;un futur article <img
src='http://www.willdurand.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </em></p><h2>Introduction au monde No-SQL</h2><p
style="text-align: justify;">Par Damien Tournoud</p><p
style="text-align: justify;"></p><p
style="text-align: justify;">Plusieurs besoins amènent au monde No-SQL :</p><p
style="text-align: justify;">- Stocker temporairement ses données : Memcache(d)</p><p
style="text-align: justify;">- Stocker des données simples : Redis</p><p
style="text-align: justify;">- Stocker des données structurées : MongoDB, orientée document, non relationnelle, horizontalement scalable par sharding.</p><p
style="text-align: justify;">En No-SQL on parle de Documents : ce sont des données en Json. On parle également de Collections, des ensemble de Documents.</p><p
style="text-align: justify;"></p><p
style="text-align: justify;">- Gérer une file d’attente : Beanstalkd (et Pheanstalk pour PHP)</p><p
style="text-align: justify;">D&#8217;autres outils :</p><p
style="text-align: justify;">- RabbitMQ : implémentation opensource de AMQP.</p><p
style="text-align: justify;">- Amazon SQS : file d’attente SaaS, API REST</p><p
style="text-align: justify;"></p><p
style="text-align: justify;">- Indexer en full-text : Apache Solr (basé sur Lucène), Sphinx (écrit en C++)</p><p
style="text-align: justify;">- Autres (pour les graphes, &#8230;) : FlockFlockDB, pas d’intégration facile en PHP, développé par Facebook.</p><p
style="text-align: justify;">- Bases massivement distribuées éventuellement consistantes : HBase, Cassandra. Le conférencier ne conseille pas d&#8217;explorer ces pistes, c&#8217;est très compliqué.</p><p
style="text-align: justify;"></p><p
style="text-align: justify;"><em>Mon avis : Bonne conférence mais pas assez technique. La présentation est bien mais ce fût trop &laquo;&nbsp;introduction&nbsp;&raquo;, ce qui est dommage. Cependant, Damien est sympa, trolleur également mais il a fait une présentation très vivante et très intéressante.</em></p><p
style="text-align: justify;"></p><h2 style="text-align: justify;">Avis général</h2><p
style="text-align: justify;"></p><p>Excellentissime ! Des gens cools, des conférences extras, des stands, du café (ahah), &#8230; Organisation tip/top, bref rien à dire pour cette première journée.</p><h3 class='related_post_title'>Related Posts</h3><ul
class='related_post'><li><a
href='http://www.willdurand.fr/forumphp-resume-de-la-seconde-journee/' title='#forumPHP : résumé de ma seconde journée'>#forumPHP : résumé de ma seconde journée</a></li><li><a
href='http://www.willdurand.fr/optimiser-son-application-web-en-jouant-sur-php-mysql-et-apache2/' title='Optimiser son application web en jouant sur PHP, MySQL et Apache2'>Optimiser son application web en jouant sur PHP, MySQL et Apache2</a></li></ul> <a
rel="nofollow" target="_blank"  href="http://www.printfriendly.com/print/new?url=http%3A%2F%2Fwww.willdurand.fr%2Fforumphp-resume-de-ma-premiere-journee%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/printfriendly.png" class="sociable-img sociable-hovers" title="Print" alt="Print" /></a><a
rel="nofollow" target="_blank"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.willdurand.fr%2Fforumphp-resume-de-ma-premiere-journee%2F&amp;title=%23forumPHP%20%3A%20r%C3%A9sum%C3%A9%20de%20ma%20premi%C3%A8re%20journ%C3%A9e&amp;bodytext=Premi%C3%A8re%20journ%C3%A9e%20pass%C3%A9e%20%C3%A0%20la%20Cit%C3%A9%20des%20Sciences%20%C3%A0%20Paris%20%C3%A0%20l%27occasion%20du%20Forum%20PHP%20organis%C3%A9%20par%20%C2%A0l%27AFUP.%20Excellent%20moment%2C%20plein%20de%20cadeaux%2C%20de%20t%C3%AAtes%20plus%20ou%20moins%20connues%20%28que%20je%20n%27ai%20pas%20trop%20os%C3%A9%20aborder%20d%27ailleurs...%29%20et%20bien%20s%C3%BBr%20d%27excel" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a><a
rel="nofollow" target="_blank"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.willdurand.fr%2Fforumphp-resume-de-ma-premiere-journee%2F&amp;title=%23forumPHP%20%3A%20r%C3%A9sum%C3%A9%20de%20ma%20premi%C3%A8re%20journ%C3%A9e" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a><a
rel="nofollow" target="_blank"  href="http://delicious.com/post?url=http%3A%2F%2Fwww.willdurand.fr%2Fforumphp-resume-de-ma-premiere-journee%2F&amp;title=%23forumPHP%20%3A%20r%C3%A9sum%C3%A9%20de%20ma%20premi%C3%A8re%20journ%C3%A9e&amp;notes=Premi%C3%A8re%20journ%C3%A9e%20pass%C3%A9e%20%C3%A0%20la%20Cit%C3%A9%20des%20Sciences%20%C3%A0%20Paris%20%C3%A0%20l%27occasion%20du%20Forum%20PHP%20organis%C3%A9%20par%20%C2%A0l%27AFUP.%20Excellent%20moment%2C%20plein%20de%20cadeaux%2C%20de%20t%C3%AAtes%20plus%20ou%20moins%20connues%20%28que%20je%20n%27ai%20pas%20trop%20os%C3%A9%20aborder%20d%27ailleurs...%29%20et%20bien%20s%C3%BBr%20d%27excel" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/delicious.png" class="sociable-img sociable-hovers" title="del.icio.us" alt="del.icio.us" /></a><a
rel="nofollow" target="_blank"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.willdurand.fr%2Fforumphp-resume-de-ma-premiere-journee%2F&amp;t=%23forumPHP%20%3A%20r%C3%A9sum%C3%A9%20de%20ma%20premi%C3%A8re%20journ%C3%A9e" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a><a
rel="nofollow" target="_blank"  href="http://twitter.com/home?status=%23forumPHP%20%3A%20r%C3%A9sum%C3%A9%20de%20ma%20premi%C3%A8re%20journ%C3%A9e%20-%20http%3A%2F%2Fwww.willdurand.fr%2Fforumphp-resume-de-ma-premiere-journee%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a><a
rel="nofollow" target="_blank"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.willdurand.fr%2Fforumphp-resume-de-ma-premiere-journee%2F&amp;title=%23forumPHP%20%3A%20r%C3%A9sum%C3%A9%20de%20ma%20premi%C3%A8re%20journ%C3%A9e&amp;annotation=Premi%C3%A8re%20journ%C3%A9e%20pass%C3%A9e%20%C3%A0%20la%20Cit%C3%A9%20des%20Sciences%20%C3%A0%20Paris%20%C3%A0%20l%27occasion%20du%20Forum%20PHP%20organis%C3%A9%20par%20%C2%A0l%27AFUP.%20Excellent%20moment%2C%20plein%20de%20cadeaux%2C%20de%20t%C3%AAtes%20plus%20ou%20moins%20connues%20%28que%20je%20n%27ai%20pas%20trop%20os%C3%A9%20aborder%20d%27ailleurs...%29%20et%20bien%20s%C3%BBr%20d%27excel" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/googlebookmark.png" class="sociable-img sociable-hovers" title="Google Bookmarks" alt="Google Bookmarks" /></a><a
rel="nofollow" target="_blank"  href="http://www.friendfeed.com/share?title=%23forumPHP%20%3A%20r%C3%A9sum%C3%A9%20de%20ma%20premi%C3%A8re%20journ%C3%A9e&amp;link=http%3A%2F%2Fwww.willdurand.fr%2Fforumphp-resume-de-ma-premiere-journee%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/friendfeed.png" class="sociable-img sociable-hovers" title="FriendFeed" alt="FriendFeed" /></a><a
rel="nofollow" target="_blank"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.willdurand.fr%2Fforumphp-resume-de-ma-premiere-journee%2F&amp;title=%23forumPHP%20%3A%20r%C3%A9sum%C3%A9%20de%20ma%20premi%C3%A8re%20journ%C3%A9e&amp;source=William%26%23039%3Bs+Blog+D%C3%A9veloppeur+web+ind%C3%A9pendant%2C+%C3%A9tudiant+et+passionn%C3%A9+%21+%23Symfony2+%23Rails+%23Diem+%23Git+%23Nginx+%23WebPerfs+%23SoftwareQuality&amp;summary=Premi%C3%A8re%20journ%C3%A9e%20pass%C3%A9e%20%C3%A0%20la%20Cit%C3%A9%20des%20Sciences%20%C3%A0%20Paris%20%C3%A0%20l%27occasion%20du%20Forum%20PHP%20organis%C3%A9%20par%20%C2%A0l%27AFUP.%20Excellent%20moment%2C%20plein%20de%20cadeaux%2C%20de%20t%C3%AAtes%20plus%20ou%20moins%20connues%20%28que%20je%20n%27ai%20pas%20trop%20os%C3%A9%20aborder%20d%27ailleurs...%29%20et%20bien%20s%C3%BBr%20d%27excel" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/linkedin.png" class="sociable-img sociable-hovers" title="LinkedIn" alt="LinkedIn" /></a><a
rel="nofollow" target="_blank"  href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fwww.willdurand.fr%2Fforumphp-resume-de-ma-premiere-journee%2F&amp;t=%23forumPHP%20%3A%20r%C3%A9sum%C3%A9%20de%20ma%20premi%C3%A8re%20journ%C3%A9e" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/myspace.png" class="sociable-img sociable-hovers" title="MySpace" alt="MySpace" /></a><a
rel="nofollow" target="_blank"  href="http://www.netvibes.com/share?title=%23forumPHP%20%3A%20r%C3%A9sum%C3%A9%20de%20ma%20premi%C3%A8re%20journ%C3%A9e&amp;url=http%3A%2F%2Fwww.willdurand.fr%2Fforumphp-resume-de-ma-premiere-journee%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/netvibes.png" class="sociable-img sociable-hovers" title="Netvibes" alt="Netvibes" /></a><a
rel="nofollow" target="_blank"  href="http://www.printfriendly.com/print/new?url=http%3A%2F%2Fwww.willdurand.fr%2Fforumphp-resume-de-ma-premiere-journee%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/pdf.png" class="sociable-img sociable-hovers" title="PDF" alt="PDF" /></a><a
rel="nofollow" target="_blank"  href="http://ping.fm/ref/?link=http%3A%2F%2Fwww.willdurand.fr%2Fforumphp-resume-de-ma-premiere-journee%2F&amp;title=%23forumPHP%20%3A%20r%C3%A9sum%C3%A9%20de%20ma%20premi%C3%A8re%20journ%C3%A9e&amp;body=Premi%C3%A8re%20journ%C3%A9e%20pass%C3%A9e%20%C3%A0%20la%20Cit%C3%A9%20des%20Sciences%20%C3%A0%20Paris%20%C3%A0%20l%27occasion%20du%20Forum%20PHP%20organis%C3%A9%20par%20%C2%A0l%27AFUP.%20Excellent%20moment%2C%20plein%20de%20cadeaux%2C%20de%20t%C3%AAtes%20plus%20ou%20moins%20connues%20%28que%20je%20n%27ai%20pas%20trop%20os%C3%A9%20aborder%20d%27ailleurs...%29%20et%20bien%20s%C3%BBr%20d%27excel" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/ping.png" class="sociable-img sociable-hovers" title="Ping.fm" alt="Ping.fm" /></a><a
rel="nofollow" target="_blank"  href="http://www.willdurand.fr/feed/" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/rss.png" class="sociable-img sociable-hovers" title="RSS" alt="RSS" /></a><a
rel="nofollow" target="_blank"  href="http://technorati.com/faves?add=http%3A%2F%2Fwww.willdurand.fr%2Fforumphp-resume-de-ma-premiere-journee%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/technorati.png" class="sociable-img sociable-hovers" title="Technorati" alt="Technorati" /></a><a
rel="nofollow" target="_blank"  href="http://www.viadeo.com/shareit/share/?url=http%3A%2F%2Fwww.willdurand.fr%2Fforumphp-resume-de-ma-premiere-journee%2F&title=%23forumPHP%20%3A%20r%C3%A9sum%C3%A9%20de%20ma%20premi%C3%A8re%20journ%C3%A9e&urllanguage=fr" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/viadeo.png" class="sociable-img sociable-hovers" title="viadeo FR" alt="viadeo FR" /></a><a
rel="nofollow" target="_blank"  href="http://www.wikio.com/vote?url=http%3A%2F%2Fwww.willdurand.fr%2Fforumphp-resume-de-ma-premiere-journee%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/wikio.png" class="sociable-img sociable-hovers" title="Wikio" alt="Wikio" /></a><a
rel="nofollow" target="_blank"  href="http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Fwww.willdurand.fr%2Fforumphp-resume-de-ma-premiere-journee%2F&amp;submitHeadline=%23forumPHP%20%3A%20r%C3%A9sum%C3%A9%20de%20ma%20premi%C3%A8re%20journ%C3%A9e&amp;submitSummary=Premi%C3%A8re%20journ%C3%A9e%20pass%C3%A9e%20%C3%A0%20la%20Cit%C3%A9%20des%20Sciences%20%C3%A0%20Paris%20%C3%A0%20l%27occasion%20du%20Forum%20PHP%20organis%C3%A9%20par%20%C2%A0l%27AFUP.%20Excellent%20moment%2C%20plein%20de%20cadeaux%2C%20de%20t%C3%AAtes%20plus%20ou%20moins%20connues%20%28que%20je%20n%27ai%20pas%20trop%20os%C3%A9%20aborder%20d%27ailleurs...%29%20et%20bien%20s%C3%BBr%20d%27excel&amp;submitCategory=science&amp;submitAssetType=text" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/yahoobuzz.png" class="sociable-img sociable-hovers" title="Yahoo! Buzz" alt="Yahoo! Buzz" /></a><br
/><br
/>]]></content:encoded> <wfw:commentRss>http://www.willdurand.fr/forumphp-resume-de-ma-premiere-journee/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>#define SOME_NEWS 1</title><link>http://www.willdurand.fr/define-some_news-1/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=define-some_news-1</link> <comments>http://www.willdurand.fr/define-some_news-1/#comments</comments> <pubDate>Sat, 23 Oct 2010 16:45:52 +0000</pubDate> <dc:creator>Will</dc:creator> <category><![CDATA[Ma vie]]></category><guid
isPermaLink="false">http://www.willdurand.fr/?p=732</guid> <description><![CDATA[Bonjour, voilà un moment que je n&#8217;avais pas écrit, pas mal d&#8217;occupations, pas mal de projets et peu de temps pour réfléchir à de nouveaux articles&#8230; Article inhabituel donc puisque je vais parlé de mes nouvelles perspectives. Tout d&#8217;abord, mon stage de 2ème année est trouvé, je ne donnerai pas le nom de l&#8217;entreprise mais sachez que [...]]]></description> <content:encoded><![CDATA[<p
style="text-align: justify;">Bonjour, voilà un moment que je n&#8217;avais pas écrit, pas mal d&#8217;occupations, pas mal de projets et peu de temps pour réfléchir à de nouveaux articles&#8230; Article inhabituel donc puisque je vais parlé de mes nouvelles perspectives.</p><p
style="text-align: justify;">Tout d&#8217;abord, mon stage de 2ème année est trouvé, je ne donnerai pas le nom de l&#8217;entreprise mais sachez que c&#8217;est une grande marque, que ce sera un sujet orienté développement web et industrialisation et que j&#8217;ai très hâte de commencer <img
src='http://www.willdurand.fr/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> Cependant, le stage débute en avril 2011.</p><p
style="text-align: justify;"></p><p
style="text-align: justify;">Depuis quelques temps, j&#8217;ai décidé de m&#8217;orienter sur du développement mobile. J&#8217;ai écrit mes premières lignes d&#8217;<strong>Objective-C</strong> il y a quelques jours et j&#8217;ai également décroché un projet <strong>iPhone</strong> avec une entreprise locale. Ceci devrait me permettre d&#8217;avancer assez rapidement. Visiblement, le langage n&#8217;est pas complexe. Par contre, la gestion d&#8217;un projet &laquo;&nbsp;mobile&nbsp;&raquo; est bien différente de ce que j&#8217;ai rencontré jusqu&#8217;à présent : faire passer l&#8217;ergonomie et l&#8217;aisance d&#8217;utilisation avant toute fonctionnalité. J&#8217;attaque également la programmation <strong>Android</strong>&#8230;</p><p
style="text-align: justify;"></p><p
style="text-align: justify;">Comment écrire un article sans parler de <strong>Symfony</strong> ? J&#8217;ai regardé de près <strong><a
href="http://symfony-reloaded.org/">Symfony2</a></strong>, les concepts m&#8217;inspirent et je vois une nette ressemblance avec Spring. A première vue, la prise en main est rapide lorsque l&#8217;on connait les dogmes Symfony 1.4 et dans mon cas, que l&#8217;on connait Java J2EE (Spring notamment).</p><p
style="text-align: justify;"><strong>Doctrine2</strong> lui ressemble à JPA, c&#8217;est très agréable. Le système d&#8217;annotations est terrible, dommage que la core team PHP <a
href="http://blog.mageekbox.net/?post/2010/10/02/Un-petit-point-sur-les-annotations">rechigne à l&#8217;ajouter</a>. Celle-ci ne donne pas très envie de rester développeur PHP&#8230; C&#8217;est peut-être osé de dire cela mais s&#8217;ils restent comme ils sont, PHP pourrait très bien chavirer&#8230;</p><p
style="text-align: justify;">Enfin, <strong>Twig</strong>, le moteur de templates, est vraiment bien. L&#8217;héritage de vue avec la redéfinition de &laquo;&nbsp;<em>block</em>&nbsp;&raquo; est absolument intuitif et je trouve ça terrible !</p><p
style="text-align: justify;">J&#8217;attends avec impatience la sortie officielle de ce nouveau framework même si je ne suis pas certain de continuer à travailler exclusivement avec Symfony et même PHP&#8230;</p><p
style="text-align: justify;"></p><p
style="text-align: justify;">En effet, j&#8217;ai découvert dans un premier temps <strong><a
href="http://www.playframework.org/">Play! Framework</a></strong> puis <strong><a
href="http://www.grails.org/">Grails</a></strong> : deux frameworks <strong>Java</strong>, inspiré de <strong>Symfony</strong> pour l&#8217;un, de <strong>Ruby on Rails</strong> pour l&#8217;autre. Or, Symfony s&#8217;inspire déjà de <strong>RoR</strong>. Après maintes lectures, PHP semble être de plus en plus délaissé au profit de Ruby ou Python. La demande pour ces langages grandit et c&#8217;est pourquoi j&#8217;ai choisi de me lancer sur <strong><a
href="http://rubyonrails.org/">Ruby on Rails</a></strong> ou <strong><a
href="http://www.python.org/">Python</a></strong>. Pour l&#8217;instant, mon choix n&#8217;est pas fait même si je porte plus Ruby dans mon coeur (allez savoir pourquoi&#8230;).</p><p
style="text-align: justify;"></p><p
style="text-align: justify;">Et le titre de cet article me direz-vous ? Et bien, ces temps-ci et pour des besoins scolaires en recherche opérationnelle, je refais du <strong>C++</strong>. Même si j&#8217;ai un discours très arrêté sur ce langage, je dois dire que j&#8217;apprécie. Bon, programmer des heuristiques pour job-shop c&#8217;est beaucoup moins drôle mais quand même&#8230;</p><p
style="text-align: justify;"></p><p
style="text-align: justify;">Voilà pour les nouvelles, j&#8217;espère ré-écrire bientôt sur des sujets techniques. <img
src='http://www.willdurand.fr/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /></p><h3 class='related_post_title'>Related Posts</h3><ul
class='related_post'><li>No Related Posts</li></ul> <a
rel="nofollow" target="_blank"  href="http://www.printfriendly.com/print/new?url=http%3A%2F%2Fwww.willdurand.fr%2Fdefine-some_news-1%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/printfriendly.png" class="sociable-img sociable-hovers" title="Print" alt="Print" /></a><a
rel="nofollow" target="_blank"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.willdurand.fr%2Fdefine-some_news-1%2F&amp;title=%23define%20SOME_NEWS%201&amp;bodytext=Bonjour%2C%C2%A0voil%C3%A0%20un%20moment%20que%20je%20n%27avais%20pas%20%C3%A9crit%2C%20pas%20mal%20d%27occupations%2C%20pas%20mal%20de%20projets%20et%20peu%20de%20temps%20pour%20r%C3%A9fl%C3%A9chir%20%C3%A0%20de%20nouveaux%20articles...%C2%A0Article%20inhabituel%20donc%20puisque%20je%20vais%20parl%C3%A9%20de%20mes%20nouvelles%20perspectives.%0D%0ATout%20d%27abord%2C%20" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a><a
rel="nofollow" target="_blank"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.willdurand.fr%2Fdefine-some_news-1%2F&amp;title=%23define%20SOME_NEWS%201" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a><a
rel="nofollow" target="_blank"  href="http://delicious.com/post?url=http%3A%2F%2Fwww.willdurand.fr%2Fdefine-some_news-1%2F&amp;title=%23define%20SOME_NEWS%201&amp;notes=Bonjour%2C%C2%A0voil%C3%A0%20un%20moment%20que%20je%20n%27avais%20pas%20%C3%A9crit%2C%20pas%20mal%20d%27occupations%2C%20pas%20mal%20de%20projets%20et%20peu%20de%20temps%20pour%20r%C3%A9fl%C3%A9chir%20%C3%A0%20de%20nouveaux%20articles...%C2%A0Article%20inhabituel%20donc%20puisque%20je%20vais%20parl%C3%A9%20de%20mes%20nouvelles%20perspectives.%0D%0ATout%20d%27abord%2C%20" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/delicious.png" class="sociable-img sociable-hovers" title="del.icio.us" alt="del.icio.us" /></a><a
rel="nofollow" target="_blank"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.willdurand.fr%2Fdefine-some_news-1%2F&amp;t=%23define%20SOME_NEWS%201" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a><a
rel="nofollow" target="_blank"  href="http://twitter.com/home?status=%23define%20SOME_NEWS%201%20-%20http%3A%2F%2Fwww.willdurand.fr%2Fdefine-some_news-1%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a><a
rel="nofollow" target="_blank"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.willdurand.fr%2Fdefine-some_news-1%2F&amp;title=%23define%20SOME_NEWS%201&amp;annotation=Bonjour%2C%C2%A0voil%C3%A0%20un%20moment%20que%20je%20n%27avais%20pas%20%C3%A9crit%2C%20pas%20mal%20d%27occupations%2C%20pas%20mal%20de%20projets%20et%20peu%20de%20temps%20pour%20r%C3%A9fl%C3%A9chir%20%C3%A0%20de%20nouveaux%20articles...%C2%A0Article%20inhabituel%20donc%20puisque%20je%20vais%20parl%C3%A9%20de%20mes%20nouvelles%20perspectives.%0D%0ATout%20d%27abord%2C%20" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/googlebookmark.png" class="sociable-img sociable-hovers" title="Google Bookmarks" alt="Google Bookmarks" /></a><a
rel="nofollow" target="_blank"  href="http://www.friendfeed.com/share?title=%23define%20SOME_NEWS%201&amp;link=http%3A%2F%2Fwww.willdurand.fr%2Fdefine-some_news-1%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/friendfeed.png" class="sociable-img sociable-hovers" title="FriendFeed" alt="FriendFeed" /></a><a
rel="nofollow" target="_blank"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.willdurand.fr%2Fdefine-some_news-1%2F&amp;title=%23define%20SOME_NEWS%201&amp;source=William%26%23039%3Bs+Blog+D%C3%A9veloppeur+web+ind%C3%A9pendant%2C+%C3%A9tudiant+et+passionn%C3%A9+%21+%23Symfony2+%23Rails+%23Diem+%23Git+%23Nginx+%23WebPerfs+%23SoftwareQuality&amp;summary=Bonjour%2C%C2%A0voil%C3%A0%20un%20moment%20que%20je%20n%27avais%20pas%20%C3%A9crit%2C%20pas%20mal%20d%27occupations%2C%20pas%20mal%20de%20projets%20et%20peu%20de%20temps%20pour%20r%C3%A9fl%C3%A9chir%20%C3%A0%20de%20nouveaux%20articles...%C2%A0Article%20inhabituel%20donc%20puisque%20je%20vais%20parl%C3%A9%20de%20mes%20nouvelles%20perspectives.%0D%0ATout%20d%27abord%2C%20" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/linkedin.png" class="sociable-img sociable-hovers" title="LinkedIn" alt="LinkedIn" /></a><a
rel="nofollow" target="_blank"  href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fwww.willdurand.fr%2Fdefine-some_news-1%2F&amp;t=%23define%20SOME_NEWS%201" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/myspace.png" class="sociable-img sociable-hovers" title="MySpace" alt="MySpace" /></a><a
rel="nofollow" target="_blank"  href="http://www.netvibes.com/share?title=%23define%20SOME_NEWS%201&amp;url=http%3A%2F%2Fwww.willdurand.fr%2Fdefine-some_news-1%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/netvibes.png" class="sociable-img sociable-hovers" title="Netvibes" alt="Netvibes" /></a><a
rel="nofollow" target="_blank"  href="http://www.printfriendly.com/print/new?url=http%3A%2F%2Fwww.willdurand.fr%2Fdefine-some_news-1%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/pdf.png" class="sociable-img sociable-hovers" title="PDF" alt="PDF" /></a><a
rel="nofollow" target="_blank"  href="http://ping.fm/ref/?link=http%3A%2F%2Fwww.willdurand.fr%2Fdefine-some_news-1%2F&amp;title=%23define%20SOME_NEWS%201&amp;body=Bonjour%2C%C2%A0voil%C3%A0%20un%20moment%20que%20je%20n%27avais%20pas%20%C3%A9crit%2C%20pas%20mal%20d%27occupations%2C%20pas%20mal%20de%20projets%20et%20peu%20de%20temps%20pour%20r%C3%A9fl%C3%A9chir%20%C3%A0%20de%20nouveaux%20articles...%C2%A0Article%20inhabituel%20donc%20puisque%20je%20vais%20parl%C3%A9%20de%20mes%20nouvelles%20perspectives.%0D%0ATout%20d%27abord%2C%20" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/ping.png" class="sociable-img sociable-hovers" title="Ping.fm" alt="Ping.fm" /></a><a
rel="nofollow" target="_blank"  href="http://www.willdurand.fr/feed/" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/rss.png" class="sociable-img sociable-hovers" title="RSS" alt="RSS" /></a><a
rel="nofollow" target="_blank"  href="http://technorati.com/faves?add=http%3A%2F%2Fwww.willdurand.fr%2Fdefine-some_news-1%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/technorati.png" class="sociable-img sociable-hovers" title="Technorati" alt="Technorati" /></a><a
rel="nofollow" target="_blank"  href="http://www.viadeo.com/shareit/share/?url=http%3A%2F%2Fwww.willdurand.fr%2Fdefine-some_news-1%2F&title=%23define%20SOME_NEWS%201&urllanguage=fr" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/viadeo.png" class="sociable-img sociable-hovers" title="viadeo FR" alt="viadeo FR" /></a><a
rel="nofollow" target="_blank"  href="http://www.wikio.com/vote?url=http%3A%2F%2Fwww.willdurand.fr%2Fdefine-some_news-1%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/wikio.png" class="sociable-img sociable-hovers" title="Wikio" alt="Wikio" /></a><a
rel="nofollow" target="_blank"  href="http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Fwww.willdurand.fr%2Fdefine-some_news-1%2F&amp;submitHeadline=%23define%20SOME_NEWS%201&amp;submitSummary=Bonjour%2C%C2%A0voil%C3%A0%20un%20moment%20que%20je%20n%27avais%20pas%20%C3%A9crit%2C%20pas%20mal%20d%27occupations%2C%20pas%20mal%20de%20projets%20et%20peu%20de%20temps%20pour%20r%C3%A9fl%C3%A9chir%20%C3%A0%20de%20nouveaux%20articles...%C2%A0Article%20inhabituel%20donc%20puisque%20je%20vais%20parl%C3%A9%20de%20mes%20nouvelles%20perspectives.%0D%0ATout%20d%27abord%2C%20&amp;submitCategory=science&amp;submitAssetType=text" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/yahoobuzz.png" class="sociable-img sociable-hovers" title="Yahoo! Buzz" alt="Yahoo! Buzz" /></a><br
/><br
/>]]></content:encoded> <wfw:commentRss>http://www.willdurand.fr/define-some_news-1/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Faut-il tester&#8230; les tests ?</title><link>http://www.willdurand.fr/faut-il-tester-les-tests/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=faut-il-tester-les-tests</link> <comments>http://www.willdurand.fr/faut-il-tester-les-tests/#comments</comments> <pubDate>Tue, 10 Aug 2010 11:39:33 +0000</pubDate> <dc:creator>Will</dc:creator> <category><![CDATA[Boulot]]></category> <category><![CDATA[Ma vie]]></category> <category><![CDATA[symfony]]></category> <category><![CDATA[Hudson]]></category> <category><![CDATA[Lime]]></category> <category><![CDATA[Symfony]]></category> <category><![CDATA[TDD]]></category> <category><![CDATA[Tests fonctionnels]]></category> <category><![CDATA[Tests unitaires]]></category><guid
isPermaLink="false">http://www.willdurand.fr/?p=538</guid> <description><![CDATA[Avec ce titre très accrocheur, vous allez surement penser que je vais vous parler de tests et vous avez raison&#8230; Mais de quels tests et pourquoi d&#8217;abord ? Il y a un presque deux ans maintenant, j&#8217;apprenais à écrire des tests unitaires et fonctionnels en Java, à l&#8217;aide de JUnit, JMeter, et compagnie. J&#8217;ai appris [...]]]></description> <content:encoded><![CDATA[<p
style="text-align: justify;">Avec ce titre très accrocheur, vous allez surement penser que je vais vous parler de tests et vous avez raison&#8230; Mais de quels tests et pourquoi d&#8217;abord ?</p><p
style="text-align: justify;">Il y a un presque deux ans maintenant, j&#8217;apprenais à écrire des <strong>tests unitaires et fonctionnels</strong> en Java, à l&#8217;aide de <strong>JUnit</strong>, <strong>JMeter</strong>, et compagnie. J&#8217;ai appris à écrire des scénarios de tests avec un logiciel dont je ne me souviens plus du nom, une alternative gratuite à <strong>HP Test Director</strong>. On écrit des <strong>scénarios de tests</strong>, des gens suivent les instructions et fournissent le résultat qu&#8217;ils obtiennent. C&#8217;est bien gentil tout ça mais je n&#8217;ai pas 50 personnes sous la main pour les faire exécuter mes tests et ce n&#8217;est pas mon associé qui voudrait suivre mes procédures&#8230;</p><p
style="text-align: justify;"></p><p
style="text-align: justify;">Comme mon boulot consiste à écrire uniquement des sites web, j&#8217;ai cherché un outil qui pourrait faire ce boulot à ma place. Il ne m&#8217;a pas fallu longtemps pour trouver <a
href="http://seleniumhq.org/"><strong>Selenium</strong></a>, une suite d&#8217;outils permettant d&#8217;enregistrer un enchaînement d&#8217;actions dans le navigateur, de rejouer cet enchaînement autant qu&#8217;on le souhaite, sur plusieurs navigateurs, en parallèle (test de &laquo;&nbsp;<em>scalabilité</em>&laquo;&nbsp;), &#8230;</p><p
style="text-align: justify;">C&#8217;est donc l&#8217;outil parfait pour gérer les scénarios fonctionnels. J&#8217;enregistre mes tests et je les rejoue. Je vérifie ainsi que mon appli réponds correctement et que je n&#8217;ai rien cassé en modifiant une partie du code. Exemple avec <strong>symfony</strong>, la mise à jour du <em>schema.yml</em>.</p><p
style="text-align: justify;"></p><p
style="text-align: justify;">D&#8217;ailleurs avec <strong>symfony</strong>, on peut faire des tests fonctionnels et c&#8217;est une chose que je ne faisais pas. Pour être franc, je ne faisais pas trop de tests en PHP, enfin si mais pas formellement. Maintenant cette période est terminée. J&#8217;adopte une nouvelle approche, l&#8217;approche <strong>TDD </strong>que j&#8217;expliciterai plus tard.
En <strong>symfony</strong>, on peut donc faire des <strong>tests fonctionnels</strong> avec les classes <em>sfTestFunctional </em>et <em>sfBrowser </em>(qui simule un navigateur). Pourquoi utiliser <strong>Selenium </strong>alors ? Et bien parce que ces tests sont bons mais ne remplacent pas <strong>Selenium</strong>, par exemple, on ne peut pas tester les appels Ajax. Voici un aperçu d&#8217;un test fonctionnel écrit en symfony :</p><div
class="codecolorer-container php vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:100%;"><div
class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span
style="color: #009933; font-style: italic;">/**<br
/> * Functional test file<br
/> *<br
/> * @author William DURAND<br
/> */</span><br
/> <br
/> <span
style="color: #b1b100;">include</span><span
style="color: #009900;">&#40;</span><a
href="http://www.php.net/dirname"><span
style="color: #990000;">dirname</span></a><span
style="color: #009900;">&#40;</span><span
style="color: #009900; font-weight: bold;">__FILE__</span><span
style="color: #009900;">&#41;</span><span
style="color: #339933;">.</span><span
style="color: #0000ff;">'/../../bootstrap/functional.php'</span><span
style="color: #009900;">&#41;</span><span
style="color: #339933;">;</span><br
/> <span
style="color: #b1b100;">include</span><span
style="color: #009900;">&#40;</span><a
href="http://www.php.net/dirname"><span
style="color: #990000;">dirname</span></a><span
style="color: #009900;">&#40;</span><span
style="color: #009900; font-weight: bold;">__FILE__</span><span
style="color: #009900;">&#41;</span><span
style="color: #339933;">.</span><span
style="color: #0000ff;">'/../../bootstrap/doctrine.php'</span><span
style="color: #009900;">&#41;</span><span
style="color: #339933;">;</span><br
/> <br
/> <span
style="color: #000088;">$browser</span> <span
style="color: #339933;">=</span> <span
style="color: #000000; font-weight: bold;">new</span> sfTestFunctional<span
style="color: #009900;">&#40;</span><span
style="color: #000000; font-weight: bold;">new</span> sfBrowser<span
style="color: #009900;">&#40;</span><span
style="color: #009900;">&#41;</span><span
style="color: #009900;">&#41;</span><span
style="color: #339933;">;</span><br
/> <br
/> <span
style="color: #666666; font-style: italic;">// Auto-generated</span><br
/> <span
style="color: #000088;">$test</span> <span
style="color: #339933;">=</span> <span
style="color: #000088;">$browser</span><span
style="color: #339933;">-&gt;</span><span
style="color: #004000;">test</span><span
style="color: #009900;">&#40;</span><span
style="color: #009900;">&#41;</span><span
style="color: #339933;">;</span><br
/> <span
style="color: #000088;">$conn</span> <span
style="color: #339933;">=</span> Doctrine<span
style="color: #339933;">::</span><span
style="color: #004000;">getConnectionByTableName</span><span
style="color: #009900;">&#40;</span><span
style="color: #0000ff;">'Commande'</span><span
style="color: #009900;">&#41;</span><span
style="color: #339933;">;</span><br
/> <br
/> <span
style="color: #000088;">$conn</span><span
style="color: #339933;">-&gt;</span><span
style="color: #004000;">beginTransaction</span><span
style="color: #009900;">&#40;</span><span
style="color: #009900;">&#41;</span><span
style="color: #339933;">;</span><br
/> <br
/> <span
style="color: #666666; font-style: italic;">// Get the form</span><br
/> <span
style="color: #000088;">$browser</span><br
/> &nbsp; <span
style="color: #339933;">-&gt;</span><span
style="color: #004000;">call</span><span
style="color: #009900;">&#40;</span><span
style="color: #0000ff;">'/commande/new'</span><span
style="color: #339933;">,</span> <span
style="color: #0000ff;">'GET'</span><span
style="color: #339933;">,</span> <a
href="http://www.php.net/array"><span
style="color: #990000;">array</span></a><span
style="color: #009900;">&#40;</span><span
style="color: #009900;">&#41;</span><span
style="color: #009900;">&#41;</span><br
/> &nbsp; <span
style="color: #339933;">-&gt;</span><span
style="color: #004000;">with</span><span
style="color: #009900;">&#40;</span><span
style="color: #0000ff;">'request'</span><span
style="color: #009900;">&#41;</span><span
style="color: #339933;">-&gt;</span><span
style="color: #004000;">begin</span><span
style="color: #009900;">&#40;</span><span
style="color: #009900;">&#41;</span><br
/> &nbsp; &nbsp; <span
style="color: #339933;">-&gt;</span><span
style="color: #004000;">isParameter</span><span
style="color: #009900;">&#40;</span><span
style="color: #0000ff;">'module'</span><span
style="color: #339933;">,</span> <span
style="color: #0000ff;">'commande'</span><span
style="color: #009900;">&#41;</span><br
/> &nbsp; &nbsp; <span
style="color: #339933;">-&gt;</span><span
style="color: #004000;">isParameter</span><span
style="color: #009900;">&#40;</span><span
style="color: #0000ff;">'action'</span><span
style="color: #339933;">,</span> <span
style="color: #0000ff;">'new'</span><span
style="color: #009900;">&#41;</span><br
/> &nbsp; <span
style="color: #339933;">-&gt;</span><span
style="color: #004000;">end</span><span
style="color: #009900;">&#40;</span><span
style="color: #009900;">&#41;</span><br
/> &nbsp; <span
style="color: #339933;">-&gt;</span><span
style="color: #004000;">with</span><span
style="color: #009900;">&#40;</span><span
style="color: #0000ff;">'response'</span><span
style="color: #009900;">&#41;</span><span
style="color: #339933;">-&gt;</span><span
style="color: #004000;">begin</span><span
style="color: #009900;">&#40;</span><span
style="color: #009900;">&#41;</span><br
/> &nbsp; &nbsp; <span
style="color: #339933;">-&gt;</span><span
style="color: #004000;">info</span><span
style="color: #009900;">&#40;</span><span
style="color: #0000ff;">'1.1 - Get the &quot;Commande&quot; form'</span><span
style="color: #009900;">&#41;</span><br
/> &nbsp; &nbsp; <span
style="color: #339933;">-&gt;</span><span
style="color: #004000;">isStatusCode</span><span
style="color: #009900;">&#40;</span><span
style="color: #cc66cc;">200</span><span
style="color: #009900;">&#41;</span><br
/> &nbsp; &nbsp; <span
style="color: #339933;">-&gt;</span><span
style="color: #004000;">checkElement</span><span
style="color: #009900;">&#40;</span><span
style="color: #0000ff;">'#content &gt; p'</span><span
style="color: #339933;">,</span> <span
style="color: #0000ff;">'#Nouvelle commande#'</span><span
style="color: #009900;">&#41;</span><br
/> &nbsp; <span
style="color: #339933;">-&gt;</span><span
style="color: #004000;">end</span><span
style="color: #009900;">&#40;</span><span
style="color: #009900;">&#41;</span><br
/> &nbsp; <span
style="color: #339933;">;</span></div></div><p
style="text-align: justify;">C&#8217;est très intuitif, les tests sont formés de &laquo;&nbsp;blocs&nbsp;&raquo; commençant par <em>with()</em> et terminant par <em>end()</em>. Il y a déjà beaucoup d&#8217;articles sur le sujet donc je ne m&#8217;y étendrait pas. Par contre petit tuyau, pour aller plus vite j&#8217;utilise le plugin <a
href="http://github.com/rande/swFunctionalTestGenerationPlugin"><strong>swFunctionalTestGenerationPlugin</strong></a><strong> </strong>qui permet de générer un &laquo;&nbsp;stub&nbsp;&raquo; de test fonctionnel symfony directement depuis les actions que l&#8217;on effectue dans la navigateur, pratique !</p><p
style="text-align: justify;"></p><p
style="text-align: justify;">Il n&#8217;y a pas que les tests fonctionnels dans la vie, il y a également les tests unitaires. Comme <strong>JUnit </strong>pour Java, on a le droit à <strong>PHPUnit </strong>pour PHP mais je ne l&#8217;ai pas encore essayé. J&#8217;utilise <a
href="http://www.symfony-project.org/book/1_2/15-Unit-and-Functional-Testing#The%20Lime%20Testing%20Framework"><strong>Lime</strong></a>, un framework de tests embarqué dans <strong>symfony</strong>, écrit par Maître <a
href="http://www.twitter.com/fabpot">@fapbot</a>. Au lieu des classiques <em>assertTrue()</em>, <em>assertFalse()</em>, on dispose des méthodes <em>is()</em>, <em>isnt()</em>, &#8230; Comme pour les tests fonctionnels, l&#8217;écriture de tests unitaires est très intuitive.</p><p
style="text-align: justify;">Grâce à ces tests unitaires, mon code est contrôlé et je n&#8217;ai plus à me soucier d&#8217;éventuels effets de bord. Je sais exactement comment se comportent mes méthodes et mes objets. Je blinde ainsi mon modèle, ce qui fait une chose de moins à me soucier. Je passe 50% de mon temps à écrire du code dans mes actions et vues, 20% de mon temps à écrire du code dans mon modèle, 20% à écrire mes tests et le reste à boire du café&#8230; Je ne me soucis pas du reste, mon environnement de <em>test </em>est complètement découplé de mon environnement de <em>dev </em>et l&#8217;environnement de <em>prod </em>est distant.</p><p
style="text-align: justify;"></p><p
style="text-align: justify;">Sauf que&#8230; lancer les tests c&#8217;est long et j&#8217;aime pas trop attendre. Je me suis tourné vers des outils qui font le boulot à ma place. C&#8217;est ce que l&#8217;on appelle des <strong>serveurs d&#8217;intégration continue</strong>. Je regrette de ne pas avoir pu tester <strong>Sismo</strong>, le serveur d&#8217;intégration continue (CI) de Sensio Labs (vous savez, le même que plus haut, décidément !).</p><p
style="text-align: justify;">J&#8217;ai testé <strong>Hudson </strong>et <strong>phpUnderControl </strong>(<strong>cruiseControl</strong>). Pour ce dernier, je n&#8217;en suis pas très satisfait avec <strong>symfony </strong>et <strong>Lime</strong>. Il fonctionne bien, l&#8217;utilisation de <strong>Ant </strong>fait plaisir mais je n&#8217;ai pas pu profiter de toutes les possibilités de ce serveur. Je l&#8217;ai donc laissé tombé au profit d&#8217;<strong>Hudson</strong>. C&#8217;est un serveur plaisant, rapide à prendre en main, très lisible et parfaitement customisable avec le nombre incommensurable de plugins dont il dispose. Pour savoir comment le faire fonctionner avec symfony, on lit <a
href="http://prendreuncafe.com/blog/post/2009/10/06/Simple-Continuous-Integration-of-a-Symfony-Project-using-Hudson">cet article</a> de Nicolas Perriault. Pour ma part, je n&#8217;utilise pas SVN mais <strong>Git</strong>, il suffit d&#8217;installer le plugin qui va bien.</p><p
style="text-align: justify;"></p><p
style="text-align: justify;">Voilà, sachant que mon Gmail est tout le temps ouvert et que j&#8217;ai le checker qui va bien dans Chrome, je suis alerté assez rapidement par mail si je casse tout. Encore quelque chose de moins à me soucier. C&#8217;est ce qu&#8217;on appelle, je crois, l&#8217;efficience et la productivité s&#8217;en porte beaucoup mieux.</p><p
style="text-align: justify;"></p><p
style="text-align: justify;">Il me reste cependant quelque chose à éclaircir : <strong>TDD</strong>. <a
href="http://fr.wikipedia.org/wiki/Test_Driven_Development"><strong>Test Driven Development</strong></a> ou <strong>Développement piloté par les tests</strong>. Pour faire simple, avant de développer une fonctionnalité, je réfléchis. Oui mais je réfléchis deux fois puis trois fois même. C&#8217;est-à-dire que je cherche comment l&#8217;écrire, comment elle pourrait mal se comporter et comment la tester. Ensuite, je prends le chemin inverse. J&#8217;écris mes tests, je veille à son comportement lors de son écriture. Et voilà, ma fonctionnalité est écrite, les tests passent, je continue mon travail. Je ne passe pas 30 minutes à chercher ce qui ne va pas&#8230;</p><p
style="text-align: justify;"></p><p
style="text-align: justify;">Au fait, pourquoi cet intitulé d&#8217;article ? C&#8217;est une interrogation qui vient des cours de qualité logiciel que j&#8217;ai pu avoir auparavant. J&#8217;ai toujours gardé cette phrase à l&#8217;esprit lorsqu&#8217;on me parle de tests. La question n&#8217;est pas si simple qu&#8217;elle en a l&#8217;air. Si vous avez une idée, les commentaires sont fait pour cela. Moi, je garde mon idée <img
src='http://www.willdurand.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p><p
style="text-align: justify;"></p><p
style="text-align: justify;">En résumé, j&#8217;ai passé de bonnes vacances <img
src='http://www.willdurand.fr/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /></p><h3 class='related_post_title'>Related Posts</h3><ul
class='related_post'><li><a
href='http://www.willdurand.fr/symfony-rencontre-hudson-mantis-et-les-autres/' title='symfony rencontre Hudson, Mantis et les autres'>symfony rencontre Hudson, Mantis et les autres</a></li><li><a
href='http://www.willdurand.fr/tests-unitaires-et-fonctionnels-sur-un-bundle-en-symfony2/' title='Tests unitaires et fonctionnels sur un Bundle en Symfony2'>Tests unitaires et fonctionnels sur un Bundle en Symfony2</a></li><li><a
href='http://www.willdurand.fr/symfony-jenkins-co/' title=' Symfony, Jenkins &amp; co'> Symfony, Jenkins &#038; co</a></li><li><a
href='http://www.willdurand.fr/symfony-live-2011/' title='Symfony live 2011'>Symfony live 2011</a></li><li><a
href='http://www.willdurand.fr/creation-automatique-dun-projet-symfony-mysql-git-et-apache2/' title='Création automatique d&#8217;un projet symfony + MySQL + Git et Apache2'>Création automatique d&#8217;un projet symfony + MySQL + Git et Apache2</a></li></ul> <a
rel="nofollow" target="_blank"  href="http://www.printfriendly.com/print/new?url=http%3A%2F%2Fwww.willdurand.fr%2Ffaut-il-tester-les-tests%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/printfriendly.png" class="sociable-img sociable-hovers" title="Print" alt="Print" /></a><a
rel="nofollow" target="_blank"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.willdurand.fr%2Ffaut-il-tester-les-tests%2F&amp;title=Faut-il%20tester...%20les%20tests%20%3F&amp;bodytext=Avec%20ce%20titre%20tr%C3%A8s%20accrocheur%2C%20vous%20allez%20surement%20penser%20que%20je%20vais%20vous%20parler%20de%20tests%20et%20vous%20avez%20raison...%20Mais%20de%20quels%20tests%20et%20pourquoi%20d%27abord%20%3F%0D%0AIl%20y%20a%20un%20presque%20deux%20ans%20maintenant%2C%20j%27apprenais%20%C3%A0%20%C3%A9crire%20des%20tests%20unitaires%20et%20fonctio" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a><a
rel="nofollow" target="_blank"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.willdurand.fr%2Ffaut-il-tester-les-tests%2F&amp;title=Faut-il%20tester...%20les%20tests%20%3F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a><a
rel="nofollow" target="_blank"  href="http://delicious.com/post?url=http%3A%2F%2Fwww.willdurand.fr%2Ffaut-il-tester-les-tests%2F&amp;title=Faut-il%20tester...%20les%20tests%20%3F&amp;notes=Avec%20ce%20titre%20tr%C3%A8s%20accrocheur%2C%20vous%20allez%20surement%20penser%20que%20je%20vais%20vous%20parler%20de%20tests%20et%20vous%20avez%20raison...%20Mais%20de%20quels%20tests%20et%20pourquoi%20d%27abord%20%3F%0D%0AIl%20y%20a%20un%20presque%20deux%20ans%20maintenant%2C%20j%27apprenais%20%C3%A0%20%C3%A9crire%20des%20tests%20unitaires%20et%20fonctio" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/delicious.png" class="sociable-img sociable-hovers" title="del.icio.us" alt="del.icio.us" /></a><a
rel="nofollow" target="_blank"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.willdurand.fr%2Ffaut-il-tester-les-tests%2F&amp;t=Faut-il%20tester...%20les%20tests%20%3F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a><a
rel="nofollow" target="_blank"  href="http://twitter.com/home?status=Faut-il%20tester...%20les%20tests%20%3F%20-%20http%3A%2F%2Fwww.willdurand.fr%2Ffaut-il-tester-les-tests%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a><a
rel="nofollow" target="_blank"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.willdurand.fr%2Ffaut-il-tester-les-tests%2F&amp;title=Faut-il%20tester...%20les%20tests%20%3F&amp;annotation=Avec%20ce%20titre%20tr%C3%A8s%20accrocheur%2C%20vous%20allez%20surement%20penser%20que%20je%20vais%20vous%20parler%20de%20tests%20et%20vous%20avez%20raison...%20Mais%20de%20quels%20tests%20et%20pourquoi%20d%27abord%20%3F%0D%0AIl%20y%20a%20un%20presque%20deux%20ans%20maintenant%2C%20j%27apprenais%20%C3%A0%20%C3%A9crire%20des%20tests%20unitaires%20et%20fonctio" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/googlebookmark.png" class="sociable-img sociable-hovers" title="Google Bookmarks" alt="Google Bookmarks" /></a><a
rel="nofollow" target="_blank"  href="http://www.friendfeed.com/share?title=Faut-il%20tester...%20les%20tests%20%3F&amp;link=http%3A%2F%2Fwww.willdurand.fr%2Ffaut-il-tester-les-tests%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/friendfeed.png" class="sociable-img sociable-hovers" title="FriendFeed" alt="FriendFeed" /></a><a
rel="nofollow" target="_blank"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.willdurand.fr%2Ffaut-il-tester-les-tests%2F&amp;title=Faut-il%20tester...%20les%20tests%20%3F&amp;source=William%26%23039%3Bs+Blog+D%C3%A9veloppeur+web+ind%C3%A9pendant%2C+%C3%A9tudiant+et+passionn%C3%A9+%21+%23Symfony2+%23Rails+%23Diem+%23Git+%23Nginx+%23WebPerfs+%23SoftwareQuality&amp;summary=Avec%20ce%20titre%20tr%C3%A8s%20accrocheur%2C%20vous%20allez%20surement%20penser%20que%20je%20vais%20vous%20parler%20de%20tests%20et%20vous%20avez%20raison...%20Mais%20de%20quels%20tests%20et%20pourquoi%20d%27abord%20%3F%0D%0AIl%20y%20a%20un%20presque%20deux%20ans%20maintenant%2C%20j%27apprenais%20%C3%A0%20%C3%A9crire%20des%20tests%20unitaires%20et%20fonctio" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/linkedin.png" class="sociable-img sociable-hovers" title="LinkedIn" alt="LinkedIn" /></a><a
rel="nofollow" target="_blank"  href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fwww.willdurand.fr%2Ffaut-il-tester-les-tests%2F&amp;t=Faut-il%20tester...%20les%20tests%20%3F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/myspace.png" class="sociable-img sociable-hovers" title="MySpace" alt="MySpace" /></a><a
rel="nofollow" target="_blank"  href="http://www.netvibes.com/share?title=Faut-il%20tester...%20les%20tests%20%3F&amp;url=http%3A%2F%2Fwww.willdurand.fr%2Ffaut-il-tester-les-tests%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/netvibes.png" class="sociable-img sociable-hovers" title="Netvibes" alt="Netvibes" /></a><a
rel="nofollow" target="_blank"  href="http://www.printfriendly.com/print/new?url=http%3A%2F%2Fwww.willdurand.fr%2Ffaut-il-tester-les-tests%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/pdf.png" class="sociable-img sociable-hovers" title="PDF" alt="PDF" /></a><a
rel="nofollow" target="_blank"  href="http://ping.fm/ref/?link=http%3A%2F%2Fwww.willdurand.fr%2Ffaut-il-tester-les-tests%2F&amp;title=Faut-il%20tester...%20les%20tests%20%3F&amp;body=Avec%20ce%20titre%20tr%C3%A8s%20accrocheur%2C%20vous%20allez%20surement%20penser%20que%20je%20vais%20vous%20parler%20de%20tests%20et%20vous%20avez%20raison...%20Mais%20de%20quels%20tests%20et%20pourquoi%20d%27abord%20%3F%0D%0AIl%20y%20a%20un%20presque%20deux%20ans%20maintenant%2C%20j%27apprenais%20%C3%A0%20%C3%A9crire%20des%20tests%20unitaires%20et%20fonctio" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/ping.png" class="sociable-img sociable-hovers" title="Ping.fm" alt="Ping.fm" /></a><a
rel="nofollow" target="_blank"  href="http://www.willdurand.fr/feed/" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/rss.png" class="sociable-img sociable-hovers" title="RSS" alt="RSS" /></a><a
rel="nofollow" target="_blank"  href="http://technorati.com/faves?add=http%3A%2F%2Fwww.willdurand.fr%2Ffaut-il-tester-les-tests%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/technorati.png" class="sociable-img sociable-hovers" title="Technorati" alt="Technorati" /></a><a
rel="nofollow" target="_blank"  href="http://www.viadeo.com/shareit/share/?url=http%3A%2F%2Fwww.willdurand.fr%2Ffaut-il-tester-les-tests%2F&title=Faut-il%20tester...%20les%20tests%20%3F&urllanguage=fr" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/viadeo.png" class="sociable-img sociable-hovers" title="viadeo FR" alt="viadeo FR" /></a><a
rel="nofollow" target="_blank"  href="http://www.wikio.com/vote?url=http%3A%2F%2Fwww.willdurand.fr%2Ffaut-il-tester-les-tests%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/wikio.png" class="sociable-img sociable-hovers" title="Wikio" alt="Wikio" /></a><a
rel="nofollow" target="_blank"  href="http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Fwww.willdurand.fr%2Ffaut-il-tester-les-tests%2F&amp;submitHeadline=Faut-il%20tester...%20les%20tests%20%3F&amp;submitSummary=Avec%20ce%20titre%20tr%C3%A8s%20accrocheur%2C%20vous%20allez%20surement%20penser%20que%20je%20vais%20vous%20parler%20de%20tests%20et%20vous%20avez%20raison...%20Mais%20de%20quels%20tests%20et%20pourquoi%20d%27abord%20%3F%0D%0AIl%20y%20a%20un%20presque%20deux%20ans%20maintenant%2C%20j%27apprenais%20%C3%A0%20%C3%A9crire%20des%20tests%20unitaires%20et%20fonctio&amp;submitCategory=science&amp;submitAssetType=text" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/yahoobuzz.png" class="sociable-img sociable-hovers" title="Yahoo! Buzz" alt="Yahoo! Buzz" /></a><br
/><br
/>]]></content:encoded> <wfw:commentRss>http://www.willdurand.fr/faut-il-tester-les-tests/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>Place au changement !</title><link>http://www.willdurand.fr/place-au-changement/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=place-au-changement</link> <comments>http://www.willdurand.fr/place-au-changement/#comments</comments> <pubDate>Sun, 04 Jul 2010 22:14:49 +0000</pubDate> <dc:creator>Will</dc:creator> <category><![CDATA[Ma vie]]></category><guid
isPermaLink="false">http://88.191.121.241:8080/?p=436</guid> <description><![CDATA[Bonjour ! Non, vous ne vous êtes pas trompés. J&#8217;ai effectivement changé de moteur de blog, passant de mon propre moteur (wMVC) à WordPress. Pourquoi ? Ceux qui me connaissent savent ce que je pense de WordPress (via mister @palleas) mais j&#8217;ai franchi le pas pour ce blog personnel. Pourquoi donc ? Pour des raisons [...]]]></description> <content:encoded><![CDATA[<p
style="text-align: justify;"><em>Bonjour !</em></p><p
style="text-align: justify;"><em>Non, vous ne vous êtes pas trompés. J&#8217;ai effectivement changé de moteur de blog, passant de mon propre moteur (wMVC) à WordPress.</em></p><p
style="text-align: justify;"></p><h2>Pourquoi ?</h2><p
style="text-align: justify;">Ceux qui me connaissent savent ce que je pense de WordPress (via <a
href="http://palleas.com/je-suis-developpeur-wordpress">mister @palleas</a>) mais j&#8217;ai franchi le pas pour ce blog personnel. <strong>Pourquoi donc ?</strong> Pour des <strong>raisons pratiques</strong> uniquement. Le nombre de plugins, le nombre de fonctionnalités, &#8230; en fait un bon produit pour faire un blog &laquo;&nbsp;Ikéa&nbsp;&raquo;, je décompresse, je configure, ça marche, point.</p><p
style="text-align: justify;">J&#8217;ai donc repris l&#8217;ensemble des fonctionnalités de mon ancien blog (toutes écrites par mes soins), j&#8217;ai importé les articles et j&#8217;en ai profité pour changer de thème. Fini le paysage campagnard, je passe sur un thème plus &laquo;&nbsp;clean&nbsp;&raquo;, plus sobre et qui privilégie le contenu au reste.</p><p
style="text-align: justify;"></p><h2 style="text-align: justify;">Autre raison ?</h2><p
style="text-align: justify;">En fait, oui. Ce n&#8217;était pas nécessaire pour moi mais j&#8217;ai fait cette manip&#8217; pour une autre raison. J&#8217;ai récemment pris une Dédibox v3, ce blog tourne dessus entre autres.</p><p
style="text-align: justify;">Le serveur web est Nginx (&laquo;&nbsp;engine X&nbsp;&raquo;), j&#8217;y reviendrai dans de prochains articles. J&#8217;ai voulu tester les performances de cette Dédibox et avec un WordPress + Nginx + APC bien configuré, j&#8217;ai été bluffé. Voilà le résultat, ce blog passe en prod <img
src='http://www.willdurand.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p><p
style="text-align: justify;"></p><h2 style="text-align: justify;">Et sinon ?</h2><p
style="text-align: justify;">Fin d&#8217;année, je change de statut juridique avec un associé et des financiers : <a
title="Bazinga, développement web et mobile - Symfony, Diem, PHP, Java, iPhone, Android, ..." href="http://www.bazingaweb.fr">Bazinga</a>, l&#8217;agence web de développement web (Symfony, Diem) et mobile (iPhone, Android) va naître. (Enfin !). J&#8217;y reviendrai également dans un prochain article.</p><p
style="text-align: justify;">J&#8217;ai pas mal d&#8217;articles en préparation depuis un petit moment sur du Git, Capistrano, Symfony, Diem, Nginx, et autres. J&#8217;espère pouvoir les écrire au plus vite.</p><p
style="text-align: justify;"></p><p
style="text-align: justify;"></p><p
style="text-align: justify;"></p><p
style="text-align: justify;">N&#8217;hésitez pas à me donner vos avis, impressions, &#8230; sur ces changements <img
src='http://www.willdurand.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p><h3 class='related_post_title'>Related Posts</h3><ul
class='related_post'><li>No Related Posts</li></ul> <a
rel="nofollow" target="_blank"  href="http://www.printfriendly.com/print/new?url=http%3A%2F%2Fwww.willdurand.fr%2Fplace-au-changement%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/printfriendly.png" class="sociable-img sociable-hovers" title="Print" alt="Print" /></a><a
rel="nofollow" target="_blank"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.willdurand.fr%2Fplace-au-changement%2F&amp;title=Place%20au%20changement%20%21&amp;bodytext=Bonjour%20%21%0D%0ANon%2C%20vous%20ne%20vous%20%C3%AAtes%20pas%20tromp%C3%A9s.%20J%27ai%20effectivement%20chang%C3%A9%20de%20moteur%20de%20blog%2C%20passant%20de%20mon%20propre%20moteur%20%28wMVC%29%20%C3%A0%20WordPress.%0D%0A%0D%0A%0D%0APourquoi%20%3F%0D%0ACeux%20qui%20me%20connaissent%20savent%20ce%20que%20je%20pense%20de%20WordPress%20%28via%20mister%20%40palleas%29%20mais%20j" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a><a
rel="nofollow" target="_blank"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.willdurand.fr%2Fplace-au-changement%2F&amp;title=Place%20au%20changement%20%21" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a><a
rel="nofollow" target="_blank"  href="http://delicious.com/post?url=http%3A%2F%2Fwww.willdurand.fr%2Fplace-au-changement%2F&amp;title=Place%20au%20changement%20%21&amp;notes=Bonjour%20%21%0D%0ANon%2C%20vous%20ne%20vous%20%C3%AAtes%20pas%20tromp%C3%A9s.%20J%27ai%20effectivement%20chang%C3%A9%20de%20moteur%20de%20blog%2C%20passant%20de%20mon%20propre%20moteur%20%28wMVC%29%20%C3%A0%20WordPress.%0D%0A%0D%0A%0D%0APourquoi%20%3F%0D%0ACeux%20qui%20me%20connaissent%20savent%20ce%20que%20je%20pense%20de%20WordPress%20%28via%20mister%20%40palleas%29%20mais%20j" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/delicious.png" class="sociable-img sociable-hovers" title="del.icio.us" alt="del.icio.us" /></a><a
rel="nofollow" target="_blank"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.willdurand.fr%2Fplace-au-changement%2F&amp;t=Place%20au%20changement%20%21" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a><a
rel="nofollow" target="_blank"  href="http://twitter.com/home?status=Place%20au%20changement%20%21%20-%20http%3A%2F%2Fwww.willdurand.fr%2Fplace-au-changement%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a><a
rel="nofollow" target="_blank"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.willdurand.fr%2Fplace-au-changement%2F&amp;title=Place%20au%20changement%20%21&amp;annotation=Bonjour%20%21%0D%0ANon%2C%20vous%20ne%20vous%20%C3%AAtes%20pas%20tromp%C3%A9s.%20J%27ai%20effectivement%20chang%C3%A9%20de%20moteur%20de%20blog%2C%20passant%20de%20mon%20propre%20moteur%20%28wMVC%29%20%C3%A0%20WordPress.%0D%0A%0D%0A%0D%0APourquoi%20%3F%0D%0ACeux%20qui%20me%20connaissent%20savent%20ce%20que%20je%20pense%20de%20WordPress%20%28via%20mister%20%40palleas%29%20mais%20j" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/googlebookmark.png" class="sociable-img sociable-hovers" title="Google Bookmarks" alt="Google Bookmarks" /></a><a
rel="nofollow" target="_blank"  href="http://www.friendfeed.com/share?title=Place%20au%20changement%20%21&amp;link=http%3A%2F%2Fwww.willdurand.fr%2Fplace-au-changement%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/friendfeed.png" class="sociable-img sociable-hovers" title="FriendFeed" alt="FriendFeed" /></a><a
rel="nofollow" target="_blank"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.willdurand.fr%2Fplace-au-changement%2F&amp;title=Place%20au%20changement%20%21&amp;source=William%26%23039%3Bs+Blog+D%C3%A9veloppeur+web+ind%C3%A9pendant%2C+%C3%A9tudiant+et+passionn%C3%A9+%21+%23Symfony2+%23Rails+%23Diem+%23Git+%23Nginx+%23WebPerfs+%23SoftwareQuality&amp;summary=Bonjour%20%21%0D%0ANon%2C%20vous%20ne%20vous%20%C3%AAtes%20pas%20tromp%C3%A9s.%20J%27ai%20effectivement%20chang%C3%A9%20de%20moteur%20de%20blog%2C%20passant%20de%20mon%20propre%20moteur%20%28wMVC%29%20%C3%A0%20WordPress.%0D%0A%0D%0A%0D%0APourquoi%20%3F%0D%0ACeux%20qui%20me%20connaissent%20savent%20ce%20que%20je%20pense%20de%20WordPress%20%28via%20mister%20%40palleas%29%20mais%20j" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/linkedin.png" class="sociable-img sociable-hovers" title="LinkedIn" alt="LinkedIn" /></a><a
rel="nofollow" target="_blank"  href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fwww.willdurand.fr%2Fplace-au-changement%2F&amp;t=Place%20au%20changement%20%21" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/myspace.png" class="sociable-img sociable-hovers" title="MySpace" alt="MySpace" /></a><a
rel="nofollow" target="_blank"  href="http://www.netvibes.com/share?title=Place%20au%20changement%20%21&amp;url=http%3A%2F%2Fwww.willdurand.fr%2Fplace-au-changement%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/netvibes.png" class="sociable-img sociable-hovers" title="Netvibes" alt="Netvibes" /></a><a
rel="nofollow" target="_blank"  href="http://www.printfriendly.com/print/new?url=http%3A%2F%2Fwww.willdurand.fr%2Fplace-au-changement%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/pdf.png" class="sociable-img sociable-hovers" title="PDF" alt="PDF" /></a><a
rel="nofollow" target="_blank"  href="http://ping.fm/ref/?link=http%3A%2F%2Fwww.willdurand.fr%2Fplace-au-changement%2F&amp;title=Place%20au%20changement%20%21&amp;body=Bonjour%20%21%0D%0ANon%2C%20vous%20ne%20vous%20%C3%AAtes%20pas%20tromp%C3%A9s.%20J%27ai%20effectivement%20chang%C3%A9%20de%20moteur%20de%20blog%2C%20passant%20de%20mon%20propre%20moteur%20%28wMVC%29%20%C3%A0%20WordPress.%0D%0A%0D%0A%0D%0APourquoi%20%3F%0D%0ACeux%20qui%20me%20connaissent%20savent%20ce%20que%20je%20pense%20de%20WordPress%20%28via%20mister%20%40palleas%29%20mais%20j" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/ping.png" class="sociable-img sociable-hovers" title="Ping.fm" alt="Ping.fm" /></a><a
rel="nofollow" target="_blank"  href="http://www.willdurand.fr/feed/" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/rss.png" class="sociable-img sociable-hovers" title="RSS" alt="RSS" /></a><a
rel="nofollow" target="_blank"  href="http://technorati.com/faves?add=http%3A%2F%2Fwww.willdurand.fr%2Fplace-au-changement%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/technorati.png" class="sociable-img sociable-hovers" title="Technorati" alt="Technorati" /></a><a
rel="nofollow" target="_blank"  href="http://www.viadeo.com/shareit/share/?url=http%3A%2F%2Fwww.willdurand.fr%2Fplace-au-changement%2F&title=Place%20au%20changement%20%21&urllanguage=fr" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/viadeo.png" class="sociable-img sociable-hovers" title="viadeo FR" alt="viadeo FR" /></a><a
rel="nofollow" target="_blank"  href="http://www.wikio.com/vote?url=http%3A%2F%2Fwww.willdurand.fr%2Fplace-au-changement%2F" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/wikio.png" class="sociable-img sociable-hovers" title="Wikio" alt="Wikio" /></a><a
rel="nofollow" target="_blank"  href="http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Fwww.willdurand.fr%2Fplace-au-changement%2F&amp;submitHeadline=Place%20au%20changement%20%21&amp;submitSummary=Bonjour%20%21%0D%0ANon%2C%20vous%20ne%20vous%20%C3%AAtes%20pas%20tromp%C3%A9s.%20J%27ai%20effectivement%20chang%C3%A9%20de%20moteur%20de%20blog%2C%20passant%20de%20mon%20propre%20moteur%20%28wMVC%29%20%C3%A0%20WordPress.%0D%0A%0D%0A%0D%0APourquoi%20%3F%0D%0ACeux%20qui%20me%20connaissent%20savent%20ce%20que%20je%20pense%20de%20WordPress%20%28via%20mister%20%40palleas%29%20mais%20j&amp;submitCategory=science&amp;submitAssetType=text" ><img
src="http://www.willdurand.fr/wp-content/plugins/sociable-30/images/default/16/yahoobuzz.png" class="sociable-img sociable-hovers" title="Yahoo! Buzz" alt="Yahoo! Buzz" /></a><br
/><br
/>]]></content:encoded> <wfw:commentRss>http://www.willdurand.fr/place-au-changement/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced)
Database Caching 1/28 queries in 0.013 seconds using memcached
Object Caching 1586/1632 objects using memcached

Served from: www.willdurand.fr @ 2012-02-06 09:30:58 -->
