Retour sur Devoxx France 2024

Peter Onneby
Publicis Sapient France
11 min readMay 23, 2024

Article rédigé par Adeline Sire et Peter Önneby, experience engineers chez Publicis Sapient.

Nous avons eu le privilège d’assister à la 12ème édition de la conférence Devoxx France qui s’est tenue à Paris les 17, 18 et 19 avril, un événement marquant dans le domaine du développement logiciel. Nous avons exploré un éventail de thématiques, allant de l’impact des composants côté serveur sur le développement web, à l’importance du développement piloté par les tests (TDD). Nous avons également vu le rôle des introvertis dans les équipes agiles et découvert des stratégies utiles pour les développeurs vivant avec le TDAH. Enfin, nous avons plongé dans l’évolution des techniques de rendu front-end. Cet article offre un aperçu de ces sujets divers et stimulants abordés lors de cette conférence technologique majeure.

React Server Components : Effet de mode ou réel progrès ?

Par Thomas Simmonet

Thomas Simonnet a mis en lumière l’impact du Rendu Côté Client (CSR) et du Rendu Côté Serveur (SSR) sur les Web Vitals, des mesures clés de la performance web. Il a souligné que le SSR peut améliorer les Web Vitals en permettant un chargement initial plus rapide, tandis que le CSR pourrait introduire des retards dus au téléchargement et à l’exécution du JavaScript côté client. Il a expliqué les avantages des composants côté serveur, comme le zéro taille de bundle, l’accès complet au backend, et l’absence de waterfall, tout en soulignant qu’ils sont principalement conçus pour améliorer l’expérience des développeurs. Cependant, Thomas a également mis en garde contre les risques associés à l’inclusion de code serveur dans le code client, qui peut entraîner des problèmes de sécurité et de performance. En conclusion, malgré les risques potentiels, il a affirmé que les composants côté serveur offrent une amélioration significative pour l’expérience développeur, mais il a recommandé de ne pas les utiliser systématiquement.

TDD n’est pas vraiment votre type ? Venez découvrir Canon TDD

Par Anis Chaabani

Dans sa conférence Anis Chaabani offre une nouvelle perspective sur le Développement Piloté par les Tests (TDD) à travers le Canon TDD. Cette approche, introduite par le créateur original du TDD, Kent Beck, vise à clarifier l’interprétation et l’application du TDD, enrichissant ainsi la compréhension de son livre de référence, “TDD by Example”. Anis souligne la vision initiale de Beck sur le TDD et démontre comment le Canon TDD peut être utilisé pour augmenter l’efficacité du développement et assurer une livraison de produit plus cohérente. La conférence offre aux participants, principalement des développeurs, ingénieurs et gestionnaires de produits, une occasion de redécouvrir le TDD et de voir comment l’intégrer dans leurs propres pratiques de développement.

Advanced Software Teaming

Par Woody Zuill

Woody Zuill aborde les principes fondamentaux du mob programming et met en lumière l’importance de petites améliorations continues pour un effet cumulatif. Il pose des questions provocantes sur ce qui rend l’efficacité difficile à atteindre dans le développement logiciel et suggère que les problèmes récurrents doivent être abordés à la racine, plutôt que de simplement traiter les symptômes. Il souligne également que l’efficacité de l’équipe est souvent entravée par les problèmes de communication. Il fait référence à la loi de Wiio sur la communication. Cette loi, formulée par le professeur finlandais Osmo Wiio, stipule que la communication a généralement tendance à échouer, sauf par accident. Pour résoudre cela, Woody propose que les équipes devraient se concentrer sur l’amélioration de la collaboration, qui englobe une communication plus efficace. La conférence offre des aperçus précieux pour toute personne cherchant à améliorer l’efficacité de son équipe de développement logiciel.

Quelle est la place des introverti.e.s dans une équipe agile ?

Par Anais Huet

L’introversion, opposée à l’extroversion, est un trait évalué dans les tests de personnalité comme le MBTI.

