<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Magentips &#187; 3. Avancé</title>
	<atom:link href="http://www.magentips.com/cat/niveaux/niveau-3-avance/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.magentips.com</link>
	<description>La boîte à outils des utilisateurs de Magento : ressources, analyses, trucs et astuces, dossiers, extensions, tests</description>
	<lastBuildDate>Thu, 02 Feb 2012 23:18:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Livre Magento : il est dans les bacs !</title>
		<link>http://www.magentips.com/2011/04/livre-magento-il-est-dans-les-bacs/</link>
		<comments>http://www.magentips.com/2011/04/livre-magento-il-est-dans-les-bacs/#comments</comments>
		<pubDate>Fri, 29 Apr 2011 22:01:32 +0000</pubDate>
		<dc:creator>Christophe</dc:creator>
				<category><![CDATA[1. Débutant]]></category>
		<category><![CDATA[2. Intermédiaire]]></category>
		<category><![CDATA[3. Avancé]]></category>
		<category><![CDATA[4. Expert]]></category>
		<category><![CDATA[Administration]]></category>
		<category><![CDATA[Catalogue]]></category>
		<category><![CDATA[CE 1.4.x]]></category>
		<category><![CDATA[CE 1.5.x]]></category>
		<category><![CDATA[Clients]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Commandes]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Développement web]]></category>
		<category><![CDATA[Données]]></category>
		<category><![CDATA[Événement]]></category>
		<category><![CDATA[Exploitation]]></category>
		<category><![CDATA[Extensions]]></category>
		<category><![CDATA[Formation]]></category>
		<category><![CDATA[Hébergement]]></category>
		<category><![CDATA[Intégration]]></category>
		<category><![CDATA[Magento API]]></category>
		<category><![CDATA[Magento Community Edition]]></category>
		<category><![CDATA[Magento Enterprise Edition]]></category>
		<category><![CDATA[Magento Mobile]]></category>
		<category><![CDATA[Magento Professional Edition]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Merchandising]]></category>
		<category><![CDATA[Newsletter]]></category>
		<category><![CDATA[Prix et taxes]]></category>
		<category><![CDATA[Promotions]]></category>
		<category><![CDATA[Référencement]]></category>
		<category><![CDATA[Relation client]]></category>
		<category><![CDATA[Thèmes]]></category>
		<category><![CDATA[Vente]]></category>
		<category><![CDATA[Web-design]]></category>
		<category><![CDATA[Webmastering]]></category>
		<category><![CDATA[Widgets]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[livre]]></category>

		<guid isPermaLink="false">http://www.magentips.com/?p=1079</guid>
		<description><![CDATA[29 avril 2011, une date qui restera dans les mémoires ! Un événement unique a rassemblé 2 milliards de personnes. Le rapport avec Magento, vous ne voyez pas ? Allez, je vous aide. Si les mariages de célébrités ne sont pas votre grande passion et si vous avez une activité e-commerce à faire tourner, vous [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption aligncenter" style="width: 250px;"><a title="Livre Magento - Christophe Le Bot - Le Campus - Pearson" href="http://www.pearson.fr/livre/?GCOI=27440100564270"><img class="alignnone size-full wp-image-969" title="Livre Pratique du e-commerce avec Magento - Christophe Le Bot - Pearson" src="http://www.magentips.com/wp-content/uploads/2011/04/livre-magento-christophe-le-bot-pearson.png" alt="Livre Pratique du e-commerce avec Magento - Christophe Le Bot - Pearson" width="250" height="308" /></a></div>
<p>29 avril 2011, une date qui restera dans les mémoires ! Un événement unique a rassemblé 2 milliards de personnes. Le rapport avec Magento, vous ne voyez pas ?</p>
<p>Allez, je vous aide. Si les mariages de célébrités ne sont pas votre grande passion et si vous avez une activité e-commerce à faire tourner, vous vous intéresserez peut-être à l&#8217;autre événement du jour : la sortie de mon <a title="Livre Magento - Christophe Le Bot - Le Campus - Pearson" href="http://www.pearson.fr/livre/?GCOI=27440100564270">livre sur Magento</a> !</p>
<p>Je pense que j&#8217;aurais du mal à en vendre 2 milliards d&#8217;exemplaires <img src='http://www.magentips.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> . Mais s&#8217;il peut apporter des réponses concrètes à quelques centaines de commerçants, décideurs, développeurs, web designers et j&#8217;en passe, j&#8217;en serais très heureux !</p>
<p>J&#8217;ai ouvert une rubrique spéciale pour <a title="Rubrique spéciale livre Magento" href="/livre-magento/">découvrir l&#8217;ouvrage et prolonger votre lecture</a>.</p>
<p>Bonne lecture !</p>
<p><del datetime="2011-05-10T20:51:37+00:00">Pour l&#8217;anecdote, je n&#8217;ai toujours pas vu le livre fini, alors que d&#8217;autres l&#8217;ont commandé, reçu et le lisent déjà ! Les clients sont livrés en priorité, ça c&#8217;est du service efficace ! J&#8217;espère juste que j&#8217;en aurai un&#8230;</del><br />
<ins datetime="2011-05-10T20:51:37+00:00">C&#8217;est bon, j&#8217;ai enfin la version papier ! Je peux le feuilleter, un vrai petit plaisir.</ins></p>
]]></content:encoded>
			<wfw:commentRss>http://www.magentips.com/2011/04/livre-magento-il-est-dans-les-bacs/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Livre Magento : c&#8217;est pour bientôt !</title>
		<link>http://www.magentips.com/2011/04/livre-magento-cest-pour-bientot/</link>
		<comments>http://www.magentips.com/2011/04/livre-magento-cest-pour-bientot/#comments</comments>
		<pubDate>Tue, 05 Apr 2011 22:22:23 +0000</pubDate>
		<dc:creator>Christophe</dc:creator>
				<category><![CDATA[1. Débutant]]></category>
		<category><![CDATA[2. Intermédiaire]]></category>
		<category><![CDATA[3. Avancé]]></category>
		<category><![CDATA[4. Expert]]></category>
		<category><![CDATA[Administration]]></category>
		<category><![CDATA[Catalogue]]></category>
		<category><![CDATA[CE 1.4.x]]></category>
		<category><![CDATA[CE 1.5.x]]></category>
		<category><![CDATA[Clients]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Commandes]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Développement web]]></category>
		<category><![CDATA[Données]]></category>
		<category><![CDATA[Événement]]></category>
		<category><![CDATA[Exploitation]]></category>
		<category><![CDATA[Extensions]]></category>
		<category><![CDATA[Formation]]></category>
		<category><![CDATA[Hébergement]]></category>
		<category><![CDATA[Intégration]]></category>
		<category><![CDATA[Magento API]]></category>
		<category><![CDATA[Magento Community Edition]]></category>
		<category><![CDATA[Magento Enterprise Edition]]></category>
		<category><![CDATA[Magento Mobile]]></category>
		<category><![CDATA[Magento Professional Edition]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Merchandising]]></category>
		<category><![CDATA[Newsletter]]></category>
		<category><![CDATA[Prix et taxes]]></category>
		<category><![CDATA[Promotions]]></category>
		<category><![CDATA[Référencement]]></category>
		<category><![CDATA[Relation client]]></category>
		<category><![CDATA[Thèmes]]></category>
		<category><![CDATA[Web-design]]></category>
		<category><![CDATA[Webmastering]]></category>
		<category><![CDATA[Widgets]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[livre]]></category>

		<guid isPermaLink="false">http://www.magentips.com/?p=966</guid>
		<description><![CDATA[Dans un mois, mon livre sera dans les bacs. Maintenant que son contenu est figé (il est en cours d&#8217;impression), c&#8217;est le moment de découvrir son approche et son contenu. Quelques chiffres Environ 570 pages Environ 150 000 mots 484 figures 700 heures de travail (en plus de mon travail quotidien chez Xi Ingénierie) 230 [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption aligncenter" style="width: 250px;"><a title="Livre Magento - Christophe Le Bot - Le Campus - Pearson" href="http://www.pearson.fr/livre/?GCOI=27440100564270"><img class="alignnone size-full wp-image-969" title="Livre Pratique du e-commerce avec Magento - Christophe Le Bot - Pearson" src="http://www.magentips.com/wp-content/uploads/2011/04/livre-magento-christophe-le-bot-pearson.png" alt="Livre Pratique du e-commerce avec Magento - Christophe Le Bot - Pearson" width="250" height="308" /></a></div>
<p>Dans un mois, mon livre sera dans les bacs. Maintenant que son contenu est figé (il est en cours d&#8217;impression), c&#8217;est le moment de découvrir son approche et son contenu.</p>
<h3>Quelques chiffres</h3>
<ul>
<li>Environ 570 pages</li>
<li>Environ 150 000 mots</li>
<li>484 figures</li>
<li>700 heures de travail (en plus de mon travail quotidien chez <a title="Xi Ingénierie, partenaire Magento Enterprise" href="http://www.x2i.fr/">Xi Ingénierie</a>)</li>
<li>230 e-mails échangés</li>
</ul>
<p>Comme l&#8217;aurait dit Mark                            Twain, &laquo;&nbsp;il ne savait pas que c&#8217;était impossible alors il l&#8217;a fait&nbsp;&raquo;. Maintenant, je le sais, on ne m&#8217;y reprendra plus ! Un travail de fou, difficile à évaluer au début car assez éloigné de mes tâches habituelles.</p>
<h3>L&#8217;approche</h3>
<p>Ceux qui utilisent Magento depuis 3 ans le savent bien : ce qui a manqué au début, c&#8217;est une documentation sur les concepts importants de Magento, un ouvrage capable de donner une vision globale, tout en se focalisant sur les points-clés.</p>
<p>Alors, j&#8217;ai souhaité combler ce manque. Même si tous les détails n&#8217;y sont pas (il faudrait des milliers de pages), je voulais que ce livre serve de base de travail pour monter son projet e-commerce et le faire vivre au quotidien.</p>
<p>L&#8217;approche est donc résolument pratique et orientée métier. Il est inutile de dérouler les fonctionnalités dans l&#8217;ordre d&#8217;affichage. Par contre, il est bien plus important de savoir dans quelles circonstances les exploiter.</p>
<p>J&#8217;insiste aussi beaucoup sur les bonnes pratiques car, sur le terrain, leur carence se révèle fatale ! Magento est une solution géniale qui impose d&#8217;être carré. Mais au final, on en fait ce qu&#8217;on veut, tout en isolant les risques.</p>
<h3>Le contenu</h3>
<p>Comme le plus important est de maîtriser les concepts-clés de Magento, le contenu se découpe en quatre parties très progressives :</p>
<ul>
<li>Partie I – Découvrir Magento, enjeux et perspectives
<ul>
<li>1.	Qu’est-ce que Magento ?</li>
<li>2.	Offrir le meilleur à ses clients</li>
</ul>
</li>
<li>Partie II – Gérer un site avec Magento, le quotidien du e-commerçant
<ul>
<li>3.	Notions fondamentales et terminologie</li>
<li>4.	Maîtriser le backend</li>
<li>5.	Gérer le catalogue</li>
<li>6.	Gérer les promotions</li>
<li>7.	Gérer le contenu</li>
<li>8.	Traiter les commandes</li>
<li>9.	Entretenir une bonne relation client</li>
</ul>
</li>
<li>Partie III – Réaliser un site avec Magento, de la feuille blanche aux premières ventes
<ul>
<li>10.	Préparer son projet</li>
<li>11.	Concevoir le catalogue idéal</li>
<li>12.	Héberger Magento</li>
<li>13.	Installer et mettre à jour Magento</li>
<li>14.	Configurer Magento</li>
<li>15.	Créer le frontend de ses rêves</li>
<li>16.	Optimiser le référencement et la recherche</li>
<li>17.	Traduire les contenus</li>
</ul>
</li>
<li>Partie IV – Dépasser le standard, Magento puissance 10
<ul>
<li>18.	Optimiser les performances de Magento</li>
<li>19.	Développer de nouvelles fonctionnalités</li>
</ul>
</li>
</ul>
<p>Le livre se termine par un index.</p>
<h3>Quelles versions ?</h3>
<p>Quand j&#8217;ai commencé ce projet, Magento Community Edition 1.4.0.0 venait tout juste de sortir. Quand j&#8217;ai fini les dernières lignes, nous en étions à la version 1.5.0.1. Le livre couvre donc les séries 1.4 et 1.5.</p>
<p>Je présente aussi Magento Professional Edition, Magento Enterprise Edition, Magento Mobile et Magento Go, sans entrer dans les détails. Je ne suis pas encore prêt à faire l&#8217;encyclopédie Magento en 36 volumes ! Par contre, la stratégie de développement de <a title="Site officiel Magento" href="http://www.magentocommerce.com/">Magento Inc.</a> est un facteur à prendre en compte dans le choix de la solution e-commerce.</p>
<h3>Et maintenant ?</h3>
<p>Eh bien, il faut encore patienter&#8230; Le livre est en pré-commande sur plusieurs sites (<a title="Amazon - Livre Magento - Christophe Le Bot - Le Campus - Pearson" href="http://www.amazon.fr/Magento-Christophe-Bot/dp/2744024341">Amazon</a>, <a title="Fnac - Livre Magento - Christophe Le Bot - Le Campus - Pearson" href="http://livre.fnac.com/a2883916/Christophe-Le-Bot-Magento">Fnac</a>, <a title="Le Furet du Nord - Livre Magento - Christophe Le Bot - Le Campus - Pearson" href="http://www.furet.com/magento-1420170.html">Le Furet du Nord</a>) et sera dans toutes les librairies dans un mois.</p>
<p>Après, ce sera à vous de me dire ce que vous en pensez <img src='http://www.magentips.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.magentips.com/2011/04/livre-magento-cest-pour-bientot/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Comparateur Magentips : ajout de Magento CE 1.4.0.1</title>
		<link>http://www.magentips.com/2010/02/comparateur-magentips-ajout-de-magento-ce-1-4-0-1/</link>
		<comments>http://www.magentips.com/2010/02/comparateur-magentips-ajout-de-magento-ce-1-4-0-1/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 11:45:35 +0000</pubDate>
		<dc:creator>Christophe</dc:creator>
				<category><![CDATA[3. Avancé]]></category>
		<category><![CDATA[4. Expert]]></category>
		<category><![CDATA[Bogues]]></category>
		<category><![CDATA[CE 1.3.2.4]]></category>
		<category><![CDATA[CE 1.3.x]]></category>
		<category><![CDATA[CE 1.4.0.0]]></category>
		<category><![CDATA[CE 1.4.0.1]]></category>
		<category><![CDATA[CE 1.4.x]]></category>
		<category><![CDATA[Développement web]]></category>
		<category><![CDATA[Exploitation]]></category>
		<category><![CDATA[Intégration]]></category>
		<category><![CDATA[Magento Community Edition]]></category>
		<category><![CDATA[Outils Magentips]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[Web-design]]></category>
		<category><![CDATA[Webmastering]]></category>
		<category><![CDATA[changelog]]></category>
		<category><![CDATA[comparaison]]></category>
		<category><![CDATA[diff]]></category>

		<guid isPermaLink="false">http://www.magentips.com/?p=628</guid>
		<description><![CDATA[Le comparateur de versions de Magento Community Edition intègre désormais la version 1.4.0.1, comparée à la version 1.4.0.0. Par contre, la comparaison 1.3.2.4 / 1.4.0.0 n&#8217;a pu être ajoutée, en raison d&#8217;un nombre trop important de modifications dans le code source entre les deux versions. Cela aurait rendu le comparateur illisible, donc inexploitable.]]></description>
			<content:encoded><![CDATA[<p>Le <a title="Comparateur de versions Magento" href="http://files.magentips.com/content/magento-diff/">comparateur de versions de Magento Community Edition</a> intègre désormais la version 1.4.0.1, comparée à la version 1.4.0.0.</p>
<p>Par contre, la comparaison 1.3.2.4 / 1.4.0.0 n&#8217;a pu être ajoutée, en raison d&#8217;un nombre trop important de modifications dans le code source entre les deux versions. Cela aurait rendu le comparateur illisible, donc inexploitable.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.magentips.com/2010/02/comparateur-magentips-ajout-de-magento-ce-1-4-0-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Purger les sessions Magento, c&#8217;est utile !</title>
		<link>http://www.magentips.com/2010/01/purger-sessions-magento/</link>
		<comments>http://www.magentips.com/2010/01/purger-sessions-magento/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 21:31:26 +0000</pubDate>
		<dc:creator>Christophe</dc:creator>
				<category><![CDATA[2. Intermédiaire]]></category>
		<category><![CDATA[3. Avancé]]></category>
		<category><![CDATA[4. Expert]]></category>
		<category><![CDATA[CE 1.3.x]]></category>
		<category><![CDATA[CE 1.4.x]]></category>
		<category><![CDATA[EE 1.6.x]]></category>
		<category><![CDATA[EE 1.7.x]]></category>
		<category><![CDATA[Exploitation]]></category>
		<category><![CDATA[Hébergement]]></category>
		<category><![CDATA[Magento Community Edition]]></category>
		<category><![CDATA[Magento Enterprise Edition]]></category>
		<category><![CDATA[Trucs et astuces]]></category>
		<category><![CDATA[optimisation]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[serveur]]></category>
		<category><![CDATA[session]]></category>

		<guid isPermaLink="false">http://www.magentips.com/?p=427</guid>
		<description><![CDATA[Magento dispose d&#8217;un outil d&#8217;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&#8217;ouvrir le site au public. Parmi les petits trucs qu&#8217;il vaut mieux ne pas oublier sur un serveur à fort trafic, il y [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Site officiel Magento" href="http://www.magentocommerce.com/">Magento</a> dispose d&#8217;un outil d&#8217;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&#8217;ouvrir le site au public.</p>
<p>Parmi les petits trucs qu&#8217;il vaut mieux ne pas oublier sur un serveur à fort trafic, il y a la <strong>purge des sessions Magento</strong>. Si vous choisissez de stocker les sessions utilisateurs dans des fichiers (l&#8217;autre option étant de les stocker dans la base de données), ils viendront s&#8217;ajouter les uns après les autres dans le dossier <code>var/session</code> de Magento, sans jamais être supprimés.</p>
<p>Le problème, c&#8217;est qu&#8217;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 <code>ls</code> pour lister son contenu : le serveur vous rendra la main plusieurs heures après&#8230; s&#8217;il y parvient !</p>
<p>Il faut donc <strong>purger les fichiers de sessions régulièrement</strong>. Les plus pressés feront un simple <code>rm -rf</code> du dossier <code>session</code>. C&#8217;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&#8230;</p>
<p>J&#8217;ai eu le cas aujourd&#8217;hui sur un serveur dont la purge n&#8217;avait pas été mise en place. Avant de l&#8217;ajouter, j&#8217;ai vérifié que je pouvais gagner les longues minutes de purge de plus d&#8217;un millions de fichiers en supprimant directement le dossier <code>session</code>. 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&#8230; <strong>1080 € de pertes pour une simple commande <code>rm -rf</code> !</strong> Un peu cher, je trouve. J&#8217;exécute donc une purge par date de fichiers et je laisse faire le serveur :</p>
<pre>find . -atime +1 | xargs rm -f
</pre>
<p>90 minutes plus tard, tous les fichiers non utilisés depuis 48h sont supprimés (oui, +1 donne bien 2 jours, et non 1&#8230;). Je n&#8217;en ai plus &laquo;&nbsp;que&nbsp;&raquo; quelques milliers. Il reste à <strong>automatiser cette commande via crontab</strong> (en ajoutant les chemins absolus, bien entendu) et le tour est joué.</p>
<p>Sauf qu&#8217;il y a encore moyen d&#8217;améliorer tout ça, comme par exemple monter le dossier <code>var</code> de Magento en RAM. On gagne énormément en performances sur la gestions des sessions et du cache. Mais c&#8217;est une autre histoire&#8230;</p>
<p>Au passage , cette petite anecdote montre aussi qu&#8217;il ne faut <strong>jamais perdre de vue le métier de son client ou employeur</strong>. 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 <strong>avoir en permanence le réflex d&#8217;évaluer la perte d&#8217;exploitation liée à une opération, même minime</strong>. En fin de mois, le cumul peut représenter bien plus que le salaire perçu&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.magentips.com/2010/01/purger-sessions-magento/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flat catalog : attention à la configuration des attributs</title>
		<link>http://www.magentips.com/2009/12/flat-catalog-configuration-attributs/</link>
		<comments>http://www.magentips.com/2009/12/flat-catalog-configuration-attributs/#comments</comments>
		<pubDate>Wed, 23 Dec 2009 00:33:24 +0000</pubDate>
		<dc:creator>Christophe</dc:creator>
				<category><![CDATA[3. Avancé]]></category>
		<category><![CDATA[4. Expert]]></category>
		<category><![CDATA[Administration]]></category>
		<category><![CDATA[Catalogue]]></category>
		<category><![CDATA[CE 1.3.0]]></category>
		<category><![CDATA[CE 1.3.1]]></category>
		<category><![CDATA[CE 1.3.1.1]]></category>
		<category><![CDATA[CE 1.3.2]]></category>
		<category><![CDATA[CE 1.3.2.1]]></category>
		<category><![CDATA[CE 1.3.2.2]]></category>
		<category><![CDATA[CE 1.3.2.3]]></category>
		<category><![CDATA[CE 1.3.2.4]]></category>
		<category><![CDATA[CE 1.3.x]]></category>
		<category><![CDATA[CE 1.4.0.0]]></category>
		<category><![CDATA[CE 1.4.x]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Développement web]]></category>
		<category><![CDATA[Données]]></category>
		<category><![CDATA[EE 1.6.0.0]]></category>
		<category><![CDATA[EE 1.6.x]]></category>
		<category><![CDATA[Exploitation]]></category>
		<category><![CDATA[Magento Community Edition]]></category>
		<category><![CDATA[Magento Enterprise Edition]]></category>
		<category><![CDATA[Trucs et astuces]]></category>
		<category><![CDATA[attribut]]></category>
		<category><![CDATA[EAV]]></category>
		<category><![CDATA[flat catalog]]></category>
		<category><![CDATA[optimisation]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://www.magentips.com/?p=377</guid>
		<description><![CDATA[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, [...]]]></description>
			<content:encoded><![CDATA[<p>Depuis Magento Community Edition 1.3.0, nous obtenons de bien meilleures performances sur le frontend, grâce au <strong>catalogue à plat ou <em>flat catalog</em></strong>. Varien a introduit ce concept pour <strong>optimiser les temps de réponse</strong> 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&#8217;attributs et des types de produits).</p>
<p>Si l&#8217;activation du <em>flat catalog</em> est à peu près évidente (nous allons voir ça ci-après), il faut comprendre ce que fait Magento lorsqu&#8217;il crée les tables MySQL des produits à plat. Et on constate vite que, <strong>si on ne touche pas au paramétrage des attributs, on n&#8217;obtient pas du tout le résultat escompté !</strong></p>
<p><span id="more-377"></span></p>
<h3>Modèle EAV et flat catalog</h3>
<p>Ce qui fait la souplesse de Magento, c&#8217;est la gestion de ses attributs par un <a title="Modèle EAV sur Wikipedia" href="http://en.wikipedia.org/wiki/Entity-attribute-value_model">modèle EAV</a>. Chaque entité (produit, client, commande, etc.) est composée d&#8217;attributs (prix, couleur, pays, etc.) qui ont chacun une valeur (&laquo;&nbsp;100 €&nbsp;&raquo;, &laquo;&nbsp;vert&nbsp;&raquo;, &laquo;&nbsp;France&nbsp;&raquo;). Comme un site évolue vite, on doit pouvoir ajouter ou retirer des attributs aux entités. Le modèle EAV est conçu pour cela, il permet de <strong>gérer facilement des attributs et leurs valeurs, sans modifier la structure de la base de données et sans écrire une seule ligne de code</strong>.</p>
<p>C&#8217;est un avantage énorme, mais il y a une contrainte de taille : quand Magento doit récupérer une entité (un produit par exemple), il doit parcourir un nombre important de tables dans la base de données pour assembler les valeurs des attributs et reconstituer l&#8217;information. Quand il faut afficher une page de catégorie avec 50 produits qui disposent chacun de 50 attributs, on arrive vite à la limite du tolérable. Comme le temps de réponse d&#8217;un site est le critère numéro 1 dans le succès d&#8217;un site e-commerce, il fallait trouver une réponse. Vous en réviez ? Magento le fait !</p>
<p>Pour accélérer les requêtes en lecture sur la base de données, <strong>Magento va construire de nouvelles tables dont chaque champ (ou colonne) représentera un attribut et chaque enregistrement (ou ligne) les valeurs des attributs d&#8217;une entité</strong>. C&#8217;est simple et rapide !</p>
<p>Bien entendu, <strong>si le catalogue est modifié, les tables doivent être reconstruites pour stocker les nouvelles informations</strong>. On ne met donc en œuvre des entités plates que si les valeurs ne changent pas tout le temps. Inutile d&#8217;y chercher les stocks ou les prix remisés par exemple.</p>
<h3>Construire le flat catalog</h3>
<p>Maintenant que les concepts de base sont posés, il faut savoir une chose : <strong>le <em>flat catalog</em> n&#8217;existe pas par défaut</strong>. Il faut donc le créer soit même depuis l&#8217;interface d&#8217;administration.</p>
<p><strong>Pour créer un flat catalog :</strong></p>
<ul>
<li>Menu <em>Système &gt; Gestion du cache</em><br />
<img class="alignnone size-full wp-image-404" title="Construction du flat catalog" src="http://www.magentips.com/wp-content/uploads/2009/12/flat-catalog-cache.png" alt="Construction du flat catalog" width="287" height="100" /><br />
Il faut d&#8217;abord construire les tables dans MySQL, grâce à ces boutons. On a le choix d&#8217;aplatir les catégories, les produits ou les deux.</li>
<li>Menu Système &gt; Configuration &gt; Catalogue &gt; Frontend<br />
<img class="alignnone size-full wp-image-405" title="Activation du flat catalog" src="http://www.magentips.com/wp-content/uploads/2009/12/flat-catalog-activation.png" alt="Activation du flat catalog" width="470" height="97" /><br />
Si nous ne construisons pas les tables via la gestion du cache, ces deux options sont indisponibles. Mais comme nous l&#8217;avons fait, nous avons maintenant le choix d&#8217;utiliser le flat catalog sur le frontend. Pourquoi faire compliqué alors qu&#8217;une seule étape pourrait suffire ? Simplement parce que Magento peut gérer plusieurs sites. On peut avoir un <em>flat catalog</em> sur un site et pas sur l&#8217;autre.</li>
<li>Menu <em>Système &gt; Gestion du cache</em><br />
Oui, il faut y revenir pour ajouter nos entités (catégories et/ou produits) dans les tables à plat.</li>
</ul>
<p>C&#8217;est tout. Mais est-ce suffisant ? Pas du tout ! Si on analyse les tables créées, on s&#8217;aperçoit vite que <strong>tous les attributs n&#8217;y sont pas, en particulier ceux spécifiques au site</strong>.</p>
<p><img class="alignnone size-medium wp-image-406" title="Flat table par défaut" src="http://www.magentips.com/wp-content/uploads/2009/12/flat-catalog-table1-246x700.png" alt="Flat table par défaut" width="246" height="700" /></p>
<p>Si nous voulons afficher des valeurs d&#8217;attributs sans tuer les performances du serveur, il faut les ajouter à la structure des tables à plat. Pas de panique, inutile de faire ce sale boulot par des requêtes SQL hasardeuses. <strong>Magento a tout prévu&#8230; sauf de documenter ce détail essentiel !</strong></p>
<h3>Définir les attributs à aplatir</h3>
<p>Quand nous demandons la construction du <em>flat catalog</em>, Magento utilise l&#8217;<em>Indexer</em> du module <em>Catalog</em> qui contient des contrôles sur la configuration des attributs (fichier Mage\Catalog\Model\Resource\Eav\Mysql4\Product\Flat\Indexer.php). Il contrôle notamment l&#8217;état du paramètre <code>used_in_product_listing</code>. S&#8217;il est égal à 1, l&#8217;attribut est intégré au <em>flat catalog</em>.</p>
<p>Reste à savoir d&#8217;où vient cet état. Une petite recherche (<a title="Explorer Magento avec nWire" href="http://www.magentips.com/2009/12/explorer-magento-avec-nwire/">merci nWire !</a>) et le voici, caché dans la configuration d&#8217;attribut (fichier Adminhtml\Block\Catalog\Product\Attribute\Edit\Tab\Main.php). On a la solution.</p>
<p><strong>Pour ajouter un attribut dans le flat catalog :</strong></p>
<ul>
<li>Menu <em>Catalogue &gt; Attributs &gt; Gérer les attributs</em><br />
Sélectionner l&#8217;attribut à &laquo;&nbsp;aplatir&nbsp;&raquo;.</li>
<li>Volet <em>Propriétés du front-office</em><br />
<img class="alignnone size-full wp-image-407" title="Configuration de l'attribut pour le flat catalog" src="http://www.magentips.com/wp-content/uploads/2009/12/flat-catalog-attribut.png" alt="Configuration de l'attribut pour le flat catalog" width="467" height="55" /><br />
C&#8217;est là que se cache l&#8217;option. Il faut choisir <em>Oui</em> et sauvegarder l&#8217;attribut.</li>
<li>Menu <em>Système &gt; Gestion du cache</em><br />
On reconstruit le cache.</li>
</ul>
<p>Le résultat est nettement meilleur. J&#8217;ai maintenant mon attribut dans mon <em>flat catalog</em> (ici <em>manufacturer</em>). Et un mystère de moins !</p>
<p><img class="alignnone size-medium wp-image-408" title="Table plate après insertion d'attributs" src="http://www.magentips.com/wp-content/uploads/2009/12/flat-catalog-table2-234x700.png" alt="Table plate après insertion d'attributs" width="234" height="700" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.magentips.com/2009/12/flat-catalog-configuration-attributs/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Explorer Magento avec nWIRE</title>
		<link>http://www.magentips.com/2009/12/explorer-magento-avec-nwire/</link>
		<comments>http://www.magentips.com/2009/12/explorer-magento-avec-nwire/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 00:14:46 +0000</pubDate>
		<dc:creator>Christophe</dc:creator>
				<category><![CDATA[3. Avancé]]></category>
		<category><![CDATA[4. Expert]]></category>
		<category><![CDATA[Développement web]]></category>
		<category><![CDATA[Dossier]]></category>
		<category><![CDATA[Extensions]]></category>
		<category><![CDATA[Magento API]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[Thèmes]]></category>
		<category><![CDATA[Widgets]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[qualité]]></category>
		<category><![CDATA[schéma]]></category>
		<category><![CDATA[UML]]></category>

		<guid isPermaLink="false">http://www.magentips.com/?p=258</guid>
		<description><![CDATA[Magento est un bien joli projet qui peut maintenant servir de cas d&#8217;é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&#8217;un module reste un exercice ardu. Surtout sans documentation de référence&#8230; [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption aligncenter" style="width: 239px;"><a title="Site officiel nWIRE" href="http://www.nwiresoftware.com/"><img class="alignnone size-full wp-image-294" title="nWIRE" src="http://www.magentips.com/wp-content/uploads/2009/12/logo-nwire.png" alt="nWIRE" width="239" height="69" /></a></div>
<p><a title="Site officiel Magento" href="http://www.magentocommerce.com/">Magento</a> est un bien joli projet qui peut maintenant servir de cas d&#8217;é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.</p>
<p>Cependant, avoir une vision globale ou comprendre le comportement précis d&#8217;un module reste un exercice ardu. Surtout sans documentation de référence&#8230;</p>
<p>Heureusement, il existe toujours un outil fabuleux pour nous sauver la mise et, sur ce coup, c&#8217;est <a title="nWIRE for PHP" href="http://www.nwiresoftware.com/products/nwire-php">nWIRE for PHP</a> qui s&#8217;y colle. Avec talent.</p>
<p>nWIRE analyse le code PHP et en extrait tous les composants et associations. Intégré à <a title="Projet Eclipse" href="http://www.eclipse.org/">Eclipse</a>, 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&#8217;UML est fait pour ça et que <a title="PHPDocumentor" href="http://www.phpdoc.org/">PHPDocumentor</a> nous sort ces informations. Sauf que personne n&#8217;a réussi à le faire pour Magento, alors que nWIRE le fait en temps réel pendant le développement. Petit tour d&#8217;horizon.</p>
<p><span id="more-258"></span></p>
<h3>Que fait nWIRE ?</h3>
<p>nWIRE commence par analyser votre espace de travail pour indexer les éléments du code source et créer sa propre base d&#8217;informations. Chaque détail du code compte : déclaration de méthode, surcharge, invocation, instanciation, interface, sous-classes, commentaires normés, etc.</p>
<p>L&#8217;analyse en tâche de fond apporte un réel confort lors du développement (à condition d&#8217;avoir une machine qui supporte la lourdeur d&#8217;Eclipse&#8230;).</p>
<h3>Un navigateur intuitif</h3>
<p>Une fois l&#8217;analyse terminée, nWIRE Navigator prend le relais pour afficher toutes les informations qu&#8217;il possède sur un fichier ouvert. L&#8217;affichage s&#8217;adapte à la position du curseur dans le code, on obtient donc des informations contextuelles.</p>
<p>Le Navigator est bien sûr navigable. On peut facilement explorer les liens vers d&#8217;autres blocs de code appartenant à d&#8217;autres fichiers. Ceux-ci s&#8217;ouvriront à la volée dans Eclipse.</p>
<p>Le comportement est paramétrable, on peut alors se focaliser sur certains résultats pour éviter d&#8217;être noyé dans la masse d&#8217;informations.</p>
<h3>Les schémas en prime</h3>
<p>Des textes, c&#8217;est bien, mais un dessin, c&#8217;est mieux ! nWIRE Visualizer peut donc créer un graphique des relations, à partir de la sélection faite dans le navigateur. Cerise sur le gâteau, ce graphique n&#8217;est pas figé mais navigable, lui aussi !</p>
<h3>La recherche n&#8217;est pas oubliée</h3>
<p>Avoir un tel outil sans moteur de recherche serait une aberration. Donc il existe&#8230; et il est efficace ! Plus rapide et plus adaptée que celui d&#8217;Eclipse (Ctrl + H). De plus, il gère la complétion automatique afin de proposer des résultats, même quand vous ne connaissez pas bien les composants applicatifs.</p>
<h3>En pratique, ça donne quoi ?</h3>
<p>Commençons par un premier exemple. Je souhaite comprendre l&#8217;architecture du modèle de gestion des produits du catalogue.</p>
<p>J&#8217;ouvre le fichier<code> app/code/core/Mage/Catalog/Model/Product/Type/Abstract.php</code>.</p>
<div class="wp-caption aligncenter" style="width: 470px;"><img class="alignnone size-full wp-image-308" title="nWIRE dans Eclipse" src="http://www.magentips.com/wp-content/uploads/2009/12/nwire.jpg" alt="nWIRE dans Eclipse" width="470" height="334" /></div>
<p>nWIRE me donne les premières informations sur ce fichier qui contient la classe <code>Mage_Catalog_Model_Product_Type_Abstract</code>.</p>
<div class="wp-caption aligncenter" style="width: 470px;"><img class="alignnone size-full wp-image-312" title="nWIRE - Navigation 1" src="http://www.magentips.com/wp-content/uploads/2009/12/nwire-nav1.jpg" alt="nWIRE - Navigation 1" width="470" height="154" /></div>
<p>Si j&#8217;ouvre le contenu de cette classe, j&#8217;obtiens la liste des propriétés et méthodes avec un focus dans le code source du fichier ouvert. Ici, la méthode <code>getSku()</code> est sélectionnée.</p>
<div class="wp-caption aligncenter" style="width: 470px;"><img class="alignnone size-full wp-image-313" title="nWIRE - Navigation 2" src="http://www.magentips.com/wp-content/uploads/2009/12/nwire-nav2.jpg" alt="nWIRE - Navigation 2" width="470" height="154" /></div>
<p>Plus intéressant, je souhaite savoir quelles sont les sous-classes de <code>Mage_Catalog_Model_Product_Type_Abstract</code>. J&#8217;obtiens les types de produits Magento : Simple, Configurable, Grouped, Virtual, Bundle.</p>
<div class="wp-caption aligncenter" style="width: 470px;"><img class="alignnone size-full wp-image-314" title="nWIRE - Navigation 3" src="http://www.magentips.com/wp-content/uploads/2009/12/nwire-nav3.jpg" alt="nWIRE - Navigation 3" width="470" height="154" /></div>
<p>Tiens ? Au passage, on voit de suite que les produits de type Bundle sont gérés par un module spécifique. Voilà un cas particulier détecté en 5 secondes !</p>
<div class="wp-caption aligncenter" style="width: 470px;"><img class="alignnone size-full wp-image-307" title="nWIRE - Navigation 5" src="http://www.magentips.com/wp-content/uploads/2009/12/nwire-nav5.jpg" alt="nWIRE - Navigation 5" width="470" height="155" /></div>
<p>La première découverte étant faite, je souhaite la partager avec mes collègues. Un beau schéma ferait bien l&#8217;affaire.</p>
<p>Le premier essai n&#8217;est pas idéal. Aucun filtre n&#8217;est appliqué et le résultat est trop confus.</p>
<div class="wp-caption aligncenter" style="width: 470px;"><img class="alignnone size-full wp-image-309" title="nWIRE- Graphique 1" src="http://www.magentips.com/wp-content/uploads/2009/12/nwire-graph1.png" alt="nWIRE- Graphique 1" width="470" height="363" /></div>
<p>Après un petit passage dans les filtres, c&#8217;est nettement mieux ! J&#8217;ai ce qu&#8217;il me faut.</p>
<div class="wp-caption aligncenter" style="width: 470px;"><img class="alignnone size-full wp-image-310" title="nWIRE- Graphique 2" src="http://www.magentips.com/wp-content/uploads/2009/12/nwire-graph2.png" alt="nWIRE- Graphique 2" width="470" height="301" /></div>
<p>Si je navigue dedans, je peux avoir certains détails, comme ici les méthodes qui retournent l&#8217;objet sélectionné dans l&#8217;ensemble du code Magento. Très précieux pour comprendre certains comportements.</p>
<div class="wp-caption aligncenter" style="width: 470px;"><img class="alignnone size-full wp-image-311" title="nWIRE- Graphique 3" src="http://www.magentips.com/wp-content/uploads/2009/12/nwire-graph3.png" alt="nWIRE- Graphique 3" width="470" height="258" /></div>
<p>Autre exemple autour de la recherche : à quel moment Magento dispatche les événements ? On active le moteur de recherche, mot-clé <em>dispatchEvent </em>et c&#8217;est parti.</p>
<div class="wp-caption aligncenter" style="width: 470px;"><img class="alignnone size-full wp-image-335" title="nWIRE - Recherche 1" src="http://www.magentips.com/wp-content/uploads/2009/12/nwire-search1.jpg" alt="nWIRE - Recherche 1" width="470" height="155" /></div>
<p>Parmi les entrées retournées (en moins d&#8217;une seconde, les habitués au moteur de recherche d&#8217;Eclipse apprécieront), la méthode <code>Mage::dispatchEvent()</code> m&#8217;intéresse. Je la sélectionne et nWIRE ouvre le fichier qui contient cet élément. J&#8217;ai donc une vision claire du traitement des événements.</p>
<div class="wp-caption aligncenter" style="width: 470px;"><img class="alignnone size-full wp-image-336" title="nWIRE - Recherche 2" src="http://www.magentips.com/wp-content/uploads/2009/12/nwire-search2.jpg" alt="nWIRE - Recherche 2" width="470" height="463" /></div>
<p>Mais ce qui m&#8217;intéresse, c&#8217;est de savoir où est utilisée cette méthode dans Magento, je vais donc chercher son invocation. nWIRE me propose le lien <em>Invoked by</em>. J&#8217;obtiens immédiatement les 216 appels à cette méthode dans Magento.</p>
<div class="wp-caption aligncenter" style="width: 470px;"><img class="alignnone size-full wp-image-334" title="nWIRE - Recherche 3" src="http://www.magentips.com/wp-content/uploads/2009/12/nwire-search3.jpg" alt="nWIRE - Recherche 3" width="470" height="155" /></div>
<p>Je n&#8217;ai plus qu&#8217;à vérifier que ces appels sont bien placés&#8230; ce qui n&#8217;est malheureusement pas le cas partout. nWIRE est donc aussi outil de déboguage efficace pour <a title="Varien" href="http://www.varien.com/">Varien</a> !</p>
<h3>Conclusion</h3>
<p>C&#8217;est le genre d&#8217;outils payants (59 $) qui est rentabilisé dans la journée. Je travaille avec depuis une quinzaine de jours et j&#8217;avoue que ma compréhension de certaines subtilités (ou défauts) de Magento s&#8217;en trouve transformée. Indispensable dans la palette d&#8217;outils du développeur Magento.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.magentips.com/2009/12/explorer-magento-avec-nwire/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Un guide de référence au Bargento 3 ?</title>
		<link>http://www.magentips.com/2009/11/un-guide-de-reference-au-bargento-3/</link>
		<comments>http://www.magentips.com/2009/11/un-guide-de-reference-au-bargento-3/#comments</comments>
		<pubDate>Sat, 07 Nov 2009 16:09:51 +0000</pubDate>
		<dc:creator>Christophe</dc:creator>
				<category><![CDATA[1. Débutant]]></category>
		<category><![CDATA[2. Intermédiaire]]></category>
		<category><![CDATA[3. Avancé]]></category>
		<category><![CDATA[4. Expert]]></category>
		<category><![CDATA[Administration]]></category>
		<category><![CDATA[CE 1.3.2.4]]></category>
		<category><![CDATA[CE 1.3.x]]></category>
		<category><![CDATA[Développement web]]></category>
		<category><![CDATA[Exploitation]]></category>
		<category><![CDATA[Formation]]></category>
		<category><![CDATA[Magento Community Edition]]></category>
		<category><![CDATA[Outils Magentips]]></category>

		<guid isPermaLink="false">http://www.magentips.com/?p=185</guid>
		<description><![CDATA[Le Bargento 3, c&#8217;est dans 2 jours ! La journée s&#8217;annonce exceptionnelle avec plus de 300 participants, l&#8217;inauguration de la Magento Academy, un concours de programmation de widgets, des présentations d&#8217;extensions&#8230; Entre conférences, ateliers et discussions de couloir, je ne vois pas comment tout va tenir en 10h de temps, mais c&#8217;est la magie de [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption aligncenter" style="width: 470px;"><a title="Bargento 3" href="http://www.bargento.fr/"><img class="alignnone size-medium wp-image-192" title="Bargento3" src="http://www.magentips.com/wp-content/uploads/2009/11/bargento3-470x208.jpg" alt="Bargento3" width="470" height="208" /></a></div>
<p>Le <a title="Bargento 3" href="http://www.bargento.fr/">Bargento 3</a>, c&#8217;est dans 2 jours ! La journée s&#8217;annonce exceptionnelle avec plus de 300 participants, l&#8217;inauguration de la <a title="Magento Academy" href="http://www.magento-academy.com/">Magento Academy</a>, un <a title="Magento Developer Challenge" href="http://www.bargento.fr/bargento-30/un-magento-developer-challenge-a-bargento-3/">concours de programmation de widgets</a>, des présentations d&#8217;extensions&#8230; Entre conférences, ateliers et discussions de couloir, je ne vois pas comment tout va tenir en 10h de temps, mais c&#8217;est la magie de l&#8217;événement.</p>
<p>Cette fois-ci, je n&#8217;anime pas d&#8217;atelier, mais j&#8217;accompagnerai l&#8217;<a title="Association française des utilisateurs de PHP" href="http://www.afup.org/">AFUP</a>, partenaire de l&#8217;événement, et son président, Xavier Gorse, pour organiser la journée et accueillir les participants.</p>
<p>Malgré ces annonces étourdissantes, il manquait un truc&#8230; Un truc que je n&#8217;ai pas trouvé en 2 ans d&#8217;existence de Magento. Comme j&#8217;ai du mal à travailler sans, j&#8217;ai fini par m&#8217;y mettre et un premier jet sera disponible dans quelques jours : <strong>un Guide de référence Magento</strong>.</p>
<p>Et comme Magento évolue très vite, il ne s&#8217;agit pas d&#8217;un livre en papier mais d&#8217;une application web qui utilise des technologies sémantiques. Première brique, le <strong>référentiel des fonctionnalités de Magento Community Edition</strong> permet de trouver n&#8217;importe quelle information détaillée concernant une fonctionnalité de Magento (comme par exemple, où elle se situe dans l&#8217;interface d&#8217;administration). Comme il a pour but d&#8217;aider les utilisateurs au quotidien, les outils proposés sont adaptés à une recherche rapide :</p>
<ul>
<li>Recherche plein texte</li>
<li>Filtres à facettes hiérarchiques (plus fort que Magento !)</li>
<li>Tris dynamiques</li>
<li>Groupement des résultats</li>
</ul>
<p>Qu&#8217;obtient-on à la sortie ? Un peu ce qu&#8217;on veut en fait. Quelques exemples :</p>
<ul>
<li>Je souhaite caler toutes les adresses e-mail de Magento. Je tape &laquo;&nbsp;e-mail&nbsp;&raquo; dans le moteur de recherche et j&#8217;obtiens toutes les fonctionnalités qui ont un rapport avec les e-mails.</li>
<li>Je souhaite paramétrer ce qui concerne le profil local de la plate-forme. Je sélectionne le groupe fonctionnel &laquo;&nbsp;Internationalisation / Localisation&nbsp;&raquo; et j&#8217;ai la liste complète des points à traiter (voir écran ci-dessous).</li>
<li>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&#8217;ai une liste exhaustive.</li>
<li>J&#8217;ai besoin de détails sur une fonctionnalité. J&#8217;ouvre le panneau des détails et je sais tout.</li>
<li>Je souhaite avoir la liste de tous les boutons de l&#8217;interface d&#8217;administration de Magento. Je choisis l&#8217;élément IHM &laquo;&nbsp;bouton&nbsp;&raquo; comme filtre. Bon là, je ne vois pas à quoi cela peut servir mais ça sait le faire !</li>
</ul>
<p>En résumé, c&#8217;est un outil très souple et rapide qui saura s&#8217;adapter à vos recherches. Dans un premier temps, le contenu sera assez léger, mais le but est de l&#8217;alimenter au fur et à mesure des retours d&#8217;expérience. J&#8217;ai même prévu des liens avec les meilleures astuces liées à une fonctionnalité de Magento !</p>
<p>C&#8217;est Noël avant l&#8217;heure. Pour la plaisir (et le buzz !), une petite copie d&#8217;écran :</p>
<div class="wp-caption aligncenter" style="width: 470px;"><img class="alignnone size-full wp-image-187" title="Référentiel Magentips" src="http://www.magentips.com/wp-content/uploads/2009/11/magentips-features-ref-guide-1.jpg" alt="Référentiel Magentips" width="470" height="294" /></div>
<p>A lundi pour une petite démo ?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.magentips.com/2009/11/un-guide-de-reference-au-bargento-3/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Un comparateur des versions stables de Magento</title>
		<link>http://www.magentips.com/2009/10/un-comparateur-des-versions-stables-de-magento/</link>
		<comments>http://www.magentips.com/2009/10/un-comparateur-des-versions-stables-de-magento/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 22:57:14 +0000</pubDate>
		<dc:creator>Christophe</dc:creator>
				<category><![CDATA[3. Avancé]]></category>
		<category><![CDATA[4. Expert]]></category>
		<category><![CDATA[CE 1.3.0]]></category>
		<category><![CDATA[CE 1.3.1]]></category>
		<category><![CDATA[CE 1.3.1.1]]></category>
		<category><![CDATA[CE 1.3.2]]></category>
		<category><![CDATA[CE 1.3.2.1]]></category>
		<category><![CDATA[CE 1.3.2.2]]></category>
		<category><![CDATA[CE 1.3.2.3]]></category>
		<category><![CDATA[CE 1.3.2.4]]></category>
		<category><![CDATA[CE 1.3.x]]></category>
		<category><![CDATA[Développement web]]></category>
		<category><![CDATA[Exploitation]]></category>
		<category><![CDATA[Intégration]]></category>
		<category><![CDATA[Magento Community Edition]]></category>
		<category><![CDATA[Outils Magentips]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[Web-design]]></category>
		<category><![CDATA[Webmastering]]></category>
		<category><![CDATA[Araxis]]></category>
		<category><![CDATA[changelog]]></category>
		<category><![CDATA[comparaison]]></category>
		<category><![CDATA[diff]]></category>
		<category><![CDATA[Merge]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.magentips.com/?p=153</guid>
		<description><![CDATA[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&#8217;habitude de suivre les feuilles de route et les changelogs. Une nouvelle version de [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption aligncenter" style="width: 470px;"><a title="Comparateur des versions stables de Magento" href="http://files.magentips.com/content/magento-diff/"><img class="alignnone size-full wp-image-154" title="Comparateur de versions Magento" src="http://www.magentips.com/wp-content/uploads/2009/10/magento-diff.gif" alt="Comparateur de versions Magento" width="470" height="264" /></a></div>
<p>Au rythme des versions de Magento, il devient difficile de suivre les modifications apportées au code source. Pourtant, ce suivi est obligatoire pour <strong>garantir la compatibilité des extensions ou des thèmes avec une nouvelle version</strong>.</p>
<p>Pour les extensions, les développeurs ont l&#8217;habitude de suivre les feuilles de route et les <em>changelogs</em>. Une nouvelle version de Magento appelle donc une nouvelle version de l&#8217;extension. C&#8217;est habituel.</p>
<p><strong>Il en est tout autrement pour les thèmes</strong>. 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&#8217;est bugs garantis ! Et comme Magento regorge de fonctions Javascript et Ajax, il est parfois pénible de tout passer en revue.</p>
<p>Alors pour vous faciliter la tâche, je mets à disposition un <strong><a title="Comparateur des versions stables de Magento" href="http://files.magentips.com/content/magento-diff/">&laquo;&nbsp;Comparateur des versions stables de Magento Community Edition&nbsp;&raquo;</a></strong>. Cet outil répertorie toutes les <strong>modifications du code source de Magento entre deux versions stables</strong>. C&#8217;est visuel, exhaustif et rapidement accessible. Le genre de truc qu&#8217;on utilise plusieurs fois par jour&#8230;</p>
<p>N&#8217;hésitez pas à donner votre avis pour améliorer la chose. Et après, j&#8217;ai des trucs encore plus dingues dans les cartons !</p>
<div class="wp-caption aligncenter" style="width: 470px;"><img class="alignnone size-full wp-image-178" title="Comparateur de versions Magento - Détails d'un fichier" src="http://www.magentips.com/wp-content/uploads/2009/10/magento-diff-2.gif" alt="Comparateur de versions Magento - Détails d'un fichier" width="470" height="296" />Détail d&#8217;un fichier modifié entre deux versions Magento, avec mise en évidence des lignes.</div>
]]></content:encoded>
			<wfw:commentRss>http://www.magentips.com/2009/10/un-comparateur-des-versions-stables-de-magento/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Découvrir les widgets Magento</title>
		<link>http://www.magentips.com/2009/10/decouvrir-widgets-magento/</link>
		<comments>http://www.magentips.com/2009/10/decouvrir-widgets-magento/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 20:32:34 +0000</pubDate>
		<dc:creator>Christophe</dc:creator>
				<category><![CDATA[1. Débutant]]></category>
		<category><![CDATA[2. Intermédiaire]]></category>
		<category><![CDATA[3. Avancé]]></category>
		<category><![CDATA[4. Expert]]></category>
		<category><![CDATA[Administration]]></category>
		<category><![CDATA[CE 1.4.0.0]]></category>
		<category><![CDATA[CE 1.4.x]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Développement web]]></category>
		<category><![CDATA[EE 1.6.0.0]]></category>
		<category><![CDATA[EE 1.6.x]]></category>
		<category><![CDATA[Événement]]></category>
		<category><![CDATA[Magento Community Edition]]></category>
		<category><![CDATA[Magento Enterprise Edition]]></category>
		<category><![CDATA[Webmastering]]></category>
		<category><![CDATA[Widgets]]></category>
		<category><![CDATA[réseaux sociaux]]></category>
		<category><![CDATA[web services]]></category>

		<guid isPermaLink="false">http://www.magentips.com/?p=117</guid>
		<description><![CDATA[L&#8217;automne sera chargé en mises à jour Magento. Magento Enterprise Edition 1.6.0.0 sera lancé sous peu (la version RC 1 est disponible pour les partenaires depuis le 8 octobre). Quant à Magento Community Edition, il passera en version 1.4.0.0 avant Noël (I hope so, Yoav!). Cette nouvelle série Magento va très vite creuser l&#8217;écart avec [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption aligncenter" style="width: 375px;">
<a title="Présentation Magento Widgets" href="http://www.magentocommerce.com/blog/comments/introducing-magento-widgets/"><img class="alignnone size-full wp-image-118" title="Magento Widgets" src="http://www.magentips.com/wp-content/uploads/2009/10/magento-widgets-logo.png" alt="Magento Widgets" width="375" height="120" /></a>
</div>
<p>L&#8217;automne sera chargé en mises à jour <a title="Site officiel Magento" href="http://www.magentocommerce.com/">Magento</a>. <strong>Magento Enterprise Edition 1.6.0.0</strong> sera lancé sous peu (la version RC 1 est disponible pour les partenaires depuis le 8 octobre). Quant à <strong>Magento Community Edition</strong>, il passera en <strong>version 1.4.0.0</strong> avant Noël (I hope so, Yoav!).</p>
<p>Cette nouvelle série Magento va très vite creuser l&#8217;écart avec ses concurrents (mais aussi avec les anciennes séries Magento&#8230;), grâce à des fonctionnalités vraiment intéressantes. Outre le <a title="Un bien joli panier pour Magento 1.4" href="http://blog.christophelebot.fr/2009/07/28/un-bien-joli-panier-pour-magento-14/">nouveau système de calcul de prix</a> (dont les tests m&#8217;ont bien occupé au début de l&#8217;été), Magento intègrera également un <strong>moteur de widgets</strong>.</p>
<p><span id="more-117"></span></p>
<h3>Des widgets, pour quoi faire</h3>
<p>Les widgets sont partout dans les applications web aujourd&#8217;hui car ils permettent aux utilisateurs non techniciens d&#8217;<strong>ajouter des contenus dynamiques</strong> à leur site web. Plus besoin d&#8217;un développement avancé pour afficher la liste des 5 produits les plus vus de la semaine&#8230; même s&#8217;il faut des développeurs pour programmer les widgets qui feront  cela ! Mais si les widgets sont suffisamment bien conçus, on pourra par exemple :</p>
<ul>
<li>placer des vidéos</li>
<li>accéder à d&#8217;autres services web (réseaux sociaux, flux RSS, partenaires, etc.)</li>
<li>afficher un nuage de tags</li>
<li>lister les derniers commentaires</li>
<li>classer les produits par avis des clients</li>
<li>etc.</li>
</ul>
<h3>Comment créer un widget Magento ?</h3>
<p>Les widgets Magento sont des <strong>blocs du frontend</strong> dont le comportement est défini dans l&#8217;interface d&#8217;administration. Ils doivent être développer selon la <strong>même approche que les modules Magento</strong>. Les développeurs Magento ne seront donc pas dépaysés, la logique reste la même : un dossier pour le widget avec sa configuration XML, son modèle métier, ses helpers et son activation dans <code>app/etc/modules</code>. Jusque là, rien de neuf.</p>
<p>La grosse différence est l&#8217;apparition d&#8217;un <strong>fichier <code>widget.xml</code></strong> dans le dossier <code>etc</code> du module, à côté du <code>config.xml</code>. Il sert à déclarer le widget dans le moteur de widgets afin de le rendre disponible à l&#8217;utilisateur du backend.</p>
<p>Pour que le widget fonctionne, il doit <strong>implémenter une interface</strong> (dans le sens <em>programmation orientée objet</em>) pour gérer les flux de données (ajout, modification et accès) et afficher le résultat (méthode <code>toHtml()</code>).</p>
<p><strong>Attention à faire un travail propre !</strong> Toutes les méthodes de cette interfaces existent dans le noyau de Magento dans des classes abstraites. On peut donc tirer bon avantage à les utiliser pour fiabiliser le rendu final. Le <a title="Tutorial: Creating a Magento Widget, Part 1" href="http://www.magentocommerce.com/knowledge-base/entry/tutorial-creating-a-magento-widget-part-1">premier didacticiel sur le site officiel</a> est très clair sur ce point.</p>
<h3>Comment utiliser un widget Magento ?</h3>
<p>Une fois programmé et correctement installé, le widget est accessible via le module wysiwyg. Ah oui, j&#8217;ai oublié de le dire : <strong>Magento intègrera désormais un module wysiwyg en standard</strong>. Un progrès notable !</p>
<p>La suite est tellement simple que je ne vois pas l&#8217;intérêt d&#8217;expliquer comment s&#8217;en servir&#8230;</p>
<h3>Pour conclure</h3>
<p>Je vois un énorme avantage avec l&#8217;arrivée des widgets : <strong>de nombreuses extensions vont pouvoir disparaître et simplifier le travail de développement et d&#8217;intégration des sites</strong>. Sans oublier que ce ménage salvateur va fiabiliser la plate-forme. Je suis content de cette série 1.4, vraiment content !</p>
<h3>Pour aller plus loin</h3>
<ul>
<li><a title="Introducing Magento Widgets" href="http://www.magentocommerce.com/blog/comments/introducing-magento-widgets/">Introducing Magento Widgets</a></li>
<li><a title="Tutorial: Creating a Magento Widget, Part 1" href="http://www.magentocommerce.com/knowledge-base/entry/tutorial-creating-a-magento-widget-part-1">Tutorial: Creating a Magento Widget, Part 1</a></li>
<li><a title="Tutorial: Creating a Magento Widget, Part 2" href="http://www.magentocommerce.com/knowledge-base/entry/tutorial-creating-a-magento-widget-part-2">Tutorial: Creating a Magento Widget, Part 2</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.magentips.com/2009/10/decouvrir-widgets-magento/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Importation de clients : attention aux abonnés newsletter !</title>
		<link>http://www.magentips.com/2009/10/importation-de-clients-attention-aux-abonnes-newsletter/</link>
		<comments>http://www.magentips.com/2009/10/importation-de-clients-attention-aux-abonnes-newsletter/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 22:01:21 +0000</pubDate>
		<dc:creator>Christophe</dc:creator>
				<category><![CDATA[1. Débutant]]></category>
		<category><![CDATA[2. Intermédiaire]]></category>
		<category><![CDATA[3. Avancé]]></category>
		<category><![CDATA[4. Expert]]></category>
		<category><![CDATA[Administration]]></category>
		<category><![CDATA[CE 1.3.2.4]]></category>
		<category><![CDATA[Clients]]></category>
		<category><![CDATA[Données]]></category>
		<category><![CDATA[E-mailing]]></category>
		<category><![CDATA[Newsletter]]></category>
		<category><![CDATA[Relation client]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[Trucs et astuces]]></category>
		<category><![CDATA[Webmastering]]></category>
		<category><![CDATA[e-mail]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://www.magentips.com/?p=60</guid>
		<description><![CDATA[Magento réserve souvent de belles surprises&#8230; qui peuvent se transformer en pièges en l&#8217;absence de documentation de référence. Celui caché derrière l&#8217;importation des comptes clients est particulièrement démonstratif. Résultat : un envoi massif d&#8217;e-mails qui peuvent être pris comme du spam par les clients ! Si on utilise le profil d&#8217;importation CSV standard de Magento, [...]]]></description>
			<content:encoded><![CDATA[<p>Magento réserve souvent de belles surprises&#8230; qui peuvent se transformer en pièges en l&#8217;absence de documentation de référence. Celui caché derrière l&#8217;importation des comptes clients est particulièrement démonstratif. Résultat : <strong>un envoi massif d&#8217;e-mails qui peuvent être pris comme du spam par les clients !</strong></p>
<p><span id="more-60"></span></p>
<p>Si on utilise le profil d&#8217;importation CSV standard de Magento, un fichier de comptes clients contient une ligne par compte avec l&#8217;ensemble des valeurs de ses attributs. Parmi ces champs, se trouve l&#8217;état d&#8217;abonnement à la newsletter. Lors d&#8217;une migration d&#8217;un site existant vers une plate-forme Magento, il est donc possible d&#8217;avoir des milliers de comptes dont la majorité sont abonnés à la newsletter.</p>
<p>Pendant l&#8217;importation de ces données, Magento utilise son modèle métier pour valider chaque ligne et réaliser l&#8217;action adéquate : création ou modification. Le problème pour les nouveaux comptes ou pour ceux dont l&#8217;abonnement à la newsletter change, c&#8217;est qu&#8217;ils seront traités comme le fait l&#8217;interface d&#8217;administration : <strong>un message sera envoyé au client pour l&#8217;avertir du changement d&#8217;état de l&#8217;abonnement</strong>.</p>
<p>Si votre fichier contient 50000 comptes, <strong>ce sont potentiellement 50000 e-mails qui partent lors de l&#8217;importation !</strong> Retours garanties&#8230;</p>
<p>Donc si vous faites des importations de comptes clients, prenez vos précautions (en coupant le serveur SMTP par exemple), surtout si l&#8217;importation se répète plusieurs fois par jour lors des tests fonctionnels ou des tests de charge. Situation vécue&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.magentips.com/2009/10/importation-de-clients-attention-aux-abonnes-newsletter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

