La boîte à outils des utilisateurs de Magento : ressources, analyses, trucs et astuces, dossiers, extensions, tests

Toute l’information Magento est sur Magentips News

Les sources d’information autour de Magento se multiplient à toute vitesse. Suivre les actualités au jour le jour devient un peu laborieux. Mais Magentips va vous simplifier la tâche : Magentips News, le troisième outil Magentips, est en ligne !

Vous y trouverez tous les articles d’une sélection de blogs, classés par date ou par channel. Bien sûr, ce n’est ni exhaustif puisque je sélectionne les sources, ni objectif car je réalise la ventilation dans les channels selon des règles qui me semblent pertinentes mais qui me sont propres. Cependant, les principales informations y sont et donnent une vue globale intéressante.

Si le concept vous plait, vous pouvez vous y abonner. Un flux RSS global et des flux par channel sont à votre disposition. Quant au moteur de recherche, il vous permettra de vous concentrer sur un sujet parmi toutes les sources.

Bonne lecture !

Purger les sessions Magento, c’est utile !

Magento dispose d’un outil d’installation rapide, simple et efficace, mais une fois que vous avez passé les 5 minutes de cette opération basique, il reste 99,99 % du travail à faire avant d’ouvrir le site au public.

Parmi les petits trucs qu’il vaut mieux ne pas oublier sur un serveur à fort trafic, il y a la purge des sessions Magento. Si vous choisissez de stocker les sessions utilisateurs dans des fichiers (l’autre option étant de les stocker dans la base de données), ils viendront s’ajouter les uns après les autres dans le dossier var/session de Magento, sans jamais être supprimés.

Le problème, c’est qu’un serveur, même puissant et bien optimisé, accepte mal plusieurs millions de fichiers dans un seul dossier. Il devient même impossible de faire une simple commande ls pour lister son contenu : le serveur vous rendra la main plusieurs heures après… s’il y parvient !

Il faut donc purger les fichiers de sessions régulièrement. Les plus pressés feront un simple rm -rf du dossier session. C’est basique mais un peu brutal. Les utilisateurs et clients connectés ne vont pas forcément apprécier la perte de leur session et des commandes en cours…

J’ai eu le cas aujourd’hui sur un serveur dont la purge n’avait pas été mise en place. Avant de l’ajouter, j’ai vérifié que je pouvais gagner les longues minutes de purge de plus d’un millions de fichiers en supprimant directement le dossier session. Un rapide contrôle du trafic, des sessions et des commandes en cours : aïe, il y a trop de monde. Environ 200 sessions probables (selon temps de visite moyen) avec un taux de transformation de 6% et un panier moyen de 90€, ça me donne… 1080 € de pertes pour une simple commande rm -rf ! Un peu cher, je trouve. J’exécute donc une purge par date de fichiers et je laisse faire le serveur :

find . -atime +1 | xargs rm -f

90 minutes plus tard, tous les fichiers non utilisés depuis 48h sont supprimés (oui, +1 donne bien 2 jours, et non 1…). Je n’en ai plus « que » quelques milliers. Il reste à automatiser cette commande via crontab (en ajoutant les chemins absolus, bien entendu) et le tour est joué.

Sauf qu’il y a encore moyen d’améliorer tout ça, comme par exemple monter le dossier var de Magento en RAM. On gagne énormément en performances sur la gestions des sessions et du cache. Mais c’est une autre histoire…

Au passage , cette petite anecdote montre aussi qu’il ne faut jamais perdre de vue le métier de son client ou employeur. Certaines opérations menées sans réflexion et sans contrôle peuvent rapidement coûter très cher sur un site e-commerce. Il faut avoir en permanence le réflex d’évaluer la perte d’exploitation liée à une opération, même minime. En fin de mois, le cumul peut représenter bien plus que le salaire perçu…

Flat catalog : attention à la configuration des attributs

Depuis Magento Community Edition 1.3.0, nous obtenons de bien meilleures performances sur le frontend, grâce au catalogue à plat ou flat catalog. Varien a introduit ce concept pour optimiser les temps de réponse des sites qui offrent un catalogue riche (aux alentours de 1000 produits, mais le seuil est très variable selon complexité des attributs, des jeux d’attributs et des types de produits).

Si l’activation du flat catalog est à peu près évidente (nous allons voir ça ci-après), il faut comprendre ce que fait Magento lorsqu’il crée les tables MySQL des produits à plat. Et on constate vite que, si on ne touche pas au paramétrage des attributs, on n’obtient pas du tout le résultat escompté !

Lire la suite »

Les règles du e-commerce en un clic

Règles du e-commerce en France

Monter un site e-commerce est un vrai défi technique. Entre la structure du catalogue, l’arborescence de navigation, les modes de paiement et de livraison, les promotions, les échanges de données avec les solutions ERP ou CRM, les délais de mise en oeuvre, les données existantes à migrer, les tests de charge, il devient difficile de ne pas oublier un petit détail légal capital qui pourrait remettre en cause l’activité du site.

