Vous avez
une question ?
Un projet ?

Contactez nous !
 

Contactez-nous

Vous avez une question ? un projet ? 
Vous souhaitez plus d'informations sur un produit ? sur notre offre ? 
Contactez-nous, on vous répond sous 4H.

Retour sur la MageConf 2014

Il y a quelques jours se tenait la 2ème édition de la MageConf, l’évènement dédié à la communauté des développeurs Magento. Cet évènement organisé par des passionnés de l’e-commerce et des développeurs se voulait ludique en étant axé sur les échanges entre les développeurs.

Au niveau du contenu, cette 2ème édition se voulait tout aussi intéressante que l’année passé, avec des conférences très orientés développement et processus ainsi que d’autres axées sur l’environnement autour de Magento. Les organisateurs n’attendaient pas moins de 90 personnes pendant cette journée.

Magento 2: changement de paradigme 

La journée a commencé par la conférence « Magento2 : changement de paradigme »,animé par Gabriel Bouhatous. Déjà présent l’an dernier avec sa conférence sur les bonnes pratiques dans Magento, Gabriel revenait cette année avec une conférence passionnante sur Magento 2.

Lors d’un état des lieux initial, on apprend ainsi qu’il y’a environ 250 000 sites Magento en production ainsi que près de 600 modules sur Magento Connect, ce qui prouve (s’il fallait encore le démontrer) que Magento est bien présent sur le marché. Devant cette réussite, Magento était obligé de faire évoluer sa plateforme vieillissante comparé à l’évolution des technologies web.