Il est important de noter que ce n’est pas un trait binaire mais un continuum : on n’est pas soit tout l’un soit tout l’autre, on peut l’être plus ou moins selon les contextes et il est possible d’évoluer.

Dans notre culture, l’introversion est négativement connotée et peut-être facilement caricaturée comme étant asociale car les personnes introverties puisent principalement leur énergie dans leur monde intérieur, apprécient la solitude et peuvent facilement se fatiguer au contact des autres. Cependant, il n’y a pas de supériorité intrinsèque à une tendance ou une autre, il s’agit juste de dispositions différentes, avec leurs avantages et inconvénients. Par exemple, l’introversion favorise l’écoute, la concentration, la planification et la créativité, ce qui apporte de la valeur à une équipe.

La pratique de l’agilité repose beaucoup sur les interactions dans le cadre des « cérémonies » comme les daily meetings ou les rétrospectives. C’est un contexte plus favorable aux extrovertis.

Alors, comment adapter ces méthodes pour faciliter une meilleure contribution des introvertis ?

Idées proposées :

  • Prendre conscience des tendances personnelles de chacun et les respecter.
  • Permettre à chacun de participer selon les modalités qui lui conviennent le mieux mais aussi d’améliorer sa flexibilité sur le continuum selon son niveau de départ.
  • Programmer des moments de travail dans la solitude avec la même légitimité que les réunions.
  • Faire du « brain writing » dans le calme et le silence en complément du brain storming.
  • Fournir des informations en amont des réunions pour permettre de s’y préparer et de les rendre moins énergivores.
  • Formaliser un cadre qui permette aux personnes de s’isoler, d’aller et venir selon leurs besoins.
  • Favoriser le travail en binôme complémentaire.

En conclusion, les introvertis ont la même place que les extravertis car nous sommes tous à la fois l’un et l’autre et que ces deux tendances ont différentes valeurs à apporter à une équipe agile.

Hacker le TDAH : Stratégies pour le développeur moderne

Par Raphaël Lemaitre

Le Trouble de Déficit de l’Attention avec ou sans Hyperactivité est un trouble neurodéveloppemental qui commence dans l’enfance et qui peut persister à l’âge adulte. Il se caractérise par des problèmes d’attention, de désorganisation, de suractivité motrice et d’impulsivité qui sont inappropriés pour l’âge ou le niveau de développement de l’individu.

Des particularités anatomiques sont visibles par IRM au niveau des structures du cerveau impliquées, par exemple, dans l’attention, la prise de décision, le contrôle des émotions, la planification. Il y a aussi un impact au niveau de la dopamine, un neurotransmetteur qui joue un rôle dans le plaisir, la motivation et la prise de risque.

Il existe trois types : inattentif, hyperactif/impulsif et hybride. Concrètement, comme pour d’autres neuroatypies telles que le trouble du spectre autistique ou les troubles dys, il s’agit d’un spectre et il y a autant de formes de TDAH que de personnes avec un TDAH.

On peut avoir recours à un traitement pharmacologique psychostimulant (ex : ritaline) ainsi qu’à une thérapie cognitive et comportementale (TCC) qui aident à gérer les symptômes mais on ne peut pas guérir du TDAH.

La prévalence dans la population est de 3% à 7% des enfants et dans la moitié des cas les troubles persistent à l’âge adulte. Environ 80% des adultes atteints ne sont pas diagnostiqués car la connaissance de ce trouble est récente, les symptômes sont souvent attribués à d’autres causes et les personnes atteintes développent des capacités de masquage, voire de sur-adaptation.
Le TDAH peut fréquemment engendrer de l’anxiété, de la dépression et des burnouts.

Si le TDAH est considéré comme un handicap, il peut avoir des aspects positifs pour un développeur :

  • L’hyper-focus (flow) quand la personne est motivée
  • La créativité générée par des associations d’idées différentes
  • L’intuition permise par un fonctionnement cognitif différent
  • La résilience et la capacité d’adaptation développées par nécessité
  • La résolution de problème et la gestion de crise qui génèrent de la dopamine et provoquent une grande satisfaction

