28/11/2013

Mageconf a tenu ses promesses (debrief)

Hier, j'étais à la Mageconf, l'évènement entre développeur Magento créé à l'initiative de Nicolas TROSSAT de Boutik Circus et ses partenaires. J'aurais du poster cet article sur un site plus adapté ecommerce, on en reparlera un jour si je le met en place. Je vais méler un peu ce que j'ai vu et mon expérience personnelle.


Magento, qu'est-ce que c'est ?

Magento est une solution e-commerce Open-Source qui a été rachetée par E-bay (oui vous avez bien lu, celui qui possède aussi paypal).

C'est une solution puissante, mais il faut savoir la maîtriser car il y a des spécificités dans son organisation et un système de modularité qu'il faut bien connaître.

En effet il est basé sur le framework zend avec une séparation du code et du design, et comme ils ont poussé cette séparation au maximum, cela demande un peu plus de compétences pour le dev et l'intégration. Moi, je me situe plutôt dans l'intégration, la dernière boutique que j'ai fait vend des lunettes.

Levé à 5h pour courir à la gare. Pile poil à l'heure pour prendre mon train. Je savais que j'aurais du retard et que je louperais une partie de la première conférence de Gabriel Bouhatous.

Les bonnes pratiques avec Magento

Moi qui suis coutumier du jean, t-shirt, je me suis dis que pour monter à Paris il fallait que je mette un costume (vu à la tv). J'ai fait mon provincial, et j'étais un des seul à avoir un costume, les 2 autres étaient un représentant de chez payline et le deuxième Gabriiel  qui présentait cette première conférence.

1ère bonne pratique : venir en Jean/pull lorsqu'on vous dit que c'est qu'entre dev.

J'ai donc loupé cette première conf complétement vu que mon train est arrivé 41 minutes en retard et je vais voir si je peux obtenir les slides, sinon il faudra aller faire une formation à l'ecommerce academy.

Formation Magento (pub)

