Archives de catégorie : e-commerce

Les outils pour enrichir le CSS

Le CSS, c’est le langage qui permet de faire la mise en forme des pages web.

Cela permet de séparer le fond de la forme : le HTML contient le fond (le texte en particulier), et la décoration se fait via le CSS (la police, la taille, les bordures, …).

Bon, ça, c’est la théorie ;).

Dans la pratique, écrire une couche présentation en CSS est très technique, avec certaines parties plutôt répétitives et impossible à factoriser. Exemple : un site utilise une palette de couleurs. Impossible, en CSS, de définir des constantes avec ces codes couleurs.

Sinon, quand on n’arrive pas à faire ce qu’on veut en CSS, on le fait en Javascript.

Certains proposent d’améliorer tout ça avec des « méta langages » au dessus de CSS.

Exemples : SASS, LESS, …

SASS est une technologie côté serveur, on passe son code CSS enrichi dans la moulinette SASS et ça ressort un code CSS standard.

Si j’ai bien compris, LESS permet à peu près la même chose, avec une technologie Javascript, qui peut être côté client ou serveur.

Je ne rentrerais pas dans le détail, ce n’est pas l’objet de ce blog.

Je trouve que c’est une super bonne idée, que de proposer des langages, ou méta langages, qui permettent de programmer plus propre, plus court.

Mais cela ouvre la voie suivante :

Le code que j’écris n’est pas le code envoyé côté client.

Avantage : le code que j’écris est plus court, de meilleure qualité.

Inconvenient : ce que je vais débuggé n’est pas ce que j’ai écrit.

Mon avis, très clairement, est que c’est bien l’avenir !

Je pense depuis longtemps qu’à moyen terme, les langages du web n’ont pas vocation à être manipulés directement : ce sont, de mon point de vue, des langages de trop bas niveaux, avec des contraintes beaucoup trop complexes. Je pense bien sûr en particulier au problème de multi-terminal / multi navigateur.

Pour prendre une analogie, cela me fait penser au Postscript : c’est un langage de bas niveau pour piloter les imprimantes (ou autres interfaces d’ailleurs). Mais personne n’aurait l’idée d’écrire à la main du code Postscript !

J’ai donc la conviction qu’il devrait sortir des systèmes qui vont bien plus loin dans cette voie :

C’est une voie étroite, parce que, de mon point de vue, ces systèmes doivent être spécifiques web, alors que ce qu’on voit bien souvent, ce sont des frameworks génériques, et je ne crois pas du tout à cette approche.

C’est pour cela que je trouve les initiatives type LESS ou SASS particulièrement intéressantes : on améliore la qualité, de manière très spécifique au Web.

Et vous, qu’en pensez vous ?

Quand l’image sort du cadre

On le dit, on le répète : pour un site e-commerce, la qualité des photos est un élément clé.

Maintenant, quand on a de belles photos, il faut les mettre en avant !

Certains sites proposent des photos de plus en plus grandes.

Le site KillSpencer, trouvé au hasard de surfs, va très loin.

Page d’accueil  :

Un peu dans l’esprit de ce que fait Apple, la home met en avant un énorme visuel.

Bon, apple va plus loin puisque leur home ne met en avant qu’un seul produit, alors que là, il s’agit d’un slider, qui fait défiler 10 images XXL.

Sur sélection d’une catégorie, on arrive sur une page comme ça :

Là encore, ce qui est mis en avant, ce sont les photos des produits.

Et voilà la fiche produit :

On est sur une charte qui pousse le minimalisme jusqu’au bout. Il n’y a pas de texte de description sur cette fiche !

Et l’ensemble des actions sont en superposition, par dessus la photo, dont le bouton d’ajout au panier.

En fait, il faut cliquer sur le bouton, en bas à gauche, pour afficher une description en superposition :

Je vous épargne le processus achat, plus classique.

Alors, bonne idée ou pas ? Un des points à valider, c’est si cette façon d’afficher le texte est « SEO friendly ». Qu’en pensent les experts ?

 

 

Barcamp Prestashop le 24 Novembre

Le quatrième barcamp Prestashop aura lieu le 24 Novembre.

8 conférences, 8 ateliers, toute la communauté Prestashop sera là.

