Aller au contenu
AFUP AFUP Day 2025 Baromètre Planète PHP PUFA
 

Transformer une application RAD vers du DDD, pas à pas.

Description

Comment migrer une application peu testée, développée avec des outils RAD, pour intégrer de nombreuses évolutions de règles métiers et par la même occasion la rendre plus compréhensible, en ayant une démarche orientée Domain Driven Design ? La réponse n’est pas si évidente.

On peut bien sûr opter pour une réécriture complète du système mais ce n’est pas sans problème. Comment continuer à délivrer des fonctionnalités ? Comment s’assurer que le nouveau système aura bien le même comportement que l’ancien ? Et surtout, combien de temps cela va t’il prendre ?

Une autre piste est de refactorer le code petit à petit, d’introduire les nouveaux concepts lorsqu’un besoin se fait sentir, sans avoir besoin de bloquer tout autre développement. C’est ce que nous avons choisi de faire pour migrer un backoffice construit autour du bundle Symfony EasyAdmin.

Dans ce retour d’expérience nous verrons comment nous avons commencé à mieux connaître les règles métiers en lisant le code et en animant des Event Storming. Nous parlerons de la manière dont nous avons réussi à créer un filet de sécurité avec des tests en nous laissant guider par le code coverage, ou encore de comment nous avons introduit graduellement les nouveaux concepts métiers à l’aide des interfaces avant de modifier la base de données. Tout au long de la conférence nous présenterons les difficultés rencontrées et ce que nous avons mis en œuvre pour les déjouer.

Conférence donnée lors du Forum PHP 2021, ayant eu lieu les 21 et 22 octobre 2021.

Informations complémentaires

Vidéo

Le speaker

Charles DESNEUF

Charles est développeur web depuis plusieurs années et s'intéresse aux manières de réaliser des applications répondant aux besoins des utilisateurs. Il s'est pour cela beaucoup penché sur ce qui permet de délivrer des logiciels de qualité. Au quotidien, il accompagne des équipes dans la mise en place de ces pratiques, de la compréhension du besoin à la création de logiciels maintenables.

Commentaires

Super dynamique, merci pour le rex !
William, le 21/10/2021
Assez intéressant, cependant intro un peu longue pour expliquer easyadmin. Peux-tu nous donner la liste des outils de tests utilisés lors de la seconde partie ?
Damien, le 21/10/2021
Très dynamique, beaucoup d'exemples
Romain Goncalves, le 21/10/2021
Très intéressant retour d'expérience, surtout qu'en effet EasyAdmin 2 n'est pas aussi simple à adapter que la dernière version. Sur les tests, une très bonne source d'inspiration complémentaire je conseille le libre "Working Effectively with Legacy Code", pas tout jeune, mais toujours d'actualité
Julien Mercier-Rojas, le 25/10/2021
Super présentation, très dynamique, bon orateur. Merci Charles !
Jeanne LONDICHE, le 25/10/2021
Toujours intéressant d'avoir un retour d'expérience comme celui-ci.
David Buros, le 28/10/2021
Très bon retour d'expérience. Difficile de condenser ce qui a du être une aventure jour après jour mais le pari est réussi. En 40 minutes, on peut imaginer les questionnements, les doutes avant d'entamer une nouvelle étape de cette refonte. Peut être insister un poil sur les moment de prise de décision : les doutes, peut-être les erreurs. Bonne énergie pour le conférencier, un type de conf plus encrée dans l'experence. Idéal pour partager ces propres expériences juste après le sessions. Merci.
Christophe Moncy, le 01/11/2021