Magento est donc sur le point de sortir en version 2. Cette sortie annoncée depuis longtemps (http://ismage2ready.com/) est en passe de se concrétiser avec une beta développeur prévue pour le 18 décembre. Les raisons de ce retard son nombreuses mais on en retiendra certaines comme le rachat de la solution par eBay, la réorganisation des équipes ou encore des choix techniques (Twig) finalement abandonnés.

Au programme de ce Magento 2, de nombreuses améliorations comme :

  • Une facilité de contribution accrue avec l’ouverture d’un dépôt sur github
  • Le respect de certaines normes PSR (0, 1, 2, 4)
  • L’intégration de PHPUnit pour les tests unitaires
  • La gestion des dépendances à l’aide de Composer
  • Evolution des technologies front (CSS3, HTML5, jQuery, RequireJS)
  • Le FPC dès la version CE
  • Meilleur gestion des layouts (validation des XML (XSD), un seul fichier de layout par handle)

En plus de cela, on peut aussi référencer toutes les améliorations annoncées dans le dernier Webinar dédié à Magento 2 que nous avions suivi et analysé (http://blog.smile.fr/Retour-sur-le-webinar-dedie-a-magento-2).

Ce que l’on pourra retenir de cette conférence c’est que Magento 2 sera plus simple mais aussi plus éclaté / découpé (avec aussi plus de fichiers à gérer) mais globalement plus accessible que la version 1.X.

Mageopardy 

C’est ensuite Christophe Le Bot avec sa série de jeux appelée« Mageopardy »qui a pris le relai. Ce format, ludique et amusant repose sur un petit jeu ou était proposé des réponses et nous devions trouver les questions.

Voici par exemple certaines de ces réponses avec la question associée.

  • quels sont les 3 codes pool de Magento ? (réponse : core, local, community)
  • quel est la classe mère de pratiquement toutes les classes dans Magento ? (réponse : Varien_Object)
  • avec quelle commande récupérer les fichiers encodés en UTF8 BOM (réponse : grep -rl $ ‘\xEF\xBB\xBF’)

Cet exercice a eu le mérite de capter la curiosité de toutes les personnes présentes dans la salle qui se sont prises au jeu en essayant de répondre aux différentes questions.

Les tests unitaires dans Magento 2

Après une petite pause ou les organisateurs avaient tout prévu pour nous désaltérer, une autre conférence attendue était celle concernant « Les tests unitaires dans Magento 2 » présentée par Hadrien Collongues d’Occitech.

Une politique de tests efficace est indispensable pour assurer la continuité de l’application et délivrer un code de qualité. Magento 2 va plus loin (et même introduit) la notion de tests unitaires. Il n’était pas possible d’en faire sur la version 1.X, il y’avait cependant quelques alternatives comme :

Ces outils étant limités, un choix a été fait d’intégrer directement PHPUnit dans Magento 2. Une documentation officielle est déjà disponible à cette adresse : https://wiki.magento.com/display/MAGE2DOC/Magento+Automated+Testing+Guide, mais étant donné que Magento 2 est en cours de développement, il faut bien faire attention si cette documentation est à jour avant de l’utiliser.

Hadrien nous apprend donc que pour le moment Magento 2 est couvert à 41% par les tests unitaires, en lançant les tests présents dans dev/tests : « Tests: 11688, Assertions: 27899, Incomplete: 30, Skipped: 2. »

Après cette présentation globale, il était temps de réaliser un cas pratique. Même si ce test était très basique, Hadrien nous as montré comment développer un test très simple en étendant certaines classes de Magento. Les slides de cette conférence sont disponibles à cette adresse : http://www.chadrien.fr/slides/2014/magento-2-tests-unitaires/#1

Magento Enterprise Edition

Pour l’une des dernières conférences de cette matinée, un conférencier venant d’Allemagne était parmi nous : Tim Bezhashvyly, bien connu pour ses conférences données sur Magento et le monde de l’e-commerce.

Sa conférence était essentiellement portée sur la version Enterprise de Magento dont il a pu critiquer avec vigueur certains modules. C’était une conférence intéressante qui nous a permis de voir d’un autre œil la version EE de Magento. Si certains problèmes ont été soulevés, la plupart sont déjà connus sur la plateforme comme sa technologie vieillissante de plusieurs années.

Mais ce retard technologique est en passe d’être comblé avec la sortie imminente de Magento 2 en beta pour les développeurs d’ici la fin de l’année.

OpenGento

Enfin, et pour terminer cette matinée, il manquait une annonce de la part de l’organisation de la MageConf. Déjà annoncée sur le bout des lèvres l’année dernière, un projet d’association était dans les cartons.

Mais cette fois ce projet est bien concret et à même un nom,OpenGento(opengento@gmail.com). C’est le nom donné à cette association de développeurs.

Alors pourquoi cette association de développeurs ? Tout d’abord pour garder l’indépendance de la MageConf, afin que le concept soit propre à ce mouvement. Mais aussi dans le but d’organiser d’autres évènements en France sur des thématiques diverses.

Profitant de cette nouvelle, Frédéric Martinez et Pierre  Martin de l’agence PH2M à Toulouse annoncent à leur tour le projet d’organiser un Hackaton à Toulouse. Le programme est simple, pendant un weekend permettre à une vingtaine de développeurs de se retrouver afin de partager et de se lancer des défis techniques, en reprenant leurs mots « boire de la bière et faire du Magento »

Cette initiative est encourageante car il n’y a toujours pas eu d’Hackaton en France à l’heure actuelle. Globalement nous ne pouvons que nous féliciter de cette initiative qui aura pour effet de créer une réelle émulation autour des développeurs de la solution. C’est aussi un bon moyen de prendre les devants avec Magento 2 qui arrive afin d’apporter des solutions aux développeurs dès la sortie publique de la version 2.

Est venue la pause du midi bien mérité, la aussi les organisateurs avaient tout prévu avec un petit cocktail pour commencer, suivi de grandes pizzas et un dessert. Cette longue pause a permis d’échanger et partager avec les autres acteurs Magento, ce fut un très bon moment.

Magento et OroCRM: le duo gagnant ?

Mais la pause ayant assez duré, il fallait attaquer une nouvelle conférence : « Magento et OroCRM: le duo gagnant ? » présenté par Sylvain Rayé. OroCRM est une solution CRM OpenSource basée sur OroPlatform et donc Symfony2. Technologiquement, elle embarque toutes dernières avancées Frontend et Backend (jQuery / NodeJS / Bootstrap / Twig et Apache / Nginx / PHP / MySQL / PostgSQL).

On pourrait regretter la longue présentation de l’architecture d’OroCRM qui avait plus l’air d’être une présentation sur Symfony 2 que d’OroCRM, mais cela nous a permis de comprendre certains choix techniques autour de la plateforme.

Sylvain nous a par la suite présenté comment Magento et OroCRM fonctionnaient ensemble. La configuration est simple et comme OroCRM intègre nativement les connecteurs Magento, il suffit uniquement d’installer un module appelé OroCRM Bridge qui permet de faire le lien entre les 2 applications.

L’intérêt majeur d’OroCRM présenté en lien avec Magento est la synchronisation sélective d’information entre les 2 plateformes. On peut ainsi synchroniser les clients depuis différents canaux, l’historique des ventes ou encore les paniers abandonnés. L’intérêt principal est de pouvoir par la suite récupérer ces informations centralisées pour les exploiter à travers des campagnes de marketing par exemple.

D’un point de vue technique, OroCRM va dialoguer avec Magento à l’aide de WebServices (SOAP ou REST). Et va permettre une synchronisation dans les 2 sens des informations sélectionnées en choisissant le canal de distribution par défaut afin de synchroniser en 1er les informations arrivant de tel ou tel canal.

Magento : du début à la fin 

Enfin la dernière conférence de la journée appelée « Magento : du début à la fin » portait sur les bonnes pratiques de déploiement / test / reporting présentées par Jacques Bodin-Hullin. Jacques avait déjà animé une conférence très intéressante l’année dernière sur les outils indispensables au développeur, nous attendions donc cette nouvelle conférence avec impatience.

Cette conférence toute aussi intéressante que celle de l’année passée introduisait les outils utilisés autour de l’application Magento, on retiendra entre autre :

  • Vagrant : outil de virtualisation pour les développeurs (nous utilisons chez Smile les LXC, plus intégrés à Linux).
  • Redmine : pour la gestion de projet (que nous utilisons sur tous nos projets).
  • CasperJS : un bon outil de test et rapide à mettre en place, il y’a aussi Selenium qui permet de faire des tests sur plusieurs navigateurs, une autre alternative….
  • Gitflow : basé sur Git, permet une bonne gestion des branches.
  • Fabric : pour les scripts de déploiement en Python, un outil très puissant, une alternative étant Phing, basé sur Apache Ant qui permet d’écrire des scripts de déploiement / build.
  • HipChat : outil de chat édité par Atlassian.
  • Datadog : pour faire du monitoring (on à aussi dans le même genre Graphit qui est Open Source ou encore Munin)
  • Jenkins : outil d’intégration continue.

Ce que l’on retient de cette conférence c’est comment tous ces outils sont utilisés et interconnectés ensemble afin de déployer et suivre l’application. Cela peut donner des idées mêmes si nombre des ces outils sont déjà utilisés chez Smile. Nous avons été séduis par l’utilisation que Jacques faisait d’HipChat qui permet d’avoir un vrai suivi des déploiements puisque les serveurs eux même peuvent envoyer des notifications dans ces chats pour avertir qu’un déploiement à été correctement exécuté.

Les slides de cette présentation sont disponibles à l’adresse suivante : http://fr.slideshare.net/jacquesbh/magento-beginning-to-end

Lightning Talk

Enfin et pour terminer cette journée riche en enseignements, les organisateurs avaient décidé de mettre en place un nouveau format d’échange avec les Lightning Talk. Le but de ces échanges était d’avoir un aperçu rapide d’une technologie particulière présenté en 5 min.

Ainsi on a pu voir se succéder 5 présentations, même si les 5 minutes étaient parfois courtes et ne permettait pas de poser des questions c’était un bon moyen de découvrir une nouvelle technologie. Au final nous avons pu participer aux présentations suivantes :

  • Magento sous Docker : it's a kind of magic par Hadrien Collongues : nous avons pu voir comment découper notre application ne plusieurs services dans le but d’avoir une meilleur scalabilité et remplacer des éléments de l’architecture de l’application. (Slides disponibles ici : http://www.chadrien.fr/slides/2014/magento-sous-docker/#1)
  • Pourquoi choisir Redis pour le cache et les sessions ? par Nicolas Trossat : Nicolas a pu démontrer que l’utilisation de Redis dans une application Magento était indispensable pour améliorer les performances.
  • Automatiser son workflow front-end Gulp par Guirec Lefort : présentation d’un outil frontend pour assurer une meilleure performance / qualité de l’utilisation des ressources en passant notamment par des streams qui permet de limiter l’utilisation massive de fichiers JS et CSS par exemple dans Magento.
  • Categories are wrong ! par Tim Bezhashvyly
  • Et enfin Les 42 protips du dev’ Magento par Pierre Martin : qui se voulait être un référencement de bonnes pratiques pour Magento. (Slides disponibles ici : http://real34.github.io/slides/42-protips-magento/#1)

C’est ainsi que se terminait la 2ème édition de la MageConf avec, comme l’année dernière de nombreuses conférences toutes aussi passionnantes les une que les autres. Nous attendons avec impatience la 3ème édition de cette conférence, et sommes tournés vers la nouvelle année qui arrive avec en ligne de mire la sortie de Magento 2 !

Experts de  Smile
Auteur de l’article

Experts de Smile

Avis des internautes

comments powered by Disqus