Prestashop : survivre sans prestataire

NOTE: Je ne développe plus ce module.

Cette semaine, j’ai eu peu de temps libre, j’avais commencé un générateur Cockcroft-Walton pour faire un ioniseur d’air et (tenter d’) enlever des mauvaises odeurs, mais mon fer a souder a lâché dans la foulée. La résistance chauffante s’est dessoudée, et évidemment je ne pourrai pas la ressouder à l’étain… je suis bêtement immobilisé! J’ai donc basculé en mode “soft”.

Prestashop, c’est le WordPress de l’e-commerce, LA référence des softs de boutiques en ligne. C’est LE logiciel à utiliser quand on veut une boutique professionnelle, belle, efficace… C’est bien entendu le soft que j’ai choisi pour mettre en place la boutique en ligne du site de musiques de mon épouse, en me disant que sa notoriété serait un avantage pour le support utilisateur.

Sauf que ce n’a pas été aussi simple…

WordPress, en tant que moteur open source de blogs, s’adresse à des organisations et à des personnes sans but lucratif. Pour se financer, WordPress.com fait payer des tarifs raisonnables en échange de services d’hébergement de blogs.

En revanche, Prestashop, c’est pour des sites commerciaux, qui sont donc censés gagner de l’argent… cela signifie deux choses très différentes: On suppose à priori que les utilisateurs de Prestashop

  • sont prêts à dépenser de l’argent pour acheter des modules;
  • vont faire appel à des prestataires techniques pour résoudre leurs problèmes. Le nom n’a pas été choisi par hasard…

Cela a deux conséquences:

  • On n’hésite pas à vous faire payer (et pas qu’un peu) pour des fonctionnalités triviales qui auraient pu être implémentées de base dans le code, mais ne l’ont délibérément pas été. Non, je ne peux pas croire que la vérification de l’email des clients soit une fonction optionnelle, et pourtant, vous devrez vous délester de plusieurs dizaines d’euros HT juste pour ça. En effet, dans une install par défaut, n’importe quel spambot a la possibilité s’inscrire et passer des commandes, même avec une adresse mail du genre trululu@zobi.pwet );
  • Le code a une structure tellement complexe qu’il faut plusieurs heures de plongée dans le code et dans la doc pour en sortir le moindre truc. Par rapport à WordPress en tout cas, la structure des fichiers est bien plus complexe.

Je refuse cet état de choses. J’ai donc décidé de passer le temps nécessaire à comprendre le code, et de proposer gratuitement les modules que j’aurai développé.

Je commence donc par un module permettant l’enregistrement d’une société, et ce de manière optionnelle, sans avoir à dépenser 49 euros hors taxes pour 20 lignes de code.

En effet, le dernier Prestashop 1.5.3 propose un mode B2B, mais cela ne me convient pas : tous nos clients ne seront pas des sociétés, la majorité seront des particuliers, sauf certains. Je ne veux donc pas voir des champs société,SIRET,APE,etc. s’afficher pour tout le monde.

La fonctionnalité a été présentée par Biniou Myers sur son blog, mais il fait ça ‘en dur’ dans son code, ce qui a plusieurs inconvénients, dont celui de se faire écraser à la prochaine mise à jour. Et puis il faut modifier les classes internes de Prestashop, c’est “sale”! mais ça a le mérite d’exister, et de faire ce que je veux! Je le remercie énormément d’avoir partagé l’info. Je suis donc reparti des exemples de codes postés là bas, pour en faire un module. J’y suis arrivé! Voici les fonctions obtenues:

  • Modifications empaquetées dans un module
  • Affichage optionnel de la demande de siret/nom de société
  • Choix d’un groupe “pro” dans l’admin
  • Affectation automatique des utilisateurs qui définissent les infos à ce groupe

Il ne restait qu’une seule chose à faire: afficher les infos saisies dans la zone d’admin. Alors on en revient au mode B2B, qui affiche ces informations, mais qui affiche aussi son formulaire à la noix.

je m’en suis sorti avecu un override du contrôleur AdminCustomersController.php, en définissant la variable qui va bien juste avant l’appel de la fonction qui affiche le formulaire, et en la rétablissant juste après:

Fichier /override/controllers/admin/AdminCustomersController.php:

<?php
class AdminCustomersController extends AdminCustomersControllerCore
{
    public function renderForm()
    {
        $save = Configuration::get('PS_B2B_ENABLE');
        Configuration::set('PS_B2B_ENABLE',true);
        $ret = parent::renderForm();
        Configuration::set('PS_B2B_ENABLE',$save);
        return $ret;
    }
}

Simple et efficace. Mais je n’en suis pas encore satisfait, il faudrait faire ça plus proprement pour que ça marche juste dans le module.

Un des derniers trucs à faire serait de permettre à l’utilisateur le changement des infos “sociétés”. Mais on verra plus tard.

Si vous voulez que je vous envoie le code, laissez moi un commentaire. Je vous l’enverrai immédiatement par email.

 

La prochaine fois, comment économiser 129 euros en faisant un plugin de vérification d’utilisateur par email…

UPDATE 24 oct 2013: en fait non, l’économie est à chiffrer en heures: je n’utiliserai plus prestashop.

Et voici SANS GARANTIE NI SUPPORT le code du module “groupe d’utilisateurs B2B” http://www.f4grx.net/wp-content/uploads/2013/10/progroup.zip

 

