Les 26 et 27 octobre dernier se tenait le Forum PHP 2017 à Paris.
Voici un résumé par nos équipes de ces deux jours intenses !
Jour 1
Lors de sa Keynote d’ouverture, Xavier LEUNE, président de l’AFUP et organisateur du forum, nous présente la roadmap de ces deux prochains jours. S’ensuit la présentation des speakers de la matinée qui, cette année, doivent parvenir à convaincre le public d’assister à leur conférence en 30 secondes.
Cocktail Temps-Réel pour l’Olympia
Retour d’expérience d’Amélie DUVERNET, Digitick , sur la création d’une application en temps réel pour l’Olympia
Amélie DUVERNET présente l’architecture mise en place pour cette application permettant d’afficher en temps en réel les billets compostés lors d’un spectacle à l’Olympia. Créée à l’aide d’une stack PHP, RabbittMQ, NodeJS, Redis, AngularJS, l’application permet donc de savoir exactement quels sièges sont utilisés selon le plan de la salle.
La génération de dates en PHP
Kevin NADIN, développeur php, présente les subtilités repérées sur la génération de date en PHP, en mode itératif ou en POO
Lors de la génération de dates en PHP, certains pièges et difficultés peuvent exister. Par exemple, si l’on demande “Last Month”, PHP retourne au maximum 30 jours en arrière, ce qui pose problème pour les mois à 31 jours.
À retenir : il faut toujours tester les possibilités les plus subtiles pour ne pas se faire avoir par un changement d’heure, de mois ou d’année.
Écrire des tests pour le long terme
Charles DESNEUF, Evaneos présente les bonnes pratiques pour écrire des tests fiables sur le long terme
En prenant l’exemple d’un client qui commande avec un langage courant auprès d’un serveur dans un restaurant, Charles DESNEUF conclut que les tests PHPUnit doivent être construits explicitement afin d’être “human readable” et compréhensibles par tout le monde. D’autre part, pour que les tests soient efficaces sur le long terme, il préconise de limiter les dépendances de construction d’objet.
L’art subtil du nommage
Julien JANVIER, Akeneo propose une manière plus naturelle de nommer son code
Comme mentionné dans la conférence précédente, il est recommandé d’utiliser un langage simple et naturel plutôt qu’un langage dit de “développeur”. De ce fait, en lisant une fonction, il faut tout de suite comprendre de quoi il s’agit. Un nommage correct doit donc décrire la réalité et la problématique métier. Par exemple : il faut préférer un nommage de class CountPeas à PeasCounter.
The Subtle Art of Naming – the slides https://t.co/URiHmgPGIl #forumphp @afup
— Julien Janvier (@jujanvier) 27 octobre 2017
ATELIER : Un framework basé sur les middlewares, ça donne quoi ?
Par Matthieu NAPOLI, Wizaplace
Un middleware est ni plus ni moins qu’une fonction qui réceptionne une requête et renvoie une réponse.
À l’aide de cet atelier et d’un dépôt que Matthieu a soigneusement préparé, nous avons, étape par étape, créé notre micro framework en utilisant un système de Pipe, de Route et DIC. Le tout implémentant la PSR-7 qui standardise le système de réponse en PHP. Cet atelier intéressant et pédagogue, a permis d’en apprendre davantage sur la construction d’un micro framework et de mieux comprendre les fonctionnalités primaires d’un framework.
Retrouver les slides → Les middlewares en PHP
Jour 2
Les interfaces, l’ADN de votre application
Sébastien LAVENANT, Naoned , parle des interfaces des applications
Selon le métier de chacun, la définition d’une interface change du tout au tout. Pour certain, une interface est un écran utilisateur, pour d’autre, elle fait respecter certains principes, etc. Finalement, une interface sert de contrat avec les classes, permet de respecter les principes SOLID et de bien découper les applications.
Ce talk était une piqûre de rappel sur les bonnes pratiques à connaître et à adopter sur les interfaces.
GraphQL, la relève de REST ?
Francois ZANINOTTO – Marmelab – présente GraphQL, l’outil développé par Facebook pour remplacer REST
GraphQL permet de pallier les problèmes de maintenance lorsque les endpoints sont nombreux. En effet, cet outil nécessite d’un seul endpoint. Il esquive les conventions de REST (GET POST PUT DELETE). Tout passe alors en POST, ce qui permet de faire une unique requête HTTP même dans le cas où l’on souhaite récupérer plusieurs choses en GET. La récupération des résultats se fait donc plus rapidement.
Selon François ZANINOTTO, GraphQL se présente comme l’alternative à REST.
Conclusion
Cette édition 2017 s’est déroulée dans un nouveau lieu, plus vaste et spacieux que le précédent : le Conference Center du Marriott Rive Gauche. Ainsi la communauté grandissante a pu plus aisément s’y réunir.
Une nouvelle occasion de revoir et de rencontrer les conférenciers, développeurs et partenaires, qui contribuent au développement de la communauté PHP en France.