OCA Days 2024 - présentation de l'API e-Commerce Shopinvader

Lors des OCA Days 2024, Quentin Groulard, développeur Odoo chez l'intégrateur Odoo Acsone , a présenté une session intitulée "A walk through the Shopinvader API". Quentin a partagé son expérience avec divers clients ayant des besoins en solutions de commerce électronique, et comment lui et ses collègues ont répondu à ces besoins grâce à Shopinvader.

Voici ci-dessous le résumé de sa présentation que vous pouvez visionner en intégralité via le lien Youtube :

undefined

Introduction : la liste des différentes solutions e-commerce qui s'intègrent avec Odoo

Explorons tout d’abord les différentes options disponibles pour le commerce électronique avec Odoo. La première solution qui vient à l'esprit est l'application (le module) standard e-commerce d'Odoo. Cette application est rapide et facile à configurer, elle offre des outils de personnalisation puissants avec l'éditeur de site web drag and drop, et elle est relativement facile à utiliser. Cependant, elle peut présenter des limitations, notamment en termes de performance lorsqu'il s'agit de gérer un grand catalogue de produits ou de supporter un trafic web important.

Les limites du module e-commerce d'Odoo

On peut citer plusieurs cas où l'application standard d'Odoo pourrait ne pas répondre au besoin du site :

  1. Performance : Odoo n'est pas conçu pour rechercher rapidement un grand nombre d'enregistrements, ce qui peut poser problème pour les catalogues de produits volumineux.

  2. Charge de l'instance : Si votre instance Odoo est déjà lente ou si elle exécute de nombreuses tâches en arrière-plan, cela peut ralentir votre site web.

  3. Séparation des cycles de vie : Il est souvent préférable de séparer les cycles de vie des différentes applications pour bénéficier des nouvelles fonctionnalités sans avoir à migrer l'ensemble de l'instance Odoo.

  4. Intégration avec des infrastructures existantes - Certains clients peuvent déjà disposer d'un site web bien établi avec des outils et un CMS performants. Dans ce cas, ajouter une partie de e-shop à ce site existant peut être plus efficace que de tout reprendre à zéro avec l'e-commerce d'Odoo. Cela permet aux clients de continuer à utiliser leurs outils existants tout en ajoutant des fonctionnalités e-commerce.

  5. Considérations de sécurité - Un autre point crucial concerne la sécurité. Par exemple, certains clients, comme les administrations publiques, peuvent avoir des exigences strictes en matière de sécurité et ne peuvent pas se permettre d'exposer leur ERP sur Internet. Utiliser l'application e-commerce d'Odoo dans ce cas pourrait poser des problèmes de sécurité, car cela nécessiterait d'exposer Odoo directement sur Internet.




Solutions d’e-commerce dédiées

