Lecture 9 minutes
Les 22 et 23 octobre derniers, l'AFUP a organisé le Forum PHP 2020. Cette 20ème édition a eu lieu en même temps que PHP a fêté son 25ème anniversaire : un événement à ne pas manquer ! Et Synolia y était.
Malgré une édition perturbée par le COVID-19, tout a brillamment été orchestré par l'équipe de l'AFUP. Les conférences se sont déroulées en ligne et pendant les pauses, un hall virtuel a été mis à disposition pour échanger et créer des liens !
Voici les temps forts de cette édition récapitulés par Alexis, Sylvain, Olivier et Damien !
Auto-critique de la revue de code bienveillante
par Kim Laï Trinh
Dans sa conférence, Kim Laï Trinh a abordé la revue de code sous le prisme de l'interaction sociale. En effet, les concepts traditionnels de "revue de code bienveillante" (relecture de code entre pairs sans jugement) peuvent parfois être insuffisants. La relecture peut parfois être difficile à vivre pour certaines personnes (junior VS senior par exemple). Kim Laï Trinh a notamment rappelé que certains privilèges biaisent l'échange. Il a également étayé son propos grâce à de nombreux exemples et nous a donné des pistes pour nous améliorer sur le sujet. Enrichissant ! - Damien Le Troher
Maintenir l'activité des commerces pendant le confinement ? Sylius à la rescousse !
par Jade Bellereau
Durant cette intervention, il a été question de découvrir comment la coopérative les-Tilleuls a mis au point Click ‘N’ collect, une solution web clé en main et open source, à destination des commerçants en difficulté face à la pandémie. Il s’agit d’une solution libre et gratuite de vente sans contact et sans livraison. Côté technique, on retrouve du Sylius, de l’API Platform mais également un plugin maison, et beaucoup de cœur, tout ce qu’on aime ! - Alexis Cuellar
Utopie de la généricité
par Frédéric Bouchery
C'est dans une présentation aux allures de "C'est pas sorcier" que Frédéric Bouchery a partagé ses réflexions sur le principe de généricité ou, autrement dit, la mise au point d'algorithmes génériques réutilisables en programmation. Vêtu de sa plus belle tenue de scientifique, le conférencier a distillé quelques conseils de code entre deux leçons de physique. On retient son rappel de la loi de Pareto (20% d'effort pour 80% du résultat) et du concept WET (write everything twice). En clair, faisons preuve de pragmatisme ! Ne perdons pas du temps et de l’énergie à essayer de prévoir l'imprévisible pour concevoir LA solution générique parfaite et applicable à tous nos usages (passés, présents et futurs), car c'est une utopie. - Alexis Cuellar
Utiliser le protocole Vulcain pour créer des API REST ultra-performantes
par Kévin Dunglas
Cette année, Kévin Dunglas a présenté le protocole Vulcain. Ce protocole se base sur HTTP/2 pour définir de nouvelles entêtes et résoudre les problèmes d’over-fetching, under-fetching et de chargement des relations N+1 rencontrés sur les API REST. Il s’appuie pour cela sur les capacités de multiplexage et de serveur push fournies par HTTP/2. Vulcain définit 2 nouvelles entêtes HTTP : Preload et Fields. Deux objectifs : indiquer les ressources à envoyer en Server Push au client et limiter la taille des réponses pour envoyer au client uniquement les données dont il a besoin. - Sylvain Plançon
Fun with PHP
par Maxime Veber
Qui a dit que les développeurs ne savent pas s'amuser ? Les conférences se sont enchaînées et Maxime nous a offert un court répit avec sa présentation tournée vers un usage plus récréatif de PHP, à l'aide notamment de la librairie FFI. Cette dernière permet d'exploiter du code et des librairies d'autres langages, dont le C, directement en PHP ! Pour illustrer, il a présenté l'usage des librairies graphiques comme GTK et SDL avec en prime l'émulation d'un jeu Gameboy bien connu. Est-ce utile ? Pas vraiment. Est-ce fun ? Absolument. - Alexis Cuellar
Propulser du temps réel avec PHP en 2020 !
par Antoine Bluchet
Afin de rendre l’interface homme-machine toujours plus interactive, la recherche de la communication client-serveur en temps réel a toujours été un objectif. De l’utilisation de l’Ajax en passant par les websockets et enfin le Server-Sent Event, l’évolution est constante. Aujourd’hui, l'utilisation de Mercure, un nouveau protocole construit sur la base de requêtes HTTP et de Server-Sent Events, permet de faire du vrai temps réel. L'exemple courant est celui de la mise à jour des données des applications, mais il peut aussi bien être utilisé pour la communication entre clients ou entre serveurs. Ceci est possible grâce à sa faible utilisation de ressources système et à sa stabilité.
Comment ARTE a simplifié le développement multi-plateforme à l'aide d'une API orientée front
par Lucas Legname et Maxime Richard
Lors de ce Forum PHP, ARTE et Marmelab ont dévoilé comment ils ont repensé les APIs d’ARTE pour leur plateforme de contenu numérique. Cela fait plus de 10 ans qu’ARTE fournit du contenu via Internet. Au fil des années, les supports se sont multipliés (web, téléphone mobile, tablette, TV connectée et box FAI) avec chacun leurs contraintes techniques notamment au niveau de cycle de mise à jour. ARTE a choisi de proposer la même expérience utilisateur sur chacun de ses supports. Au total, 8 applications doivent être tenues à jour.
A l’origine, ARTE possède uniquement des APIs orientées métiers (1 Endpoint par entité). Les différentes applications doivent donc faire plusieurs appels pour construire leur pages. Chaque application consomme les APIs à sa façon sans forcément avoir d’homogénéité. Le but de fournir la même expérience utilisateur partout est difficile à atteindre. Et chaque modification structurelle d’une page nécessite la mise à jour de chaque application.
Pour résoudre ces problèmes, ARTE a mis en place une API orientée front. Cette technique s’appelle le BFF (Backend For Frontend). Cette nouvelle brique va gérer les besoins métiers et les différents appels à l’API métiers qui reste en place. Elle va aussi fournir la réponse aux différentes applications. Ainsi, les applications ne font plus qu’un seul appel API pour obtenir une page et surtout, l’appel est commun à toutes les applications. Ce qui simplifie en même temps le développement de celles-ci. Et pour maintenir la même expérience utilisateur sur tous les supports, l’API front fournit la structure des pages pour éviter de devoir mettre à jour les différentes applications à chaque modification de structure d’une page. - Sylvain Plançon
25 ans de PHP !
par Zeev Suraski
Et oui ! Déjà 25 ans que PHP existe ! PHP se veut un langage simple et minimaliste qui favorise un apprentissage facile au plus grand nombre. Deux points importants de son ADN. Il a notamment pour but d’apporter une abstraction au langage C avec l’objectif de faciliter la gestion des ressources et de la mémoire. Comme dit Zeev Suraski, le co-créateur de PHP 3 et contributeur depuis : “tu écris du code, tu l’exécutes et ça marche, c’est simple”.
Le typage dynamique (ou Typeless) inspiré par Perl a fait la force de PHP. Néanmoins, afin d’écrire du code de plus en plus performant, ce manque de typage est maintenant à proscrire. PHP est un langage qui a évolué en même temps que les besoins, nous ne pouvons pas imaginer faire un projet actuel avec PHP 4. Il tire également sa force d’une communauté importante et d’associations qui le soutiennent comme l’Afup depuis 20 ans ! - Olivier Allain
PHP : c’est vous et vous pouvez contribuer !
Votre langage préféré PHP est open source. Ce qui implique que vous pouvez y contribuer, mais comment ? Il existe de nombreuses manières de contribuer au langage. Par exemple, si vous rencontrez un bug durant un développement, vous pouvez le rapporter sur la plateforme dédiée. S’il est déjà présent, vous pourrez sûrement y apporter une précision pour aider à sa résolution (comment l’avez-vous reproduit, sur quelle version…). Les tests de PHP sont écrits en PHP. Nous pouvons donc tous en écrire. Si vous avez des connaissances en C, vous pouvez même proposer une résolution. Vous pouvez également contribuer en testant les nouvelles versions de PHP pour faire progresser le langage ou participer aux RFC pour le futur du langage. Enfin, vous pouvez aider l’écosystème autour de PHP, en utilisant une solution payante qui aidera à financer un outil pour PHP, acheter un livre ou écrire un article, participer à une conférence, adhérer à l’Afup… Utiliser PHP, c’est être contributeur ! Dites le ! - Olivier Allain
L'émergence des questions éthiques en informatique
par Gilles Dowek
C’est Gilles Dowek qui a animé la dernière conférence de ce Forum PHP 2020... Traditionnellement, cette dernière est une conférence "Alien", abordant des sujets parallèles à nos métiers. Gilles Dowek a donc abordé de nombreux dilemmes éthiques liés à notre métier. Du problème de la donnée personnelle au véhicule autonome, en passant par l'application StopCovid (ou TousAntiCovid), Gilles a emmené son audience sur la question de l'avenir de nos métiers. Là où Microsoft dépassait IBM en misant sur l'OS, où Google dépassait Microsoft en misant sur "la recherche", et ainsi de suite, le prochain tournant ne serait-il pas la place de l'éthique dans l'informatique ? C'est sur cette question qui donne matière à réfléchir que la dernière conférence du Forum PHP 2020 s'est achevée. - Damien Le Troher
Ces conférences seront prochainement mises en ligne sur la chaîne YouTube de l’AFUP. Si vous n’avez pas encore activé les notifications sur cette chaîne, c’est par ici !