- Publié le 02 octobre 2009 à 00:11
Comme je l'écrivais il y a quelques jours, le backoffice de Magento est plutôt sympa mais un peu mou. En plus les options pour le développeur sont bien cachés au fin fond du menu System. Si je compte bien, à partir du tableau de bord il faut pas moins de 7 clics et 4 rafraîchissements de page pour activer ou désactiver l'option Template path hints (affichage des templates utilisés) et/ou l'affichage du nom des blocks pour un site... Bref c'est extrêmement pénible quand il s'agit juste de voir où se trouve une coquille dans un template ou de connaître le nom du block à surcharger.
J'ai donc un écrit un petit script (version avec coloration syntaxique) qui permet d'activer ou de désactiver ces options pour un site Magento en ligne de commande. Il permet également d'activer facilement ces options pour le backoffice sans manipuler directement la base de données (ce qui n'est certes pas très compliqué une fois qu'on connaît le nom de la bonne table).
Exemples d'utilisation :
cd /path/to/magento
php /path/to/script/setdebug.php -s base # active template path hints pour le site dont le code est base
php /path/to/script/setdebug.php -b -s base # active template path hints et l'affichage des blocks
php /path/to/script/setdebug.php -d -s base # désactive template path hints et l'affichage des blocks
- Publié le 29 septembre 2009 à 00:47
Je travaille depuis très exactement 13 jours sur un projet Magento histoire de changer un peu d'eZ Publish. Bon, en réalité j'ai fait 2 jours de formation et 11 de développement plus une petite expérience d'optimisations côté système. C'est certes trop court pour en saisir toutes les subtilités techniques mais c'est largement suffisant pour y voir de très bonnes choses et de beaucoup moins bonnes.
Parmi les excellents points :
- la flexibilité et l'extensibilité : grâce à l'alliance du modèle EAV et à la possibilité de surcharger proprement presque tout le core.
- le système d'installation et mise à jour des modules qui résout pas mal de problèmes liés au développement collaboratif sur plusieurs plateformes différentes avec de multiples informations stockées en base de données
- l'ergonomie générale du backoffice mais ...
Dans les moins bons points :
- le backoffice est lent, vraiment très lent; il n'y a pas (encore) d'éditeur WYSIWYG vraiment intégré, l'accessibilité est loin d'être parfaite (j'aime naviguer dans les formulaires au clavier...), et si une requête AJAX n'aboutit pas pour cause d'expiration de la session, rien ne se passe, pas de message d'erreur, juste rien...
- Magento utilise directement PHP comme langage de template, je ne suis pas fan (je ne vais pas relancer le débat), en revanche quand je vois des templates comme price.phtml, j'ai mal à la tête rien qu'en pensant devoir le modifier un jour...
- la version Entreprise de Magento embarque à la fois Prototype/Scriptacoulous et jQuery, je semble être le seul que ça choque pourtant quand on connaît l'impact de quelques centaines de millisecondes de latence supplémentaire, l'optimisation du temps chargement devrait être encore plus prioritaire sur un outil de boutique en ligne.
- Publié le 11 avril 2009 à 13:22
L'équipe d'eZ France.org a déjà fait un excellent et très complet résumé ! Je vais donc pouvoir me concentrer sur des avis plus personnels par rapport à cet après midi riche en débats :-) En particulier, je tiens à revenir sur deux points purement communautaires.
Contributions externes
Tout d'abord, je suis content de voir surgir à nouveau la question de la contribution externe à eZ Publish et de l'ouverture du développement. Paul Borgermans a annoncé la résurrection de la section spécifications sur ez.no, c'est une super nouvelle ! Je suis toujours inscrit au flux RSS de cette section mais le dernier document date de la sortie de la version 3.9 qui a l'époque avait été surnommée la community release... Idéalement, cette section devrait servir de RFC permettant à chacun de s'exprimer sur les évolutions à venir et pourquoi pas proposer des idées et du code. Un peu comme l'Open Funding mais en moins orienté... funding :-)
Débat autour des sites communautaires
Mon avis sur l'initiative eZ France a déclenché un mini-débat. Tout d'abord je tiens à préciser plusieurs choses :
- je parle ici en mon nom uniquement (comme d'habitude sur pwet.fr)
- les initiatives communautaires ne sont pas si nombreuses, ce n'est pas pour descendre celles qui existent !
Donc je le redis, l'initiative est intéressante, elle a le mérite de faire bouger les lignes et sur un plan technique eZ Publish devrait (et devra !) s'internationaliser un peu plus par défaut, personne ne pourra dire que c'est mauvais. En plus, ils intègrent mon extension ezclasslists, je peux pas dire que c'est 100% mauvais :-)
Plus sérieusement, eZ France (et eZ Publish France dans une certaine mesure) est l'exemple type du dilemme qui se pose avec un outil orienté professionnel comme eZ Publish. Comment faire cohabiter au sein d'une communauté ouverte des professionnels qui si ils investissent des ressources veulent un retour (ce qui est légitime) ? Certains peuvent penser que le débat est stérile (voir les commentaires du résumé du eZ France), je pense au contraire qu'il est indispensable si on veut avancer. Pour résumer, à mon avis une certaine neutralité "commerciale" est une condition nécessaire si on veut attirer des contributions de toute part ou plus exactement ne pas poser une barrière à un employé de la société S qui souhaite contribuer à une initiative trop marquée de la société N ou H sans se mettre en défaut vis à vis de son employeur. Dans ce cadre, l'idée d'une convergence d'eZ France, eZ Publish France et Planet eZ Publish.fr sous l'égide d'une association francophone d'utilisateur d'eZ Publish est intéressante. Une association a l'avantage de donner ce cadre "neutre". Je ne me fais pas de soucis pour nos employeurs respectifs, il trouveront bien un moyen de valoriser nos contributions :-)
Au passage, si tout cela se réalise, ça ne veut pas dire que toute contribution doit passer par l'association, chacun reste évidemment libre d'écrire sur ses propres expérimentations, découvertes, trucs sur son blog ou ailleurs. Je parle ici de la réalisation d'un unique site communautaire : des forums (eZ Publish France), un aggrégateur (Planet eZ Publish.fr), des initiatives de localisation (eZ France, traduction de documentation, ...) et tout autre idée partagée par la communauté. Par exemple, faire une espèce d'annuaire organisé des articles en lignes en français sur eZ Publish comme le suggèrait Gauthier (je crois ?) est une très bonne idée complémentaire des fonctionnalités existantes. Ce sujet vous intéresse ? Inscrivez vous au groupe Google ezpublish-france.
Pour finir, on peut aussi prendre exemple sur d'autres communautés/produits orientés professionnels, je pense en particulier à Wikigento site communautaire autour de Magento dont le positionnement est assez proche d'eZ Publish.
- Publié le 08 janvier 2009 à 13:09
Cherchant des méthodes pour optimiser une boutique en ligne utilisant Magento, je suis tombé sur le billet Performance is Key! - Notes on Magento’s Performance sur le blog officiel de Magento. Sur le fond, rien d'extraordinaire mais de bons conseils valables pour la plupart des applications LAMP :
- Utiliser un cache d'opcode (APC, XCache, eAccelerator, ...)
- Bien configurer son Apache (KeepAlive, ...)
- Bien configurer son MySQL (query cache, ...)
- Utiliser un système de fichier de type tmpfs pour les données en cache sur le disque fréquemment utilisées
En revanche, sur la forme je suis un grand fan des captures d'écran pour montrer les configurations optimales avec en prime le correcteur orthographique activé :-)