Pour les besoins plus complexes et avancés il existe des soultions d’e-commerce dédiées, tels que Prestashop, Magento, Shopify, Woocommerce ou autres. Ces solutions offrent une architecture dédiée pour le commerce électronique (séparé d'Odoo), garantissant de meilleures performances et une meilleure évolutivité. Cependant, elles peuvent être coûteuses et poser des défis en termes d'intégration avec Odoo. Les entreprises devront mettre en place des mécanismes pour synchroniser les ventes de commerce électronique avec Odoo, ce qui peut entraîner une duplication de la logique et des données.

  • Exemple pratique : calcul de remise

Si la logique de calcul de remise est complexe dans Odoo, répliquer cette logique dans une solution de e-comemrce dédiée peut être difficile. Cela peut entraîner des disparités dans les prix affichés entre Odoo et le site de commerce électronique, ce qui n'est pas souhaitable.




Présentation de Shopinvader

La solution qui offre une alternative flexible et performante pour les besoins de commerce électronique, en particulier pour le pure players du commerce électronique, les entreprises nécessitant une scalabilité et une performance élevées pour leur boutique en ligne est Shopinavder.

Shopinvader a été développé pour combiner les avantages des architectures e-Commerce dédiées et l'intégration avec Odoo. Cette solution permet de bénéficier d'une architecture performante et évolutive tout en utilisant les enregistrements et les modèles d'Odoo. Par exemple, les adresses des clients, les solutions de paiement, les transporteurs, et même le panier d'achat sont directement liés à Odoo. Cela signifie que les fonctionnalités de calcul des prix, de gestion des stocks, de facturation et de paiement sont toutes gérées par Odoo.


Migration et refactoring de Shopinvader en V16

Shopinvader a récemment été migré vers la version 16 d'Odoo. Cette migration a été accompagnée d'un important refactoring, améliorant encore la performance et la stabilité de la solution.

Lors de la migration vers la version 16 d'Odoo, l'équipe de Shopinvader a simplifié le code pour le rendre plus facile à comprendre et à utiliser, notamment pour les nouveaux venus. Ils ont également introduit des outils comme FastAPI, qui permet de réduire considérablement la quantité de code nécessaire, de valider automatiquement les données et de générer automatiquement la documentation. Cela facilite grandement le travail des développeurs front-end, qui peuvent ainsi savoir exactement ce que l'API attend d'eux et ce qu'ils peuvent attendre de l'API.


Architecture type d'un projet Shopinvader

Voici l'architecture type d'un projet Shopinvader chez Acsone.



  1. Odoo et l’API : la brique back-end de Shopinavder

Odoo joue un rôle central en fournissant une API pour le front-end. Cette API permet au front-end de créer des paniers, d'ajouter des produits, et de récupérer des informations comme les adresses de livraison des clients.

  1. La brique front-end de Shopinvader : un template opensource en VueJs et Nuxt - On a travaillé sur un template en VueJS et Nuxt pour mettre à disposition des développeurs un gabarit prêt à l’emploi pour pouvoir démarrer rapidement le front-end du web shop à partir de zéro. Ce modèle inclut toutes les briques e-commerce en VueJs et Nuxt, tout ce dont ils ont besoin pour communiquer avec l'API, facilitant ainsi le processus de développement.


  1. Search Engine : l’exportation du catalogue de produits vers Opensearch - Un autre rôle crucial d'Odoo dans l'architecture Shopinvader est l'exportation du catalogue de produits vers un moteur de recherche. Ce moteur de recherche est une base de données spécialement conçue pour fournir des recherches rapides, ce qui est essentiel pour un site e-commerce.

  2. CDN (Content Delivery Network) - Concernant les fichiers multimédias, comme les images des produits, ils sont souvent exportés vers un CDN (Content Delivery Network) pour accélérer le rendu du site web.

  3. La brique CMS Headless -  le choix du CMS (de préférnece de type Headless) est laissé à l’entreprise, tant donné que le template VueJs et Nuxt permettent de se connecter facilement avec n’importe lequel des CMS Headless

  4. Gestionnaire d'identité et d'accès : chez Acsone on utilise Keycloak, pour gérer les comptes clients et l'authentification. Si le site est entièrement anonyme, ce composant n'est pas nécessaire.



Les fonctionnalités clés nécessaires et les modules Shopinvader

On identifie quatre fonctionnalités essentielles pour un site de commerce électronique :

  1. Catalogue de produits : affiche les produits aux clients potentiels, avec des options de recherche et de filtrage.

  2. Système de gestion du panier : permet aux clients d'ajouter et de retirer des produits de leur panier.

  3. Solution de paiement

  4. Livraison : gestion de l'expédition des produits, sauf pour les produits numériques ou les services.

Configuration du catalogue de produits

Pour configurer un catalogue de produits, on utilise cinq modules Shopinvader, tous centrés sur le moteur de recherche, car c'est là que le catalogue de produits sera exporté.

  1. Shopinvader Search Engine : Ce module principal permet d'exporter les produits et les catégories vers le moteur de recherche.

  2. Shopinvader Search Engine Update : Ce module est presque obligatoire pour garantir que les modifications apportées aux produits sont automatiquement répercutées dans le moteur de recherche, assurant ainsi que les produits affichés sur le site web sont toujours à jour.

  3. Shopinvader Search Engine Image : Ce module permet d'ajouter les URL des images des produits.

  4. Shopinvader Search Engine Product Price : Ce module permet d'ajouter les prix des produits. Il utilise une liste de prix configurée pour calculer les prix des produits. Pour des besoins plus complexes, il est possible de développer des modèles de prix personnalisés.

  5. Shopinvader Search Engine Assortments : Ce module permet de décider quels produits doivent apparaître sur le site web. Il utilise des domaines et des assortiments de produits liés à l'index du moteur de recherche. Une autre méthode consiste à utiliser des canaux de vente, en ajoutant des produits à ces canaux et en les liant à l'index du moteur de recherche.


La gestion du panier sur l’e-shop

Pour la gestion du panier avec Shopinavder et Odoo, un seul module est nécessaire : Shopinvader API Cart. Ce module permet d'ajouter et de retirer des produits du panier, ainsi que de procéder au paiement.

La gestion des paiements sur l’e-shop

Pour gérer les paiements, deux modules sont essentiels :

  1. Shopinvader API Payment Cards : Permet de payer avec une carte.

  2. Shopinvader API Payment Provider : Permet d'intégrer des fournisseurs de paiement comme Stripe, SIPS, ou d'autres. Les utilisateurs peuvent également ajouter leurs propres modules de fournisseurs de paiement, à condition qu'ils soient supportés par Odoo.

La gestion des livraison pour l’e-commerce

Pour la gestion de la livraison, deux modules sont nécessaires :

  1. Shopinvader API Address : permet de gérer et de mettre à jour les adresses de livraison et de facturation des clients.

  2. Shopinvader API Delivery Carrier : permet de choisir parmi les transporteurs disponibles dans Odoo et de calculer les frais de livraison.

Modules supplémentaires

Au total, dix modules sont nécessaires pour mettre en place une API e-commerce fonctionnelle avec Shopinvader. Une fois à l'aise avec ces modules, les utilisateurs peuvent explorer une multitude de modules supplémentaires offrant des fonctionnalités avancées, telles que :

  • la gestion des programmes de fidélité et coupons, codes promos…

  • la gesiton des wishlistes (listes de souhaits)

  • les formulaires de contact créant des leads dans Odoo

  • la gestion du cross-selling et up-selling (ventes croisées)

Exemples de sites réalisés avec Shopinvader



Lumière sur l'auteur

Web consultant
Dora Jurcevic
Web consultant - France

Esse site usa cookies para melhorar a sua experiência de navegação