Publié le

Retour sur la confĂ©rence du LyonJS 💯

Je suis allĂ© Ă  la confĂ©rence du LyonJS 💯 et j’ai passĂ© un excellent moment. Si vous ne connaissez pas le LyonJS, c’est une association qui organise des Ă©vĂ©nements pour rassembler les passionné·es de JavaScript, et vous pouvez en lire plus sur leur site web officiel : https://www.lyonjs.org/

Le LyonJS est une association qui est trĂšs proche de mon cƓur. C’est le premier meetup que j’ai commencĂ© Ă  frĂ©quenter rĂ©guliĂšrement, j’ai beaucoup d’actuels collĂšgues qui y donnent des talks, et c’est le premier Ă©vĂ©nement public oĂč j’ai pu donner un talk qui Ă©tait trĂšs cathartique pour moi et trĂšs nichĂ© pour toutes et tous 1 !

Pour leur 100ᔉ Ă©vĂ©nement, les membres de l’association ont organisĂ© une journĂ©e entiĂšre de confĂ©rence ! 🎉 Sans hĂ©siter, sans connaĂźtre le programme, j’ai pris mon billet, attendu le jour J, et j’ai pu assister Ă  la journĂ©e !

Je vous propose de revivre cette conférence ensemble à travers de blog.

Petit déjeuner et accueil

Rendez-vous Ă  partir de 8 h du matin Ă  l’UGC du cinĂ©ma Part Dieu. Oui, le LyonJS 💯 a eu lieu dans une salle de cinĂ©ma ! L’accueil se faisait dans le grand espace avec la prĂ©sentation des films et la vente de popcorn. Les sponsors commençaient Ă  peine Ă  s’installer et le petit dĂ©jeuner Ă©tait dĂ©jĂ  servi. Je n’y ai pas touchĂ©, mais il y avait du cafĂ© que je me suis empressĂ© d’engloutir.

AprĂšs avoir fait le goblin Ă  attraper les goodies de Kolecto (un joli carnet blanc et un tote-bag assez Ă©tonnamment trĂšs pratique), et de Malt (un autre joli carnet, en matiĂšre recyclĂ©e), je suis montĂ© dans la salle de cinĂ©ma et je me suis confortablement installĂ© au premier rang dans les siĂšges de l’UGC.

À toutes celles et ceux qui veulent organiser une confĂ©rence et qui cherchent un lieu : une salle de cinĂ©ma est ✹ parfaite ✹. C’est confortable, ça sent bon, la tempĂ©rature est idĂ©ale, il n’y a pas d’interruptions. C’est le meilleur endroit pour organiser une confĂ©rence. Je recommande Ă©normĂ©ment. Passons au programme.

La matinée

AstroJS avec Matthieu Lux

Vous connaissez Astro ? C’est un excellent framework frontend qui apporte une excellente expĂ©rience dĂ©veloppeur. Le blog que vous lisez est totalement fait en Astro par exemple.

Matthieu nous a prĂ©sentĂ© le fonctionnement d’Astro, avec ses caractĂ©ristiques et fait un retour d’expĂ©rience sur la migration de Gatsby vers Astro chez Proton !

Je pensais bien connaĂźtre Astro mais j’ai quand mĂȘme appris des choses. Laissez-moi vous rĂ©sumer rapidement : Matthieu a rappelĂ© l’historique des frameworks JS et ce qu’apporte Astro : retourner Ă  du web simple, sans javascript, sans surprises, et en utilisant n’importe quel autre framework javascript.

Et oui ! En faisant du Astro, on peut coder en vuejs, en reactjs
 GrĂące Ă  son architecture en Ăźles, on peut utiliser un composant de n’importe quel framework javascript. ConcrĂštement, la page d’accueil de mon blog est en astro, mais le chatbot sur cette mĂȘme page est en vuejs. C’est le seul endroit qui charge du javascript, et tout le reste est du html aussi simple.

La partie migration de Gatsby Ă  Astro Ă©tait assez spĂ©cifique Ă  Protonmail, avec des problĂ©matiques de plusieurs migrations qui ont eu lieu en mĂȘme temps. L’histoire Ă©tait intĂ©ressante, mais en y repensant, c’est difficile de ressortir avec des choses actionnables pour envisager une migration vers Astro.

Tester c’est tricher, avec Antoine Caron et Jules Poissonnet

Probablement mon talk prĂ©fĂ©rĂ© ex aequo de la journĂ©e : Tester c’est tricher ! Mais pourquoi ?

