3D Secure, mythes et légendes


E-Commerçant de tous bords, je vous encourage à lire ce post : Comment enlever 3D Secure , et tout particulièrement les commentaires qui s'ensuivent. 40% de perte de Chiffre d'affaire ! 40% !!! L'attitude des institutions bancaire me sidère : leur but ne devrait-il pas être de faire gagner le plus d'argent possible à leurs clients ? Alors pourquoi donc imposer un "bidule" qui fait instantanément chuter les ventes, sans aucune véritable valeur ajoutée en contrepartie ?!

Si je résume :

  • 3D Secure n'est absolument pas obligatoire
  • N'écoutez pas votre conseiller qui veut vous l'imposer
  • Avec 3D Secure : 40 % de CA en moins
  • Sans 3D Secure : moins 0.5% de fraude, grand max
  • Votre conseiller refuse le retrait de 3D Secure ? Insistez, insistez, insistez encore...
  • Au pire : changez de banque !!!

 

Note : coîcidence, je viens justement d'acheter une imprimante chez "rue du commerce". Devinez quoi ?... il n'utilisent pas 3D Secure. Evidemment.

 



Commentaires 5 commentaires

Faire un print_r dans un template Smarty


J'avais besoin ce matin de voir ce que contenait précisément l'objet $blockCategTree des catégories de Prestashop, et j'ai trouvé ça :

{$blockCategTree|print_r}

Pratique ? Indispensable !!!



Commentaires 2 commentaires

Envoyer des Mails chez Orange depuis Prestashop


Vous l'avez peut être remarqué à vos depends, mais la boite Mail d’Orange filtre les Spams sur le return-path (entre autre) des headers de chaque E-Mail et le problème, c’est que par défaut ce header est à “www-data” lorsque les Mails sont envoyés à partir de la fonction Mail() de PHP. Du coup, vos Mails n'arrivent même pas dans la boite Spams, ils sont tout simplement ignorés.

Prestashop utilise quant à lui une librairie (Swift), pour gérer l'envoie des Mails, et il n’a pas été facile de m’y retrouver afin de fixer ce problème de header, et donc de pouvoir envoyer des Mails aux destinataires Orange. A ma grande surprise, ce sujet -pourtant crucial- n'est que peu abordé dans les différents forums, alors je vous donne une soluce un peu “brutale”, mais qui a le mérite de fonctionner rapidement et sans beaucoup de code.

Une fois dans le répertoire de votre boutique, éditez /tools/swift/Swift/Plugin/MailSend.php, et rendez vous autour des ligne 158 à 161 qui doivent ressembler à ça :

$headers = $headers->build();
if (!ini_get("safe_mode")) $success = mail($to, $subject, $message, $headers, $params);
else $success = mail($to, $subject, $message, $headers);

Tout est dans le cinquième argument de la fonction Mail, où pour l’instant $params n’est pas initialisé. On va donc le faire directement ici :

$headers = $headers->build();
$params = "-f" . "administrateur@mon_nom_de_domaine.com";
if (!ini_get("safe_mode")) $success = mail($to, $subject, $message, $headers, $params);
else $success = mail($to, $subject, $message, $headers);

Voila, c’est tout. Je vous conseil aussi d’ajouter un SPF dans votre config de bind, si vous y avez accès, ainsi que valider votre domaine auprès du “sender-ID program” de chez Microsoft, si en prime vous voulez que les destinataires de chez Hotmail reçoivent eux aussi vos messages.

Pfiouuu…contourner les Anti spam maison des uns et des autres, franchement, c’est l’enfer.



Commentaires 2 commentaires

Smarty, non merci


Ca fait maintenant plusieurs jours que je travail sur un E-Commerce Prestashop avec un thème et des fonctionnalités bien tordues. Mais bon, Prestashop est une bonne plateforme, bien concue. Créer un module ou tordre un peu le Core pour l’adapter à ses fins est assez facile. Par contre, le problème, c’est ce p*** de SMARTY !!! Je me demanderai toujours pourquoi, mais pourquoi donc les gros projets (sauf Magento, tiens…) ne peuvent s’empêcher de s’embarquer dans ce bidule qui, pêle-mêle :

  • Ne simplifie pas _du tout_ la vie du développeur
  • Ne simplifie pas non plus le job du Designer
  • Alourdi considérablement l’execution du code
  • Ne sépare EN RIEN le business logic du template
  • Rend très vite les templates tout simplement illisible

 

Alors quoi ? I18n ? YAML permet de faire plus clair, concis et tout aussi efficace. Séparation de la logique du template ? Je vois pas le rapport, MVC est là pour ça, et c’est pas de rajouter une deuxieme couche au niveau de la vue qui va arranger quoi que ce soit. Quant à la lisibilité du template, je vous renvoie vers HAML, et vous verrez -si vous ne connaissez pas encore- ce que “lisibilité” veut dire !

Bref, Smarty, non merci.

 

Edit : ha tiens, je ne suis apparemment pas le seul.



Commentaires 2 commentaires

Prestashop c’est bien, c’est pratique… mais le code pique un peu les yeux quand même


