Mon retour du DDD Day 2016 à Lyon
Le DDD-Day est une journée de conférence visant à sensibiliser les développeurs PHP au DDD (le Domain-Driven Design), démystifier son utilisation et les patterns qui y sont rattachés. J’ai ainsi eu l’occasion d’assister à la première édition de cette journée qui s’est déroulé le 30 janvier 2016 à Lyon.
Le #dddday c'est maintenant ! pic.twitter.com/VJOesVWTFi
— Jérémy DECOOL (@jdecool) 30 Janvier 2016
Avant de faire un retour rapide sur la journée, je tenais à remercier une nouvelle fois tous ceux grâce à qui cette journée n’aurrait pu avoir lieu : l’AFUP, KnpLabs, l’atelier des médias, Amabla et Vanoix.
La journée de conférence a été filmé et sera prochainement disponible sur la chaine Youtube de OpenTalk.
Pourquoi le DDD ne devrait rien changer à votre vie ?
Alexandre Balmes - Slides - Vidéo
Cette journée commence par une présentation du Domain-Driven Design, pourquoi et quand l’utiliser. Derrière cette présentation Alexandre nous explique les bases du DDD et tente de nous montrer que malgré quelques termes “barbares”, il n’y a rien de sorcier derrière cet acronyme. Ce n’est au fond que du bon sens et peut s’intégrer dans tout environnement projet, surtout avec les outils qui sont à notre disposition en PHP aujourd’hui.
Get Off My Domain !
Matthieu NAPOLI - Slides - Vidéo
Après l’introduction faite par Alexandre, Matthieu rentre un peu plus dans les
détails techniques d’une application DDD. Il va alors nous présenter les
design-patterns essentiels qui doivent être utilisés dans nos applications. C’était
l’occasion de revoir les notions de : Entity
, Value Object
, Domain Service
,
Repository
(au sens premier du pattern), Aggregate
et de Domain Event
.
Ne laissez pas les formulaires Symfony influencer votre modèle
Jérémy BARTHE - Slides - Vidéo
En France, nous sommes très nombreux à utiliser le framework PHP Symfony. D’ailleurs
l’ensemble des personnes présentes développaient leurs applications en utilisant
ce dernier. Partant de ce constat, Jérémy nous a fait une présentation technique
sur l’utilisation des formulaires en Symfony. L’objectif de sa présentation était
de nous permettre de garder nos formulaires les plus simples possible tout en
gardant en tête les fondamentaux du DDD : l’utilisation des Value Object
et de
l’Ubiquitous Language
.
Soyez spécifiques
Kévin GOMEZ - Slides - Vidéo
Kévin nous a fait une présentation sur l’expression des règles métiers dans nos
applications et la manière de les rendre réutilisables. Pour réussir cette tâche,
il nous présente le pattern Specification
et une implémentation de ce pattern
qu’il a écrit dans sa librairie RulerZ.
Avec RulerZ, il est alors possible via un DSL (Domain Specific Language), une
règle métier qui peut ensuite être passée de manière complètement transparente à un
QueryBuilder
de Doctrine ou une Query
ElasticSearch.
CQRS : Quand les Représentations ne sont pas symétrique
CQRS (Command Query Responsibility Segregation) est un pattern applicatif qui repose sur un principe simple : la séparation, au sein d’une application, des composants de traitement de lecture et d’écriture. Cette présentation nous a fait un retour d’expérience sur la “migration” d’une application legacy vers une architecture orientée DDD et CQRS.
J’ai trouvé ce retour d’expérience intéressant vis-à-vis du choix que l’équipe a effectué. Effectivement, l’essentiel des problèmes rencontrés se trouvant côté “front”, l’équipe a fait le choix de garder l’application legacy en fonctionnement (correspondant à la logique d’écriture) et de démarrer une nouvelle application qui ne sert qu’à présenter les informations enregistrées par le back-office (la partie legacy).
Tour de table
Pour terminer cette journée, nous avons eu le droit à une table ronde animée par Pascal qui a permis à chaque membre de répondre aux questions restées en suspens lors des présentations.
Ce fut également un moment d’échange pour permettre aux organisateurs d’avoir le ressenti de chacun sur cette première édition du DDD Day.
Encore une fois merci à tous les personnes qui ont rendu cette journée possible : les membres de l’organisation, les conférenciers ainsi qu’à tous les participants à cette journée. Ce fut une journée riche en information, mais cela fait également plaisir de revoir les personnes qui font bouger l’écosystème PHP à Lyon.
Merci à tous !
Très bonne journée au #dddday ! Merci à tous @pockystar @vanoix @AFUP_lyon pour l'orga et à tous les speakers.
— Jérémy DECOOL (@jdecool) 30 Janvier 2016