Dans ce talk, Jules et Antoine fracassent les idĂ©es rĂ©pĂ©tĂ©es sur les stratĂ©gies de test. Tout le monde y prend pour son grade : la pyramide de test est un concept mal expliquĂ©, toutes les stratĂ©gies de test sont critiquables, et ils proposent un systĂšme par “motivateurs” pour rĂ©ussir Ă  Ă©crire, maintenir et organiser ses tests.

Laissez-moi vous dĂ©tailler ces motivateurs. Ils consistent Ă  considĂ©rer qu’un test a 5 raisons qui incitent une Ă©quipe Ă  les Ă©crire. Ils sont : documenter, stabiliser, vĂ©rifier l’intĂ©gritĂ©, assurer la conformitĂ©, permettre la reproductibilitĂ© 2.

C’est le meilleur talk que j’ai jamais vu sur une approche pragmatique des stratĂ©gies de test. Je recommande Ă©normĂ©ment, j’ai adorĂ©, et je n’ai mĂȘme pas remarquĂ© qu’ils Ă©taient en galĂšre alors que leurs images ne chargeaient pas, ils avaient de la latence sur leurs diapositives et leurs notes avaient plantĂ© ! Bravo ! đŸ‘đŸŒ

Suite Ă  la prĂ©sentation, je pense ĂȘtre un good enough


Remotion : faire un éditeur vidéo en React, par Jonny Burger

Ah Remotion, j’en ai entendu parler partout : plusieurs de mes collĂšgues ont travaillĂ© sur un site de gĂ©nĂ©ration de vidĂ©os courtes 3 se basant sur Remotion.

Jonny Burger en est le dĂ©veloppeur principal, et il nous a prĂ©sentĂ© en 30 minutes comment recoder un Ă©diteur vidĂ©o comme Davinci Resolve, Adobe Premiere Pro, Final Cut
 Il nous raconte certains des challenges qu’il a rencontrĂ©s pour des features auxquelles nous sommes habituĂ©s (rendering, sĂ©lection d’items) et comment il a trouvĂ© des solutions en react.

Le talk permet de voir plusieurs choses : l’ordre d’affichage de composants sur du html, la gestion de la propagation d’évĂ©nements sur un clic, comment mettre de l’IA dans son talk.

Ce talk m’a trĂšs fortement inspirĂ© pour reprendre un projet qui m’inspire depuis longtemps sur les logiciels de MAO
 Peut-ĂȘtre basĂ© sur Remotion
 đŸ«Ł

Petite info impressionnante : pour rentrer chez lui, Jonny est reparti Ă  vĂ©lo depuis Lyon jusqu’à la Suisse
 Quelle motivation
 C’est une personne trĂšs motivĂ©e, trĂšs enthousiaste et drĂŽle


L’heure du repas

Le repas était délicieux. Il y avait beaucoup de nourriture végane disponible et tout était trÚs bon. Merci Maison Margotin pour ce pareil repas


La couleur avec Julien Sulpis

Le talk post repas du midi est un moment particulier : la digestion s’enclenche, le corps n’est plus prĂ©sent et le cerveau non plus. Pas de problĂšme pour Julien qui nous prĂ©sente ce qu’est la couleur, comment on la reprĂ©sente, et pourquoi c’est important ! Bravo Ă  mon autre talk prĂ©fĂ©rĂ© ex ĂŠquo.

Julien est un ami Ă  moi qui ne cesse de m’étonne par la quantitĂ© de choses qu’il sait, et ce talk sur la couleur est une preuve da la richesse des sujets qu’il arrive Ă  maitriser.

Pour les plus pressé·es, son talk est déjà en ligne 4 !

Julien prĂ©sente d’une façon trĂšs scientifique les problĂ©matiques suivantes : pourquoi certaines ont l’air plus lumineuses que d’autres ? Peut-on crĂ©er une formule pour respecter les contrastes ? Dans une approche qui allie biologie, physique, mathĂ©matiques, 3D et couleurs, Julien nous explique tout et franchement je me suis senti bien plus intelligent en sortant qu’en entrant !

Le crafts dans le CSS, avec Manon Carbonnel

Manon Carbonnel est une personne que je suis sur les rĂ©seaux depuis 4 ans. Nous Ă©tions dans la mĂȘme entreprise, mais pas la mĂȘme ville, et je crois me souvenir qu’elle partageait Ă  propos de bonnes pratiques et de CSS depuis un moment dĂ©jĂ .

Son talk prĂ©sentait, en trois modes d’intervention, comment amĂ©liorer la qualitĂ© de code html / css pour rĂ©ussir Ă  faire du code rĂ©parable, maintenable et beau.

