E-commerce cigarettes électroniques : impressions sur Prestashop
By WORMS David
25 juil. 2012
- Catégories
- Tech Radar
- Tags
- HTML
- Java
- Node.js [plus][moins]
Ne ratez pas nos articles sur l'open source, le big data et les systèmes distribués, fréquence faible d’un email tous les deux mois.
L’année dernière, il m’a fallu choisir et intégrer une solution e-commerce pour le site de vente de cigarettes électroniques CigarHit. Etant donné que ma dernière intégration d’un site e-commerce datait de 2005, j’ai pris une journée pour googler, comparer, télécharger et analyser quelques solutions.
Je vais commencer par expliquer ma démarche. Je recherchais un logiciel e-commerce Open Source. Le langage n’est pas primordial, j’ai toutefois mes favoris. Ainsi, PHP a ma préférence. Je n’ai rien à changer dans les paramètres de mon serveur, je maîtrise cet environnement et ce langage parfaitement, les performances ne sont pas primordiales. J’anticipe que certaines solutions seront en Ruby, là aussi, le serveur est à même de les héberger mais je sais par avance que la configuration sera plus laborieuse même si elle sera fonctionnelle après quelques heures de paramétrage. Je connais bien ce langage sans prétendre en être un expert. Ce sont aussi de probables pépins à chaque mise à jour. Je préfèrerai éviter quelque chose en Python. Je ne suis pas ultra familier avec l’environnement et le langage et tous les logiciels que j’utilise dans ce langage sont des catastrophes à maintenir en ligne, du Node.js en compliqué. Je ne parlerai pas de Perl, je ne suis pas masochiste. Bien sur, il y aura quelques lentes usines à gaz écrites en Java mais je développe une allergie, après tout, pourquoi faire simple quand on peut faire compliqué. Reste une myriade de petits langages, comme Lua, Erlang, Go et autres. Je n’y suis pas du tout opposé si le logiciel testé en vaut la chandelle.
J’ai donc googlé et googlé et après sélection, une petite dizaine de logiciels ont été téléchargés. Je précise ne pas avoir fait preuve de ségrégationnisme. Ces vieux dinosaures, en autre osCommerce qui m’a fait perdre patience en 2002, furent à nouveau téléchargés et passés au banc d’essai, juste au cas où. De mémoire j’ai donné leur chance à deux solutions Java, bah. Après tout ce temps, ma mémoire ne saura lister et décrire chacune des solutions. J’ai un temps envisagé Typo3 complété de son module e-commerce mais mes besoins étant 100% en commerce électronique, j’ai préféré conserver une solution simple. Toutefois, deux se sont démarquées. Le premier est Spree et le second est PrestaShop.
Spree est tout en finesse. C’est exactement ce que j’avais en tête : une structure flexible, un espace administrateur simple, propre et d’une grande qualité et un service REST. Alors pourquoi ce service REST ? Parce que je savais bien que je redévelopperai le code client du site Internet si celui-ci n’était pas déjà d’une grande qualité. Cela fait bien longtemps que j’ai perdu espoir dans les thèmes dont le marketing est si flatteur. J’avais bien l’intention de concevoir le graphisme et réaliser son intégration sans concéder aux contraintes d’un thème. Avec un service REST, il m’est possible de séparer la plateforme e-commerce de son affichage qui de plus pourrait être fait en Node.js avec tout ce qui me plait (Jade, Stylus et autres). En moins de 4 jours, j’aurais eu en ma possession une intégration parfaite et hermétique entre mes changements et la solution choisie. Malheureusement, Spree était encore un jeune enfant à cette époque et surtout, il ne gérait pas les déclinaisons de produits, par exemple un pack cigarette électronique peut être vendu de plusieurs couleurs ou encore un e-liquide Halo varie en fonction de la contenance du flacon et du taux de nicotine dont le choix fait varier la disponibilité en stock ainsi que le prix. A mon plus grand regret, il m’a bien fallu jeter mon regard sur un autre logiciel.
PrestaShop est l’un des logiciels comparés les plus aboutis. Toutes les fonctionnalités dont j’ai besoin ou dont j’anticiperai le besoin sont prises en compte. L’intégration avec les solutions de paiement en ligne se limite à un simple paramétrage. Cocorico, c’est un logiciel français. Le système de templating à base de Smarty n’est certes pas l’eldorado mais présente une certaine flexibilité. Il arrive avec une version brute et une version pré-paramétrée idéale pour une démo. Bref, il tient la route. Le problème, comme anticipé précédemment, fut bel et bien l’intégration graphique, très chronophage. Les templates c’est bien mais à condition que le code soit moderne, simple et intelligent. Les templates ne sont pas faits de tableaux et on décèle la présence de CSS. Toutefois, il aurait été bon d’utiliser un langage comme Less ou Stylus pour les CSS. Je me prête même à rêver d’une utilisation raisonnée de l’HTML5. Par exemple, le code source de CigarHit fait apparaître les balises
et tout en restant compatible avec Explorer 6. Au niveau du codage HTML, un certain nombre de balises ne sont pas toujours utilisées et l’intégration des styles dans chaque template profiterait grandement d’une balise parente accompagnée d’un ID qui lui soit propre. Je note aussi que les règles de nommage des
class
et id
essentiels aux CSS sont quelques peu anarchiques.
En conclusion, PrestaShop nous a apporté l’ensemble des fonctionnalités que nous souhaitions, en ce sens c’est un succès. Toutefois, l’intégration graphique fut plus longue que nécessaire et toute mise à jour est écartée car synonyme de plusieurs jours de travail à méticuleusement reprendre chaque template et à comparer ligne après ligne.