ForumPHP 2023 - Les conférences que nous avons suivies

 J’ai créé un service SaaS, voyons ce qu’il ne faut pas faire - Grégory Planchat

Grégory Planchat est CTO chez Kiboko et créateur d'un ETL nommé Giroscops. Après plusieurs années de développement et d'amélioration, son entreprise a voulu régler la question du passage à l'échelle. Pour que davantage de clients puissent disposer d'un espace qui leur est propre sans dépendre du provisionning et d'un système de déploiement manuel, Grégory s'est lancé dans le Cloud, mais c'est quoi le Cloud au fait ?

Une conférence pleine de retour d'expérience et de conseils bienveillants sur les erreurs à éviter, en voici quelques-uns :

  • Veillez au coût humain de vos choix : courbe d'apprentissage, maintenance, qualité de l'usage au quotidien...
  • Les outils maison, c'est bien, faites-en, surtout quand ils sont simples : un script bash peut parfois largement faire l'affaire
  • Évitez la mode : les solutions qui font le buzz seront peut-être abandonnées demain et ce n'est pas acceptable quand on parle d'infra cloud
  • Ne soyez pas seul à maîtriser les solutions issues de vos choix
  • Mettez de l'observabilité dans vos logs et traitez les exceptions comme des objets qui vous indiquent si votre application est dans un état stable ou instable
  • Une doc à jour et maintenue, c'est la base
  • Écrivez des ADR, faites les valider et rendez leur lecture obligatoire à toute personne qui vient sur le projet : on ne peut pas s'intégrer correctement sur un projet si on en connaît pas les choix et directions techniques
  • Faites moins de features, mais des features mieux finies, les idées, c'est cool, mais ça coûte cher et ça nuit au niveau de qualité de l'application
  • Concentrez-vous sur le MVP et n'ayez pas peur si votre produit est plus simple que celui de la concurrence
  • Présentez votre produit et écoutez les critiques, c'est là qu'il faut travailler
  • Écoutez les critiques adressées à vos concurrents
  • Vendez votre produit même s'il est incomplet, sinon c'est la faillite
  • Vendez-le, vendez-le, vendez-le encore, ça fait partie de la vie du projet
  • Votre 1er client sera super content parce que vous aurez plein de temps pour lui
  • Suivez vos dépenses
  • Faites vous accompagner par un incubateur, vous y trouverez de l'appui des conseils et éviterez de nombreuses erreurs

En relisant mes notes, je me rends compte que la conférence de Grégory est une de mes préférées, et beaucoup de ses conseils nous seront utiles chez Emagma, merci Grégory !

Slides : on les cherche, envoyez un ping à @loic_emagma

 La positive alt-itude ! Un outil d'inclusion pour votre accessibilité - Angi Déborah Guyard

Dans une conférence au format court, Angi Déborah pour mettre l'attention sur la mal-aimée balise "alt" : nous le savons depuis quelques années mais il est difficile de faire changer les choses quand on parle d'accessibilité.

En effet, les mal voyants qui utilisent une solution de lecture d'écran disposent de l'information "Il y a une image" lorsque la page en présente, qu'il s'agisse d'un schéma, d'une photo, d'un pictogramme. Il est donc essentiel de faciliter le tri entre les types d'images qu'une page contient.

Ce que je retiens de la conférence en quelques mots :

  • La balise alt vide a un sens qui est "Image décorative", ce qui peut être interprété par "image mise là pour faire joli, mais sans information nécessaire à la compréhension du contenu"
  • A l'opposé, on comprend l'intérêt de donner le focus sur une information claire et exploitable pour les visuels qui ne sont pas purement décoratifs
  • Une infographie ? Mettez des données clés dans un format compréhensible si on vous les lit
  • Une image qui sert le propos ? Mettez un contenu qui pose le contexte, sans entrer dans les détails non utiles à la compréhension
  • Un pictogramme qui n'est pas accompagné d'un libellé ? Indiquez le libellé dans alt et le pictogramme retrouve son utilité

Dans les bad practices à signaler :

  • Pas de balise alt pose un doute : est-ce une image décorative, ou un oubli ? Donc toujours mettre la balise alt
  • Non, la balise alt n'est pas faite pour le SEO, pensez aux humains qui lisent son contenu

