Enfin, nous y voilà ! Après une édition 2020 en ligne, nous étions tous heureux de retrouver la communauté PHP à Paris pour deux jours de conférences. Grace à la super équipe de l'AFUP, l’organisation a été, comme toujours, au top. Côté programme, on a aussi été servi avec une grande variété de conférences et des intervenants passionnants. Voici une sélection de 6 conférences qui ont retenu notre attention pendant ces deux jours.
WorkAdventure de la genèse à aujourd’hui par David NÉGRIER
Retour rédigé par Manuel KLEIN
Avec une présentation assez dynamique David Négrier a retracé l’histoire de l’application WorkAdventure, née en tout début de confinement. Il voulait créer une application pour garder du lien entre les personnes qui se trouvaient tout d’un coup à distance. Le jeu vidéo étant un univers qu'il connaît, il s’est naturellement intéressé à son utilisation pour son projet. Le premier concept fort mis en place a été d’afficher la webcam de l’utilisateur lorsque les avatars sont à proximité dans le jeu.
Étant développeur PHP, il a expérimenté des nombreuses solutions pour créer son premier prototype. Il a d’abord sélectionné un moteur de jeu; Phaser : https://phaser.io/ et trouver un moyen d’interconnecter un flux vidéo entre les joueurs via webRTC.
La première version fut couronnée de succès par les utilisateurs qui testaient le jeu. L’idée était donc validée, il fallait continuer. David a ensuite expliqué l’ensemble des problématiques rencontrées par le scaling d’un tel projet et de l'équilibre à trouver dans les implémentations de webRTC décentralisé.
Au-delà de la technique, c’était très intéressant de comprendre le cheminement de l’équipe au cours de la création du jeu. Aujourd’hui, workAdventure bénéficie d’une communauté aussi vaste que motivée dans l’ajout de nouveaux contenus. C’est un vrai succès qui ne fait que commencer !
Des tests unitaires pour nos règles de conception par Frédéric BOUCHERY
Retour rédigé par Thibaut BLAIRON
Frédéric Bouchery, coach PHP chez Klaxoon, est venu nous parler de tests unitaires, mais utilisés cette fois d'une façon peu commune. En effet, on parle ici de tests unitaires appliqués à des règles de conception. Avec un jeu d'acteur digne des plus grands, il commence par nous dire qu'il a un trou de mémoire et a oublié son texte. Il nous parle donc de mémoire pendant quelques minutes, pour nous rappeler qu'on peut facilement omettre des choses ou des choix, importants ou non, qu'on a fait quelque temps auparavant.
Il en vient donc à nous rappel l'importance des règles de conception dans nos projets et leur raison d'être. Leur raison d'être, c'est ça qu'on oublie. Il rappelle donc l'importance de garder une trace de ce choix. On peut commencer par créer des Architectural Decision Records (ADR), un simple Readme dans le projet avec la date et la règle écrite le plus explicitement possible. Frédéric nous explique que c'est bien pratique, mais une nouvelle personne sur le projet ne s'amuse pas toujours à lire tous les Readme d'un projet. De plus, ça rend les reviews de code très pénible, il faut avoir en tête toutes les règles décrites.
Crédit : https://twitter.com/FredBouchery/status/1319586436539088896/photo/1
Heureusement il existe Phpstan, un analyseur statique de code PHP. Dans cet outil il est possible d'écrire des règles personnalisées et donc d'y inclure ses règles de conception. S'il fonctionne bien et pourrait satisfaire, il décide d'aller plus loin. Il nous explique que chez Klaxoon ils ont automatisé la vérification du respect de ces règles en utilisant PHPUnit. Par exemple, lors d'une migration, on souhaiterait ne plus utiliser une dépendance en particulier. On va donc calculer le nombre d'appels à cette dépendance, admettons que le résultat soit 5, on va écrire dans notre test que le nombre d'appels à cette dépendance doit être égal à 5. Si ça dépasse, le test casse, et si c'est inférieur on modifie le test pour que ça soit égal à 4.
Dans cet exemple, c'est une assertion assez classique qu'on peut écrire avec des méthodes natives de PHPUnit. D'autres assertions plus complexes ont été montrées pendant cette conférence et un outil a été créé par Klaxoon pour les rendre plus accessibles. Cet outil n'est pour le moment pas prêt pour de l'open source, il a été écrit pour les besoins d'un projet et l'équipe souhaiterait qu'il soit un peu plus mature avant de le rendre public.
Accessibilité & SEO : et si on relevait le niveau ? par Anne-Laure DE BOISSIEU & Amélie DEFRANCE
Retour rédigé par Ludovic BRAINE
Anne-Laure DEBOISSIEU et Amélie DEFRANCE font toutes les deux parties de la société Elao. Elles étaient présentes pour animer une conférence sur l’accessibilité et le SEO dans nos projets et de l’importance que cela à pour nos différents utilisateurs et le référencement. Une présentation très bien animée et rythmée par les deux conférencières qui ont su nous garder à l'écoute en nous présentant de bonnes pratiques en SEO et en accessibilité, essentielles à prendre en compte dès la conception d'un projet.
Aujourd’hui il est fondamental de développer des applications accessibles aux personnes en situation de handicap ainsi qu'aux “robot.txt” en ayant une navigation claire et simple.
Beaucoup de types d’utilisateurs nous ont été présentés par les conférencières, celui ayant retenu mon attention est le cas d'un utilisateur mal voyant allant sur un site internet avec un lecteur d'écran. Elles présentent le cas d’un tableau, utilisant des pastilles de couleur pour indiquer le statut d’une information. Or un lecteur d’écran ne peut décrypter cette information qui ne signifie rien pour lui. Il sera donc incapable de renvoyer l’information à l’utilisateur. Nous avons également vu le cas des boutons sans texte, comportant seulement une icône. Une nouvelle fois dans le cas d'un lecteur d'écran, ces boutons ne voudront rien dire, car il ne pourra les interpréter. De nombreuses solutions à ces problèmes existent pourtant et sont présentées dans cette conférence.
Après plusieurs exemples, les conférencières nous ont présenté un bundle Symfony développé par l’entreprise Elao dont elles font partie. Ce bundle s’intègre dans le profiler de Symfony et il permet d’analyser la partie SEO des pages. Ce bundle s'appelle Accesseo est déjà utilisable pour des projets Symfony.
Pour finir elles nous ont présenté une page Twitter très comique et intéressante pour ne pas reproduire les erreurs des autres développeurs en termes de SEO ou même pour se distraire quelques minutes le temps d’une petite pause entre deux issues ^ ^. La page se nomme #SEOhorrorStories et avec quelques compétences en anglais, il est possible de voir des histoires assez originales de certains développeurs ou d’utilisateurs.
Retour de Benjamin CHARBONNIER : Kairoi par Emeric KASBARIAN & Jérémy JAMES
Retour rédigé par Benjamin CHARBONNIER
Personnellement plusieurs conférences m’ont marquées pour ce PHP Forum 2021, et je vais commencer par la présentation de Emeric KASBARIAN et Jérémy JAMES. Ce fut un vrai show, rondement mené par les deux acolytes, nous narrant la genèse d’un projet de gestion de tâches planifiées nommé Kairoi. Ils nous montrent avec brio la difficulté de faire naitre un projet open source et de le mener à bien. Cela représente des heures et des heures de réflexion/développement. Malgré une conférence se terminant sur une note négative (les deux acolytes n’ayant pas réussi à atteindre tous les objectifs pour avoir un livrable pour leur présentation), il n’en reste pas moins que les difficultés rencontrées pour aider la communauté open source méritent d’être mis en avant.
L’architecture ESA : le futur des API web par Kevin DUNGLAS
Deuxième conférence marquante, celle de Kevin DUNGLAS (https://twitter.com/dunglas), qui nous présente l’architecture ESA (Edge Side API) pour concevoir des API. En retraçant l’histoire des api WEB et des protocoles web(http/2 et http/3 notamment), Kevin nous montre comment concevoir une api moderne. Au menu des choses que les développeurs peuvent régulièrement laisser de côté : la gestion du cache par les protocoles réseau.
Crédit : https://twitter.com/dunglas
Pour atteindre une gestion du cache performante, l’architecture ESA nous propose de concevoir des API le plus atomique possible. Ceci se traduit par des ressources simples qui ne contiendront que les informations de cette même ressource et des liens vers des ressources imbriquées/liées. Cette solution permet de mettre en cache des pans entier de nos applications. Certaines des données de nos API varient très peu dans le temps, pour toutes ces ressources il est plus efficace de livrer ces données via des données cache. Le cache présenté ici ne représente aucun surcout de mise en place (Pas de redis ou autre stack complexe à mettre en place), il s’appuie sur les systèmes de cache HTTP implémenté par nos navigateurs depuis sa première spécification. Il se complète et s’améliore naturellement avec http/2 et http/3 afin d’améliorer la récupération de toutes les ressources nécessaires.
Sous-représentation des femmes en sciences et en informatique : comment y remédier ? par Marion MONNET
Retour rédigé par Benjamin CHARBONNIER
Je termine avec la conférence de Marion MONNET, elle nous a présenté ses conclusions sur les femmes et l’informatique, sont sous représentées dans ce secteur. Il en ressort deux grands axes sur lesquels nous pouvons mener des actions afin d'inverser la tendance.
- Premièrement sur les générations futures, en décomplexant les femmes sur leur rapport aux matières scientifiques et aux mathématiques (bien que l’informatique ne soit pas directement et nécessairement lié à ces deux matières)
- Deuxiemement, en favorisant l’intervention des femmes dans les écoles.
Commentaires
Il n'y a actuellement aucun commentaire. Soyez le premier !