Commerce digital

Passer du monolithe au headless commerce… dans la vraie vie !

by Gilles Guirand 13 octobre 2022

Le headless fonctionne avec un backend découplé du frontend (qui fait appel au backend pour les règles métiers), pour permettre notamment l’omnicanalité. Par rapport au monolithe, il implique de nombreux avantages, mais aussi inconvénients. C’est un type d’architecture qui fait beaucoup parler de lui actuellement. Derrière le buzzword technique, quelles sont les implications de migrer vers du headless à partir d’un monolithe ?

La migration vers le headless en pratique

Première étape : mettre en place des APIs

On choisit souvent d’utiliser le monolithe seulement avec ses APIs (parfois très nombreuses), sans son front : on découple donc le front et le backend.

Pour le front, on choisit soit de faire du sur-mesure, soit d’utiliser de l’open source. Cette première étape permet de gagner en expérience utilisateur, fluidité d’interface et expérience en mobilité. On peut déjà envisager de brancher ses APIs à des bornes interactives ou à des caisses.

Cependant, cette première étape présente quelques inconvénients :

  • Le backend reste un monolithe, car un seul code fait tout.
  • Le front branché sur les APIs est très dépendant de ces dernières : si elles évoluent, le front sera cassé et ne fonctionnera plus. Les deux doivent continuer d’évoluer en même temps.
  • Le système reste dépendant de la scalabilité de la performance et de la stabilité de l’API qui reste fournie par le monolithe.

Deuxième étape : introduire un backend for frontend

Les grands acteurs du e-commerce choisissent souvent d’introduire un backend for frontend entre les APIs du monolithe et les interfaces ou différents canaux (front, mobile, caisse, kiosque…) : cet élément intermédiaire fait office de traducteur entre les deux mondes – APIs historiques et interfaces utilisateurs. Ainsi, les différents canaux ne dialoguent jamais avec les APIs du monolithe, mais uniquement avec le backend for frontend : avec une API qui est indépendante – le front ignore les anciennes APIs.

Cette solution permet de faire évoluer le back indépendamment du front : on peut brancher ou supprimer certaines APIs et démanteler le monolithe vis-à-vis d’un élément indésirable (par exemple les produits), le tout sans toucher au front. Les solutions backend for frontend les plus courantes sont, entre autres, Apollo, AWS API Gateway ou Spring Boot.

Mais attention, cette approche introduit de nouvelles complexités. C’est un mille-feuilles qui continue de grossir, qui nécessite de maîtriser de nouvelles technologies et qui produit un « choc générationnel ».

Pour aller plus loin

Comment créer une expérience d'achat sans couture grâce au headless ?

Télécharger le guide

Les impacts de la migration

Parmi les grands acteurs du top-20 du e-commerce, on observe certains résultats.

Côté organisation, on utilise des frontends (par exemple React), qui dialoguent avec des APIs ou du Server- side rendering (la génération de pages html côté serveur, pour une expérience utilisateur optimale), puis la solution backend for frontend comme Apollo, et l’Identity Access Management (IAM). Enfin, couplés à la solution backend for frontend, on trouve différents types de bases de données et les APIs historiques (ERP, APIs métiers, outils de gestion de contenu, outils e-commerce…).

De ce fait, la partie backend e-commerce devient minuscule par rapport à l’ensemble de l’écosystème technique, qui se rapproche alors de l’ingénierie.

Ce fonctionnement amène aussi de l’ingénierie côté frontend : ce dernier doit être pensé très finement pour de bonnes performances et expériences utilisateurs, mais aussi pour savoir où se trouvent la donnée froide (prédiction à la journée ou à l’heure) et la donnée chaude (évolution souvent à la minute qui nécessite de l’appeler et la calculer à chaque fois).

Après quoi, on construit l’expérience utilisateur en fonction de ces données chaudes et froides. Ce tri peut être effectué par un moteur de recherche, ou par une API métier : on raisonne au cas par cas pour savoir où sont les données et comment les appeler. Une charge mentale que les monolithes permettent d’éviter.

Le cas de l’encapsulation

On peut envisager de migrer, c’est-à-dire d’ajouter une brique e-commerce au frontend, sans changer le reste. On encapsule un morceau de nouvelle page dans l’ancien système.

Cette nouvelle ingénierie consiste à encapsuler plusieurs frontends dans un seul : c’est le micro-frontend.

Pour l’internaute, cette méthode est parfaitement « sans couture » : il ne voit qu’un seul écran, mais qui est en réalité un composite d’éléments provenant de plusieurs endroits.

Cette approche est pratiquée par de grands acteurs, qui recomposent leurs pages morceau par morceau, quand il est inenvisageable de refaire tout le front en une seule fois.

Pour aller plus loin

Headless Commerce : réelle tendance ou buzzword ?

Visionner la vidéo
Gilles Guirand

Gilles Guirand

Largement reconnu par la communauté pour être l'un des experts sur des projets hautement techniques et complexes, Gilles Guirand, Directeur technique et co-fondateur de Kaliop & Kuzzle, a étendu son expertise à divers écosystèmes tels que : JavaScript, noSql, Cloud, Symfony, Varnish, Solr, New Relic, outils CI et DevOps.

Commentaires

Ajouter un commentaire

Votre commentaire sera modéré par nos administrateurs

Vous avez un projet ? Nos équipes répondent à vos questions

Contactez-nous