Ce que cette conférence a changé pour moi, c'est surtout l'information que tous les réseaux sociaux proposent une méthode pour ajouter le texte alternatif sur les images qui accompagnent vos posts.

C'est simple à faire, utile, pourquoi ne pas commencer dès maintenant ?

Slide : on les cherche, envoyez un ping à @loic_emagma

 Augmentez votre couverture : supprimez des test ! - Baptiste langlade

Cette conférence de Baptiste Langlade nous présente une autre approche pour les tests fonctionnels de votre application.

Dans le cas de Baptiste, l'application est déployée sur un réseau fermé et les tests sont essentiels pour garantir les non régressions.

Le résultat, c'est 1h15 de tests à faire tourner, un nombre de tests croissant qui constitue un vrai frein au quotidien pour les équipes dev.

Point intéressant, on parle de tests fonctionnels, le nombre de tests grandit de façon exponentielle avec l'ajout de parcours utilisateurs : une simple feature nécessite d'être testée dans plusieurs cas.

Constat : la complexité des tests fonctionnels grandit, le nombre de tests ne peut pas suivre, on teste moins de cas possibles et la couverture de test baisse.

La solution présentée pour remédier à ce problème repose sur la librairie Blackbox qui permet de générer des Set de données ou d'objets nécessaires à vos parcours de tests. L'intégration de Blackbox dans PHPUnit se fait grâce à un simple trait, et permet d'extraire du code répétitif - qui en soit fait partie des tests - afin de le réutiliser... et d'y ajouter un aspect aléatoire dans le nombre et le contenu des données créées.

Lorsqu'une erreur est rencontrée, les données aléatoires qui ont abouti à l'erreur permettent de reproduire le cas et d'écrire un test de non régression.

L'idée intéressante derrière le random Set de Blackbox est la suivante : statistiquement, il vaut mieux lancer X fois des tests avec des données random que X fois avec les mêmes données.

De même, multiplié par le nombre de développeurs qui lancent leurs tests, cela permet d'augmenter la probabilité de toucher des edge cases qui seraient découvertes bien plus tard par un utilisateur.

Enfin, cela permet aussi de lancer des sessions de battle test : en augmentant le nombre d'objets générés, cela peut être un complément à un process dev local et CI classique pour pousser l'application à la faute.

Voir les Slides sur Github

Retour d'expérience sur la création de deux IA personnelles open source avec OpenAI - Maxime Thoonsen

Ce talk de Maxime Thoonsen a été un bon mix entre théorie, mise en pratique, et "pour aller plus loin..." autour de l'IA.

Si le sujet est tendance, l'IA n'est pas aussi présente dans l'écosystème PHP que dans d'autres, mais cela pourrait changer.

Premier point marquant, Maxime nous explique comment OpenAI parvient à générer des marqueurs sémantiques lorsqu'on lui fourni des textes courts, centrés sur une information principale. L'Api de OpenAI génère des embeddings basés sur un texte, et ces embeddings peuvent être stockés sous forme de vecteurs. Ces vecteurs peuvent être stockés dans une bdd comme Postgresql pour ensuite servir à calculer la distance entre plusieurs vecteurs.

De la même manière, une question se traduit sous forme de vecteur, et la question "Où se déroule le ForumPHP ?" se trouvera sémantiquement plus proche de "Des événements techs ont lieu à l'hôtel Marvel, Disney Paris" que "J'aime les burritos".

Il est donc possible de soumettre des contenus à OpenAI et de les interroger, classer, trier selon une pertinence qui est basée sur le moteur d'analyse sémantique d'OpenAI.

L'autre point majeur de la conférence, c'est la présentation de LLPHANT, un jeu de mot douteux comme on les aime pour décrire une librairie d'interrogation d'un Large Language Model comme celui d'OpenAI (mais pas que) en PHP.

Je vous invite à voir le replay de cette conférence, un vrai starter kit si vous êtes resté jusque-là hermétique à l'IA.

Le github de LLPhant

Slide : on les cherche, envoyez un ping à @loic_emagma

 (Et si on apprenait à) Apprendre et partager autrement - Aurélie Vache

Aurélie Vache est une experte devops qui revient sur son parcours, notamment sa récente réconciliation entre ses compétences d'aujourd'hui - cloud, kubernetes, docker etc. - et ses passions d'enfance - les légos, assembler, dessiner etc.

C'est une conférence à voir, difficile de la relater ici, j'essaie quand même...