Des stratégies proposées pour limiter l’impact négatif du TDAH au quotidien :

  • Limiter les notifications et interruptions car il est difficile de se reconcentrer
  • Utiliser des outils d’organisation des connaissances et de prise de note comme Obsidian
  • Créer des listes, des routines grâce à des applications comme Todoist
  • Planifier, gérer son temps avec, par exemple, Reclaim AI
  • Prévoir des « buffers » de 5 à 10 minutes après les réunions
  • Faciliter la concentration avec des ambiances sonores adaptées (Brain.fm)
  • Automatiser grâce à des scripts et des shortcuts

Des tips pour travailler avec des personnes qui ont un TDAH :

  • Donner du contexte, des informations en avance pour limiter la charge cognitive et permettre de se préparer
  • Utiliser la communication asynchrone
  • No Hello !
  • Donner des deadlines même pour de petites tâches ou attentes de sorte à faciliter la planification

En conclusion, soyons respectueux du rythme de chacun en général car 15% à 20% des personnes sont neuroatypiques et nous pouvons tous être affectés par une diminution des fonctions exécutives du cerveau en cas de fatigue, de stress, d’accident de la vie.

Rendez-moi mon front !

Par Olivier Thierry

La conférence “Rendez-moi mon front!” donnée par Olivier Thierry explore l’évolution des techniques de rendu front-end en développement web. Au début, avant les années 2010, la génération des pages se faisait principalement côté serveur avec une utilisation marginale de Javascript. Cependant, avec le début des années 2010, une évolution vers des applications web fortement basées sur Javascript est observée. Cette mutation s’explique par les progrès de Javascript, notamment l’émergence de ECMAScript 6 en 2015 et de Typescript en 2012, ainsi que les performances côté client améliorées, en particulier avec l’arrivée de Chrome en 2008. De plus, l’apparition de Node.js en 2009 a permis l’utilisation de Javascript côté serveur.

Cependant, les modes de rendu front ont connu beaucoup d’activité ces dernières années, avec l’apparition de nombreuses nouvelles techniques telles que le CSR, SSR, SSG, ISR, Islands Architecture, Server Components, entre autres.

Si nous examinons les multi-page applications (MPA), certains inconvénients sont rapidement apparents. Elles offrent une expérience utilisateur médiocre en raison du manque de fluidité dans la navigation. L’hébergement de ces applications est également complexe en raison de la charge importante côté serveur et de la gestion des sessions côté serveur. Par conséquent, l’expérience de développement est aussi médiocre.

En revanche, les single-page applications (SPA) sont construites autour d’une page HTML unique qui charge une application Javascript. Le HTML est construit en Javascript côté client, avec une récupération des données via des appels Ajax à des API et des sessions côté client. Le développement de ces applications peut se faire en Javascript de base (Vanilla), ou à l’aide de bibliothèques ou frameworks UI tels que React, Angular, Vue, Svelte, etc.

Le client-side rendering (CSR) présente plusieurs avantages, comme une bonne expérience utilisateur grâce à la fluidité de navigation et la richesse de l’UI. De plus, l’hébergement est simple et peu coûteux, avec une bonne montée à l’échelle. Néanmoins, le CSR présente des inconvénients, notamment une pénalisation pour le SEO, une dépendance à Javascript qui peut être lourde et pénaliser le temps de démarrage initial de l’application (First Contentful Paint), une charge déportée côté client et des complexités dans le développement.

Le server-side rendering (SSR) ressemble à du PHP, mais avec une approche composant et une technologie uniforme côté serveur et client. Les applications SSR sont des SPA dont la page d’entrée est pré-rendue côté serveur. Cela offre plusieurs avantages comme une bonne compatibilité avec le SEO, de bonnes performances initiales, une bonne expérience utilisateur et une meilleure sécurité. Cependant, le SSR présente quelques complexités de codage et une charge serveur qui peut être lourde, avec une complexité d’hébergement.