Elle nous a partagĂ© plusieurs techniques pour amĂ©liorer l’accessibilitĂ© de ses pages, comment amĂ©liorer la lisibilitĂ© de son code, et pour ĂȘtre franc j’ai Ă©tĂ© captivĂ© par son enthousiasme Ă  parler de css.

Le moment choquant pour moi, c’était qu’elle a rĂ©ussi Ă  m’expliquer le systĂšme de prioritĂ©s d’applications de style, et je me rends compte que je n’ai jamais cherchĂ© Ă  creuser plus cette partie qui pourtant est bien !importante !!! Ce sont les nombres un peu Ă©tranges que vous pouvez voir dans votre Ă©diteur de code quand vous survolez une classe.

selector specificity dans l'Ă©diteur vscode

Je n’ai pas encore tout assimilĂ©, et je n’ai pas la mĂȘme expĂ©rience que Manon. Je n’ai jamais Ă©tĂ© un pompier d’intĂ©gration CSS, et j’ai principalement travaillĂ© sur des applications avec de bons design systems bien conçus dont ma seule valeur ajoutĂ©e en tant que frontend c’est mettre les bons espacements et les bonnes typographiques. Mais elle me donne des billes pour remettre en question mes approches html css, et surtout elle me confirme des annĂ©es de test un peu faites dans le noir.

C’était un trĂšs bon talk en tout cas qui me motive Ă  faire du style sans Tailwind ! Et Manon avait presque littĂ©ralement des Ă©toiles dans les yeux en parlant de CSS et je me suis senti transportĂ© par cet enthousiasme.

Deno, un autre runtime javascript

Nous, les développeurs Javascript, avons un petit défaut : nous aimons réinventer la roue. Nous avons réinventé les serveurs avec node, nous avons réinventé le web avec les single page app, nous avons réinventé le CSS avec tailwindcss, et maintenant nous réinventons node avec Deno.

JĂ©rĂ©mie Patonnier nous prĂ©sente avec un trĂšs remarquable enthousiasme comment Deno, qui est la mĂȘme chose que node, mĂ©rite notre attention.

C’est un peu difficile pour moi de suivre des talks trĂšs techniques. Par lĂ  je veux dire, le talk Ă©tait uniquement Ă  propos de Deno, ses fonctionnalitĂ©s, la façon de travailler avec. Je suis un plus grand fan prĂ©sentation incluant enjeux politiques, questions territoriales, souveraintĂ© du numĂ©rique, avec beaucoup de transversalité  Bref, je me suis cru au MIXIT 5 ^^.

MalgrĂ© cette difficultĂ©, j’avoue qu’il m’a donnĂ© envie d’essayer, et de toute façon, je n’ai pas le choix : ce blog est hĂ©bergĂ© sur des edge function de Netlify qui utilisent Deno. J’utilise dĂ©jĂ  Deno dans ma vie quotidienne et pourtant je n’y comprends rien


Apparemment, le fait de ne plus avoir besoin d’un fichier pour dĂ©clarer la liste des dĂ©pendances est un game changer. Je vais me forcer
 À l’origine, c’est ce qui me rebutait le plus avec Deno : oĂč vont les dĂ©pendances ? Je vous invite Ă  regarder la documentation 6 pour comprendre oĂč elles peuvent ĂȘtre dĂ©clarĂ©es.

Last but not least : Julien Huang qui nous parle de composants serveurs Nuxt

Pour clĂŽturer la journĂ©e de talks, nous avons eu droit Ă  une prĂ©sentation d’un des membres de la core team de Nuxt : Julien Huang

La prĂ©sentation montrait trĂšs techniquement comment fonctionnaient les serveurs composants de Nuxt, avec un objectif de ne pas critiquer l’approche de Nextjs. FĂ©licitations Julien tu y es arrivĂ© !

Comme je l’ai Ă©crit juste avant, cela a Ă©tĂ© un peu difficile pour moi de suivre la prĂ©sentation, car elle Ă©tait trĂšs technique et spĂ©cifique, et pourtant pas mal de mes applications personnelles sont codĂ©es en Nuxt mais je n’ai pas encore eu besoin de cette fonctionnalitĂ©. Je vais m’essayer Ă  la prĂ©sentation.

L’idĂ©e des serveurs components, c’est prendre un composant Vuejs ou Reactjs, et se dire : le serveur va construire le composant l’entier, effectuer des appels dans le backend, crĂ©er une page HTML entiĂšre, et l’envoyer ensuite au navigateur. Cette approche permet de se passer totalement d’un serveur supplĂ©mentaire.

