La parole est aux speakers : Thomas Dutrion

Publié le

La conférence

Open/Closed principle : on a dit étendre pas extends !

Les principes SOLID, vous connaissez ? Probablement...

Et pourtant au quotidien on les voit généralement délaissés sur nos projets. Bien sûr, S (single responsibility) et D (dependency inversion) sont bien connus de toutes et tous, mais qu'en est-il des autres ?

Dans ce talk, nous allons nous focaliser sur le principe d'ouverture/fermeture, et voir quelques recettes simples à mettre en place, avec de nombreux exemples en PHP et sur vos frameworks favoris (Laravel et Symfony, mais bien sûr on se voit après pour les autres !).

Salle Hopper ABCDEF
13/10/2023
12:25-12:45

Pour toi quelle est l’importance des design-patterns quand on travaille dans le développement ?

Que ce soit les design-patterns ou les recommandations telles que SOLID ou les objects calisthenics, leur importance est pour moi primordiale, même s’il faut de bonnes bases pour pouvoir les apprécier pleinement. Dans le cadre des design-patterns, deux aspects me parlent particulièrement : la collaboration et la sagesse. Nos cadres de travail nous imposent souvent de la rapidité (le fameux Time To Market), qui va nous empêcher de nous poser pour réfléchir à la meilleure solution possible. De ce point de vue, les design-patterns sont les recettes travaillées depuis des millénaires (quelques dizaines d’années donc vue l’échelle de l’informatique !), c’est la « connaissance des anciens » distribuée de façon directement applicable. Au quotidien, il faut les connaître pour éviter d’implémenter des solutions de moins bonne qualité, mais ne pas tomber dans le piège de ne vouloir utiliser que des patterns connus partout. Ils sont donc pour moi indispensables et constituent une bonne étape d’apprentissage juste après l’algorithmie et la syntaxe d’un langage.

Tu as une chaîne Twitch pour parler de développement. Quels sont pour toi les avantages de ce format d’échanges ?

Tout à fait, même si j’ai malheureusement été obligé de la laisser de côté ces derniers mois… D’ailleurs je compte reprendre la chaîne aux alentours du Forum PHP 2023, mais on verra bien si ça se fait !
Comme beaucoup de devs, j’ai pas mal d’experiences à partager (j’ai eu l’occasion notamment de m’amuser sur de nombreux projets legacy, sur différents frameworks et même sur de l’AS400 !). Malheureusement, la seule vraie ressource dans notre domaine est le temps, et ça je n’en ai jamais assez pour faire tout ce que je veux. À la base, j’envisageais une chaîne YouTube, avec du contenu monté à très haute valeur ajoutée, mais pour des raisons de temps ce n’est pas prêt d’arriver… Je me suis donc rabattu sur du live, qui bien que n’étant pas construit, peut apporter plus d’interaction au visiteur. Je réfléchis d’ailleurs sur des façons d’augmenter encore plus cette interaction, notamment en faisant une « Radio libre » (les anciens savent de quoi je parle !), mais le format n’est pas encore tout à fait prêt. L’avantage du live est la spontanéité, pas de langue de bois on est en direct.
Par contre, c’est un format relativement fatiguant : ne pas laisser trop de blancs, bien lire le chat et comprendre ce que les gens veulent dire alors qu’on réfléchit à la discussion en cours… Du coup je me limite à 2h d’affilée, et je trouve déjà ça impressionnant que des gens suivent le direct pendant 2h !

Tu es co-organisateur de la conférence ScotlandPHP, penses-tu que les relations entre les communautés PHP des différents pays sont suffisantes ?

Les relations entre communautés sont toujours un peu compliquées, car nous sommes toutes et tous bénévoles ou presque (je pense au GrUSP en Italie qui arrive à payer certaines personnes, mais elles dépassent toutes largement le cadre de leurs missions). En soit, tout le monde dans la communauté PHP (et un peu plus largement dans la tech) essaie de faire de son mieux : par exemple le Forum PHP se passe tout le temps à la même date, donc on essaie avec ScotlandPHP de se caler sur le week-end qui suit, ce qui permet à certains speakers de faire les deux à la suite et de réduire les coûts de transport. Je pense aussi que la plupart des conférences essayent de ne pas marcher sur le terrain des autres : on voit une répartition en Europe et une répartition aux USA entre les mois d’avril/mai d’un côté et octobre/novembre de l’autre… Donc ce genre de collaboration marche très bien !
Côté speakers, hormis l’AFUP qui essaie de rester en très grande majorité francophone, on partage beaucoup les mêmes personnes, donc les liens se font naturellement aussi.
Globalement, je suis assez satisfait de la collaboration des différentes communautés locales, on ne peut pas en dire de même entre les communautés PHP généralistes (plus tournées Symfony/Laravel/DevOps) et les communautés outils tierces (Drupal, WordPress, et presque Laravel again!). Pour ScotlandPHP, on a été très largement aidé par les anglais de Manchester (PHPNW), certains diront que c’est le même pays mais bon… potayto, potahto comme on dit ! L’important à retenir je pense, c’est qu’il ne faut pas hésiter à demander, on a par exemple pu partager certains sponsors de ScotlandPHP avec le Darkmira Tour Brazil, c’est moi qui démarchais pour les deux en même temps, ça ne coûte rien de tenter.
Un groupement international permettrait éventuellement de mutualiser tout ce travail de sponsors etc, mais pour ma part je trouverais ça trop complexe, et surtout risqué car on devrait effacer ce qui fait l’unicité de chaque conférence pour permettre une certaine égalité entre les différentes villes candidates… et ça se serait vraiment dommage !

Je me rends compte que je parle de conférences uniquement, mais j’en ai oublié de citer certaines initiatives comme https://php.ug, n’hésitez pas à aller y faire un tour ! 3t même pourquoi pas aller rencontrer des locaux lors de vos déplacements pro et pourquoi pas perso (les gens vivent, et ils peuvent vous donner des pointeurs pour vos vacances en plus de parler code !).

Une conférence présentée par

Thomas DUTRION
Thomas DUTRION
Développeur web depuis environ 10 ans, Thomas s'est spécialisé dans la qualité de code et la programmation orientée objet. Directeur technique aux Echos Annonces, consultant et développeur web freelance le reste du temps, Thomas s'intéresse désormais plus particulièrement aux implémentations dans des contextes professionnels et à la transmission de connaissances. Vous pourrez aussi le croiser à l'occasion des User Groups PHP en Écosse et de la conférence annuelle ScotlandPHP qu'il co-organise, de l'antenne AFUP Lorraine et AFUP Paris dans lesquels il s'investit au quotidien, ainsi que sur Twitter et sa chaine Twitch.

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 :