C’est une bonne occasion pour glaner de bonnes infos, rencontrer d’autres e-commerçants ou prestataires, …

L’évènement a lieu, comme la dernière fois, à l’Espace Tapis Rouge, 67, rue du Faubourg Saint-Martin – 75010 Paris

Pour s’inscrire, c’est par ici.

 

Le tour du monde du e-commerce

Thibaud Clément vient juste de finir ses études, et démarre un tour du monde.

Son idée : avoir une vision plus large, et voir se qui se passe hors de nos frontières.

Son projet: 12 étapes, 12 pays, 12 mois.

Cela devrait permettre de bien prendre le temps, à chaque étape.

Thibaud se finance tout seul son projet, et a refusé les propositions de sponsoring, histoire de rester indépendant et le plus objectif possible.

Bon, c’est tout juste le début de l’aventure, qui commence en chine (tu parles d’un dépaysement !).

Après ? Thibaud pense à se lancer dans le e-commerce (quelle idée 😉 ) mais pas forcément en France.

Je trouve cette initiative excellente. Longue route à Thibaud.

Quel futur pour les systèmes e-commerce

Assez rapidement, quand on développe un système e-commerce (à ma connaissance, je suis le seul à utiliser ce terme, je devrais le déposer 😉 ), on doit découper le système en plusieurs composants.

Mais le découpage est rarement satisfaisant.

Rarement satisfaisant ?

  • La plupart du temps, une bonne partie des fonctions se recoupent entre les différents composants ;
  • L’expérience des utilisateurs métier n’est pas cohérente. Chaque composant propose son propre back office, et les équipes métiers, qui travaillent sur ces interfaces, doivent jongler d’un système à l’autre
  • Les mises à jours deviennent complexes, avec des coûts et des délais difficile à bien anticiper, parce que, comme chaque composant propose sa propre logique, il faut adapter « profondément » l’évolution à chaque composant

Alors, ou est le bug ?

Est-ce une erreur de découper un problème en sous parties ?

Non, bien sûr, le problème n’est pas là.

Le problème est assez simple en fait :

Les modules qu’on assemble ne sont pas réellement fait les uns pour les autres, tout simplement.

L’assemblage est donc un « bricolage ». Je ne mets pas en doute le travaille technique (c’est un autre sujet). Mais brancher ensemble deux systèmes qui ne sont pas fait pour ça, ça ne peut pas faire une solution de qualité (malgrés les promesses commerciales…). Ou alors, le cout devient rédhibitoire.

Alors, quelle est la solution ?

Il faut être pragmatique. Cette solution n’est pas complètement satisfaisante, mais c’est bien souvent la meilleure qu’on ait sous la main. Cette réflexion est donc plus une réflexion « moyen terme » qu’autre chose.

Pour aujourd’hui, une bonne tactique, c’est bien souvent d’identifier un composant « leader », et d’effectuer un assemblage autour de ce composant central.
Un autre élément de qualité, c’est de monter une architecture SOA. Cela permet au moins de définir des contrats clean entre les composants.

Demain, je suis convaincu que les choses vont/doivent changer…

Un des éléments qui doit bouger, j’en ai la conviction, c’est la couverture fonctionnelle d’un composant.
Pour moi, c’est la base d’une architecture à base de plusieurs « briques » : chaque brique doit répondre à une description fonctionnelle très précise. Et qu’on arrête de mélanger interface et coeur du système !
Je n’invente rien en disant ça, j’applique simplement les fondamentaux de la conception modulaire, qui n’ont pratiquement pas bougés depuis 20 ans :
Un module doit définir clairement son interface métier (son API quoi) : c’est le contrat qui doit être rempli par le module.
D’ailleurs, sur des briques plus anciennes, et donc plus mûres, la promesse est bien plus claire. Exemple : un système de gestion de bases de données… gère des données. Les choses sont bien séparées entre le moteur et l’interface. On devrait avoir ce type de séparation, pour monter notre système e-commerce de demain.

C’est un sujet excitant, parce qu’il y a beaucoup à faire, et beaucoup de valeur à apporter !

