Voici la suite de mon article sur le premier jour du forum PHP, j’ai décidément beaucoup de choses à dire !

Je donne ma conférence le matin à 10h15, c’est un peu le stress au réveil… Je relis les slides et ajuste quelques bricoles, c’est parti pour cette deuxième journée !

Les hexagones de la « Ruche qui dit Oui ! »

La « Ruche qui dit Oui ! » est une plateforme en ligne qui propose de réduire le nombre d’intermédiaires entre les producteurs et artisans et les consommateurs. Les utilisateurs peuvent commander en ligne et aller chercher les produits dans une ruche à proximité de chez eux leurs produits locaux. C’est très résumé mais c’est ce que j’en retiens ?.

Benoît Merlet, développeur sénior de la ruche propose un retour d’expérience sur l’architecture de la solution développée en interne. Benoît parle de micro-services et de DDD. Il explique comment ils ont utilisé ces concepts dans leur workflow de développement interne.

Les micro-services n’ont pas fonctionné pour eux, car leur équipe est trop petite pour gérer l’orchestration et le cycle de vie de logiciels autonomes. Ils ont décidé d’architecturer leur code en « Hexagones » dans un monolithe unique. Ces modules indépendants implémentent chacun un morceau autonome du domaine (livraison, facturation, …). Ils utilisent les évènements pour faire communiquer les modules entre eux.

C’est une approche intéressante vers un code plus maintenable et représentant réellement l’implémentation métier des problématiques. Une mise en pratique des principes DDD et d’une architecture SOLID tout en restant dans le cadre d’un monolithe.

Télétravail et voyage, entre mythe et réalité

C’est à mon tour de monter sur scène pour présenter ma conférence. Je ne vais pas rentrer plus en détail, je vous invite à regarder la vidéo et les slides et me faire vos retours en commentaire ou directement.

Réécriture d’un code vieux de 17 ans

Anna Filina nous vient du Québec pour parler de refactoring. Sa spécialité est de faire du sauvetage de projet. Elle travaille sur des bases de code legacy pour les aider à sortir la tête de l’eau et repartir sûr de bonnes bases.

Elle nous présente ce que signifie « travailler avec du code legacy ». Ses slides contiennent uniquement des exemples réels de code et ça fait un peu peur ?. Elle balaie les points sensibles et les stratégies qu’elle utilise pour mener à bien les projets et on sent qu’elle a une grande expérience !

C’est toujours intéressant d’avoir ce type de retour. En effet la plupart des développeurs vont un jour se retrouver à travailler sur du « vieux » code et adopter la bonne stratégie permet d’assurer la réussite tout en fiabilisant l’existant.

Les interfaces, l’ADN de votre application

Sébastien Lavenant présente une conférence de 20 minutes très accessible pour faire un point sur les interfaces. Ces interfaces permettent de définir le comportement attendu, les contrats qui vont devoir être respectés par le code.

Aujourd’hui, avec les principes d’injection de dépendances et d’interopérabilité, les interfaces sont de plus en plus présentes. En plus d’être le fondement d’une architecture bien construite, elles permettent de documenter le comportement général d’une brique.

GraphQL, la relève de REST ?

François Zaninotto, mainteneur de la librairie Faker et fondateur de Marmelab nous présente GraphQL. Une présentation très dynamique et humoristique sur les possibilités offertes par ce nouveau type d’API.

REST montre aujourd’hui ses limites sur les applications qui font une utilisation intensive des APIs, surtout si ces APIs ont un schéma qui évolue dans le temps.

GraphQL est un langage de requête pour communiquer avec l’API. La requête décrit ce qu’on attend, le serveur l’interprète et renvoit exactement ce que l’utilisateur souhaite. Bien sûr, côté serveur il faut avoir de quoi comprendre cette requête, mais ça ouvre de belles possibilités pour les APIs.

Ce n’est pas fait pour tout le monde et François nous fait un petit test à la fin de la conférence pour savoir si ça vaut le coût de passer à GraphQL ou pas.

Ça fait plusieurs fois que j’entends parler de GraphQL et j’ai maintenant les clés nécessaires (librairies et outils Open Source) pour l’utiliser et l’implémenter.

Faut-il faire du travail de qualité ?

Jean-François Lépine, auteur du très connu PHPMetrics se pose des questions par rapport à la qualité. Tout le monde en parle, c’est bien mais c’est un critère globalement subjectif. Chaque développeur, commanditaire ou chef de projet en a une vision différente. Une présentation très dynamique et pleine d’humour sur cette réalité difficile à appréhender.

Jean-François nous propose une solution pour mesurer cette qualité et en faire un vrai objectif d’entreprise. Il appuie sur le fait que tout ne peut pas être parfait, mais il faut choisir une voie et s’y tenir c’est le plus important :

  • Prioriser les facteurs de qualité ;
  • Les imprimer ;
  • Les afficher dans les toilettes.

La qualité est objective et c’est un moyen de permettre l’amélioration continue dans l’entreprise. Cette présentation permet de prendre du recul et de se poser les bonnes questions.

Le langage objet passé, présent, futur

Sophie Beaupuis, CTO chez Ma Résidence.fr nous parle de programmation orientée vers l’Est. J’avais déjà vu une conférence de Frédéric Hardy, créateur d’Atoum sur le sujet et j’avais hâte de voir ce que Sophie avait préparé…

C’est une présentation très vivante et très pratique sur ces différents concepts. Sophie explique l’histoire de la programmation orientée objet, son évolution et l’état de l’art aujourd’hui.
Elle insiste sur le fait que le concept d’objet a toujours été basé sur les messages. Les objets communiquent entre eux, mais ne partagent en aucun cas leur propriétés internes. Aujourd’hui, beaucoup de code est écrit et ne respecte pas ce type d’encapsulation.

C’était la dernière conférence de la journée et elle a bien réussi à maintenir l’attention, chapeau bas ?.
Forcément, Frédéric est intervenu pendant la phase de question pour rebondir sur ce qui venait d’être dit. Il a d’ailleurs publié du code source sur GitHub, et créé un framework entièrement orienté à l’est: RisingSun. Si vous n’avez jamais jeté un oeil c’est un point de départ intéressant !

Pour terminer ces deux jours de Forum PHP…

Xavier Lejeune, président de l’AFUP termine ces deux jours avec un grand merci aux sponsors, aux membres de l’équipe sans qui le forum ne pourrait exister !

Un grand merci à tous pour ces deux jours merveilleux en découverte et rencontre. J’ai atteint un de mes objectifs en présentant une conférence dans un événement d’envergure national. Cette expérience très enrichissante donne envie d’aller plus loin, on se retrouvera ? !

J’ai aussi pu enfin voir IRL plusieurs contributeurs importants d’Hoa et Atoum que je n’avais toujours vu que sur IRC. Ça donne une autre dimension à l’Open Source, c’est toujours agréable de mettre un visage sur un pseudo !

J’attrape mon train à la gare de l’est et je rentre à la maison. Au revoir Paris et à une prochaine ?…