[:fr]La parole est aux speakers : Nicolas De Boose[:]
[:fr]Jusqu’au Forum PHP 2019, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils ou elles aborderont lors de leur conférence !
La conférence
La clean architecture : pourquoi ? Comment ? Pour qui ?Les frameworks et librairies externes sont une bénédiction pour les développeurs : cela nous permet de gagner du temps, d'utiliser du code (généralement) de qualité, et de nous concentrer sur ce qui est vraiment important: la vraie logique qui rapporte de la valeur! Cependant, tout vient avec un coût... A y regarder de plus près : qui est vraiment "le plus important" dans l'histoire? Le framework dicte ses lois: Vous devez "extend" ses classes, rajouter ses annotations, suivre sa structure de dossiers, etc... C'est une sorte de mariage forcé. Au début, tout est beau... Mais un mariage, c'est fait pour durer ! Quand la "mariée" décide de déprécier et ensuite supprimer ce que vous aimez chez elle (ou pire : elle n'est plus maintenue), vous vous retrouverez paralysé avec une version obsolète, par peur de casser votre fameuse logique métier... Ca ne peut plus durer ! Dans ce talk, on parlera de tout ce que j'aurais aimé qu'on me dise sur la clean architecture avant de commencer Comment controler le framework, plutôt que lui ne vous contrôle ? Comment arriver à ce que le framework et vos librairies ne soient qu'un détail d'implémentation ? Vous aurez en prime :
|
Grace Hopper 24/10/2019 10:15-10:55 |
Comment as-tu connu la Clean Architecture ? Quelles ont été tes ressources, quels livres ont pu t’inspirer ?
J’ai découvert la Clean Architecture en parcourant le blog et les vidéos de Robert Martin/Uncle Bob. À l’époque, je n’avais pas entièrement compris toutes les subtilités de cette architecture et il n’y avait pas encore beaucoup de ressources disponibles à ce sujet. Je n’y ai donc pas porté beaucoup d’attention.
Il y a deux ans, je suis passé sur un projet assez conséquent écrit en Typescript. L’idée était de ne pas adopter un framework. J’en ai profité pour me pencher plus sérieusement sur cette clean architecture. J’ai re-regardé la vidéo d’Uncle Bob et relu son article plusieurs fois. Je suis aussi tombé sur un de ses repo git qui contient 2-3 exemples intéressants ainsi que sur une de ses conférences. Son livre apporte aussi quelques réponses, mais il est dispensable. Enfin, il y a également quelques articles/vidéos intéressant(e)s de développeurs IOS et Android qui m’ont aidé à y voir plus clair (comme celle-ci ou celle-ci).
Pour me faire la main, j’ai commencé un side project où je me suis mis quelques contraintes (le front et l’api doivent partager la même logique). À force de faire des essais/erreurs et de questionner Google sur des thèmes très spécifiques, je suis arrivé à affiner mes connaissances. Ce n’est pas toujours évident si on veut en extraire l’idée de base car les gens changent parfois un peu l’architecture selon leur envie ou besoin.
Les frameworks s’organisent de plus en plus de façon modulaire, et notamment Symfony. Pour toi qu’est-ce que cela apporte au niveau de la façon d’architecturer nos applications ?
Je pense que cette modularité une excellente chose. Au final, le framework Symfony (4) n’est “que” le ciment entre toutes ses librairies. Cependant, bien que ce soit très modulaire, ça ne veut pas dire que nous posons correctement les frontières (”boundaries”) dans notre application.
En effet, on retrouve des annotations d’ORM, mélangées à celles des validations dans des entités qui sont disponibles dans les vues en passant par des controllers qui ”catch” de potentielles exceptions provenant de nos services…
Au final, bien que le framework soit modulaire, notre code l’est-il vraiment ?
Tu bénéficies du programme d’accompagnement des speakers : comment en as-tu entendu parler ?
À la base, c’est via Pascal Martin sur Twitter. Lors de ma proposition de conférence, j’ai vu cette option et je me suis dit “J’ai déjà donné quelques conférences, mais je suis certain que je vais apprendre plein de choses” 🙂
Une conférence présentée par
Nicolas DE BOOSE |
Nicolas a découvert la programmation en 1997 en mettant en ligne ses premiers sites internet sur “multimania” et “citeweb”. Cette passion ne l’a jamais quitté depuis. Curieusement, chaque projet sur lequel il a été impliqué concernait du code legacy important. Il y a pris goût et adore “upgrader” le code ainsi que les équipes de dev. À part cela, il a une femme qu’il aime de tout son coeur et fait un peu de sport: kitesurf et tennis. |
Autres interviews
- [:fr]La parole est aux speakers : Paul Molin[:]
- [:fr]La parole est aux speakers : Romain Monceau[:]
- [:fr]La parole est aux speakers : Kévin Dunglas[:]
- [:fr]La parole est aux speakers : Nicolas Grekas[:]
- [:fr]La parole est aux speakers : Marie-Cécile Godwin et Thomas di Luccio[:]
- [:fr]La parole est aux speakers : Matthieu Napoli[:]
- [:fr]La parole est aux speakers : Olivier Allain[:]
- [:fr]La parole est aux speakers : Benoit Viguier[:]
- [:fr]La parole est aux speakers : François Zaninotto[:]
- [:fr]La parole est aux speakers : Benoit Jacquemont[:]
- [:fr]La parole est aux speakers : Damien Seguy[:]
- [:fr]La parole est aux speakers : Pascal Martin[:]
- [:fr]La parole est aux speakers : Nuno Maduro[:]
- [:fr]La parole est aux speakers : Roland Lehoucq[:]
- [:fr]La parole est aux speakers : Grégoire Pineau[:]
- [:fr]La parole est aux speakers : Adrien Lucas[:]
- [:fr]La parole est aux speakers : Paula Čučuk[:]
- [:fr]La parole est aux speakers : Mickaël Andrieu [:]
- [:fr]La parole est aux speakers : Sylvain Combraque[:]
- [:fr]La parole est aux speakers : Valentine Boineau[:]
- [:fr]La parole est aux speakers : Alex Rock[:]
- [:fr]La parole est aux speakers : Julien Pauli[:]
- [:fr]La parole est aux speakers : Cindy Liwenge[:]
- [:fr]La parole est aux speakers : Frédéric Bouchery[:]