03

Magento Imagine 2013 – Day 2


Le deuxième jour de Magento Imagine (mardi 9 avril) marque le début officiel de l’événement. Et c’est la conférence magistrale dont les principaux intervenants sont Gary Forman (directeur marketing Magento) et Roy Rubin (co-fondateur de Magento) qui en est le point d’attraction principal. Le reste de la journée est occupé par plusieurs interventions spécifiques que nous avons sélectionnées et auxquelles nous avons participé parmi la totalité du programme.

Jour 2

Conférence : The Art of Commerce

The Art of Commerce. Voici comment l’équipe dirigeante de Magento définit la mission de cette solution e-commerce qui, après 5 ans d’existance et 150 000 site propulsés, fait maintenant partie de la grande famille de eBay Inc. Et c’est l’utilisation de « Commerce » plutôt que « e-commerce » sur laquelle John Donahoe (CEO de eBay) a insisté en expliquant que les mondes du commerce traditionnel et du commerce en ligne sont en cours de fusion, la mobilité étant le lien entre ces deux univers du commerce. La notion de commerce même est donc redéfinie car le consommateur peut (et pourra) combiner le meilleur de ces mondes, téléphone en main. C’est ici que Magento prend toute sa force au sein de l’écosystème eBay Inc. car l’objectif est d’en faire la brique technologique permettant de faire discuter l’ensemble des technologies détenues par eBay Inc. (eBay, Paypal…). Certes, cette vision peut sembler abstraite hors du marché américain sur lequel les offres eBay et Paypal sont sensiblement en avance par rapport au marché européen, mais la tendance à voir « commerce en dur » et « commerce en ligne » devenir symbiotiques et animés par les nouveaux sites et outils mobiles est irréfutable.

Dans ce nouvel exercice du commerce, Magento a toute sa place et a de beaux jours devant lui. En effet, la tendance irresistible à toujours plus de commerce en ligne et de mobilité combinée à une capitalisation de ses solides fondations en font aujourd’hui la solution équipant plus de 26% des sites e-commerce générant un CA de 1 million de dollars ou plus. C’est aussi l’impressionnante communauté active depuis 2008 autour de Magento, combinée à une volonté de l’éditeur de répondre aux besoins en constante évolution des marchands qui ont aussi rendu possible, en 2012, l’implémentation de succursales et filiales de Magento dans plusieurs pays et la croissance 90% de Enterprise Edition.

Il y a donc fort à parier que la montée en puissance de la plate-forme eBay et des outils qualitatifs qu’elle propose – qualification, profiling et consolidation des données utilisateurs – alors utilisés en combinaison avec Magento permettra de profiter de la puissance de Magento pour proposer des produits et services toujours plus adaptés aux publics ciblés.
On se prend à rêver d’un site mobile Magento que l’on consultera en se promenant dans son magasin préféré et qui nous proposera de se faire livrer à domicile la chemise s’accordant à merveille avec le pantalon rouge acheté sur place quelques minutes plus tôt.

Atelier : La performance… encore et toujours