Une quantité impressionnante d’obligations et règles d’usage s’ajoute à l’épais cahier des charges. Cependant, ces contraintes ont un énorme avantage : elles sont (presque) les mêmes pour tous. Alors plutôt que de chercher à chaque fois ce qu’un site e-commerce doit afficher et comment il doit se comporter, Magentips vous propose son outil de recherche des règles du e-commerce applicables en France.

Il s’agit pour le moment d’une version alpha, incomplète tant sur les fonctionnalités que sur le contenu, mais l’idée est là. Ce nouvel outil Magentips sera enrichi au fur et à mesure et connecté à terme aux fonctionnalités de Magento pour configurer et exploiter rapidement un site e-commerce sur le territoire français.

Bien entendu, il n’a pas vocation à remplacer les textes officiels, son contenu ne peut donc être garanti. Mais il donne les éléments-clés à ne pas oublier pour créer son activité de vente en ligne.

Vos remarques sont les bienvenues pour l’améliorer et y intégrer les informations dont vous avez besoin.

Explorer Magento avec nWIRE

nWIRE

Magento est un bien joli projet qui peut maintenant servir de cas d’école pour les élèves ingénieurs. Son architecture objet complexe mais extensible offre un degré de personnalisation rarement vu dans une solution e-commerce.

Cependant, avoir une vision globale ou comprendre le comportement précis d’un module reste un exercice ardu. Surtout sans documentation de référence…

Heureusement, il existe toujours un outil fabuleux pour nous sauver la mise et, sur ce coup, c’est nWIRE for PHP qui s’y colle. Avec talent.

nWIRE analyse le code PHP et en extrait tous les composants et associations. Intégré à Eclipse, il offre une vue précise des éléments du code source, notamment sur des architectures purement objet comme Magento. Les grincheux vont me dire que l’UML est fait pour ça et que PHPDocumentor nous sort ces informations. Sauf que personne n’a réussi à le faire pour Magento, alors que nWIRE le fait en temps réel pendant le développement. Petit tour d’horizon.

Lire la suite »

Déclarer les périodes complémentaires de soldes

Déclaration des soldes complémentaires

Alors que les sites e-commerce battent leur plein avant Noël, leur gestionnaire prépare déjà la suite : les soldes. Et comme ils sont assujettis aux mêmes règles que les boutiques physiques, mieux vaut bien les connaître.

Depuis le 1er janvier 2009, la durée de chaque période fixe de soldes (hiver et été) est fixée à 5 semaines. Mais il est maintenant possible d’ajouter deux périodes complémentaires d’une semaine maximum de soldes dans l’année (sauf dans le mois précédant les soldes d’hiver ou d’été). On les appelle couramment les soldes flottantes.

Evidemment, ce n’est pas parce qu’on a le choix des dates qu’on peut le faire sans rien dire à personne. Ces périodes complémentaires de soldes doivent faire l’objet d’une déclaration préalable. Le Ministère de l’Economie, de l’Industrie et de l’Emploi facilite cette démarche grâce à un outil de télé-déclaration des périodes complémentaires de soldes.

L’adhésion est simple et rapide. Vous pouvez même enregistrer un ou plusieurs sites e-commerce sous un même compte. Ce serait dommage d’être en infraction avec une contrainte aussi infime !

Il ne reste plus qu’à mettre en place les soldes dans Magento. Mais c’est une autre histoire, à venir sur Magentips !

Magento Light Edition pour bientôt ?

Olivier Lévy sur son Blog e-commerce a réussi, pendant le dernier Bargento, à obtenir quelques informations sur Magento Light Edition. Rien n’est encore officiellement annoncé, mais ce projet sera une réponse à l’absence de Magento sur le marché des « petits » projets e-commerce.

