Xavier Lacot (AFUP) "Depuis l'arrivée des namespaces dans PHP, nous assistons à une explosion des contributions"

Optimisation des performances, qualité du code, nouveaux frameworks... Le président de l'AFUP détaille le programme du Forum PHP 2012 qui se tiendra les 5 et 6 juin prochain à Paris.

Organisé par l'Association Française des Utilisateurs de PHP (AFUP), le Forum PHP 2012 se tiendra à la Cité Universitaire de Paris les 5 et 6 juin prochains. Monté pour la première fois l'année dernière par l'AFUP, le PHP Tour sera quant à lui reconduit cette année. Il aura lieu les 29 et 30 novembre à Nantes.

JDN Développeurs. Quelles sont les dernières évolutions les plus saillantes du langage PHP ?

Xavier Lacot. Les principales évolutions des versions 5.3 et 5.4 de PHP portent sur le renforcement du mode objet, au travers principalement de l'introduction des namespaces mais aussi des fonctions lambda et des closures. Elles ont notamment permis à la communauté de mettre au point de nombreux microframeworks qui évitent de passer par des frameworks comme Zend ou Symfony, pour développer de petites applications de type formulaire de contact.

Les namespaces facilitent l'organisation du code, et évitent les conflits de nommage dans les classes d'un projet. Ils permettent aussi par la même occasion de faciliter le partage du code. Au final, les namespaces contribuent à renforcer la standardisation des développements, et le portage des composants. 

Par le biais de la spécification PSR-0 issue d'un accord entre concepteurs de frameworks, les composants d'autoload utilisent les namespaces pour localiser les fichiers à charger, ce qui conduit à une standardisation de l'organisation du code au sein de ces frameworks. Par extension, un grand nombre de librairies et de contributions récentes ont emboité le pas à ces frameworks, ce qui permet de constituer un vaste écosystème de composants compatibles et organisés sur le même modèle. Ce qui facilite aussi le partage de composants entre frameworks. Par exemple, le composant Zend_Pdf issu du Zend Framework peut être aisément utilisé au sein d'un projet basé sur Symfony 2. On peut aussi désormais imaginer pouvoir créer un framework à partir de composants HTTP, de routage et de cache, chacun issu d'un framework différent.

Cette évolution du langage a donc permis de dynamiser les contributions de la communauté PHP ?

Depuis PHP 5.3 et l'arrivée des namespaces, nous avons assisté en effet à une multiplication des librairies et des contributions de bonne qualité. Mais, cela s'est traduit également par des avancées en termes de bonnes pratiques. Notamment avec l'apparition de frameworks de tests unitaires, comme Atoum, même si PHPUnit reste une référence dans ce domaine. Globalement, PHP 5.3 propose les plus grandes avancées depuis PHP 5 qui avait déjà contribué à renforcer le modèle objet. D'ailleurs, le potentiel de PHP 5.3 est très loin d'être épuisé. De nouvelles librairies naissent tous les jours.

"L'édition 2012 du Forum PHP sera centrée sur la performance, la qualité et les nouveaux usages"

Sur le terrain des performances, le débat entre Java et PHP est-il toujours d'actualité ?
Des DSI refusent encore d'envisager le PHP, pensant qu'il s'agit d'un langage pas suffisamment performant, sécurisé et fiable. Bref, un langage qui ne serait adapté qu'aux petits développements.

C'est faux. Pour preuve, les plus grandes plates-formes Web sont basées sur PHP, notamment Facebook. En France, des sites Web à fort trafic reposent aussi sur ce langage. C'est le cas de LaFourchette ou du moteur de recherche de la ratp.fr. PHP convient tout à fait aux sites transactionnels. Le niveau de performance final tient moins au langage, PHP ou Java, qu'à la qualité de développement de l'application ou du site.

Au fil des années, le langage PHP n'a cessé de s'améliorer en termes de performance. Un ramasse miette a été ajouté. A chaque version intermédiaire, on constate une amélioration de 20 à 30% en vitesse pure. Les briques d'infrastructure et les outils de développement n'ont pas cessé de s'enrichir. Aujourd'hui, n'importe quel site dans le monde pourrait reposer sur PHP.


Comment justement améliorer la qualité du code PHP, et notamment éviter les éventuelles failles ?

Il y a traditionnellement trois types d'attaque : les injections SQL qui consistent à injecter du code SQL dans une base de données, les attaques de type Cross-Site Request Forgery qui consistent à lancer des requêtes à la place d'un internaute et, enfin, le Cross Site Scripting qui consiste à injecter un code via un formulaire par exemple. Ces trois attaques sont très bien prises en compte par les suites de tests unitaires proposées par les grands frameworks, comme Zend ou Symfony. Ils en proposent des dizaines de milliers. Mais, un développeur pourra toujours sans le vouloir introduire des failles.

Notez que depuis environ 5 ans, l'écosystème PHP s'est beaucoup professionnalisé. Les frameworks développés par la communauté sont robustes, et les développeurs sont sensibles à ces questions de sécurité, et de mieux en mieux formés en matière de qualité du code. 


Quelles sont les grandes lignes du programme du Forum PHP 2012 ?

L'édition 2012 est centrée sur la performance, la qualité et les nouveaux usages. Plusieurs sessions sont proposées sur les tests unitaires, sous l'angle théorique mais aussi pratique, avec notamment une présentation d'Atoum. L'intégration continue et l'utilisation des annotations sont également au programme. Des présentations porteront sur les problématiques connexes de performance et d'infrastructure, notamment sur l'utilisation de Nginx comme alternative à Apache et MariaDB comme alternative à MySQL. Une conférence portera sur le monitoring applicatif. Un point sera fait également sur le fonctionnement interne de PHP, et la manière de concevoir un code pour s'adapter au mieux à cet environnement.

Nous inaugurons enfin deux nouvelles formules : une session de 45 minutes, qui se veut ludique et relevée, au cours de laquelle se succéderont une dizaine de conférenciers sur des sujets divers, et une table ronde de DSI et directeurs techniques qui témoigneront sur leur utilisation de PHP. Nous attendons notamment les DT du Monde Interactif et de l'Express, le DSI de la mairie de Lille, et les DT de M6 Web, d'e-TF1 et de LaFourchette.
 

Xavier Lacot est le président del'AFUP (Association Française des Utilisateurs de PHP).