AFUP AFUP Day 2019 Baromètre Planète PHP

La parole est aux speakers : Charles Desneuf

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

Le speaker

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é.

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.

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

Le speaker

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

En poursuivant votre navigation sur ce site, vous acceptez l’utilisation des cookies pour améliorer votre navigation. plus d'infos

1. Qu’est-ce qu’un cookie?

Un Cookie est un petit fichier texte enregistré sur votre terminal (ordinateur, tablette, smartphone, etc.), à l’occasion de la consultation d’un service en ligne grâce à votre logiciel de navigation. Il permet à son émetteur d’identifier le terminal dans lequel il est enregistré, pendant la durée de validité ou d’enregistrement du Cookie. Lors de la consultation de notre site Internet, des informations relatives à la navigation de votre terminal sont susceptibles d'être enregistrées dans ces fichiers dits "Cookies". Ces derniers sont installés sur votre terminal, sous réserve des choix que vous auriez exprimés concernant les Cookies et que vous pouvez modifier à tout moment.

2. A quoi servent les cookies émis sur notre site ?

Seul l’émetteur d’un cookie est susceptible de lire ou de modifier les informations qui y sont contenues.
Les cookies utilisés sur notre site permettent :

3. Vos choix concernant les cookies

Vous disposez de différents moyens pour gérer les cookies. Tout paramétrage que vous pouvez entreprendre sera susceptible de modifier votre navigation sur notre site et sur Internet en général et vos conditions d'accès à certains services de notre site nécessitant l'utilisation de cookies. Vous pouvez à tout moment exprimer et modifier vos souhaits en matière de cookies, par les moyens décrits ci-dessous. L'accord sur les cookies L'enregistrement d'un cookie dans un terminal est essentiellement subordonné à la volonté de l'utilisateur du terminal, que celui-ci peut exprimer et modifier à tout moment et gratuitement à travers les choix qui lui sont offerts par son logiciel de navigation. Si vous avez accepté dans votre logiciel de navigation l'enregistrement de cookies dans votre terminal, les cookies intégrés dans les pages et contenus que vous avez consultés pourront être stockés temporairement dans un espace dédié de votre terminal. Ils y seront lisibles uniquement par leur émetteur.

Le refus des cookies Si vous refusez l'enregistrement de cookies dans votre terminal, ou si vous supprimez ceux qui y sont enregistrés, vous ne pourrez plus bénéficier d'un certain nombre de fonctionnalités qui sont néanmoins nécessaires pour naviguer dans certains espaces de notre site. Tel serait le cas si vous tentiez d'accéder à votre compte ou à votre abonnement qui nécessite de vous identifier. Tel serait également le cas lorsque nous, ou nos prestataires, ne pourrions pas reconnaître, à des fins de compatibilité technique, le type de navigateur utilisé par votre terminal, ses paramètres de langue et d'affichage ou le pays depuis lequel votre terminal semble connecté à Internet. Le cas échéant, nous déclinons toute responsabilité pour les conséquences liées au fonctionnement dégradé de nos services résultant de l'impossibilité pour nous d'enregistrer ou de consulter les cookies nécessaires à leur fonctionnement et que vous auriez refusés ou supprimés. Les choix offerts par votre logiciel de navigation Vous pouvez configurer votre logiciel de navigation de manière à ce que des cookies soient enregistrés dans votre terminal ou, au contraire, qu'ils soient rejetés, soit systématiquement, soit selon leur émetteur. Vous pouvez également configurer votre logiciel de navigation de manière à ce que l'acceptation ou le refus des cookies vous soient proposés ponctuellement, avant qu'un cookie soit susceptible d'être enregistré dans votre terminal. Pour la gestion des cookies et de vos choix, la configuration de chaque navigateur est différente. Elle est décrite dans le menu d'aide de votre navigateur, qui vous permettra de savoir de quelle manière modifier vos souhaits en matière de cookies. Selon votre navigateur, consultez le lien ci-dessous pour configurer votre navigateur et refuser les cookies :