[:fr]La parole est aux speakers : Charles Desneuf[:]

Publié le

[:fr]Jusqu’au Forum PHP 2018, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils aborderont lors de leur conférence !

La conférence

Vous n'avez pas besoin de ça !

React, Microservices, GraphQL, REST, DDD... Tous ces buzzwords porteurs de promesses d'un monde meilleur sont sur toutes les lèvres, de toutes les conférences et s'installent petit à petit dans nos projets. Sont-ils vraiment la seule solution à tous nos problèmes ? Au travers de cette conférence à la description taillée pour le SEO nous verrons qu'il existe des alternatives à ces technologies parfois mieux adaptées au contexte dans lequel nous évoluons tous les jours.

Katherine Johnson
25/10/2018
10:15-10:55

Dans une époque où les buzzwords sont légions, ta présentation sera orientée sur le pragmatisme : as-tu des règles que tu te fixes lors d’un choix technologique ?

Avant de faire un choix de techno je pense qu’il est important de bien s’interroger sur le but du projet : connaitre le besoin auquel il répond, savoir qui il sert, quelles sont les différentes contraintes qui l’entourent, quelles sont les qualités nécessaires et celles sur lesquelles on peut se permettre de rogner…

Une fois que l’on en connait un peu plus sur le contexte j’ai tendance à conseiller de sélectionner les outils les plus simples et/ou connus par l’équipe qui permettent de répondre au besoin. Bien sûr rien n’empêche qu’il faille revoir la copie plus tard et rajouter petit à petit d’autres technos avec l’évolution des besoins et une meilleure compréhension de ce qui est attendu du projet.

Il arrive parfois que le contexte prenne en compte des besoins extérieurs au seul scope du projet. Par exemple il peut être intéressant pour une entreprise de commencer à utiliser une techno sur un projet qui ne va pas particulièrement en bénéficier pour pouvoir se faire la main dessus ou permettre d’attirer des nouveaux profils dans l’équipe.

Les buzzwords nous agacent parfois. Malgré cela ils peuvent être utiles pour promouvoir certains outils / technologies. Qu’en penses-tu ?

C’est vrai que certains buzzwords ont au moins l’intérêt de permettre de se remettre en question, de voir ce qu’il est possible de faire différemment. Si on prend l’exemple des micro services ça a ouvert la porte à des discussions intéressantes sur la manière de découper une application en plusieurs sous-systèmes.

Ce qui est dommageable, en revanche, c’est le côté silver bullet associé à chacun d’entre eux, comme si tout ce qui existait avant n’avait finalement jamais eu aucun sens. Pour continuer sur l’exemple des micro services il est par exemple tout à fait possible d’avoir un code modulaire au sein d’un monolithe. Beaucoup d’entre nous se sont concentrés uniquement sur la solution technique sans trop chercher à savoir quels avantages elle apportait, et malheureusement, aussi en fermant les yeux sur les défis associés.

As-tu trouvé des cas où ces buzzwords t’ont quand même aidé ?

Bien sûr. Je suis tombé du côté du Domain Driven Design suite à un projet qui ne s’était pas très bien passé, en partie en raison de la compréhension du besoin métier, et j’ai voulu savoir s’il y avait des solutions pour faire mieux. J’ai mis le bras dans une boite de buzzwords à partir de là.

Le DDD m’a amené à me questionner sur la collaboration entre les personnes techniques et le métier et à mieux trouver des indices sur comment découper une application en sous-systèmes.

En enchaînant dans cette voie j’ai commencé à regarder du côte de CQRS et de l’Event Sourcing qui m’ont forcé à me poser beaucoup de questions sur la manière de gérer une application avec plusieurs utilisateurs en raison de l’Eventual Consistency, pour au final me dire que ça revient encore à de la compréhension du métier que nous servons.

Sur un plan plus technique les tests et TDD m’ont permis de beaucoup progresser en programmation objet.

L’avantage des buzzwords c’est qu’il est assez dur de passer à côté. Le tout c’est de creuser un peu, savoir ce qu’ils apportent et leurs contraintes, s’intéresser aux problèmes auxquels ils répondent, voir s’il est possible de répondre à ces problèmes autrement, prendre ce qui nous intéresse dans chacun d’eux et ne pas suivre la mode les yeux fermés.

Une conférence présentée par

Charles DESNEUF
Charles DESNEUF
Charles est un développeur passionné par ce qui permet de produire des logiciels de qualités répondant aux véritables besoins des utilisateurs. Pour cela il s'intéresse fortement au DDD, aux tests, à l'agilité.

Autres interviews

[:]