À la découverte d'Ibexa Commerce

IbexaCommercWelcomePage

12 mars 2024

Ibexa DXP

L'entreprise Ibexa autrefois connue sous le nom eZ System propose un ensemble de produits à destination des Entreprises pour différents usages. Nous connaissons bien Ibexa Content et sa version Entreprise Ibexa DXP que nous utilisons quotidiennement pour mettre en oeuvre des projets CMS. Le module Ibexa Commerce est également disponible pour ceux qui souhaitent gérer leurs produits, catalogues et tunnels d'achat intégrés à destination d'entreprise (B2B).

Étant coutumier de Sylius, j'étais curieux de voir les différences entre les deux outils. Ibexa Commerce est orienté pour le commerce entre entreprise (B2B) alors que Sylius est orienté pour le e-commerce à destination des particuliers (B2C).

Comparer les deux peut sembler incohérent, mais le but est de découvrir comment Sylius peut répondre à un besoin de B2B et Ibexa à un besoin B2C.

Sylius

Tout comme les produits Ibexa, Sylius est basé sur le framework Symfony et propose une gestion multi-langue, multi-variante, multi-canal, multi-devise par défaut.

Contrairement à d'autres outils du secteur qui proposent un très grand nombre de fonctionnalités, il est nécessaire de personnaliser Sylius pour l'adapter à ces besoins métier. Cependant, il intègre déjà des fonctionnalités de base pour la gestion du panier, du paiement, de l'expédition, des promotions paniers, des promotions catalogues et bien sûr la gestion des zones géographiques avec la TVA et des critères de livraison sur les produits. Cela couvre en grande partie les besoins que l'on aurait pour mettre en place une plateforme B2C.

Des instances de démonstration sont disponibles pour l'administration et le site e-commerce.

Ibexa Commerce

Avant la découverte de ce produit, et fort de mes connaissances dans le e-commerce et de mon expérience de Ibexa Content, je m'attends à certaines choses de la part de ce produit.

Par exemple, la gestion de la multi-langue pour les catégories de produits et les produits ainsi que le multi-devise. Pour les produits, je m'attends à ce qu'ils soient gérés comme des contenus avec la gestion des versions.

Je m'attends également à pouvoir gérer des propriétés sur les produits ainsi que des variantes (un même produit avec des propriétés qui changent tel que la couleur ou la taille). Je m'attends à pourvoir configurer mes transporteurs, les moyens de paiement.

 

Product Information Management (PIM)

Pour prendre en main l'outil, j'ai cherché à ajouter un produit pour tenter de le commander depuis le site web.

J'ai donc commencé par me connecter à l'interface d'administration de l'application. 

Ibexa Commerce ajoute deux nouveaux menus à Ibexa Content :

  • le PIM : pour la gestion des produits et catalogue (1),
  • et Commerce pour la gestion des commandes (2).

Première différence entre Sylius et Ibexa Commerce, ce dernier à beaucoup moins de menu permettant la configuration de l'application.

J'ai donc commencé par essayer l'ajout d'un produit. Mais ce n'est pas aussi simple. Il faut en premier lieu ajouter un gabarit "Product Type". C'est lui qui contient les informations sur les champs du produit (comme les champs d'un content type de Ibexa Content) mais également l'information sur la TVA applicable à ce type de produit et les propriétés du produit.

Contrairement à Sylius ou tout peut être fait depuis l'interface d'administration, dans Ibexa Commerce, la configuration des taux de TVA, des zones géographique et des devises sont configurés par le développeur dans des fichiers de configuration de l'application.

Il y a une subtilité pour les devises. Comme pour la langue, elles doivent être activées dans l'interface d'administration avant d'être configurées dans les fichiers YAML. Les habitués d'Ibexa Content ne seront pas trop déboussolés par ce concept.

 

En ce qui concerne les moyens de paiement et de transport, il est nécessaire de demander au développeur d'ajouter ceux dont vous avez besoin. De base, il n'y a que le paiement offline (virement, chèque, monnaie...)? Ces moyen de paiement sont très courant pour les affaires entre entreprise. Pour les frais de port, vous avez le choix entre le port gratuit ou avec un montant fixe par commande.

La documentation pour ajouter un moyen de paiement ou ajouter un moyen de calculer le prix du port sont disponibles.

Si vous souhaitez ajouter un transporteur tel que La Poste, vous devrez ajouter un nouveau type de transporteur avec le formulaire pour stocker la grille des prix en fonction du poids. Mais attention, contrairement à Sylius les propriétés courantes de taille, volume et poids n'existent pas par défaut dans Ibexa Commerce. Il faudra s'assurer d'ajouter ces informations dans un groupe d'attributs et ajouter ce groupe à tous les produits transportables.

 

