La parole est aux speakers : Vincent Laurier

Publié le

Jusqu’au Forum PHP 2021, 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

Les design patterns racontés aux enfants

Les ressources au sujet des designs patterns ne manquent pas sur le net ou dans la littérature. Il y a quelques années de cela, j’ai eu envie à mon tour d’y apporter une lecture personnelle, dans le but principal de les mémoriser facilement. J’ai alors créé avec un ami une bande dessinée, 11 histoires accessibles à des enfants en bas âge, mais qui parleront aux développeurs. Dans cette présentation, nous en lirons une ensemble.

Au delà du sujet technique lui-même, j'aimerais encourager tout ceux qui ont des projets personnels à les mener à bien, en partageant ce qui m'a permis d'aller au bout de cette bande dessinée.

Grace Hopper
22/10/2021
12:10-12:30

D’où t’es venue l’idée de faire un livre sur les design patterns en s’adressant aux enfants ?

C’est une histoire de longue date, 2014 exactement. Je dirais même une aventure, que j’explique dans la préface du livre. J’avais listé des idées de projets personnels, et parmi eux j’ai sélectionné « Solid, tiens-toi bien ! ». Ce qui a pesé le plus dans la balance, c’est l’originalité. Le livre s’adresse bien à des développeurs, mais la beauté du concept, c’est qu’en extrayant les pages illustrées, il peut servir de lecture du soir à un enfant en bas âge.

D’où m’est venue l’idée ? Ça serait plonger dans les méandres du fonctionnement cérébral si je pouvais y répondre ! Le mieux que je puisse faire, c’est donner un peu de contexte. En 2014, j’ai voulu apprendre les design patterns du Gang Of Four, car comme beaucoup de devs probablement, j’en avais une connaissance assez superficielle. Au cours de la démarche, j’ai croisé tout type de supports pédagogiques : de l’exemple de code vulgarisé avec les fameuses classes Voiture et Véhicule, aux exposés très formels tel le livre du GOF, en passant par des exemples plus concrets du monde réel du développement logiciel. Je leur trouvais un écueil commun : la mémorisation difficile. On lit, on comprend (ou pas), mais surtout un mois plus tard, on se dit : « c’était quoi déjà ? ».

Et les design patterns du Gang Of Four sont nombreux… ce qui n’aide pas à tous les retenir.

L’idée maîtresse était donc d’apporter une lecture nouvelle, différente, et surtout mnémotechnique… que personnellement je n’ai rencontrée nulle part. Je trouve également sympathique le fait qu’un parent programmeur puisse partager un moment de lecture avec son enfant, tout en ayant un niveau de compréhension différent.

Tu as auto-édité ton livre : quels sont les principaux challenges d’une telle pratique ?

Je pourrais distinguer deux aspects dans la question : les difficultés communes à toute situation d’auto-édition, et les challenges spécifiques à ce livre en particulier.

Sur l’auto-édition d’abord, plusieurs points : 

  • pour la qualité du contenu, la syntaxe, la compréhension, l’orthographe, il s’agit de redoubler d’attention, de multiplier les relectures, et de solliciter des avis; en somme, y consacrer plus de temps, car il n’y a pas d’autre alternative si l’on veut se débrouiller seul.
  • pour le respect des codes de l’édition : se renseigner. Savoir comment faire des références, quoi mettre sur la quatrième de couverture, quand intégrer une page blanche, quels sont les formats standard d’un livre technique ? Tout ceci ne s’improvise pas.
  • concernant la distribution, j’ai choisi leanpub pour la version e-book – l’orientation technique de la plateforme répondait à mon besoin avec la coloration syntaxique du code pour ne citer que cela. Je suis passé par Amazon pour le livre broché – c’est connu de tous et facile d’utilisation pour une première expérience.
  • concernant la promotion : c’est un point que j’ai négligé. La vie d’un livre ne s’arrête pas à sa réalisation, et je n’ai pas la fibre très commerciale. Je me suis cantonné au plaisir d’obtenir un produit finalisé.

Sur les challenges spécifiques au livre :

  • l’illustration : j’ai eu la chance de pouvoir travailler avec un ami dessinateur – sans lui, le livre n’aurait certainement jamais vu le jour. Pour les problématiques graphiques liées à l’auto-édition, je citerais : la taille des images, leur résolution, le rendu des couleurs pour l’impression, la prise en compte de la coupe pour la couverture, le choix des polices, et bien évidemment, la maîtrise des logiciels graphiques : Inkscape et Blender dans notre cas.
  • le mélange BD/écriture/code : cela aura été le défi majeur ! La forte imbrication voulue entre les histoires illustrées et la théorie m’a poussé à longtemps rechercher le bon format. Comment bien séparer les tâches graphiques du reste pour avancer en parallèle ? Quand intégrer du texte dans les images ? Quelles découpes de la bande dessinée choisir ? Comment optimiser aussi le nombre de pages d’illustration ?

Est-ce qu’un titre autour d’un sujet technique avec la mention « expliqué aux enfants » est en 2021 une version moins péjorative que la saga des années 90 « pour les nuls » ?

Je reconnais que la mention « expliqué aux enfants » à une vocation accrocheuse, mais pas seulement. À l’instar du « pour les nuls » qu’on peut juger péjoratif, l’idée sous-jacente véhiculée, c’est le désir d’accessibilité et de simplicité. Une de mes citations préférées vient de Léonard de Vinci : « la simplicité est la sophistication suprême ». Mais cela va bien au-delà en réalité ! Car c’est un livre d’un genre inclassable : une BD technico-pédagogique pourrait-on dire. Les histoires enfantines vous rappellent le code et les concepts, et inversement en lisant les définitions formelles, vous repensez à la bande dessinée. Donc, plus qu’un label de simplicité, la mention « expliqué aux enfants » fait référence aux analogies continûment présentes au cours du livre.

Une conférence présentée par

Vincent LAURIER
Vincent LAURIER
Développeur PHP de métier, Vincent Laurier travaille principalement avec le framework Symfony. Ancien professeur de mathématiques/physique, il a conservé son goût pour la pédagogie, et la transmission du savoir. Son premier livre "Solid, tiens-toi bien !" illustre à merveille son effort pour la vulgarisation des connaissances. La conception, l'élégance et la qualité du code sont des problématiques qui lui tiennent à cœur.

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 :