Présentation d’Axelor
ERP open source
Axelor est une solution française en développement depuis 2005 qui propose une solution ERP open source développée en JAVA.
La solution en forte croissance se positionne sur le marché des ERP riches en fonctionnalités.
Elle dispose d’une vingtaine de briques métier : CRM, BPM, ventes, marketing, contrats, affaires, employés, feuille de temps, parc auto, projets, documents, support client, comptabilité, achats, stocks, qualité, etc…
Frontend sur mesure compatible PWA
Nous avons étudié l’architecture et la documentation d’Axelor afin d’identifier si nous pourrions y connecter Front-Commerce.
La réponse est : Oui ! En effet, Axelor expose une API Rest qui permet de reproduire les différentes actions utilisateurs. Mais pour répondre à quels besoins ?
De par ses nombreuses briques fonctionnelles, Axelor est amené à gérer des informations utiles à des utilisateurs externes : les clients de l’entreprise utilisatrice.
Sur des cas d’usages précis, les écrans proposés par défaut peuvent ne pas correspondre à la qualité ergonomique et fonctionnelle que l’entreprise utilisatrice aimerait proposer à ses clients. De plus, celle-ci pourrait également intégrer dans cette interface des informations provenant d’autres systèmes d’information.
Par ailleurs, en tant qu’ERP, Axelor dispose de presque toutes les briques requises pour créer une boutique en ligne parfaitement adaptée au monde B2B. Il faudrait lui rajouter éventuellement quelques services complémentaires (paiement, livraison).
Enfin, de par l’augmentation croissante de l’usage d’internet en mobilité, une optimisation des performances et de l’ergonomie de cet espace peut devenir critique.
C’est pourquoi l’utilisation d’une solution frontend découplée comme Front-Commerce peut résoudre ces problématiques avec une architecture adaptée et permettant d’y adjoindre les services complémentaires. Avec le support de la norme PWA (Progressive Web App) imaginée par Google, l’expérience sur mobile devient très fluide avec des possibilité de rajouter un raccourci sur l’écran d’accueil ou encore de fonctionner en mode « offline » (sans internet).
Présentation des intéractions principales
Quand un client accède à Front-Commerce, cela lui donnera accès à une PWA en React qui permet d’accéder à un contenu ergonomique, intéractif et performant.
Ce contenu est récupéré par l’application via un serveur GraphQL en Node.js qui permet d’aggréger des APIs externes. Notamment, dans le cas présent, nous nous connecterions à Axelor via son API REST (Jersey) pour récupérer des produits, leurs prix, passer des commandes, etc.
Cela permet de bénéficier de la puissance d’Axelor, tout en gardant une grande flexibilité de présentation de la boutique.
Ainsi, chaque service peut accéder aux informations qui le concerne, et transmettre facilement des informations aux autres équipes. Par exemple, lorsqu’une commande est passée, elle est créée et suivie dans l’ERP, laissant l’opportunité au service de comptabilité d’avoir une vision sur les ventes effectuées. De même, il n’y a pas de perte d’information lorsque les commerciaux contactent des clients potentiels, et il est possible de faire le lien entre ces informations renseignées dans le CRM et les commandes ou demandes de devis passées dans l’ERP. Par ailleurs, il est possible de définir des processus de vente et de suivi clients très spécifiques et adaptés à la situation en passant par le BPM de Axelor.
Qu’apporte Front-Commerce ?
Front-Commerce est bien plus qu’une PWA avec un serveur GraphQL. Cet outil apporte avec lui un ensemble de bonnes pratiques de développement et des optimisations.
Par exemple, Front-Commerce fait ce qu’on appelle du Server Side Rendering. Le but est de réutiliser le code React pour afficher une page HTML côté serveur, et ainsi bénéficier d’un SEO renforcé. Ainsi, on a la rapidité et l’ergonomie d’une application moderne, tout en conservant les bonnes pratiques de référencement.
En plus d’assurer une certaine performance côté client, Front-Commerce optimise aussi le côté serveur en utilisant un cache Redis. Ainsi, quand on a déjà récupéré les informations du produit une fois, on ne va pas les redemander à Axelor afin de gagner en temps de chargement et d’éviter de surcharger le serveur Java.
Nous pouvons également envisager d’utiliser un moteur de recherche optimisé. Nous indexons les produits depuis le back office (ici Axelor) et cela permet d’avoir une recherche puissante et ergonomique du côté client (la PWA en React). Nous pouvons utiliser pour cela les technologies ElasticSearch ou Algolia. C’est une brique facultative, et cela dépend beaucoup de la puissance native de la recherche d’Axelor, mais cela peut permettre d’améliorer la pertinence de la recherche de produits sur la boutique.
Nous pourrions aussi mentionner le Design System que met à disposition Front-Commerce qui permet d’avoir une base commune de discussion pour faire évoluer l’aspect du site. Cela garantit une homogénéité pour les futurs développements. Plutôt que d’avoir une multitude de sites pour chaque usage de l’entreprise, on présente aux clients finaux un ensemble cohérent et on renforce l’image de marque.
Front-Commerce apporte donc une base solide sur laquelle développer son site e-commerce.
Comment pourrait évoluer cette stack technique ?
Nous ne sommes cependant pas obligés de nous limiter à Axelor. Le serveur GraphQL peut récupérer des contenus provenant d’autres sources de données pour améliorer l’expérience utilisateur. Par exemple, un WordPress existant mettant à disposition de nombreux contenus intéressants qui ont de la valeur pour les acheteurs (par exemple, de la documentation) pourrait être agrégé sur les pages des produits, tout en continuant de récupérer le détail marchand des produits depuis Axelor.
Cela permettrait aux équipes de communication de garder l’outil qui leur correspond et auquel elles sont habituées, tout en unifiant la façon d’afficher ces informations aux clients finaux.
Bien évidemment, nous mentionnons ici WordPress, mais il est tout à fait possible de se brancher à d’autres systèmes d’informations. Nous supportons d’ailleurs aussi Prismic.io.
Conclusion
L’avenir du web va très clairement vers des architectures évolutives dans lesquelles on peut facilement moduler les briques spécialisées utilisées pour telle ou telle responsabilité.
Axelor est un ERP très riche fonctionnellement qui offre de base un socle large pour établir un site marchand et gérer en aval la gestion des commandes. Mais on peut envisager plus simplement un espace client permettant de consulter certains documents et d’interagir avec d’autres briques d’Axelor, comme le BPM par exemple.
Grâce à son API, il est possible de lui coupler une solution frontend comme Front-Commerce, permettant d’offrir une expérience client spécifiquement étudiée grâce à une ergonomie riche, avec des performances exceptionnelles, tout en allant chercher éventuellement des données tierces dans d’autres briques adjacentes.
Si vous souhaitez en savoir plus, n’hésitez pas à nous contacter.