Le sujet est inépuisable et les conférences le concernant sont toujours intéressantes à suivre. C’est ce que nous avons fait en suivant l’intervention de l’agence ayant travaillé sur le site de Angry Birds (http://shop.angrybirds.com). Voici donc quelques bonnes idées que nous avons retenues :

  • Minimiser au mieux les accès I/O sur le filesystem. Autrement dit : ne pas aller charger un par un tous les fichiers nécessaires au fonctionnement de Magento mais charger un unique fichier. Magento propose en natif le compiler qui ne fait pas l’unanimité. Une solution appelée « classpath cache » semble être mieux (http://www.fabrizio-branca.de/magento-class-path-cache.html)
  • Désactiver la génération des rapports Magento sur le serveur DB principal. Il est préférable de laisser un serveur DB séparé effectuer la génération des rapports puis en effectuer une synchronisation vers le serveur principal.
  • Optimiser l’exécution des tâches programmées grâce à un « scheduler ». En effet, les tâches appelées par cron.sh sont linéaires alors que les tâches appelées par cron.php peuvent se recouvrir. Une bonne hierarchisation est donc nécessaire.
  • Envisager de déporter les tables en DB relatives aux ventes sur une autres DB.
  • Evidemment, se focaliser sur la qualité du code produit…
  • … et procéder à des tests qualité avec des outils tels Selenium par exemple.
  • Dans le cadre d’une instance Magento 100% chez Amazon Web Services :
    • faire tourner Magento sur des EC2 alors facilement calibrables
    • livrer le contenu statique grâce à S3
    • utiliser Dynamo DB en tant que cache backend

Atelier : Encore de la performance

Voici le retour d’expérience partagé par Nexcess, un hébergeur largement reconnu pour ses compétences à heberger du Magento.

  • Utiliser APC avec quelques optimisations
  • Préférer PHP-FPM à mod_php
  • Placer un reverse-proxy type Varnish si on utilise Community Edition. Si on utilise Enterprise Edition, favoriser le Full Page Cache
  • Il semble qu’un Apache allégé des modules inutiles à Magento soit aussi efficace que NGINX et plus facile à mettre en place
  • Etudier Percona en lieu et place mySQL peut être très intéressant
  • Une idée très intéressante pour utiliser le cache à deux niveaux : Memcache pour le fast cache (multi-thread mais pas de tag) avec une instance pour le cache et une instance pour les sessions + Redis pour le slow cache (tag mais non multi-thread)

Atelier : bien penser l’utilisation d’un ERP avec Magento

L’idée de cette intervention n’est pas de donner des recettes pour connecter un ERP à Magento mais plutôt d’identifier les questions essentielles à se poser avant la mise en place d’une telle intégration.

Les basiques

  • Est-il vraiment nécessaire de déléguer la gestion des commandes à un ERP ?
  • Les données seront-elles bien consolidées en dehors de Magento ?
  • Quelles informations doivent être transmises de Magento à l’ERP ?
  • Quelles informations doivent être transmises de l’ERP à Magento ?
  • Quels sont les processus métiers à respecter et qui peuvent impacter l’intégration ?
  • Entre Magento et l’ERP, quelles données sont prioritaires ?

La préparation

  • Préparer au mieux le mode de fonctionnement de cette intégration
  • Identifier les fonctionnalités et remontées de données qui ne fonctionneront pas ou mal (exemple : les données relatives à la TVA seront-elles cohérentes entre Magento et l’ERP ?)
  • Comment honorer les commandes et en recevoir le paiement ?
  • La synchronisation des données sera-t-elle en temps réel et, le cas échéant, à quel intervalle ?
  • Quelle technologie utiliser pour effectuer la synchronisation : échange de fichiers plats, via la base de données, des webservices ?

Quelques éléments de solution

  • Il semble que la synchronisation directe via des tables tampon en base de données soit la meilleure solution.
  • Dans le cadre de l’utilisation d’un webservice, garantir que celui-ci est capable de supporter la montée en charge.
  • Lors de l’import de données de l’ERP vers Magento, prendre soin de désactiver les indexations avant l’import puis de les réactiver une fois celui-ci terminé.
  • Prendre soin d’optimiser les tâches programmées de façon à ne pas avoir de tâches trop redondantes et qui se recouvrent.

Conférence : Magento en 2013

Entre quelques interventions sur lesquelles nous ne nous attarderons pas, cette deuxième conférence se focalise sur l’évolution de Magento sur l’année à venir. En voici les grandes lignes.

  • Toujours plus de Magento Enterprise Edition
    • Actuellement, les sites au plus fort volume utilisant Enterprise Edition génèrent en moyenne $5M de CA. L’objectif est de cibler des sites générant $100M
    • La version 1.13 verra ses performances sensiblement améliorées (http://www.magentocommerce.com/product/enterprise-latest-version)
    • Le niveau d’exigence demandé aux Solution Partners sera encore plus poussé et des outils seront mis en place afin de mesurer la qualité des implémentations de la solution qui auront été faites.
    • Mise en place du « Strategic Customer Success Group » dont le rôle est de dédier un chargé de clientèle à chaque marchand utilisant Enterprise Edition.
  • Amélioration de Magento Connect. Voir notre blogpost précédent : Imagine Day 1
  • Magento ne déviera pas de ses valeurs coeur : open source et forte implication communautaire.
  • Une maturation de l’organisation avec un renforcement des équipes dirigeantes.
  • Un renforcement de la qualité de la communauté des développeurs avec, en particulier, la création d’une nouvelle certification « Frontend Developer Certification ». Chez Soon, nous avons profité de notre présence à Imagine pour certifier notre premier « frontend dévoloppeur » !

Les commentaires sont fermés.