Je me demande toujours si les serveurs functions et les serveurs components ne sont pas trop complexes. Je trouve que ces approches créent une forte adhérence au framework dans la communication entre le frontend et le backend.

Cela s’inscrit dans technique d’architecture du web que je nommerais bien conception intrinsĂšque. Les composants sont de plus en plus indĂ©pendants, contiennent de plus en plus leurs fonctionnalitĂ©s, et il n’y a plus besoin de crĂ©er de trĂšs grands systĂšmes trĂšs couplĂ©s. Ils sont intrinsĂšquement fonctionnels, et idĂ©alement indĂ©pendants.

Le risque, c’est que de trĂšs fortes logiques business peuvent se retrouver implĂ©mentĂ©es dans les composants de votre framework prĂ©fĂ©rĂ©, et je ne suis pas convaincu que cette approche soit pĂ©renne sur la durĂ©e.

À voir ce que Nuxt propose pour Ă©viter ces problĂ©matiques, mais sur le coup, et pour donner une opinion impopulaire, je pense que l’approche MVVM incite plus Ă  Ă©crire des gros spaghettis de code trĂšs intriquĂ©s avec les 3/4 de l’application.

J’ai pu Ă©changer dans la partie suivante avec Julien pour parler plus gĂ©nĂ©ralement de Nuxt, et j’ai appris beaucoup de choses. Par exemple, ils ne sont que 3 pour trier tous les tickets de bugs crĂ©Ă©s sur GitHub ! J’ai aussi pu raconter avec fiertĂ© que j’ai dĂ©jĂ  une fois fait une contribution pour Nuxt 7.

J’étais vraiment content de pouvoir parler de Nuxt, et mĂȘme si mon cƓur converge plutĂŽt vers Astro, j’aime Ă©normĂ©ment ce que Nuxt apporte en ce moment, et j’ai hĂąte de pouvoir trouver des usages pour tout ce que j’ai appris.

Il y a aussi beaucoup de choses dĂ©veloppĂ©es dont on ne parle pas assez : Nuxt Content, Nuxt UI, les devtools vuejs (mais pas que), toutes ces choses qui ne servent pas que pour faire du VueJS ou au contraire qui dĂ©passent ce qu’on attendrait d’un framework.

L’apĂ©ro et conclusion

Pfiou ! C’était dense ! Quoi de mieux que d’étancher sa soif de connaissance autour d’un verre de Perrier ?

Peut-ĂȘtre c’est mon cĂŽtĂ© trĂšs social, et j’en parlais dĂ©jĂ  dans un prĂ©cĂ©dent article de blog 8, mais j’adore discuter, faire des rencontres, Ă©changer.

J’ai eu la joie de discuter au cours de la journĂ©e avec les speakers, avec d’autres dĂ©veloppeurs·euses, des moins dĂ©veloppeurs·euses, au sein de la communautĂ© lyonnaise. C’était trĂšs sympathique. J’ai passĂ© un excellent moment de partage, discutĂ© avec mes anciens collĂšgues, avec des gens que je ne connaissais pas du tout. Ce serait avec plaisir de garder contact avec vous toutes et tous


Le LyonJs 💯, pour une premiĂšre confĂ©rence, c’était un 💯 (sans) faute
 La salle Ă©tait trĂšs confortable, le repas Ă©tait parfait, le timing Ă©tait trĂšs bon, le prix dĂ©risoire (seulement 40 € la journĂ©e !!), les sujets Ă©taient variĂ©s et les discussions Ă©taient top.

Bravo pour l’organisation. J’ai adorĂ©, et Ă  quand la deuxiĂšme Ă©dition du LyonJS 💯 ???

Footnotes

  1. LyonJS #95 - Transpilation : Comment coder dans un langage quand on ne connaĂźt pas ce langage ↩

  2. Relevant XKCD ↩

  3. shortvid.io pour gĂ©nĂ©rer des vidĂ©os de rĂ©seaux sociaux ↩

  4. Savez-vous vraiment ce qu’est la couleur ? DĂ©couvrez la science derriĂšre les pixels ↩

  5. Un des meilleurs talks que j’ai vu est le suivant : Enjeux gĂ©opolitiques des infrastructures numĂ©riques ↩

  6. La documentation de DenoJs ↩

  7. La pull request de ma contribution ✹ ↩

  8. 2024 : L’annĂ©e de la gratitude ↩

S'abonner Ă  ma newsletter

Inscrivez-vous pour recevoir tous les articles de mon blog.

Vous pouvez vous désinscrire à tout moment. Pour plus de détails, vous pouvez me contacter à hello@nirinarabeson.fr.