Pfiouuuu, après 8 mois exclusivement (ou presque) consacrés à Rails, me revoila plongé dans du PHP avec Prestashop. Je le dis franchement : ça fait mal. Certes, certes, la modularité de Prestashop est fort bien fichue, et question ergonomie du Back-Office, c’est définitivement ce qu’il y a de mieux : pratique, ergonomique et pragmatique. Ok, c’est vrai. De toute façon, je n’ai pas trop le choix, entre l’usine à Gaz (le mot est faible) qu’est Magento, le dinosaure OSCommerce et ce satané ForgeOS “qui va venir mais n’est pas encore là”. Bref, quoi qu’on en dise, faut reconnaitre qu’il n’y a pas vraiment le choix quand on veut quelque chose de sérieux.

Donc : en avant pour Prestashop. C’est là que me prend l’idée saugrenue d’utiliser la features “Fabricant” afin de m’en servir pour croiser les résultats de recherche et ainsi sortir de la hiérarchie “catégories/sous catégories” traditionnelle, conformément à la demande de mon client. Facile, il me suffit de renommer l’onglet “Fabricant” en “Univers”, et hop, je vais pouvoir récupérer toutes les fonctionnalités de recherches, d’affichages et de tri ! Trop cool, Prestashop. Une ‘tite recherche dans les fichiers de langue avec Eclipse et hop. Sauf que non. L’onglet se nomme encore et toujours “Fabricants”. Le cache de smarty ? Non. Bon, ok, je creuse donc… mais il se construit où ce sous menu admin ?! Tiens, c’est quoi ça : “/admin/tabs/AdminTabs.php” ? Non mais, tout est là dedans ??! Aaaarghhhh, mes yeux !!! Du smarty, du PHP, du HTML, et puis tiens vous prendrez bien un ‘tite louche de Jquery ? Le tout joyeusement inséré dans une méthode. La cerise sur le cacke : pas le moindre commentaire. Ha si, tout en haut “Tabs tab for admin panel, AdminTabs.php” (ça me fait une belle jambe). C’est surprenant d’avoir des modules MVC et bien fichu avec un Core aussi foutraque.

Ca fait maintenant un heure que je suis dessus et il ne me reste qu’une éventualité : la chaine “Fabricant” est dans la BDD. Si c’est c’est bien ça, c’est vraiment du n’importe quoi. Ou bien c’est que la fonction recherche dans mon Eclipse est en panne.

Haaa, Rails, HAML, les helpers, MVC, I18n… vivement que ForgeOS arrive parce que PHP, vraiment, ça craint.



Commentaires 4 commentaires

En ce qui me concerne, le E-Commerce, ce sera avec Prestashop


Finalement, après plusieurs mois de recherche et de multiples essais, mon choix s’est arrêté sur Prestashop. Définitivement ce qu’il y a de mieux pour monter une boutique en ligne.

Pour faire bref, un rapide tour d’horizon des compétiteurs en lices, pour ne citer que les principaux :

  • OS Commerce : Ex standard de fait du E-Commmerce des années 2000, il en a gardé toutes les caractéristiques : Markup HTML a-bo-mi-nable et code spaghetti. Qui plus est désormais avec une communauté en perte de vitesse… bref, trop vieux.
  • Magento : Alors là je m’interroge… est sensé être le nec plus ultra en la matière, et possède effectivement des caractéristiques techniques tout à fait remarquables (Zend Framework, MVC pur et dur, templates à base de XML/XSLT, AJAX du sol au plafond…), bref, de la belle ouvrage, sans nul doute. Maintenant, vu du client, je trouve complétement fou de devoir passer une bonne demi-heure pour ajouter un simple produit au catalogue. Que Magento soit une usine à gaz pour le développeur qui met en place la solution, passe encore (on a l’habitude), mais que le back-office soit un dédale archi-complexe et labyrinthique : non. Je n’ai pas envie que mes clients m’appellent dès qu’ils veulent ajouter une photo à un produit de leur catalogue. Bon, il est certainement possible de customiser aussi le back-office pour rendre les choses plus simple, certes, mais… hein ? Oui, c’est ça, j’ai pas que ça à faire. Donc, exit Magento
  • Drupal et Joomla : Soyons sérieux… on parle de plate forme de E-Commerce, là, pas de bidouillage sur des CMS dont je me refuse déja l’emploi pour mes sites vitrines. Il manque beaucoup trop de fonctionnalitées, et en revanche, on se traine un maximum de code qui ne sert à rien de le contexte voulu (problème typique du CMS). J’avais un a-priori, j’ai installé, testé… et mes craintes sont confirmées. Allez hop, suivant.
  • La “Plate forme perso” : Ayant une semaine devant moi, j’ai tenté d’engager le processus, avec l’intention de faire le point d’ici là, et de voir dans quelle mesure il serait réaliste de tout-faire-soit-même<®. Bon, après une semaine, le constat est simple et sans appel : n’essayez même pas, ce ne serait que perte de temps. Ce genre de projet est totalement hors de porté pour un développeur seul.
  • …Finalement, j’ai fini par trouver Prestashop qui rempli ni plus ni moins que très exactement les tâches que je lui demandais : Interface d’administration simplissime, mais loin d’être simplette, customisation vraiment _TRES_ aisée, communauté vivante et agréable (en plus d’être Française, toujours ça de gagné), installation déconcertante de facilité, prise en main en un clin d’oeil…

Bref, pour moi le match est clairement joué et mon choix déterminé, ne trouvant pratiquemment que des défauts aux autres prétendants, et quasi toutes les qualités réunies dans la solution Prestashop !



Commentaires Aucun commentaire pour le moment