Pour la première fois j’ai pu assister au Forum PHP organisé par l’AFUP (sauf jeudi après-midi hélas, rendez-vous important pour Olient, j’en reparlerai !). Dans l’ensemble je suis plutôt satisfait, les conférences étaient intéressantes ! C’est sympa de voir tant de gens connus (Rasmus Lerdorf, Zeev Suraski, Derick Rethans et Andrei Zmievski pour ne citer qu’eux). Voilà un petit résumé.

Rasmus et les performances

Tout d’abord, la conférence de Rasmus jeudi matin était excellente ! Le personnage est vraiment intéressant à écouter, ses slides très vivantes (sympa les démos utilisant flickr en live). J’ai adoré l’exercice consistant à réduire le nombre de serveurs sur son benchmark, très simplement en fait. Rasmus n’a qu’une chose en tête : les perfs. Les questions qui lui ont été posées à propos des frameworks ou solutions de templates étaient intéressantes de ce point de vue là. Concernant les templates, je m’attendais à sa réponse (PHP est une solution de template en soi), un peu moins concernant les frameworks. Il ne recommande pas l’usage d’un framework généraliste en l’état pour des raisons de performances. Deux solutions selon lui : soit vous écrivez le vôtre adapté pour votre projet, soit vous partez d’un framework et vous faites le ménage et l’optimisez pour votre projet.

Zeev et les chiffres

L’intervention de Zeev Suraski dans la conf pour Zend était intéressante aussi, notamment l’explication du récent accord entre Microsoft et Zend. Microsoft souhaite tout simplement qu’à défaut d’utiliser leur solution ASP/.net, vous utilisiez en production PHP sous Windows et IIS. Cela dit, le sondage à mains levées dans l’audience (~180 personnes) fut révélateur : la moitié utilise Windows pour développer en PHP, mais aucune main levée pour l’utilisation en production !

On notera que Zeev a soigneusement esquivé la question du taux de pénétration de PHP 5. Celui-ci tourne autour de 10% selon les stats de Nexen, ce qui est très loin d’être une réussite, je parlerais plutôt d’échec. Je suis étonné que personne n’évoque ce sujet : même dans les commentaires sur ces stats tout le monde semble satisfait. Sachant que PHP 5 est sorti il y a plus de deux ans, il y a de quoi se poser des questions. C’est d’autant plus inquiétant que de nombreux hébergeurs ont mis du temps à mettre en place PHP 5, et surtout beaucoup l’ont fait à moitié si j’ose dire, en mettant en place une extension .php5, ce qui ne facilite guère la migration (quelle regression par rapport au changement en .php lors de PHP4). Bref, au lieu de ça on eu droit au chiffre de 70% des nouveaux projets des clients de Zend écrits en PHP 5. Bon après tout, c’était une conférence décisionnelle et surtout commerciale.

Conflits de qualité !

L’autre conférence que j’ai adorée est celle de Miguel Lopez à propos de la qualité de code et de son outils PHP Meter. D’abord, car mon stage de 3e année à Thales était similaire, mais avec le langage Ada 95 et l’outil gnatmetric, et je trouve le sujet très intéressant. Ensuite, parceque le bonhomme assez atypique m’a bien fait rire pendant une heure. Mais au delà de ces détails, j’ai trouvé son propos très pertinent, surtout à propos des codes producteurs ou consommateurs en fonction de leur couplage. Il en résulte différents types d’architectures quand on analyse un projet, des projets à fort couplage type spaghettis pour reprendre son terme, au projet idéal en terme de génie logiciel avec un micro-kernel pour reprendre là aussi son image. Mais ce qui était vraiment intéressant, c’est qu’il n’était pas là pour dire que l’un était bien et l’autre mal ou que l’objet est mieux que le procédural. Non, le message qu’il voulait faire passer était qu’il y avait nécessairement des conflits de qualité, dans le sens où les projets peuvent avoir des objectifs différents et donc la manière de juger la qualité sera différente. J’ai trouvé le propos bien venu, surtout après la conférence et le discours très pragmatique de Rasmus sur les performances, et la présentation très orientée génie logiciel à propos des designs patterns en PHP5.

Et aussi….

Enfin, j’ai apprécié la présentation sur les tests unitaires, même si je n’ai pas trouvé les chiffres si impressionnants que ça finalement. Avec Vincent on se souvient qu’on avait plus de 1000 tests unitaires début 2005 sur hariCow (entre temps Equideo et Olient sont passés par là et il y a eu du laissez-aller, mais c’est une autre histoire…). Les 400 tests du Zend framework me semble donc pas exceptionnels. Par contre, j’ai été bluffé par la démo de couverture de code ligne par ligne avec XDebug. Il faut absolument qu’on essaye ça sur Equideo et hariCow !

Conférence sympa aussi sur ezComponents par Derick, j’aime bien le principe de composants utilisables séparément à sa guise, pas de framework ou de structure lourde derrière. J’en connais un que cela fait réfléchir…. Et enfin, conférence d’Andrei assez technique mais agréable à suivre à propos d’Unicode dans PHP 6. On voit bien que c’est un gros chantier, mais le résultat est très convaincant !

Voilà pour le tour d’horizon et mes impressions. Merci à l’AFUP pour l’organisation, c’était pas mal !