mageekblog - Mot-clé - PHP Tour 2011Le blog personnel de Frédéric Hardy. Au menu, PHP, agilité, FreeBSD, cuisine et photographies.2021-12-02T08:20:54+01:00Frédéric Hardyurn:md5:26874ca5b8cd4cac8d08b0e68e64f63aDotclearPHP 5.4 RC2urn:md5:a694086179f97527b99762ffaaf605542011-12-05T15:22:00+01:002011-12-05T16:23:58+01:00mageekguyPHP XPHPPHP 5.4PHP Tour 2011Release Candidate<p style="margin-top: 0; ">Certain ne l'auront peut être pas remarqué, mais suite au <a href="http://blog.mageekbox.net/?post/2011/11/29/Mon-PHP-Tour-Lille-2011">PHP Tour</a>, j'ai omis de rédigé mon billet relatif à la <a href="http://news.php.net/php.internals/56582">sortie</a> de la version <abbr title="Release Candidate">RC</abbr> 2 de PHP 5.4.</p>
<p>Cette nouvelle version a en effet été rendue publique par <a href="http://blog.experimentalworks.net/">David Soria Parra</a> et <a href="http://php100.wordpress.com/">Stanislav Malyshev</a>, les <q>Release Master</q> de PHP 5.4, quelques minutes après <a href="http://afup.org/templates/phptourlille2011/resumes/607-PHP54.pdf">la fin de la conférence de Julien Pauli</a> au sujet des nouveautés apportées par 5.4, et je n'ai malheureusement pas pris le temps d'y accorder l'attention nécessaire depuis.</p>
<p>C'est cependant maintenant chose faite, et je suis donc en mesure de vous donner les quelques informations qui suivent.</p> <p>La première chose que m'a apprise la lecture du fichier <a href="http://svn.php.net/viewvc/php/php-src/branches/PHP_5_4/NEWS?view=markup"><code>NEWS</code></a> est qu'il y aura une <abbr title="Release Candidate">RC</abbr> 3.</p>
<p>Plusieurs corrections de bugs suffisament importantes pour nécessiter une autre itération ont en effet été effectuées depuis la sortie de la <abbr title="Release Candidate">RC</abbr> 2, qui apportait pourtant déjà une vingtaine de corrections.</p>
<p>La gestion de la mémoire par exemple été améliorée, puisque plusieurs fuite de mémoire potentielle ont été colmatée.</p>
<p>La gestion de l'héritage, notamment lors qu'il met en jeu <a href="https://bugs.php.net/bug.php?id=43200">une interface et une classe abstraite</a>, a également été corrigée.</p>
<p>Le reste des corrections concerne aussi bien le cœur du langage que ses extensions, mais ne sont pas assez significative à mes yeux pour mériter un descriptif plus précis et j'invite donc amateurs de détails à consulter le fichier <a href="http://svn.php.net/viewvc/php/php-src/branches/PHP_5_4/NEWS?view=markup"><code>NEWS</code></a>.</p>
<p>Fonctionnellement parlant, il n'y a rien de bien croustillant à ce mettre sous la dent, et c'est bien normal puisque le périmètre fonctionnel de PHP 5.4 a été fixé depuis la <abbr title="Release Candidate">RC</abbr> 1.</p>
<p>Cependant, une option <code>keep_alive</code> a tout de même été ajouté à <a href="http://fr2.php.net/soapclient"><code>SoapClient</code></a> afin de pouvoir établir des connexions persistentes entre un client et un serveur <abbr title="Simple Object Access Protocol">SOAP</abbr>.</p>
<p>J'ajouterais que la <a href="http://en.wikipedia.org/wiki/Server_Application_Programming_Interface"><abbr title="Server Application Programming Interface">SAPI</abbr></a> <a href="http://fr.php.net/manual/en/install.fpm.php"><abbr title="FastCGI Process Manager">FPM</abbr></a> n'est dorénavant plus expérimentale, et qu'elle est maintenant configurée par défaut afin de pouvoir servir des archives <abbr title="PHP Archive">PHAR</abbr>.</p>
<p>L'analyse des messages de modification sur le dépôt subversion ne m'a rien apporté de plus, si ce n'est avoir remarqué que le fichier <code>UPGRADING</code>, qui répertorie les modifications apportées au langage, a été mis à jour à plusieurs reprises.</p>
<p>Je recommande donc <a href="http://svn.php.net/viewvc/php/php-src/branches/PHP_5_4/UPGRADING?revision=319781&view=markup">sa lecture</a> à tous ceux qui souhaitent préparer dans les meilleures conditions une migration vers PHP 5.4.</p>
<p>Pour conclure, je précise à toutes fins utiles que cette version est une version de test, donc non fiable, et qu'elle ne doit absoument pas être utilisée en production.</p>
<p>De plus, comme d'habitude, une version spécifique à <a href="http://windows.php.net/qa/">Windows</a> est également disponible.</p>
<p>Enfin, les plus attentifs auront remarqué que PHP 5.4 RC 2 a été diffusée en même temps que PHP 5.3.9 RC 2, et malgré tout l'attrait de PHP 5.4, il est très important de ne pas oublier la branche 5.3 et donc de tester également <a href="http://downloads.php.net/johannes">PHP 5.3.9 RC2</a>.</p>http://blog.mageekbox.net/?post/2011/12/05/PHP-5.4-RC2#comment-formhttp://blog.mageekbox.net/?feed/atom/comments/309Mon PHP Tour Lille 2011urn:md5:bfdb794e0659e97249d0284d005c05f52011-11-29T18:15:00+01:002011-11-29T18:15:00+01:00mageekguyConférencesAFUPatoumconférencesPHPPHP Tour 2011<p>Les 24 et 25 novembre derniers, j'ai participé en tant que conférencier au <a href="http://afup.org/pages/phptourlille2011/">PHP Tour</a>, à Lille sur le site de l'<a href="http://www.euratechnologies.com/">Euratchnologies</a>.</p>
<p>Cet événement, organisé par l'<a href="http://www.afup.org"><abbr title="Association Française des Utilisateurs de PHP">AFUP</abbr></a> et qui vient en complément du traditionnel <a href="http://afup.org/pages/forumphp2010/">forum PHP</a> qu'elle organise depuis maintenant plus de 10 ans, avait pour moi une saveur particulière.</p> <p>Tout d'abord, j'avoue avoir été assez fiers que <a href="http://www.atoum.org">atoum</a>, mon framework de tests unitaires pour <a href="http://www.php.net">PHP</a> 5.3+, ai retenu suffisament l'attention des organisateurs pour figurer au programme de cette première édition et qu'ils le mette autant en avant dans leur communication au sujet de l'événement.</p>
<p>Je remercie donc l'<abbr title="Association Française des Utilisateurs de PHP"><a href="http://www.afup.org">AFUP</a> et plus particulièrement <a href="http://www.jmfontaine.net/blog/">Jean-Marc Fontaine</a>, son président, pour la confiance qu'il me témoigne.</abbr></p>
<p>Ensuite, j'ai vécu sur la métropole lilloise pendant deux ans, et j'ai travaillé durant cette période sur le site de l'<a href="http://www.euratechnologies.com/">Euratechnologies</a> au sein de <a href="http://www.noparking.net">no parking</a>, avant de déménager pour venir travailler sur Lyon.</p>
<p>De plus, mes jumeaux sont nés non loin de là, et nous y avons eu ma femme et moi une maison que nous adorions et que nous continuons à regretter encore aujourd'hui, près d'un an après l'avoir vendu.</p>
<p>C'est donc avec pas mal de nostalgie que je suis descendu du TGV et que j'ai renoué avec l'atmosphère lilloise, si agréable et chaleureuse.</p>
<p>Le proverbe se vérifie : quand on va dans le Nord, on pleure deux fois, lors de son arrivé et de son départ...</p>
<p>Enfin, ce <a href="http://afup.org/pages/phptourlille2011/">PHP Tour</a> était également pour moi la première réelle occasion de faire découvrir au plus grand nombre <a href="http://www.atoum.org">atoum</a>, mon framework de tests unitaires pour PHP sur lequel je travaille maintenant depuis plus de 5 ans, et j'avoue que j'appréhendais un peu l'exercice.</p>
<p>J'avais en effet fait le pari de ne présenter aucun code durant ma conférence et de privilégier la communication grâce à un <a href="https://github.com/mageekguy/atoum/wiki/Phptourlille2011">support</a> très simple mais visuel, afin de donner à mon audience l'envie de découvrir l'outil par elle-même.</p>
<p>Et le pari a été gagnant, au vu des retours très positifs que j'ai eu sur ma prestation et le nombre de questions que j'ai pu avoir à postériori au sujet de <a href="http://www.atoum.org">atoum</a> en général et de ses possibilités en particulier.</p>
<p>J'ai d'ailleurs eu tellement de demande de démonstrations que l'<a href="http://www.afup.org"><abbr title="Association Française des Utilisateurs de PHP">AFUP</abbr></a> a organisé un atelier improvisé afin que je puisse y présenter <a href="http://www.atoum.org">atoum</a> en action, et je profite de ce billet pour l'en remercier.</p>
<p>Cependant, autant je suis satisfait de ma conférence, que j'avais très bien préparé, autant je ne suis pas satisfait du déroulement de l'atelier.</p>
<p>En effet, je ne l'avais pas spécialement préparé, car je comptais sur le fait que j'utilise <a href="http://www.atoum.org">atoum</a> au quotidien depuis maintenant plusieurs mois me permettrait d'improviser sans aucun problème.</p>
<p>Malheureusement, c'était sans compter sans un énorme coup de fatigue qui m'a pris une dizaine de minutes après le début de la démonstration et qui associé au manque de préparation ne m'a pas permis de présenter les différentes fonctionnalités de <a href="http://www.atoum.org">atoum</a> de manière cohérente.</p>
<p>J'avoue en effet avoir peu dormi durant ces deux jours, mes soirées ayant été bien remplies à <del><a href="https://twitter.com/xavierlacot/status/139818038051606528">boire</a></del> discuter avec les autres conférenciers, les organisateurs et les visiteurs.</p>
<p>Heureusement, <a href="http://www.croes.org/gerald/blog/">Gérald</a> était présent parmi l'assistance et m'a évité de partir dans tous les sens et de garder une relative cohérence.</p>
<p>Je l'en remercie donc, ainsi que pour avoir accepté de s'occuper de la <a href="http://docs.atoum.org">documentation</a> de <a href="http://www.atoum.org">atoum</a> et notamment de sa version anglaise.</p>
<p>Et à l'avenir, si jamais l'occasion d'un tel atelier se présente, je ferais en sorte d'avoir au moins une ligne directrice claire afin d'être plus efficace.</p>
<p>Ce <a href="http://afup.org/pages/phptourlille2011/">PHP Tour</a> a également été l'occasion pour moi de suivre un certain nombre de <a href="http://afup.org/pages/phptourlille2011/resumes.php">conférences</a>, aussi bien technique que relative à la gestion de projet, au management ou à la qualité logicielle.</p>
<p>Si certaines n'ont pas répondu totalement à mes attentes, celle qui m'aura le plus marqué est sans conteste celle de <a href="http://xhtml.net/php/679-PHP-Tour-2011-jy-etais">Loïc</a>, relative à la mise en œuvre de <a href="http://www.zeromq.org/">øMQ</a> et de <a href="http://mongrel2.org/">Mongrel 2</a>.</p>
<p>Je savais <a href="http://xhtml.net/php/679-PHP-Tour-2011-jy-etais">Loïc</a> très compétent, je sais maintenant également que c'est un pédagogue hors-pair capable de présenter en quelques minutes de manière simple et pertinente un sujet complexe.</p>
<p>Ce déplacement lillois aura été également l'occasion pour moi de rencontrer <abbr title="In Real Life">IRL</abbr> des personnes que je suis ou avec qui je dialogue régulièrement sur le Net, et j'avoue que c'est toujours pour moi un grand plaisir, que j'espère partagé.</p>
<p>Enfin, comme d'habitude avec l'<a href="http://www.afup.org"><abbr title="Association Française des Utilisateurs de PHP">AFUP</abbr></a>, l'organisation a été exemplaire, malgré les petits problèmes de réseaux malheureusement habituels dans ce genre de manifestation.</p>
<p>Un grand merci donc aux bénévoles qui assurent à chaque fois une prestation de qualité aussi bien aux visiteurs qu'aux conférenciers, et je leur donne rendez-vous lors du forum PHP parisien qui se tiendra en juin 2012 !</p>http://blog.mageekbox.net/?post/2011/11/29/Mon-PHP-Tour-Lille-2011#comment-formhttp://blog.mageekbox.net/?feed/atom/comments/308PHP Tour 2011 - Teasing 4urn:md5:1fa9476252fbb483f59f8e96c6687fea2011-11-18T18:00:00+01:002011-11-18T18:00:00+01:00mageekguyConférencesatoumPHPPHP Tour 2011 <p><img src="http://blog.mageekbox.net/public/phpTour2011/teasing4.jpg" alt="teasing4.jpg" style="margin-top: 0; margin-right: auto; margin-bottom: 0; margin-left: auto; display: block; " title="teasing4.jpg, nov. 2011" /><br _moz_editor_blogus_node="TRUE" _moz_dirty="" /></p>http://blog.mageekbox.net/?post/2011/11/18/PHP-Tour-2011-Teasing-4#comment-formhttp://blog.mageekbox.net/?feed/atom/comments/306PHP Tour 2011 - Teasing 2urn:md5:22f459a49c5bc1bee50cba6cf21f54732011-11-08T17:30:00+01:002011-11-08T17:30:00+01:00mageekguyConférencesPHP Tour 2011teasing <p><img src="http://blog.mageekbox.net/public/phpTour2011/teasing2.jpg" alt="teasing2.jpg" style="margin-top: 0; margin-right: auto; margin-bottom: 0; margin-left: auto; display: block; " title="teasing2.jpg, nov. 2011" /></p>
<p>Le <a href="http://fr.wikipedia.org/wiki/Post-it">Post-it®</a> vaincra... tant qu'il y aura des arbres !</p>http://blog.mageekbox.net/?post/2011/11/08/PHP-Tour-2011-Teasing-2#comment-formhttp://blog.mageekbox.net/?feed/atom/comments/302PHP Tour 2011 - Teasing 1urn:md5:7e677dbdf3937135776969f2fe1c2c3f2011-10-28T17:30:00+02:002011-10-28T17:30:00+02:00mageekguyConférencesatoumconférencesPHP Tour 2011teasing <p><img src="http://blog.mageekbox.net/public/phpTour2011/teasing1.jpg" alt="teasing1.jpg" style="margin-top: 0; margin-right: auto; margin-bottom: 0; margin-left: auto; display: block; " title="teasing1.jpg, oct. 2011" /><br _moz_editor_blogus_node="TRUE" _moz_dirty="" /></p>http://blog.mageekbox.net/?post/2011/10/28/PHP-Tour-2011-Teasing-1#comment-formhttp://blog.mageekbox.net/?feed/atom/comments/300PHP Tour 2011 + atoum = conférenceurn:md5:70d82c06849b564a55a350a44fde2cf82011-09-14T13:54:00+02:002012-02-24T14:18:39+01:00mageekguyatoumatoumconférencesPHPPHP Tour 2011<p>Je n'en ai pas parlé depuis longtemps sur ce blog, mais <a href="https://github.com/mageekguy/atoum">atoum</a>, mon framework de tests unitaires moderne, simple et intuitif pour PHP 5.3+, est toujours activement développé.</p>
<p>C'est d'ailleurs entre autre parce que j'y consacre pas mal de temps que mon rythme de publication s'est ralenti ces derniers mois.</p>
<p>Pourtant, depuis sa <a href="http://blog.mageekbox.net/?post/2011/06/23/atoum-est-sur-github">migration vers GitHub</a>, le projet évolue rapidement, notamment grâce à une plus grande visibilité et surtout des retours d'expérience plus que positifs de la part de ses utilisateurs.</p> <p><a href="https://github.com/mageekguy/atoum">Atoum</a> est en effet maintenant utilisé par plusieurs personnes, à titre personnel ou professionnel, et en conséquence, j'ai reçu plusieurs remarques et contributions qui ont permis de l'améliorer de manière significative.</p>
<p>De plus, un gros travail d'optimisation a été effectué pour améliorer ses performances, et il a porté ses fruits puisque <a href="https://github.com/mageekguy/atoum">atoum</a> est maintenant capable d'exécuter sa suite de tests unitaires, composée de 13000 assertions, en environs 9 secondes au lieu de 40 sur un processeur Intel I5 à 2.6 Ghz sous Linux.</p>
<p>Ce gain, de quasiment 400%, a été obtenu grâce à un remaniement du code et surtout parce que <a href="https://github.com/mageekguy/atoum">atoum</a> supporte maintenant la parallélisation des tests.</p>
<p>Chaque méthode de test est donc maintenant exécuté par <a href="https://github.com/mageekguy/atoum">atoum</a> dans un processus séparé, afin de garantir l'isolation des tests, et il peut y avoir plusieurs processus exécutées simultanément.</p>
<p>Il y a également eu beaucoup d'ajouts fonctionnels, suite à certains retours des utilisateurs.</p>
<p><a href="https://github.com/mageekguy/atoum">Atoum</a> est ainsi maintenant capable de simuler des flux, ce qui lui permet d'émuler par exemple un système de fichier ou une connexion réseau.</p>
<p>Son système de <q>bouchonnage</q> a également été amélioré afin de permettre de simuler des classes contenant des méthodes protégées abstraites.</p>
<p>Il est aussi maintenant possible de vérifier que certaines méthodes ont bien été appelées avant d'autres, pour, par exemple, pouvoir vérifier que des méthodes modifiant une base de données sont bien exécutées dans le cadre d'une transaction SQL.</p>
<p>De plus, la syntaxe des assertions a encore été améliorée, afin de rendre la rédaction des tests encore plus simple et intuitive.</p>
<p>La documentation n'est pas en reste, puisque que le fichier <a href="https://github.com/mageekguy/atoum/blob/master/README.markdown">README</a>, qui permet d'installer et utiliser <a href="https://github.com/mageekguy/atoum">atoum</a> en quelques minutes, a été traduit en anglais, et que le <a href="https://github.com/mageekguy/atoum/wiki">wiki</a> a été enrichi d'articles expliquant comment intégrer <a href="https://github.com/mageekguy/atoum">atoum</a> avec <a href="https://github.com/mageekguy/atoum/wiki/atoum-et-Jenkins-%28ou-Hudson%29">jenkins</a> ou <a href="https://github.com/mageekguy/atoum/wiki/atoum-et-Git">Git</a>, ou bien l'utiliser dans le cadre d'un projet <a href="https://github.com/mageekguy/atoum/wiki/Utiliser-atoum-avec-Symfony-2">Symfony 2</a>, et d'autres sont en cours de rédaction.</p>
<p>Ce dernier contient également des ressources externes, comme un <a href="http://www.croes.org/gerald/blog/testez-votre-code-avec-atoum/558/">tutorial</a> de <a href="http://www.croes.org/gerald/blog">Gérald Croes</a> qui permet d'appréhender <a href="https://github.com/mageekguy/atoum">atoum</a> dans le cadre de plusieurs cas pratiques.</p>
<p>Le projet progresse donc rapidement en s'adaptant aux besoins de ses utilisateurs, et il est aujourd'hui suffisamment mâture pour que je puisse commencer à communiquer sérieusement à son sujet.</p>
<p>C'est la raison pour laquelle je donnerais, lors du <a href="http://afup.org/pages/phptourlille2011/">PHP Tour 2011</a> qui se déroulera les 24 et 25 novembre 2011 à Lille, une conférence présentant <a href="https://github.com/mageekguy/atoum">atoum</a> dans le détail et ce qu'il peut apporter dans le cadre d'un développement professionnel.</p>
<p>Ce sera de plus l'occasion pour moi de revoir <a href="http://afup.org/pages/phptourlille2011/conferenciers.php#495">Jean-Marc</a>, <a href="http://afup.org/pages/phptourlille2011/conferenciers.php#448">Julien</a>, <a href="http://afup.org/pages/phptourlille2011/conferenciers.php#461">Ivan</a> (vous devriez vraiment aller à <a href="http://afup.org/pages/phptourlille2011/sessions.php#554">sa conférence au sujet de Hoa</a>), <a href="http://afup.org/pages/phptourlille2011/conferenciers.php#445">Hugo</a>, <a href="http://afup.org/pages/phptourlille2011/conferenciers.php#482">Gérald</a>, <a href="http://afup.org/pages/phptourlille2011/conferenciers.php#464">Arnaud</a>, <a href="http://afup.org/pages/phptourlille2011/conferenciers.php#441">Nicolas</a>, et même <a href="http://afup.org/pages/phptourlille2011/conferenciers.php#467">un ancien client</a>.</p>
<p>J'y ferais aussi la connaissance <abbr title="In Real Life">IRL</abbr> de <a href="http://afup.org/pages/phptourlille2011/conferenciers.php#500">David Soria Parra</a>, l'un des deux <q>Release Master</q> de PHP 5.4, de <a href="http://afup.org/pages/phptourlille2011/conferenciers.php#487">Gabriele Santini</a>, ou encore de <a href="http://afup.org/pages/phptourlille2011/conferenciers.php#470">Loïc d'Anterroches</a>.</p>
<p>Et évidemment, j'espère aussi vous y croisez, pour échanger au sujet de <a href="http://www.php.net">PHP</a>, de <a href="https://github.com/mageekguy/atoum">atoum</a> ou de tout autre sujet, d'autant que le <a href="http://afup.org/pages/phptourlille2011/sessions.php">programme</a> du <a href="http://afup.org/pages/phptourlille2011/">PHP Tour 2011</a> est plus qu'alléchant !</p>http://blog.mageekbox.net/?post/2011/09/14/PHP-Tour-2011-atoum-conf%C3%A9rence#comment-formhttp://blog.mageekbox.net/?feed/atom/comments/291