Si cela vous intéresse d’en savoir plus sur ce sujet passionnant, que vous avez une expertise d’architecte, vous connaissez bien la technique, et vous vous dites que l’aventure est peut être pour vous, contactez moi !

Vente Privée ouvre son site aux US

Vente Privée avait annoncé le lancement des opérations aux US, via un partenaire prestigieux : Amex.

Le site est ouvert :

Une première vente est en ligne, avec la marque Paul et Joe :

On retrouve les codes Vente Privée : de beaux visuels, des produits de marque, à des prix discount.

Maintenant, d’autres acteurs se sont développés aux US sur ce secteur, il va falloir se battre !

Interface or not interface

Discussion passionnante, hier, avec Theodo.

On a pas mal échangé, en particulier sur les interfaces.

Bien sûr, côté Front Office, la question ne se pose pas : on se doit de proposer des interfaces faciles à utiliser, intuitives, rapides, …

Mais la question peut se poser côté back office.

Autant il est évident que certaines fonctions se font très bien via des interfaces, bien souvent web. Exemple : ajouter ou mettre à jour un produit dans le catalogue, ajouter une image, …

Mais pour certaines fonctions bien plus avancées, la question peut se poser.

Exemple : gestion des processus (workflow).

Est-ce vraiment une bonne idée que de développer un moteur graphique, pour représenter des choses aussi complexe que la modélisation des processus ?

Regardons les deux faces du sujet :

Si on a une interface :

L’interface donne un cadre, et elle permet de contrôler qu’on reste dans ce cadre.

Si on prend l’hypothèse que cette interface est bien faite, (hum hum), cela va permettre d’aider l’utilisateur à paramétrer le système.

Exemple intéressant de mon point de vue : le module de paramétrage des promos sur Magento.

Bon, l’exemple est certe particulier, parce qu’on voit bien que le résultat est finalement très très proche d’un programme…

Si on n’a pas d’interface  :

Si on n’a pas d’interface, on va devoir utiliser un langage de description du sujet.

Ce langage peut être un langage hôte (PHP, Java, …) ou une syntaxe XML ou YAML, ou enfinun nouveau langage spécifique.

Si on prend un langage hôte, l’avantage est qu’on peut exprimer directement le problème sous forme d’un programme.

L’énorme avantage est qu’on n’aura pas à développer d’interface, complexe et très cher.

L’inconvénient est qu’on a probablement perdu 99% des utilisateurs métiers du back office. Pour modifier un élément, il faudra faire appel aux développeurs.

Alors, en synthèse ?

C’est un vrai sujet, il faut voir au cas par cas.

en fait, il y a toujours une limite, entre ce qu’on peut faire avec le back office, et ce qui doit être programmé. Certains systèmes essaient de repousser très loin la bascule vers la programmation, mais cette bascule existe toujours, et c’est pas prêt d’être fini : je ne crois absolument pas en « la fin de la programmation » avec la « programmation graphique » type UML… C’est un leurre marketing !

Quelques idées en vrac :

  • Si il s’agit d’une opération répétée régulièrement par les utilisateurs du back office, pas d’hésitation, il faudra une interface, et plus l’opération sera répétitive, et plus l’interface devra être soignée, pour faire gagner du temps aux équipes ;
  • Si l’interface s’avère très complexe, il arrive que la question prenne du sens : développer l’interface peut être très coûteux, et finalement pas rentable du tout, parce qu’en réalité, les utilisateurs n’utiliseront pas cette interface. Exemple : qui utilise un modeleur de processus d’un ETL ? Des informaticiens, qui iraient bien plus vite en programmant…
  • Si on doit « modeler » un problème via un langage de programmation, il est fondamental de développer des couches qui permettent d’exprimer le problème avec un bon niveau d’abstraction. C’est très important, parce que sinon, la mise à jour du programme sera compliqué, cher, … On ne fait pas toujours ce travaille, et c’est un vrai problème !

Magento Professional Edition : l’embrouille totale !

Cet article est écrit par Christophe Davy, dirigeant de Brand Online Commerce, qui est « l’invité permanent » de François sur ce blog.