A noter que si vous l’appelez de ma part pour avoir une vraie formation dev Magento avec les meilleures pratiques, vous bénéficierez de 5% de réduction en lui donnant le code "love-moi" et (5% sera reversé à l'oeuvre caritative de ma vie), il vous fera un bisou en prime.


Si je devais résumer ce que je n'ai pas vu et entendu mais que j'ai cru qu'il a dit lors des questions/réponses :

"Touchez pas le core de Magento bordel ! Il y a un répertoire community, respectez la modularité, et faite comme si base/default et default/default n'existait pas au niveau du thème, ça vous évitera des mauvaises surprise lors de mise à jour"

Montée de version de Magento : la préparation, les étapes, les pièges à éviter

La aussi, comme mon train #sncf Marseille-Paris a pris 41 minutes de retard, j'ai aussi loupé des correspondances de bus pour arriver sur place en 30 minutes.

Je suis donc arrivé à la conclusion de la conf de Sebastien lepers (c'est grâce à lui entre autre que la traduction de langue de la version CE de Magento est compréhensible, contrairement à la version entreprise).

Ne passez pas direct d'une version 1.3 à la dernière, passez par des étape intermédiaires en vous assurant à chaque fois que vous n'avez pas perdu de modules en route. C'est là que tu regrette d'avoir fait installé et pas désinstallé des modules qui servent à rien avant.

J'en ai pleuré une fois, parcqu'avant magento utilisait pear et gardait en dur les paramétres. Donc j'ai copié dans un sous domaine sur le même serveur, fait une mise à jour sur le sous-domaine et ça m'avait pété la prod.

S'inspirer des méthodes agiles pour mieux organiser vos projets Magento

 Animé par Nicola Trossat, cette conf était plus orienté pragmatisme et yoga. L'utilisation des méthodes agiles pour progresser. Il a été question de scrum.

Il y a une transparence du projet parcque toutes les tâches sont répertoriées, des process sont données, des recettes de test, le client sait toujours où il en est. Toute l'équipe est capable de donner des informations sur l'avancement du projet grâce à des réunions non préparées tous les jours en répondant à 3 questions : qu'ai-je fait hier, que vais-je faire aujourd'hui, y a t'il des points bloquants, et si oui, c'est toute l'équipe qui va plancher à la résolution du problème. Cela permet d'avancer sans être dans un stress continue.
Tous les développeurs peuvent prendre une tâche sur un projet qui ne leur est pas particulièrement affecté.

Il y a aussi la mise en place de pair programming, il y en a un qui avance pendant qu'un autre se repose, mais celui qui se repose prend le soin de sécuriser ce qui est fait, cela permet de monter en compétences. 

Voila les slide La méthode agile dans vos développements

Table ronde sur qu'est-ce qu'un code de qualité

Le débat tournait autour de : est-ce que vous commentez votre code, est-ce que vous fournissez du code de qualité en respectant toutes les conventions ?

Privilégiez vous un code plus performant malgrés qu'ils ne respecte pas les conventions ou à l'inverse, respectez-vous bien les conventions alors que le code est plus lourd ?

Prenez-vous le temps de faire des test unitaires ?

Les avis étaient mitigés. Souvent le critère budget vont faire que les développeurs s'en préoccupent ou pas.

Faut il faire un module spécifique ou un module générique pour les dev spécifique de fonctionnalités ?


Panorama des mauvaises pratiques - Christophe Le Bot 

Auteur du livre Magento dont je crois que j'étais le seul possesseur dans l'assemblée, et que même amazon cherche à me racheter parcqu'il n'est plus édité. Je crois que c'était un travail tellement pharaonique qu'il n'a pas voulu le mettre à jour.



Ne pas juger. On est susceptible d'être le mauvais codeur d'un projet dont hérite un confrère, ou ça peut être un code que l'on a produit il y a longtemps. Ou tout simplement, le client n'avait pas les moyens ou ne voyait pas l’intérêt de payer plus cher pour avoir un code plus lisible. Projet terminé à l'arrache pour respecter les deadlines... . Projet hérité d'un stagiaire...


Alors là, c'était star wars et il fallait être calé en code pour comprendre toutes les subtilités, comme faire charger tout le catalogue pour n'en sortir qu'une seule information avec des requêtes qui prennent 20 minutes à être calculées. D'ailleurs, évitez de cocher toutes les options dans un module lorsque vous ne savez pas ce qu'il fait car ça surchargera le moulinage. N'utilisez pas la désactivation d'un module dans l'admin, il désactivera que la sortie html, il faut le faire dans etc/module et dans le module false.

Il faudra qu'on m'explique pourquoi depuis la version 0.6 il n'y aucun module admin pour le désactiver pour écrire dans ces fichiers.

Des requêtes faites directement à partir des fiches phtml. (oui j'ai déja fait je connais mes limites en dev)

Utilisez local.xml comme ça vous n'avez qu'un seul fichier à vérifier.

Les bons outils pour gagner en productivité - Jacques Bodin-Hullin

Alors là je voudrais passer sous silence complet tout ce qui a été dit dans cette conf,  c'est comme un plan BH, faut pas griller les plans.

Une organisation et des outils d'automatisation avec gestion des mises en prod des projets sans faille.

installation magento dans un vagrant, installation de modules par script, test utilisateur, création de module, tout y es passé avec une facilité déconcertante, avec débug temps réel lorsqu'il y a des erreurs, il est phénoménal.

Vous avez des besoins demandez moi, je ferais l'interface.

Import / Export de données, quelles solutions ? - Matthieu Vion 

Je n'ai malheureusement pas pu assister à la conf parcqu'il a fallu que je parte, n'hésite pas à me donner un slide.
 

Y'a plus qu'à monter en compétences


C'est que d'ordre plus général, il faut que je m'améliore dans les conventions, et dans mon organisation générale. Que c'est une communauté ou il y a une réelle volonté de pousser les autres, sans juger de ce qu'il font même si leur code est crade, car c'est l'expérimentation qui fait monter en compétences.

Merci à l'orga et à ses partenaires qui nous ont fourni la salle et les vivres, c'est confirmé, il y aura une version 2 de cet événement l'an prochain. La salle était remplie et pourtant à part les quelques articles de blog, il n'y a pas eu de grosse communication. En même temps, je trouve pour ma part que le format était bon, comme il n'y a pas les boss, il n'ont pas besoin de porter de col roulé (y'a une histoire de décapitation, surtout lors de la table ronde sur le code de qualité).

La j'ai plus de projet e-commerce sous la main, mais je vais tester tout ces outils, et je vous dirais si j'ai monté en compétences.

Pour ceux qui étaient à la Mageconf, et qui ont des flux catalogue , pour noël et les soldes, laissez moi un petit mail, je voudrais faire un test. (créez un attribut marketplace avec une description différente)