Je vais m’arrêter là pour la configuration des produits pour le moment, j'ai réussi à ajouter un produit avec des photos et un prix, allons voir un peu du côté du site marchand.

 

Le site marchand

A première vue, les templates proposés par défaut sont suffisants car je n'ai rien fait pour avoir un site fonctionnel.

Contrairement à Sylius, où il est nécessaire d'affecter le produit à toutes les catégories parentes pour que le produit y apparaissent, ici c'est automatique. Les deux façons de faire sont valables de mon point de vue, car selon votre façon de faire, une catégorie parent peut afficher tous les produits ou uniquement la liste des catégories enfants.

 

L'ajout au panier est très rapide et manque d'une confirmation visuelle, mais est-ce vraiment utile pour un thème qui sera forcément personnalisé pour répondre au besoin du client ?

Lors de la visite du panier, une surprise m'attend, les prix renseignés dans l'interface d'administration sont en "Hors Taxe". Pour un outil B2B ce choix est complètement cohérent. Les entreprises ne prennent pas la TVA en compte dans le prix de leur achat contrairement aux particuliers.

 

Le reste du tunnel d'achat est fonctionnel et orienté entreprise. Lors du premier test, je n'étais pas connecté et la commande a été passée sans ouvrir de compte sur le site. Cette fonctionnalité est similaire à Sylius et m'étonne pour un e-commerce à destination d'entreprise. L'obligation d'ouvrir un compte me semble plus nécessaire tout comme la saisie du numéro de TVA Intracommunautaire.

Cependant, cela laisse la possibilité de gérer facilement un site e-commerce à destination des particuliers.

Pour finir, le stock a bien été décompté lors du passage de la commande. Ibexa Commerce a pris le parti d'obliger la gestion d'un stock pour tous les produits et interdire la commande hors stock. Pour éviter ce désagrément sur certains produits, il est possible de signaler un stock illimité.

Conclusion

Il y a de nombreuses différences entre Sylius et Ibexa Commerce. Ce dernier a fait le choix de la simplicité qu'il faudra confronter avec la réalité d'un projet client B2B pour valider la souplesse de la solution.

Voici un tableau de comparaison entre Sylius et Ibexa Commerce. Je ne tiens pas compte des fonctionnalités de Sylius Plus qu'il faut prendre en considération si vous souhaitez réaliser un projet B2B.

FonctionnalitéSyliusIbexa Commerce
Gestion de produits, variante, prix de base✅ Oui ✅ Oui
Gestion de promotion panier, promotion catalogue✅ Oui❌ Non (à développer)

Gestion de prix par catégorie de client

(réduction globale, réduction spécifique par produit)

⚠️ Non (à développer)✅ Oui
Gestion de panier et tunnel d'achat✅ Oui✅ Oui
Personnalisation des moyens de paiement et transporteur✅ Oui (plugin communautaire disponible)✅ Oui (pas de plugin communautaire ⚠️ )
Gestion de plusieurs colis pour une commande✅ Oui❌ Aucune gestion de l'expédition
Gestion de plusieurs paiement pour une commande✅ Oui❌ un seul paiement pas commande

 

Les deux outils ont des usages bien différents, il y a cependant des circonstances qui justifient l'utilisation d'un outil "inadapté". Voyons maintenant quand choisir quel outil :

CasSyliusIbexa Commerce
Votre e-commerce est orienté vers les entreprises (B2B) ❌ Certaines fonctionnalités spécifiques seront à développer (gestion du prix en fonction du groupe de l'utilisateur, notion d'entreprise) d'autre seront inutiles (promotion).✅ Peu de développement à réaliser.
Votre e-commerce est à destination des particuliers mais vous avez peu de produit ou que des produits virtuels et vous disposez déjà de Ibexa Content.⚠️ Peu de développement à réaliser sur Sylius mais l'intégration entre les deux outils devra être réalisée.

✅ Une seule plateforme tout en un

⚠️ Des développements à réaliser pour les promotions au besoin.

Votre e-commerce est à destination des particuliers avec beaucoup de produits virtuels ou physiques.✅ Avec ou sans Ibexa Content, Sylius est la solution.❌ Les besoins marketings (promotion, moyen de paiement, transporteur) nécessiteront beaucoup de développement dans l'application.

 

Les situations qui poussent à choisir un outil "inadapté" auront nécessairement des conséquences à un moment donné. Dans notre cas, lorsque le catalogue s'étend et que le succès est au rendez-vous, les besoins marketings exigeront les développements des fonctionnalités manquantes. Il me semble important de le garder en tête pour anticiper ces problématiques pendant la vie de l'application.

Nous poursuivrons l'analyse d'Ibexa Commerce avec un autre blog post et entrer plus dans le détail.