Magento Professional attention danger
J’avais prévu de faire dans les prochains jours un post sur le programme de fidélité que nous sommes en train de finaliser pour l’un de nos clients, mettant en lumière les possibilités du module Reward Points de Magento, disponible sur les versions payantes, Professional et Enterprise.

Oui mais voilà, c’est en fait un énorme coup de gueule que je vais pousser, vu ce que nous avons découvert et la réaction de Magento !

Figurez-vous que, contrairement à ce qui est écrit noir sur blanc :
– sur le site officiel de Magento
– dans la documentation officielle des versions Professional et Enterprise de Magento
Magento a unilatéralement décidé de brider le module Reward Points dans la version Professional : les fonctionnalités sont limitées sans qu’aucune information ne permette de s’en apercevoir avant l’achat ! Seule la version Enterprise dispose effectivement de l’ensemble des fonctionnalités !

Concrètement, la version Professional propose un module Reward Points ne permettant pas de gérer, par exemple, le gain de points pour le parrainage d’un filleul : les champs correspondants, pourtant expliqués dans la documentation officielle avec la mention [PE] (pour Professional Edition) à côté de la mention [EE] (Enterprise Edition), ne sont désespérément pas disponibles dans le back office de la version Professional !

Magento Professional documentationVoici le mail que nous avons envoyé au support Magento :

« Dear Support Team,

We are discovering unexpected restrictions in the use of the Reward Points module on the Professional Edition.

Nowhere on your website nor in the official Documentation (Magento_UserGuide_EEv1-9-PEv1-8.pdf) did we find any information on the fact that the Reward Points module provided less options on the Professional Edition than on the Enterprise one.

People at Xxxxxx brand (Xxxxx Group) are very angry at the moment, because we sold them what we thought was a full functionality module, and we are now just a few days away from the opening of the Reward Points fidelity program on the website.

You have to provide us a solution as quickly as possible.

Waiting for your answer.

Sincerely,
Christophe Davy »

La réponse de Magento là-dessus ? C’est vraiment du foutage de gueule ! Je vous laisse juger par vous-mêmes, voici le mail reçu hier soir du support de Magento :

« Dear Christophe,

Thank you for contacting Magento Support, glad to hear you are almost set to lunch a PE store.

Regarding your specific issue, although I completely understand your statement regarding the module difference’s between the two editions, there’s unfortunately no solution we can provide as in fact the module is different in Enterprise than in Professional, as you have noticed already. The limitations you saw in Professional in compare to Enterprise are not a flaw not a design issue, that behavior is what was intended for that current version.

On a different topic, I’m also compelled to inform you that support for Professional Editions is provided within the first 90 days after the purchase which in this case was on 07/19/2011; unfortunately the support for this account has expired on 10/18/2011 and I will not be able to provide you with further help.

I’m including in this email our Customer Success department so you can follow up with them to discuss further options for assistance if needed.

Thank you for your understanding,
Stephen. « 

Non seulement on me confirme sans aucune gêne l’existence de différences fonctionnelles pour le module Reward Points entre la Professional et l’Enterprise, mais en plus on en profite pour me prendre pour un con, en me parlant du fait que le support de la version Professional acquise en juillet est terminé depuis le 18 octobre (il y a 18 jours…) et que donc il faut que je m’adresse au « Customer Success department » (tout un programme…) pour je ne sais pas quoi d’ailleurs.

Hé Magento, Brand Online Commerce est client ! Hou, hou, réveillez-vous ! Vous ne pouvez pas dégager en touche comme cela !

C’est une énorme désillusion pour nous qui sommes des fans absolus et des ambassadeurs de Magento depuis l’année 2008, et qui avons un plan de migration progressive des sites de nos marques partenaires vers les versions Professional ou Enterprise de Magento. Après cette première expérience désastreuse avec la Professional Edition, nous ne savons plus sur quel pied danser…

Par ailleurs, que doit-on dire à notre marque partenaire, appartenant à un grand groupe de cosmétiques, qui a planché en interne, et même rémunéré une agence spécialisée, pour établir les règles du programme de fidélité à partir des fonctionnalités qu’elle croyait avoir acheté ?

Et comment peut-on juste répondre par mail à un client que bon bah oui, c’est vrai il y a moins de fonctionnalités dans la version Professional, contrairement à ce qui est dans la documentation officielle, et puis c’est tout… ???