Nous discutons souvent de ce manque entre intégrateurs et avec Varien. J’avais donc émis l’idée de créer une version allégée de Magento (voir mon commentaire sur l’article CAB Meeting #2 : Les grandes lignes, sur le site de Wikigento). Le but était double :

  • Offrir une plate-forme légère et performante (seules les fonctionnalités nécessaires au moteur y seront intégrées).
  • Offrir une facilité et une rapidité de mise en œuvre (localisation, besoins métier, cadre légal, web design, etc.).

J’avoue avoir une grosse préférence pour le premier but. Magento Light Edition doit avant tout être un moteur léger et rapide, dénué de tout module métier (comme Google Chekout et Paypal, pas ou peu utilisés en France). C’est sur cette base que devraient s’ajouter les modules indispensables aux besoins génériques d’un marché local (TVA, législation, langues, devises, etc.), via un configurateur d’options qui construira l’archive proposée au téléchargement. Charge aux différentes communautés locales d’alimenter ce socle et de maintenir les modules locaux génériques pour offrir un réel plus après l’installation de la plate-forme.

J’en rêve : un Magento qui charge 4 fois moins de classes.

Bravo Olivier pour ce joli scoop !

Bargento 3 : la synthèse

Inauguration Magento Academy

La folle journée est terminée. Il est loin le temps de la première rencontre Magento francophone dans un bar de la Porte de Versailles en septembre 2008 : nous n’étions qu’une vingtaine. Aujourd’hui, ce sont 330 personnes qui ont assisté au programme chargé du Bargento 3. Et ça change tout ! Voici, à chaud, mes premières impressions.

Lire la suite »

Un guide de référence au Bargento 3 ?

Bargento3

Le Bargento 3, c’est dans 2 jours ! La journée s’annonce exceptionnelle avec plus de 300 participants, l’inauguration de la Magento Academy, un concours de programmation de widgets, des présentations d’extensions… Entre conférences, ateliers et discussions de couloir, je ne vois pas comment tout va tenir en 10h de temps, mais c’est la magie de l’événement.

Cette fois-ci, je n’anime pas d’atelier, mais j’accompagnerai l’AFUP, partenaire de l’événement, et son président, Xavier Gorse, pour organiser la journée et accueillir les participants.

Malgré ces annonces étourdissantes, il manquait un truc… Un truc que je n’ai pas trouvé en 2 ans d’existence de Magento. Comme j’ai du mal à travailler sans, j’ai fini par m’y mettre et un premier jet sera disponible dans quelques jours : un Guide de référence Magento.

Et comme Magento évolue très vite, il ne s’agit pas d’un livre en papier mais d’une application web qui utilise des technologies sémantiques. Première brique, le référentiel des fonctionnalités de Magento Community Edition permet de trouver n’importe quelle information détaillée concernant une fonctionnalité de Magento (comme par exemple, où elle se situe dans l’interface d’administration). Comme il a pour but d’aider les utilisateurs au quotidien, les outils proposés sont adaptés à une recherche rapide :

  • Recherche plein texte
  • Filtres à facettes hiérarchiques (plus fort que Magento !)
  • Tris dynamiques
  • Groupement des résultats

Qu’obtient-on à la sortie ? Un peu ce qu’on veut en fait. Quelques exemples :

  • Je souhaite caler toutes les adresses e-mail de Magento. Je tape « e-mail » dans le moteur de recherche et j’obtiens toutes les fonctionnalités qui ont un rapport avec les e-mails.
  • Je souhaite paramétrer ce qui concerne le profil local de la plate-forme. Je sélectionne le groupe fonctionnel « Internationalisation / Localisation » et j’ai la liste complète des points à traiter (voir écran ci-dessous).
  • Je souhaite connaître toutes les fonctionnalités attachées à un menu Magento. Je choisis une entrée de menu Magento dans le filtre hiérarchique correspondant et j’ai une liste exhaustive.
  • J’ai besoin de détails sur une fonctionnalité. J’ouvre le panneau des détails et je sais tout.
  • Je souhaite avoir la liste de tous les boutons de l’interface d’administration de Magento. Je choisis l’élément IHM « bouton » comme filtre. Bon là, je ne vois pas à quoi cela peut servir mais ça sait le faire !

En résumé, c’est un outil très souple et rapide qui saura s’adapter à vos recherches. Dans un premier temps, le contenu sera assez léger, mais le but est de l’alimenter au fur et à mesure des retours d’expérience. J’ai même prévu des liens avec les meilleures astuces liées à une fonctionnalité de Magento !

C’est Noël avant l’heure. Pour la plaisir (et le buzz !), une petite copie d’écran :

Référentiel Magentips

A lundi pour une petite démo ?

Un comparateur des versions stables de Magento

Comparateur de versions Magento

Au rythme des versions de Magento, il devient difficile de suivre les modifications apportées au code source. Pourtant, ce suivi est obligatoire pour garantir la compatibilité des extensions ou des thèmes avec une nouvelle version.

Pour les extensions, les développeurs ont l’habitude de suivre les feuilles de route et les changelogs. Une nouvelle version de Magento appelle donc une nouvelle version de l’extension. C’est habituel.

Il en est tout autrement pour les thèmes. Chaque thème est souvent spécifique à un site e-commerce. En cas de mise à jour de Magento, il est possible que le thème par défaut change. Il faut donc répercuter ces modifications sur le thème spécifique, sinon c’est bugs garantis ! Et comme Magento regorge de fonctions Javascript et Ajax, il est parfois pénible de tout passer en revue.

Alors pour vous faciliter la tâche, je mets à disposition un « Comparateur des versions stables de Magento Community Edition ». Cet outil répertorie toutes les modifications du code source de Magento entre deux versions stables. C’est visuel, exhaustif et rapidement accessible. Le genre de truc qu’on utilise plusieurs fois par jour…

N’hésitez pas à donner votre avis pour améliorer la chose. Et après, j’ai des trucs encore plus dingues dans les cartons !

Comparateur de versions Magento - Détails d'un fichierDétail d’un fichier modifié entre deux versions Magento, avec mise en évidence des lignes.