Shopinvader, du Headless e-commerce avec Odoo

Dans un domaine du commerce en ligne en constante évolution, les entreprises cherchent sans cesse à améliorer l'expérience client sur leurs boutiques en ligne tout en proposant de plus en plus de services. Une approche innovante qui gagne en popularité est le e-commerce headless, combiné avec un système ERP qui permet une plus grande flexibilité dans les développements e-commerce.

Headless or not headless

Le "headless", dans le contexte du développement de logiciels et de sites web, fait référence à une architecture où la partie frontale (ou "front-end") d'une boutique en ligne est séparée de la partie backend (ou "back-end"). Concrètement, cela signifie que l'interface utilisateur, dans notre cas le visuel du site e-commerce, appelé front-end est décorrélée de la logique métier et des données sous-jacentes, le back-end.
Dans une boutique en ligne le front-end comprend généralement des éléments tels que la mise en page, le design visuel, les menus de navigation, les boutons, les formulaires, les images, les vidéos et tout autre contenu avec lequel les utilisateurs peuvent interagir. Le backend quand à lui est la partie invisible de notre eshop et gère les processus en coulisse se chargeant de la logique métier, du stockage des données, du traitement des requêtes et de la communication avec d'autres systèmes.

Dans une architecture traditionnelle, le front-end et le back-end sont étroitement couplés, ce qui signifie que toute modification apportée à l'un nécessite souvent des ajustements dans l'autre. En revanche, dans une architecture headless, le front-end communique avec le back-end via des API (interfaces de programmation d'applications), ce qui permet une plus grande flexibilité et une plus grande indépendance entre les deux couches.

Cette communication via API permet aussi un meilleur contrôle des données exposées sur le e-commerce.

undefined

Dissocier la carrosserie du moteur

Le headless créer donc une répartition des tâches bien définies, le backend, qui assure la gestion des processus métier de notre boutique n'affiche donc directement rien a l'utilisateur quand au front-end c'est l'inverse ! Il se charge de l'interface et des interaction utilisateurs et confie les calculs et le stockage de l'information au back-end. Cet ensemble permet une bonne centralisation des données, un avantage bienvenue à l'heure de la prise de conscience de la cybersecurité et de la bonne gestion des donnés personnelles collectées.

Ce type d'approche permet de bénéficier de plusieurs avantages intéressant pour les e-commerçants et leurs clients :

La Flexibilité et évolutivité
En séparant la couche front-end de la couche back-end, il est possible d'utiliser des frameworks front-end modernes, tels que React, Angular, ou Vue.js, sans avoir à modifier le back-end. Les rythmes de développement et de mise à jour du front-end et du back-end peuvent être différent. Une architecture headless permet de développer et de déployer des fonctionnalités plus rapidement, les équipes de développement front-end et back-end pouvant travailler en parallèle. Petit bonus, cela permet également de réduire les temps d'arrêt et les interruptions de service lors des mises à jour.

Les performances
Une architecture headless peut améliorer les performances de votre site web en aidant a garder la maîtrise des données transférées entre le front-end et le back-end. Cela peut se traduire par des temps de chargement plus rapides et une meilleure expérience utilisateur. Les performances de la boutique en ligne sont donc moins tributaire du backend.

La sécurité

Qui dit boutique en ligne dit panier, compte client, animation de catalogue, gestion de commande et de facture, autant de données vitale pour une entreprise de Retails et très sensible !

En limitant  le volume de donnée exposée et donc la surface d'attaque pour les pirates informatiques, une architecture headless peut contribuer à renforcer la sécurité d'un boutique en ligne et du système de gestion. Les données sensibles sont stockées sur le serveur back-end, qui se trouve moins exposer au attaque.

Expérience utilisateur

Personne n'a envie de scroller pendant des heures à la recherche de la perle rare, en utilisant des frameworks front-end modernes tel que React, Angular, ou Vue.js, il est possible de créer des expériences utilisateur plus riches et plus engageantes. Objectif : faire d'un achat en ligne une expérience fluide, dynamique et conviviale ! 

De bonnes performances, une navigation naturelle et fluide, des suggestions adaptées et une recherche pertinente renforcent l'expérience utilisateur, ce qui peut se traduire par une augmentation des taux de conversion et une meilleure fidélité des clients.

En résumé, le e-commerce headless est une architecture qui permet de séparer la couche de présentation front-end de la couche back-end, offrant ainsi une plus grande flexibilité, des performances améliorées et une meilleure sécurité pour les magasins en ligne.


Le e-commerce Headless avec l'ERP Odoo

Faut-il encore présenter Odoo ? Pour ceux qui auraient loupé cette petite pépite open source du logiciel de gestion d'entreprise (aussi appelé ERP ou PGI), Odoo est une véritable suite open source d'applications d'entreprise qui couvre une large gamme de fonctionnalités, telles que la gestion des ventes, la gestion de la relation client (CRM), la gestion des achats, la gestion de la comptabilité, la gestion des stocks, la gestion de projet, la gestion des ressources humaines, et bien plus encore. Bref, tout ce dont une PME a besoin pour réaliser sa gestion quotidienne. 

Odoo a également un double argument qu'il ne faut surtout pas négliger : il est open source et modulaire ! Ce double argument fait de cet ERP un outil qu'il est possible de faire évoluer et d'adapter aux processus métiers complexes. 
Avec plus de 12 millions d'utilisateurs, Odoo commence à se forger une place dans le secteur très concurrentiel des ERP (Enterprise Resource Planning), spécialement auprès des TPE et PME.


Odoo + Headless = shopinvader

Imaginons maintenant que nous puissions combiner les avantages que procure Odoo pour les TPE et PME ainsi que les points forts de l'architecture e-commerce Headless. Cette approche permettrait de mettre en place une boutique en ligne qui s'appuierait sur la puissance et la grande souplesse d'Odoo. Pour accomplir ce petit tour de passe-passe, les intégrateurs Odoo d'Akretion, d'Acsone et de CamptoCamp ont travaillé sur la conception d'une API intégrée à Odoo permettant à un front-end e-commerce de dialoguer avec l'ERP. Ces modules Odoo open source sont appelés Shopinvader.

Shopinvader

Shopinvader est donc un ensemble de modules open source (https://github.com/shopinvader) que l'on peut ajouter à notre Odoo afin de lui donner la possibilité de remplir son rôle de backend dans notre architecture Headless. Dans ce cas, Odoo devient le gestionnaire de données et de processus métier de notre boutique en ligne. Le e-commerçant gère donc son catalogue de produits et ses catégories directement dans Odoo. Les paniers et les commandes clients sont également stockés et gérés par Odoo, ce qui permet une grande homogénéité des règles métier quel que soit le canal de vente. Cet ensemble de modules ajoute une API REST afin que le front-end puisse communiquer avec Odoo. 
Une application VueJS NuxtJS 3, elle aussi open source, permet de remplir le rôle de frontend et offre une expérience d'achat agréable (https://github.com/shopinvader/shopinvader-template-nuxtjs).
 Cette approche offre une solution reconnue pour sa flexibilité, sa scalabilité, et sa capacité à intégrer facilement des fonctionnalités tierces, telles que les paiements, les expéditions, les analyses, etc. Elle est également une solution adaptée tant aux contextes B2B qu'aux contextes B2C.


Limiter le chevauchement fonctionnel

Dans le contexte des logiciels, le chevauchement fonctionnel se produit lorsqu'il existe une répétition ou une redondance des fonctionnalités entre plusieurs applications au sein d'une même organisation. 

Dans le cas du e-commerce, cela peut se produire lorsqu'une plateforme de e-commerce effectue des tâches similaires à l'ERP car les deux solutions présentent des fonctionnalités similaires et néanmoins indispensables à leur fonctionnement. Un exemple très parlant est celui du panier d'un eshop : une plateforme e-commerce a besoin de manipuler les données d'un panier pour permettre à un client de procéder à ses achats. 

L'approche Headless - et donc celle utilisée par Shopinvader - permet de confier la gestion du panier et des règles métiers qui lui sont associées à Odoo, qui va alors gérer cela comme un simple devis !


Quid du e-commerce de Odoo ?

Dans son éventail pléthorique de fonctionnalité la suite d'applications d'entreprise  Odoo offre également une solution de commerce électronique. Cependant, si cette solution à l'avantage d'être disponible directement votre ERP préféré, elle a le défaut de mélanger la notion de backend et de frontend dans une seule et même boite. 

L'importance de la séparation backend et frontend

La solution de commerce électronique d'Odoo n'est pas une solution headless. Concrètement, cela signifie que c'est Odoo qui rend et héberge la boutique en ligne. Cette imbrication du frontend et du backend implique donc des cycles de développement très synchronisés entre l'eshop et l'ERP et est très sensible aux interruptions de ce dernier. 

Un autre point à prendre en compte est que les technologies et langages de développement utilisés par l'eshop Odoo sont certes bien connus des développeurs de cette solution, mais un peu plus exotiques pour le commun des développeurs web. Odoo propose une solution de commerce électronique traditionnelle, avec une couche frontend et une couche backend intégrées. Le e-commerce d'Odoo a néanmoins l'avantage d'être très visuellement personnalisable, bien supporté par l'éditeur de la suite logicielle et d'être bien adapté aux boutiques en ligne de taille raisonnable souhaitant démarrer rapidement.


En conclusion, l'association du e-commerce headless avec l'ERP Odoo offre une solution puissante et flexible pour les entreprises désireuses de créer une boutique en ligne performante et sécurisée. En dissociant le front-end du back-end, cette approche permet de bénéficier des avantages respectifs de chaque couche tout en évitant les écueils du chevauchement fonctionnel. Avec l'intégration de solutions comme Shopinvader, les entreprises peuvent tirer parti de la robustesse d'Odoo en tant que gestionnaire d'entreprise tout en offrant une expérience d'achat moderne et personnalisée à leurs clients.


Ressources

Odoo REST APIs for e-commerce https://github.com/shopinvader/odoo-shopinvader
Template Nuxt 3 Vue 3 https://github.com/shopinvader/shopinvader-template-nuxtjs

https://en.wikipedia.org/wiki/Headless_commerce

Lumière sur l'auteur

Consultant Web
Thibault Rey
Consultant Web - France
Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considérerons que vous acceptez l'utilisation des cookies.