Je ne sais pas où va Magento, mais je suis certain que si ses propriétaires (Paypal/eBay) coupent l’herbe sous les pieds de ses plus fidèles adeptes, il y a de quoi être très inquiet !

Quelle expérience pour acheter et lire un eBook ?

Comme je suis souvent en déplacement, que j’ai un iPhone, j’ai voulu tester les solutions pour lire des ebooks, sans m’encombrer d’un nouvel équipement.

L’offre d’Apple, intégrée dans iTunes, fonctionne plutôt pas mal, avec une expérience d’achat plutôt simple :

  • On achète les livres, soit depuis l’ordinateur (iTunes) soit depuis l’iPhone.
  • Le livre acheté est chargé. Il vaut mieux avoir du Wifi à ce moment là ;).
  • On peut ensuite lire le livre. Le lecteur intégré est plutôt de bonne qualité.
  • Dommage qu’il n’y ai pas de lecteur sur le Mac, ça donnerait plus de souplesse.
  • Dommage également : le choix est quand même plutôt limité : il vaut mieux choisir parmi les livres de la boutique plutôt que chercher un livre spécifique, qui a peu de chance d’être présent ;).
J’ai voulu tester d’autres systèmes. J’ai donc essayé une autre offre, Numilog en l’occurence.
Donc, sur cette offre, je dois en premier choisir un livre, depuis un site e-commerce relativement classique (sur l’ordinateur donc).
Sur le site, les choses deviennent rapidement plus complexes, puisque le site affiche plusieurs messages d’alertes.
Au moment de l’achat, le site me demande de choisir, entre PDF et ePub. PDF, je me dis que le format sera lisible sur n’importe quel support. Je choisi donc ce support.
Une fois l’achat réalisé, le site me propose un lien pour télécharger le fichier.
Tient ? Le fichier est tout petit, et pas au format PDF ?
En fait, il s’agit d’un format PDF protégé via une DRM. Le fichier chargé doit être ouvert avec un lecteur spécifique,…. On est loin d’un fichier PDF…
Bon, je fais court,
  • J’ai échangé 16 emails avec le support (!)
  • J’ai fini par réussir à lire mon contenu, sur iPhone et Mac, avec un lecteur spécifique sur chaque machine. Mais je ne suis pas sûr qu’une personne « lambda » aurait eu la patience et les connaissances pour réaliser l’ensemble des opérations.
On est très loin de l’expérience d’achat et de lecture d’Apple.
Bien sûr, pour Apple, c’est plus facile, puisque le Reader et la boutique sont pré-installés sur l’iPhone. Mais la différence va bien au delà.
Si les éditeurs ne veulent pas se « laisser manger par la vilaine pomme », comment se fait-il qu’ils ne se soient pas mis d’accord, pour se regrouper et créer une solution digne de ce nom ?
Il reste un sacré chemin à parcourir, et pendant ce temps, les leaders américains, Apple, Amazon, gagnent en puissance !

Bou hou hou

Je sors d’une présentation e-commerce, j’y ai parlé de cahier des charges, contour du projet e-commerce, …

Une personne m’aborde, et me dit :

Vous avez raison,

C’est bien dommage tout de même.

C’est bien par là qu’on va, un commerce sans relation physique avec le client.

Heu, oui, non, il y a des relations, des échanges, … Bref, que répondre, quand la question se retrouve à ce niveau, non technique, non fonctionnel, même pas marketing ou stratégique, mais sur ce point « philosophique » : le e-commerce, ou plus généralement, le web, crée une société déshumanisée…

On peut avoir la nostalgie du « bon vieux temps », mais jusqu’ou faut il revenir ? Le téléphone éloigne également les gens. Faut il revenir également avant l’ère du téléphone ? Et le courrier ?

Ah, le bon temps ou on faisait un feu de bois, et ou toute la tribus se retrouvait ;).

Plus sérieusement, comment expliquer que le e-commerce est un outil, qui peut faire gagner du temps, de l’argent au client ?

que c’est une solution écologique ?

Pour le marchand, c’est un canal de revenus complémentaires, une façon d’apporter un service différent aux clients ?…