La static site generation (SSG) est idéale pour le SEO, avec un hébergement simple, performant, fiable et scalable. Cependant, à chaque modification de données, il est nécessaire de reconstruire tout le site. De plus, si une page est impossible à générer, c’est tout le site qui est impossible à générer. Pour gérer les besoins dynamiques, le SSG requiert du client-side rendering.

L’Incremental static regeneration est une optimisation du rendu SSG, où les pages sont générées de manière statique lors du build, mais chaque page peut ensuite être régénérée et redéployée unitairement, soit de manière périodique suite à l’expiration de la page en cache, soit à la demande.

L’Islands Architecture est une autre approche présentée, où seulement certains composants dynamiques nécessitent du Javascript côté client, tandis que les autres composants sont rendus statiquement côté serveur. Cette approche vise à minimiser l’utilisation de Javascript.

Enfin, la conférence conclut avec les React Server Components, un nouveau paradigme pour les applications React. Les React Server Components présentent plusieurs avantages notables. D’abord, ils permettent de restreindre les traitements coûteux aux composants serveurs, ce qui optimise les performances. De plus, cette approche conserve l’architecture d’une Single Page Application (SPA), ce qui favorise une expérience utilisateur fluide. Autre point fort, elle réduit la quantité de Javascript envoyée au client, ce qui améliore le temps de chargement de l’application. En outre, seuls les composants clients nécessitent une réhydratation, ce qui simplifie le processus. Enfin, l’approche promet une bonne expérience pour les développeurs, avec des composants très simples à utiliser et toute la puissance de Node.js à leur disposition.

Cependant, les React Server Components présentent également des inconvénients. Tout d’abord, il s’agit d’une technologie encore jeune, dont les premières annonces datent de fin 2020. Actuellement, elle est uniquement disponible dans l’écosystème React et devrait être intégrée à Next.js d’ici le printemps 2023. De plus, l’adoption de cette technologie peut entraîner un risque de complexité architecturale, du fait de la coexistence des composants serveur et client. Enfin, son architecture peut être déroutante pour les développeurs habitués à d’autres approches de développement front-end.

Finalement, l’auteur de la présentation souligne que, bien que les SPA aient été une avancée majeure, la tendance actuelle est de retourner vers le SSR avec des outils plus modernes qui améliorent à la fois l’expérience utilisateur et l’expérience développeur.

Conclusion

En conclusion, nous avons assisté à de nombreuses autres conférences passionnantes lors de la 12ème édition de la conférence Devoxx France.
“La doc va bien, ne t’en fais pas” et “Sauve un dév, écris une doc !” ont souligné l’importance cruciale de documenter le code et abordé les outils et méthodes pour ce faire. Nous avons également exploré des sujets variés tels que “Model Mitosis : ne plus se tromper entre les microservices et le monolithe”, “L’architecture micro frontend : comment transformer son site web en puzzle géant collaboratif”, “L’Architecture Hexagonale par la pratique, le live coding qui rendra vos applications plus pérennes”, “Il en est où Henri Motte ? Petit état des lieux du télétravail”, ainsi que “Trying to be Barbie in Ken’s Mojo Dojo Casa House “ qui aborde les problématiques que rencontrent les femmes dans notre métier où elles sont encore largement minoritaires.

Chacune de ces conférences a enrichi notre compréhension du paysage technologique actuel et nous a offert de nouvelles perspectives uniques et précieuses sur divers aspects du développement logiciel. Si vous n’avez pas pu assister à la conférence ou si vous souhaitez revivre ces moments passionnants, nous vous encourageons à consulter la chaîne YouTube de Devoxx France où sont diffusées les vidéos des conférences, pour votre plus grand plaisir. Nous sommes impatients de poursuivre notre voyage d’apprentissage et d’exploration lors de la prochaine édition.

--

--

Peter Onneby
Publicis Sapient France

Husband, father of two, drummer, software craftsman living and working in the Paris area.