Blog

Notre retour sur l'édition 2014 du Forum PHP et ce que nous en avons retenu.

Retour Forum PHP 2014

L’édition 2014 du forum PHP, outre le fait de présenter des outils ou de se focaliser sur le langage PHP lui même a tenu à aborder des thématiques transverses liées au développement logiciel en général. Elle se rapproche donc en ce sens des conférences agiles et cette année il aura beaucoup été question de bonnes pratiques et de fondamentaux d’architecture logicielle.

Les leçon à retenir

  • Concevez en vous basant sur le domaine métier : vive le Domain Driven Design (Article wikipedia sur le sujet)
  • Écrivez du code de qualité, testable et testé, en isolant la logique métier
  • Utilisez le patron de conception État qui reste trop souvent ignoré.
  • Architecturez vos applications en micros services (lire l’article de Martin Fowler sur le sujet).
  • Coder pendant une conférence est un exercice périlleux.
  • Utilisez une stack ELK pour monitorer vos applications. Comme dans l’approche LEAN, les métriques sont indispensables, surveiller le comportement d’une application est crucial.

Enfin, les vidéos des conférences sont en ligne.

Nos conférences préférées

Un état d’esprit de Sebastian Bergmann

Cette conférence ne parlait pas seulement de tests unitaires (Ndr: Sebastian Bergmann est l’auteur de PHPUnit), mais d’écrire un code de qualité reflétant et répondant au métier pour lequel l’application a été conçue. La conception pilotée par le domaine rentre alors en jeu.

La logique métier est une couche à part entière de votre application. Tout comme il existe une couche de présentation permettant de rendre les données aux utilisateurs, une couche de logique applicative (le routage), une couche de persistance (la sauvegarde en base de données par exemple). Cette couche de domaine métier représente tous les aspects métiers de l’application, accède aux informations sur le métier, et comprend l’ensemble des règles spécifiques au métier.

Et donc pour facilement gérer ces ensembles de ces règles métiers, Sebastian a donc présenté le patron de conception État, trop souvent ignoré, au travers d’un exemple.

Et ce qu’apporte ce patron de conception, c’est un code clair, évolutif, et robuste respectant et application la logique métier.

Améliorer continuellement la qualité du code de Johannes Schmitt

Cette conférence était plutôt une démonstration de Scrutinizer, qui est un outil d’intégration continue et des avantages qu’apporte Scrutinizer par rapport à une intégration continue « classique ».

Nous utilisons Scrutinizer pour Croogo, un CMF basé sur CakePHP, et en connaissons ses bienfaits, comme par exemple :

  • la génération de métriques par rapport au code
  • l’analyse de code, et la notation sa qualité
  • la détection de bugs potentiels
  • l’exécution de tests
  • et bien plus…

Outre ces fonctionnalités, Scrutinizer permet très rapidement de cibler les parties sensibles de votre application qui nécessiteraient du refactoring.

Laisse pas traîner tes logs d’Oliver Dolbeau

Une très bonne conférence sur le retour d’expérience de l’équipe technique de BlaBlaCar sur la mise en place de la stack ELK pour surveiller les fichiers journaux générés par l’application.

On apprend ainsi qu’en étiquetant les logs de manière astucieuse cela permet d’avoir des remontées d’informations bien segmentées, pour chaque service (Marketing, SI, etc …). Le coup de mise en place est plutôt minime.

Parmi les points positifs qu’apporte le monitoring des logs : enregistrer dans les logs des informations pertinentes permet de manière très rapide de savoir lors d’une panne ce qu’il se passe, dans quelle partie de l’application l’erreur a eu lieu, et surtout avec quelles données, ce qui permet facilement d’isoler et reproduire l’anomalie constatée.

C’est une stack que l’on compte bien mettre en place chez Occitech.

Architecture d’une application Full API orienté micro service de Xavier Gorse & Yves Heitz

Encore une conférence très intéressante sur une retour d’expérience d’une création d’une application avec une architecture micro-services FULL API.

On y apprend des choses très intéressantes :

  • Comment définir si une brique fonctionnelle est un bon candidat à être un Micro Service ? Il faut que son champ d’action soit bien défini par exemple.
  • Comment définir quelle technologie à utiliser pour un micro services ?
  • Les écueils à éviter : ne pas avoir penser à une gestion d’erreur par exemple.

Cohabitation de NodeJs et PHP au Monde. Pourquoi et comment d’ Olivier Grange-Labat

Très bonne conférence, qui était en fait un retour d’expérience sur la refonte d’une application PHP en application NodeJS.

Avant de se lancer dans la ré-écriture du CMS, partie critique du métier, les développeurs ont utilisé NodeJS sur un périmètre restreint : les notifications « push » sur Smarpthone.

Le Monde a désormais pour l’édition en ligne un CMS fait maison sous NodeJS, conçu de manière itérative, avec un ergonome dédié afin de répondre au mieux aux besoins des journalistes.

Le mot de la fin

Nous n’avons pas pu assister à toutes les conférences, il y a eu plein d’autres conférences de qualités, parfois en même temps, c’est toujours le problème avec les tracks en parallèle. Le retour de l’équipe de M6Web est un très bon complément au nôtre du coup.

Nous avons particulièrement apprécié les différents retours d’expériences, ainsi que la disponibilité des conférenciers pour les questions en off. Un grand merci aux organisateurs, nous essaierons d’être encore présents l’année prochaine, et pas forcément dans le public.