31/10/2018
Forum PHP 2015
Article co-écrit avec Quentin Somazzi.
Deux semaines après l’événement, voici un retour sur le forum PHP 2015 organisé par l’AFUP (Association Française des Utilisateurs de PHP) au Beffroi de Montrouge au sud de Paris. Une fois encore, un accueil et une organisation au top pour un double événement : les 20 ans de PHP et les 15 ans de l’AFUP. À cela s’ajoutent les toutes récentes _releases _de PHP 7, Symfony 3.0, Drupal dans sa version 8 et Magento 2. Bref, une année 2015 riche en actualités pour PHP.
Au programme de ces deux journées, près de 50 conférences, 3 workshops et des spécialistes venus en nombre pour s’exprimer autour de l’écosystème PHP. Voici quelques sujets qui ont retenu notre attention.
Maxime Teneur, président de l’AFUP, a ouvert ce forum et nous a dévoilé une vidéo communautaire préparée pour l’anniversaire du langage. À notre tour, nous avons eu la possibilité de souhaiter un joyeux anniversaire à PHP.
Nicolas Grekas, CTO de Blackfire.io et membre de la core team Symfony, nous a présenté les processus et outils appliqués au framework Symfony pour simplifier les montées en version. La rétrocompatibilité jusqu’en 2.8 garantit à une application basée sur 2.3 une mise à jour rapide et sans régression. Différents outils (SensioLabs DeprecationDetector, PHPUnit Bridge) permettent aux applications de détecter le code déprécié qui ne sera plus présent dans la version 3 et ainsi se mettre à jour pour être « Symfony 3-ready ». À noter, Symfony 3 requiert PHP 5.5.9 et supporte la version 7.
Pascal Martin, développeur web à Lyon, a choisi comme sujet les flux et quelques applications en PHP. Rappels, astuces ou découvertes, cette conférence souligne à quel point les flux sont présents (et ce depuis PHP 4.3) et qu’ils gagnent à être (mieux) connus.
Damien Seguy, directeur technique spécialisé dans l’analyse statique, nous a rappelé les principes du machine learning avant de nous montrer que c’est aussi possible en PHP. Grâce à l’extension FANN (Fast Artificial Neural Network), Damien nous a expliqué comment détecter du code dans des commentaires PHP. Avec des temps de réponses acceptables pour un usage web (< 400 ms), cette présentation montre une autre façon d’auditer la qualité du code.
Damien Alexandre, développeur web et expert Symfony, nous a parlé du pattern « Value Object » et comment le mettre en pratique avec Doctrine 2.5. Une conférence bien menée autour d’une feature Doctrine récente (avril 2015) et de Georges Clooney, what else?
Gauthier Delamarre, architecte PHP, nous a présenté sa vision du métier d’architecture logicielle. Il nous a donné quelques pistes pour remplir ce rôle qui n’est pas un acquis avec les années d’expérience : un architecte a de l’expérience mais l’expérience ne fait pas forcément d’un développeur un architecte. Parfois sous-estimée, l’architecture est bel et bien un métier qui attend des livrables, fondations d’un projet.
Frédéric Hardy, architecte et auteur de Atoum, a tenu une conférence sous un format participatif autour du framework de tests Atoum. Bien qu’ayant quitté le projet il y a plusieurs mois, Frédéric nous a présenté les raisons qui font que, selon lui, le projet est un échec. Il a voulu que cette conférence soit aussi un échange avec les auditeurs pour récolter leurs impressions et surtout les actions à entreprendre pour faire de Atoum un projet aussi populaire que son principal concurrent PHPUnit. L’équipe projet qui était présente dans la salle a ainsi pu bénéficier de ces retours : principalement, améliorer la communication pour rassurer la communauté sur la roadmap à court et moyen terme. Autre point qui mériterait d’être abordé : le projet souffre également d’une non-adoption par les grands frameworks du marché. Une enquête à mener là aussi, peut-être même la plus importante…
Jonathan Reinink, développeur web canadien et membre actif de la PHP League, a entamé cette seconde journée avec une présentation de Glide. Il s’agit ici d’une librairie PHP facilitant la manipulation d’images. Avec de nombreuses options telles que le crop, le resize, les filtres ou l’inclusion de watermarks, cet outil saura répondre à la plupart de vos besoins. A savoir que la version actuellement en ligne est la 0.3 et que nous avons eu le droit à un petit avant goût de la version 1.0, non publiée pour le moment. À suivre avec attention…
Kévin Gomez, développeur chez The Ebook Alternative nous a fait retourner au coeur de la demande client. Le but est de mettre en avant le lien fort entre la règle métier et l’implémentation côté code. Pour cela, RulerZ est un outil tout trouvé qui transforme ce besoin métier en spécification et réduit ainsi l’impact sur la complexité du code.
Le duo DevOps de chez Meetic, Matthieu Robin (Architecte logiciel) et Benjamin Pineau (Ingénieur système et réseau) nous a ensuite présenté l’implémentation de Kafka dans l’architecture événementielle du grand site de rencontres connu de tous. Avec le nombre de membres et la quantité d’informations transitant entre les différents acteurs (membres, messages, pokes, …), implémenter ce genre de solution était devenu nécessaire. Nous avons vu un retour d’expérience très enrichissant sur cette solution qui semblerait beaucoup plus performante qu’un RabbitMQ par exemple.
Jonathan Reinink nous a présenté une seconde conférence quant à sa vision sur la création de librairies PHP réutilisables et surtout « framework agnostiques ». On considère les frameworks comme étant la glu entre toutes les librairies, il n’est pas nécessaire d’inclure cette colle au sein de la logique de l’outil. Faire des composants ou outils libres de tout framework permet donc d’être utilisé par un plus grand nombre de développeurs par la suite. Il a d’ailleurs mis en place une checklist pour aider les développeurs souhaitant publier leurs applications en respectant ces concepts.
C’est à travers un nom de conférence un peu décalé mais accrocheur (« Un éléphant dans le monde des licornes ») que Matthieu Moquet a ensuite pris la parole. Développeur full stack chez BlaBlaCar, il nous a parlé des méthodologies et des choix techniques pour mener à bien l’internationalisation du plus grand site de covoiturage de France. C’est donc un retour d’expérience côté développeur que nous avons suivi.
Maxime Valette, développeur web et entrepreneur ambitieux nous a présenté ensuite BetaSéries. Cet outil initialement créé pour répondre à un besoin personnel a grossi de plus en plus pour devenir aujourd’hui l’une des plateformes de référence dans le monde des séries TV.
Alvaro Videla, core développeur chez RabbitMQ, nous a ensuite fait partager sa passion pour les systèmes distribués. Il a choisi de les aborder sous un angle théorique avec les concepts, modèles existants et problématiques rencontrées. Cette présentation était également une invitation à consulter les documents et livres de référence sur le sujet. Une conférence très enrichissante autour d’un sujet complexe.
Pour terminer ce forum PHP, une table ronde a été mise en place entre Pascal Martin, Zeev Suraski, Rasmus Lerdorf, Julien Pauli et Remi Collet, afin de répondre aux dernières questions des auditeurs. Entre avenir de PHP, meilleurs souvenirs ou envies pour l’avenir au sein de la communauté, de nombreux sujets ont été abordés. L’accent a surtout été mis sur l’avenir de PHP, les nouveautés de PHP 7, le planning des futures releases et l’appel aux contributeurs (review de RFC, propositions de fonctionnalités, écriture de la documentation, …).
Cette dernière édition du forum PHP nous a permis d’assister à des conférences très diverses. Entre retour d’expériences, nouveaux outils et bonnes pratiques, il était difficile de ne pas trouver chaussure à son pied. Si jamais vous avez manqué une conférence ou si vous souhaitez les redécouvrir, l’AFUP va sûrement publier prochainement les vidéos des conférences sur leur chaine YouTube. Stay tuned…
Longue vie à PHP et haPHPy birthday!