Un premier avis sur Spree (plateforme Ecommerce pour Ruby on Rails)
Depuis bientôt trois ans que je pratique quotidiennement Ruby on Rails, il est toujours resté pour moi une problématique encore non résolue : "et pour le E-Commerce, on fait comment ?". Je dois bien le dire, pour l'instant : "je fais comme je peux". En clair : Prestashop pour les grosses boutiques, et Rails maison pour les boutiques plus modestes mais avec des besoins très particuliers (produits sur mesures, système de promo. avancé...). Quoi qu'il en soit, la conclusion -à ce jour- n'a pas changé : IL FAUT UN MAGENTO EN RAILS.
J'ai bien essayé ForgeOS, en son temps, mais il s'est depuis perdu dans une plateforme beaucoup trop généraliste. Je cherche un sabre laser du E-Commerce, pas un couteau Suisse. Il y a eu aussi substruct... mais là encore, c'est plus "un CMS avec un panier" qu'autre chose, peu de monde semble d'ailleurs avoir suivi.
Nous voila donc fin 2011, et j'apprends que Spree vient de lever 1,5 Million USD, le site Web est tout beau tout neuf et il semble y avoir une communauté derrière. Cool. J'essaye la demo en ligne... allez, je l'installe, et je vois ce qu'il y a dedans...
- Rails 3.1.1, HAML, SASS/LESS, JQuery. On est vraiment dans ce qui se fait de mieux. En tout cas dans le mainstream de la communauté Rails
- 55 tables dans la BDD... seulement ??! Pour situer, Prestashop est autour de 135 tables "out of the box", et Magento 218. Bon, ok, ça ne veut pas dire grand chose. Moui, mais bon... quand même, 55 tables, ça "tend quand même à signifier" (notez les guillemets, svp) que pas mal de features seront en add-on, ou bien tout simplement absentes par rapport aux deux autres poids lourds du secteur sus-nommés.
- Hooo, y'a une API ! Bon signe, ça prouve qu'on est proche des besoins des grosses boutiques.
- La doc. Ou plutôt : LA doc. Rien à redire concernant ce qu'on trouve sur le site, propre, net, précis (en Anglais, ça va de soit). Ok, mais _ailleurs_ ? Les tutos ? Les Blogs posts ?! Ben... pas grand chose. Quelques bribes éparses sur des forums, à prendre avec des pincettes tellement Spree semble avoir changé ces dernières
annéesmois. "On est dans le cutting edge, man !". En clair : va falloir s'accrocher.
L'installation se déroule facilement, puisque... toute l'application est contenue dans des Gems. Autant le dire franchement : je n'aime pas du tout cette approche (que j'ai déja vu ailleurs :-/). Les Gems, à mon sens (et sauf erreur de ma part, j'ai lu DHH dire la même chose) sont là pour étendre des fonctionnalités à l'échelle de Ruby. Perso, je ne comprends pas qu'on utilise ce moyen pour distribuer toute une appli, qui plus est une appli tournant non au niveau du language, mais bien en dessous dans un Framework ! Concrétement, après installation, vous vous retrouvez donc avec une application... vide, puisque tout est dans des Gems.
Ok, bon, admettons, commençons à modifier une vue ou deux pour se mettre en jambes : que dit la doc ? Qu'il faut créer d'autres Gems pour y mettre sa customisation, même au niveau des simples vues :-/ Donc, si je suis bien tout ça : mon appli est, et restera vide. En fait, Spree, c'est un Framework de Gems, quoi...
Là dessus, j'ai levé la tête du guidon et suis parti à la recherche de boutiques déja montées avec Spree : quelques "something went wrong" (si si) et quelques customisations de vues vraiment simplettes plus tard, j'ai décidé de laisser Spree dans un coin de mon /var/www, et d'y revenir dans quelques mois. Peut-être. Ou plutôt : j'espère.
Ce Post ne représente que ma modeste opinion après quelques heures de survol rapide de Spree. Si vous arrivez à me convaincre de m'accrocher encore un peu avec cette appli, libre à vous d'exposer vos arguments en commentaire, je n'attends que ça ;-)
Bonjour,
Avant tout merci pour ce poste, vous n'êtes pas beaucoup à parler de Spree!
Je ne suis pas développeur mais je lance mon site ecommerce avec un dév sur Spree en ce moment même. Pour le moment la seule inquiétude que j'ai n'ai pas technique, mais économique... et je souhaitais savoir si vous pouviez m'aider à répondre à ces questions:
- Quel est le modèle éco de la solution Spree vs Prestashop ?
- Est ce que je suis perdant (économiquement parlant) à l'utiliser en France ?
D'avance merci pour votre aide !
Merci pour cette contribution.
Le Staff PAYBOX met à votre disposition dans la section "téléchargement" des paramètres de pré-production et des cartes de test.
Nous sommes également à l'écoute de vos projets avec toute l'assistance commerciale et technique souhaitée http://www1.paybox.com/contact.aspx
Haaaa, merci Sacha, c'est exactement le genre de commentaire que j'espérais avoir ! Nous en avons parlé lors du dernier apéro Ruby Lyonnais, et je crois qu'on est tous d'accord sur une chose : pour l'instant, c'est un peu jeune, mais d'ici 1/2 ans, il y a de grandes chances que Spree s'impose.
Bon, en tout cas, tu me remontes le moral sur le fait de "retomber sur tes pieds bien plus vite que prévu".
Tiens moi au courant quand ta boutique sera en prod. si tu veux bien :-)
Hello !
Développeur sur ror depuis 4 ans maintenant, j'avoue m'être fait mot pour mot les même réflexions que toi.
Sauf qu’allergique à prestashop et magento, je suis allé un peu plus loin que toi sur l'épluchage de Spree.
Effectivement ce n'est que des gems dans des gems et l'approche m'a particulièrement déplu en 1er lieu. Sauf qu'en réalité au lieu de travailler dans /app, on va bosser dans un folder qui servira de theme comme sur un Wordpress et qu'on déclarera tout bêtement en tant que gem
Gemfile :
gem 'monsite_theme', :path => './monsite_theme'
On architecture le dossier comme une appli rails "/app" (contenant views, controllers, models, etc..), "/config", etc... et on y met uniquement les customisations dont on a besoin, ce qui permet de conserver les fonctionnalités de base auxquelles on aurait pas besoin de toucher.
Pour savoir ce qu'on customise, et finalement pour ne pas s'entendre dire "Pure magic man!", on va aller voir comment Spree fonctionne. Tous les fichiers se trouvent ici :
/var/lib/gems/1.8/gems/spree_core-0.70.0/app sur une install classique rvm / passenger / rails >3 / ubuntu
On peut tout copier dans son thème pour pouvoir tout modifier, ne copier que le front, certaines parties du back, ne copier que les vues si uniquement le design doit être modifié.
En bref on a souvent tendance à faire demi tour dès qu'on ne retrouve plus ses repères mais finalement la logique et l'approche permettent une grande flexibilité (au détriment des performances mais c'est un autre problème). On va donc pouvoir se permettre de migrer des thèmes, d'en proposer des tout packagés, de se faire la main à un standard et d'y ajouter les customisations qui nous plaisent.
Si une customisation est vouée à être réutilisée souvent, on va la sortir du thème pour en faire une gem à part entière, facile à partager et à propager.
Enfin le 55 tables tient au fait que tout est rationalisé à l’extrême et c'est justement la force du projet, simplicité / flexibilité, et la possibilité de très facilement venir ajouter ses propres briques et de les interfacer avec celles existantes sans pour autant compromettre les montées de version du core.
Bref un investissement temps que je suis en train de faire et où finalement je retombe sur mes pieds bien plus vite que je ne l'aurais cru. Bémol encore des bugs, point positif ror. J'avoue que mon rêve secret du moment c'est que Spree ait fait sa levée de fonds il y a un an et que je bénéficie maintenant de leurs améliorations, pour ceux qui tomberont sur ce post en novembre 2012 vous venez de toucher le jackpot :>
Sacha.
'lut Bob :-)
Tu résumes très bien mon état actuel : "voir si l'investissement en vaut la peine". Quand je vois Magento, ça a beau être une usine à gaz gourmande en ressource codée en PHP, je me dis que oui, l'investissement en vaut quand même la peine (un de ces 4, je vais finir par m'y mettre tellement l'appli est largement au dessus de tout le monde...). Pour Spree, franchement, je ne crois pas que ce soit encore mature pour pouvoir être vendu à des clients. Pas encore. Je peux me tromper, mais pour l'instant, je n'ai encore rien vu qui me fasse changer d'avis...
J'ai eu le même genre de réaction entre l'étonnement et le dépit quand j'ai essayé RefineryCMS. Installation à partir d'une gem, application vide, override de tout, ok très bien, mais comment ça marche à l'intérieur ?
Question posée sur le twitter du projet : réponse "Pure magic, man !". J'ai laissé tomber.
Donc je pense que comme pour Spree, il faut s'accrocher, mais à voir si l'investissement en temps en vaut la peine, et sans retours de la communauté c'est difficile à dire.
Envie de donner votre avis ?