Forum PHP 2017 : un très bon cru !
Nous étions une nouvelle fois présents au Forum PHP pour cette édition 2017 située, cette année, au Paris Marriott Rive Gauche Hotel. Des statistiques toujours vers le haut avec plus de 650 visiteurs, 33 conférences et 3 ateliers.
Section intitulée cocktail-temps-reel-pour-l-olympiaCocktail temps-réel pour l’Olympia
Par Amélie Duvernet.
Une conférence à propos d’un outil de compostage de billets créé par Digitick pour la mythique salle de l’Olympia. Nous avons pu avoir un aperçu de l’architecture du projet : des APIs, du Redis, du nodejs couplé à Socket.io. Nous avons ensuite eu une démo vidéo mettant en avant le côté temps-réel. Une conférence intéressante si vous n’avez jamais fait de temps-réel, mais pas assez poussée si vous avez déjà touché à Socket.io.
Slides : Cocktail temps-réel pour l’Olympia
Section intitulée l-ab-testing-chez-m6-webL’AB Testing chez M6 Web
Par Nastasia Saby et Fabien de Saint Pern.
Nastasia et Fabien nous ont présentés les procédures d’AB Testing utilisées sur les différents sites du groupe M6. L’AB Testing sert principalement à tester une modification sur une partie du site pour s’assurer que celle-ci apportera une meilleure satisfaction aux utilisateurs. Cela peut servir à l’amélioration de l’UX, des fonctionnalités, mais aussi à la mesure du taux d’abandon au chargement…
Après avoir eu quelques bonnes pratiques concernant la mise en place de tests (par exemple, les tests AAB plutôt que AB) et la lecture des résultats, nous restons un peu sur notre faim pour le côté implémentation technique.
Slides : L’AB Testing chez M6 Web
Section intitulée software-management-lessons-from-the-1960sSoftware Management Lessons from the 1960s
Par Larry Garfield.
Une conférence déjà donnée plusieurs fois par Larry dans laquelle il parcourt le livre The Mythical Man-Month paru en 1975 et ajoute le parallèle avec notre époque. On retrouve de nombreuses problématiques sur la planification d’un projet, notamment la loi de Brooks « Ajouter des personnes à un projet en retard accroît son retard ». En effet, le fait que la communication humaine soit complexe et la plupart des tâches non parallélisables impliquent des coûts.
Ces problématiques sont-elles toujours d’actualité ? Oui, et Larry nous le prouve à grande échelle avec le projet open source Drupal auquel il a activement contribué.
What’s your excuse ? –#testing #ForumPHP – cool talk by the way @Crell pic.twitter.com/PSef8pzLtu — Olivier Mansour (@omansour) October 26, 2017
Slides : Software Management Lessons from the 1960s
Section intitulée le-streaming-d-api-pourquoi-commentLe Streaming d’API : pourquoi ? comment ?
Par Audrey Neveu.
Audrey nous présente les intérêts d’utiliser du temps réel pour nos applicatifs, notamment la peur de rater un événement.
De nombreuses solutions sont disponibles et présentées dans sa conférence :
- Polling
- Webhook
- Websocket VS Server sent events
Et enfin la présentation du service StreamData.io pour rendre une API existante quasiment temps réel très facilement.
Section intitulée les-hexagones-de-la-ruche-qui-dit-ouiLes hexagones de la ruche qui dit oui !
Par Benoît Merlet.
L’application Symfony de La ruche qui dit oui est un monolithe et Benoît nous fait passer par les différentes étapes de réflexion de son équipe pour améliorer l’existant. Cela commence par une tentative d’implémentation de microservices avec une classe de génération d’images, cela pose plusieurs problématiques en terme de maintenance et liaison avec l’applicatif principal. Au final, ils se rendent compte que cette architecture nécessite une équipe dédiée à sa mise en place et n’est pas une solution viable pour son équipe.
new post: You must be this tall to use microserviceshttp://t.co/jcOKWNYsDr pic.twitter.com/xGFCQGfrBl — Martin Fowler (@martinfowler) August 28, 2014
Une autre refonte est tentée avec l’architecture hexagonale, le principe est d’isoler la logique métier de l’implémentation technique. Ce qui colle parfaitement avec une approche BDD (Business Driven Development). Nous avons particulièrement apprécié l’avant / après de la structure de fichier du projet.
Section intitulée atelier-ddd-domain-driven-developmentAtelier DDD (Domain Driven Development)
Par Alexandre Balmes.
Alexandre nous proposait cette année un atelier pour aborder un sujet qui lui tient à cœur depuis quelques années, le Domain Driven Development.
Le principe général de cette méthode est de découpler l’implémentation technique de la logique métier. On retrouve des similitudes avec le BDD dont nous parlions plus haut dans cet article.
L’atelier a débuté par une rapide présentation des grands concepts du DDD :
-
Application
est un dossier du projet qui contient les Form, par exemple. -
Domain
est un autre dossier qui contient la logique métier, à savoir des services, des events, des interfaces de Repositories, des entités (rien à voir avec Doctrine), et des ValueObjects. -
Infrastructure
contient tout ce qui est lié à la persistance, à savoir l’implémentation des Repositories du Domain, des Managers, des Bridges, un Mailer. Globalement, tout ce qui fait appel à du tiers (base de données, api externes, envoi de mail, sms…) -
User Interface
contient les Controllers de notre application et ses templates (ou pas selon les projets). - Les
Bounded Context
représentent un concept qui, pour nous, se rapprochent fortement des bundles fonctionnels que l’on avait l’habitude de créer dans des applications Symfony2. Par exemple, notre application contient une fonctionnalité deBlog
, nous allons donc créer un Bounded ContextBlog
(un dossier) dans lequel nous retrouverons la structure décrite ci-dessus, pour isoler cette fonctionnalité, et la rendre utilisable dans d’autres projets.
Alexandre nous a donné quelques conseils qui entrent également dans la logique DDD, comme maintenir un glossaire pour faciliter la communication entre l’équipe technique et produit. L’idéal étant que les implémentations techniques des fonctionnalités soient nommées de la même manière par les 2 équipes.
Cet atelier nous a permis de découvrir cette méthode de conception, de laquelle nous retirerons sûrement certains concepts pour améliorer de futurs projets qui se prêteraient à la mise en place du DDD.
Section intitulée graphql-l-avenir-du-restGraphQL, l’avenir du REST ?
Par François Zaninotto.
Sur cette conférence rythmée et humoristique, François nous fait passer de l’ancien paradigme REST vers la lumière de GraphQL. On y retrouve les différents problèmes que l’on rencontre avec une API classique, par exemple les performances de plusieurs appels HTTP sur mobile ou encore les pirouettes que l’on peut être amené à faire pour optimiser nos requêtes (embed, query params…).
GraphQL est présenté comme une technologie innovante mais qui force les développeurs à apprendre un nouveau paradigme de zéro avec de nouvelles problématiques résolues depuis longtemps avec REST, notamment le cache et la sécurité.
On peut aussi noter que le support est présent dans de nombreux langages, notamment en PHP avec le fameux API Platform.
And you know what? @ApiPlatform master supports #GraphQL (and has GraphiQL). Your server in 1 PHP class #forumPHP /cc @francoisz pic.twitter.com/Lh1zM3JP1q — Kévin Dunglas (@dunglas) October 27, 2017
Slides : GraphQL, l’avenir du REST ?
Section intitulée les-process-qualite-le-cas-de-symfonyLes process qualité – Le cas de Symfony
Par Nicolas Grekas.
Membre de la core team de Symfony, Nicolas nous a présenté les différents outils et méthodologies employés au sein du framework pour faciliter la maintenance et conserver la qualité du projet open source. Parmi tous les points abordés, nous apprécions notamment la gestion des Backward Compatibility breaks pour faciliter au maximum la montée en version de nos applications : aucun BC break introduit dans une version mineure ; et si une évolution introduisant un BC break est nécessaire, une couche de compatibilité doit être développée au coeur de Symfony pour que l’ancienne version fonctionne toujours dans nos applications actuelles et des notices seront levées pour vous avertir que vous utilisez du code déprécié qui sera supprimé dans la prochaine version majeure.
Le système de notice est basé sur la fonction trigger_error :
@trigger_error('Message expliquant la dépréciation', E_USER_DEPRECATED);
Applicable à tous les packages PHP, ce système de notification sera peut-être proposé en tant que recommandation au PHP FIG.
Le projet Symfony a également mis en place quelques astuces pour faciliter les tests unitaires avec PHPUnit et accélérer le temps de build sur les plateformes d’Intégration Continue. On notera le package symfony/phpunit-bridge
que tout le monde pourra utiliser pour bénéficier de quelques améliorations lors de l’utilisation de PHPUnit. Ce bridge permet également de collecter toutes les dépréciations levées lors de vos tests et les affiche de manière lisible à la fin.
Section intitulée le-slideshow-karaokeLe Slideshow karaoke
Cette année encore, le Forum PHP s’est terminé sur cette « conférence » un peu spéciale à base d’improvisation. Les cobayes ont plutôt bien réussi cet exercice pas évident qui consistait à improviser un mini talk en se basant sur quelques slides qu’ils découvraient en même temps que les spectateurs. Ce slideshow karaoké a été l’occasion de terminer 2 jours de conférences sur une note légère et pleine d’humour.
Section intitulée encore-une-superbe-editionEncore une superbe édition
Ceci est un tour rapide de ce que nous avons pu voir. Évidemment, d’autres conférences étaient très intéressantes :
- Climbing the Abstract Syntax Tree par James Titcumb – Conférence très intéressante à propos des AST. Nous pouvons que vous conseillez de lire (ou relire) l’article de Loïck Piera – L’analyse statique dans le monde PHP.
- Développer plus rapidement avec Symfony 4 de Kevin Dunglas – Une présentation de toutes les nouveautés de la prochaine version majeure de l’un de nos frameworks préférés !
Même s’il y a toujours des râleurs, ce fut encore une fois une superbe édition. Merci à l’AFUP pour l’organisation aux petits oignons et aux conférenciers. N’hésitez pas à aller voir les photos sur le groupe flickr.
Prochaine conférence PHP à ne pas rater à Montpellier avec le PHP Tour 2018 !
Cet article porte sur la conférence Forum PHP 2017.
Commentaires et discussions
Ce que nous retenons du Forum PHP 2019
À l’occasion de sa 13e édition, l’équipe de JoliCode s’est à nouveau rendue au Forum PHP pour deux jours de partage, de conférences, de veille technique et de papotage ! Comme chaque année, l’équipe de l’AFUP a fait un travail de sélection et d’organisation qui force l’admiration.…
Lire la suite de l’article Ce que nous retenons du Forum PHP 2019
Nos articles sur le même sujet
Nos formations sur ce sujet
Notre expertise est aussi disponible sous forme de formations professionnelles !
Symfony
Formez-vous à Symfony, l’un des frameworks Web PHP les complet au monde
Symfony avancée
Découvrez les fonctionnalités et concepts avancés de Symfony
Ces clients ont profité de notre expertise
Groupama Épargne Salariale digitalise son expérience client en leur permettant d’effectuer leurs versements d’épargne salariale en ligne. L’application offre aux entreprises une interface web claire et dynamique, composé d’un tunnel de versement complet : import des salariés via fichier Excel, rappel des contrats souscrits et des plans disponibles, …
Axiatel à fait appel à JoliCode afin d’évaluer les développements effectués par la société. A l’issue d’un audit court, nous avons présenté un bilan de la situation actuelle, une architecture applicative cible, et nos recommandations en vue d’une migration en douceur vers le modèle applicatif présenté.
Dans le cadre d’une refonte complète de son architecture Web, Expertissim a sollicité l’expertise de JoliCode afin de tenir les délais et le niveau de qualité attendus. Le domaine métier d’Expertissim n’est pas trivial : les spécificités du marché de l’art apportent une logique métier bien particulière et un processus complexe. La plateforme propose…