Nous n'avons pas tous les mêmes facilités et les mêmes difficultés, la même façon de voir et de comprendre l'information qui nous est proposée.

C'est sur ce constat qu'Aurélie a commencé en Covidie à chercher à illustrer les concepts qu'elle maîtrise pour permettre à d'autres de les comprendre, plus facilement. L'utilisation de l'illustration, le fait de schématiser façon "Il était une fois la vie" les mécanismes complexes permet de mieux les intégrer, et surtout de comprendre l'essentiel.

La métaphore est qu'un dessin sera toujours plus simple qu'un bouquin O'Reilly.

Très touchante de partage, en phase avec le constat que les méthodes scolaires qui nous ont formées ne sont pas optimales ou même pertinentes pour tous, je vous invite à découvrir les livres illustrés d'Aurélie Kubernetes et sur Docker

Slide : on les cherche, envoyez un ping à @loic_emagma

Femmes et numérique : enjeux et solutions - Isabelle COLLET

Avec beaucoup d'humour, Isabelle COLLET a dressé un constat de la place et la considération des femmes dans le milieu de la tech.

Bien qu'ayant été très présentes en tant que premières programmeuses au début de l'informatique, elles ont été peu à peu remplacées par des hommes au fur et à mesure que ce métier soit mieux considéré et mieux payé à partir des années 70.

L'enjeu aujourd'hui serait de casser cette perception que la tech est un milieu "d'hommes" qui est ancré dans nos stéréotypes de genre, et de lutter contre le sexisme qui est globalement conscientisé par la plupart des hommes.

Pour cela, le levier sans doute le plus efficace est d'agir en amont, dans les milieux de formations en adoptant diverses stratégies d'inclusion sur 3 axes principaux :

  • intéresser : pubs, communication, actions au lycée et collège, mise en évidence des perspectives de carrières
  • recruter : reflexion sur les critères d'admission pour diminiuer le poids de l'expérience antérieure, quota
  • socialiser : laboratoire non mixtes, plus de femmes enseignantes, visibilisation d'un réseau de femmes d'entreprise, cours sur le genre, interdisciplinarité

Isabelle COLLET est autrice de 2 livres sur ce thème : "L’informatique a-t-elle un sexe", issu de sa thèse, parue en 2006 et "Les oubliées du numérique" paru en 2019.

A écouter également, un épisode du génialissime podscast "Les couilles sur la table" dont elle est l'invitée.

Why PHP is still awesome in 2023 - Frank Karlitschek

Frank Karlitschek est le fondateur du projet Nextcloud, une solution opensource qui permet l'échange de fichiers et apporte également des outils collaboratifs pour le travail en équipe (chat, édition partagée etc.).

Utilisée par de grandes organisations comme la Croix Rouge ou Amnesty International.

La première partie du talk, assez longue, est purement promotionnelle. Comprenez que Nextcloud a plein de fonctionnalités que vous pouvez auto-héberger ce qui en fait une alternative face aux suites propriétaires Google ou Microsoft.

Pourquoi PHP est un bon langage en 2023 ? En quelques points, cela donne :

  • Facile à déployer : depuis toujours, les applications PHP ont un déploiement facile, copier quelques fichiers en prod et ça fonctionne
  • Indépendant : c'est important pour le devenir du langage et son évolution
  • Bonne scalabilité, grâce à l'isolation complète des processus
  • Relativement facile à apprendre
  • Le langage s'améliore de jour en jour et ne reste pas bloqué dans le passé, il gère ses dépréciations
  • C'est un langage léger, l'environnement PHP est relativement facile à mettre en place
  • Une grande communauté de développeurs, c'est essentiel pour assurer la durabilité des applications
  • Un grand choix d'outils et de frameworks
  • Testé à fond, PHP fonctionne vraiment, c'est prouvé

Des choses à améliorer

  • Des limites techniques telles que les websockets
  • Il est toujours facile d'écrire du code insecure, malgré les améliorations de typage
  • Il y a toujours des inconsistences, par exemple autour des tableaux
  • En retard sur des domaines tels que le Machine Learning ou le Functional programming

Une conférence qui aurait gagné à mettre en avant le fonctionnement de la communauté qui semble originale et pleine de vitalité

Slides : on les cherche ! Faites moi un message si vous les avez @loic_emagma

Derniers articles