12 réflexions au sujet de « Prestashop : survivre sans prestataire »

    1. merci pour les conseils, c’est toujours intéressant d’apprendre!

      Le truc, c’est que prestashop c’est une chose, mais la rédaction et la validation des CGV par un avocat en est une autre.
      Nous avons trouvé un moyen plus simple pour éviter tout souçi: utiliser un fournisseur de boutique en ligne que l’on peut intégrer grâce à un iframe.
      Je n’aime pas réinventer la roue, donc prestashop, c’est out pour moi, pour le moment.

      Si je dois refaire une boutique, je regarderai du coté des plugins wordpress.

      A+ !

      1. Je comprends bien.. En plus on s’enlève le soucis du surpoids de Prestashop tant en performance qu’en facilité de personnalisation.

        D’ailleurs Prestashop a plutôt souffert ces derniers temps (quoi qu’en disent ses dirigeants) ; Cet article récapitule à peu près correctement la situation : http://blog.academy-ecommerce.com/prestashop-en-exces-de-vitesse

        Quand au problème des CGV, je dois bien t’avouer que je ne me suis jamais posé la question… D’ailleurs Prestashop semble en avoir fait un gagne-pain supplémentaire en suggérant dans la section cms du backoffice ceci : http://addons.prestashop.com/fr/guides/5258-cgv-prestashop-conditions-generales-de-vente.html

        Bref, on profite que les gens qui font du commerce soient potentiellement riches et prêts à lâcher 10€ la ligne de code métier, mais après tout, tout le monde doit vivre.

        1. Merci pour ces liens très intéressants. je ne connaissais pas cet add-on CGV! Et j’ai lu tout l’article “excès de vitesse”, c’est édifiant!

          Ceci dit, je respecte totalement l’envie de vivre de ses logiciels et services, c’est très bien, c’est quelque chose qu’il faut poursuivre quand on a la chance de pouvoir le faire!

          C’est juste que venant de WordPress, payer pour un module “commun” n’est pas ce que j’attendais!

          Par contre, pour une société déja budgétée, l’intéret de Prestashop est justement ce support payant qui apporte une possible garantie de résultat.

          Alors c’est pas grave, on a trouvé une solution qui convient à notre cas précis!

          A+!

          1. bonsoir, j’ai un souci avec le module, en fait il l’ajoute bien dans mon groupe pro mais également dans le groupe par défaut client .. y’a quelque chose a faire pour modifier cela ?
            merci

  1. Bonjour, je serais bien intéressé par ton module si tu peux me l’envoyer par mail.

    En ce qui concerne prestashop je vous trouve un peu dur, il ne faut pas oublier que c’est une société et qu’elle à besoin de vivre, vendre des modules fait partis de sont business modèle. Moi je trouve cela extraordinaire de pouvoir avoir un système comme celui-ci gratuitement et je ne suis pas spécialement choqué par leur façon de procéder. De plus cela donne du travail à beaucoup de gens (développeur, intégrateur, graphiste) tout en diminuant les coûts de création d’une e-boutique. Ce qui me choque en revanche c’est la qualité des modules qu’il propose rien n’est vérifié et souvent le module acheté ne fonctionne pas correctement et le support prestashop n’est pas efficace. Bien à vous.

    1. Hello,

      Malheureusement Prestashop m’a tellement saoulé qu’il a disparu dans un trou noir à base de rm -rf. Je mets quand même ma bafouille toute moche (je croyais l’avoir virée mais non) en bas de l’article, servez vous et remixez à l’envie. Ceci dit, c’était un hack de mauvaise qualité fait sous la mauvaise humeur, et sa fonctionnalité était plutot inutile après réflexion. Nous sommes passé par un service de shop spécialisé pour les musiciens, Wiseband. Je n’ai donc pas eu à implémenter la “prochaine fois” qui concerne la validation par email.

      Plusieurs personnes depuis m’ont dit la même chose à propos du “bazar” prestashop, et m’ont avoué avoir préféré Virtuemart, qui apparemment est moins ennuyeux (mais quand même complexe, sinon y’aurait pas besoin de prestataires).

      Ceci dit le problème n’est pas que Prestashop soit une société et que ses logiciels soient payants via du support, vouloir vivre de ses productions est quelque chose dont j’approuve le principe et que je vise moi même, et je sais qu’on ne vit pas de bénévolat.

      Non, le problème est que le produit prestashop se moque de ses utilisateurs en ne fournissant pas des fonctionnalités “normales”, et que les modules qui patchent ces lacunes sont hors de prix et, comme vous le soulignez, souvent de piètre qualité et non supportés.

      Et du coté des développeurs, la lacune principale concerne la documentation, elle est bordélique (passez moi l’expression), et c’est clairement fait exprès (par défaut d’efforts) pour que la connaissance se développe par usure de patience des développeurs qui vendent les modules. D’expérience, la seule documentation fiable est le code source téléchargé, dans lequel il faut aller fouiller pour savoir si tel ou tel hook, api, ou champ de classe est disponible, et avec quel nom (ben oui, ça change ou disparait de version en version, trop facile sinon)

      1. merci beaucoup pour ce module car il fonctionne très bien sur presta 1.5.6.0.
        me permettez vous de le poster sur le forum de prestashop afin qu’un plus grand nombre puisse en profiter. je mettrai directement le lien vers cette page.
        merci beaucoup en tout cas.

  2. Bonjour, pourrais-tu m’envoyer ton module s’il te plait?
    Je suis un peu gauche en informatique bien que j’ai essayé de créer mon site: wwwDOTvintagetouchDOTfr, je ne sais pas du tout où rentrer les codes que tu as mis dans l’article… si tu pouvais m’aider je t’en serais très reconnaissante

      1. bonjour,
        je trouve ce module très bien fait.
        Je voulais juste mettre le choix particulier ou pro tout en haut de l’insription , soit juste en dessous de “vos informations personnelles” .
        Pouvez vous m’indiquer le chemin du fichier a modifier svp
        merci

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *