DevFest Lille 2024 : Identifier les tendances du développement applicatif

Les thèmes majeurs abordés cette année, et venus s’intégrer en toile de fond de la plupart des conférences:

  • Le green IT
  • L’accessibilité
  • Le Domain-Driven Development (DDD)
  • Le référencement (SEO) et ses différentes méthodes de rendu (SSR, CSR, HSR)

Ces sujets sont pour la plupart interdépendants et viennent s’inscrire dans nos processus et outils afin de répondre à deux grands besoins métiers: la nécessité d’accélérer toujours plus le Time to Market et celle d’atteindre et satisfaire une palette toujours plus large d’utilisateurs. Afin de livrer de la valeur plus rapidement, le choix majoritaire semble être aujourd’hui celui de découper l’offre proposée en plusieurs service indépendants capable de répondre à un besoin unique et clairement identifié dans une approche DDD. D’autre part, les applications publiques, dont celles d’e-commerce qui composent une grande partie du développement applicatif des Haut de France ont pour challenge de fidéliser leur visiteurs pressés et exigeants via une amélioration des performances, autant qu’à rallier la possible clientèle des personnes en situation de handicap.

Voici un récapitulatif rapide des grandes tendances :

Green IT : L’écologie émerge en IT ?

Le green IT, ou l’informatique durable, commence tout juste à intégrer les préoccupations actuelles. Là où le sujet était jusqu’alors perçu comme une problématique de seconde zone sans lien direct avec l’augmentation des profits, nerf de la guerre, certaines entreprises ont récemment identifié le fait qu’au-delà de permettre une légère diminution des coûts via des infrastructure mieux « scalées », donc moins coûteuses, la vraie valeur ajoutée de l’écologie côté web réside dans la volonté de proposer une application moins lourde et au chargement plus rapide afin de séduire et conclure les ventes avec plus de visiteurs. Les Google Core Web Vitals sont pour ça les métriques les plus pertinentes à ce jour afin de mesurer les performances web.

En préoccupation verte et émergente, l’empreinte écologique commence elle aussi à être mesurée et les outils se mettent à proliférer. Il n’existe cependant pas encore de consensus sur la meilleure manière façon de calculer cette dernière et la grande partie des outils se concentrent uniquement sur l’empreinte carbone et négligent d’autres facteurs importants tels que la consommation d’eau, l’utilisation des ressources naturelles et la pollution électronique. Selon Raphaël Lemaire, conférencier ce vendredi et auteur du libre greenIT, l’extension Web GreenIT-Analysis s’avère être l’outil à l’usage simple et gratuit aux résultats les plus proches de la réalité. Cependant, celui le plus prometteur est EcoSonar, extension de l’outil SonarQube déjà bien connu et adopté de beaucoup, qui devrait prochainement améliorer son algorithme de calcul d’empreinte carbone et ainsi permettre d’intégrer cette dimension verte dans nos pipelines CI/CD.

Accessibilité : Un interface pour les gouverner tous

L’accessibilité comme norme et ensemble de règles a été définie au mieux par le WCAG (Web Content Accessibility Guidelines) afin de garantir l’utilisation des interfaces web par toutes les personnes, y compris celles en situation de handicap. A cette fin, les axes principaux sont ceux du contraste des couleurs, de la navigation au clavier et de le capacité des lecteurs de sites à les parcourir.

Le respect de ces normes permet en effet de créer une web plus équitable, mais également d’élargir l’audience potentielle des applications. Les entreprises se sont en effet aperçues qu’un site accessible améliore non seulement l’expérience utilisateur pour tous mais qu’une interface jugée accessible est plus facile à utiliser, plus rapide à naviguer et, par conséquent, plus attrayante pour un public plus large.

Face à ce besoin et à la nécessité d’automatiser nos processus de validation durant la phase de développement, Playwright a été mis en avant comme un outil puissant pour automatiser les démarches d’accessibilité. Bibliothèque de test open-source développée par Microsoft, elle permet de créer des scripts de tests end-to-end (e2e) afin de tester les interactions utilisateurs. Une des fonctionnalités particulièrement appréciées est l’intégration de tests d’accessibilité via Axe, une autre bibliothèque spécialisée dans l’analyse des normes WCAG.

Domain-Driven Design (DDD) : Le métier lead la technique

Le Domain-Driven Design (DDD) est une méthodologie proposée initialement par Eric Evans dans son livre éponyme publié en 2003, elle se concentre sur la modélisation précise du domaine afin de créer des systèmes alignés avec les besoins spécifiques de l’entreprise. Malgré ses préceptes déjà anciens à l’échelle rapide du développement applicatif, le DDD s’impose aujourd’hui en raison de la complexité croissante des systèmes logiciels et de la nécessité d’aligner le développement sur les objectifs métier. En effet, alors que de nombreux projets essuient des retards coûteux, cette approche favorise une meilleure compréhension entre les équipes techniques et métiers en imposant une réflexion métier en amont dont la partie technique suivra la structure, plutôt que l’inverse.

Lors de la DevFest Lille 2024, une très bonne conférence animée par Josian Chevalier et Julien Topçu de Shodo a su happer son auditoire en présentant leur modèle Mitosis qui s’appuie sur les préceptes du DDD pour offrir une métaphore du développement applicatif inspirée de la mitose cellulaire. L’idée centrale est que la structure de code d’une application doit être itérative, à l’instar de la gestion logicielle agile, et doit évoluer en fonction du contexte et de la compréhension du problème.

Au fur et à mesure qu’un logiciel se développe pour résoudre un nombre croissant de problèmes, des tensions apparaissent au sein des modèles de données. Le mindset Mitosis aide à identifier le bon moment pour passer d’un monolithe à des microservices en s’appuyant sur les concepts de tension de modèles et de shared kernel. Cette conférence, non seulement instructive mais aussi divertissante, a été enregistrée et est disponible en ligne comme toutes les autres.

On retrouve d’autre part cette séparation métier du DDD et ces idées déjà bien connues de microservices côté back dans une tendance frontend actuelle dont de nombreuses conférences ont traitées : les microfrontends. Quoique en tendance, les microfrontends ont un coût de mise en place relativement complexe de par leur complexité et aucun solution ne fait aujourd’hui consensus car les besoins des entreprises divergent selon qu’ils nécessitent d’agréger plusieurs frameworks ou non et dépendamment du rendu que requiert leurs applications.

SSR, CSR et HSR : Les Défis du Rendering

L’un des sujets majeurs abordé lors de la DevFest a été les différentes approches de rendu des pages web : le Server-Side Rendering (SSR), le Client-Side Rendering (CSR) et le Hybrid Rendering (HSR). Le SSR, qui consiste à générer le HTML sur le serveur avant de l’envoyer au client, est particulièrement bénéfique pour le SEO et la performance initiale de chargement. Le CSR, quant à lui, repose sur la génération du contenu directement dans le navigateur, offrant une meilleure interactivité mais souvent au détriment de la performance initiale.

L’approche hybride (HSR) combine les avantages des deux méthodes, mais elle reste complexe à mettre en œuvre. Bien que des frameworks populaires comme React et Angular aient fait des progrès vers ces solutions, ils ne proposent pas encore de solutions entièrement matures. Cette lacune a poussé des entreprises tel qu’Adeo à développer leur propre solution personnalise afin de maîtriser le premier rendu et l’hydratation des applications, tout en permettant la coexistence de plusieurs technologies au sein d’un même portail web.