<?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; Dossier</title>
	<atom:link href="http://www.magentips.com/cat/types-contenu/dossier/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>Où en est Magento ?</title>
		<link>http://www.magentips.com/2010/11/ou-en-est-magento/</link>
		<comments>http://www.magentips.com/2010/11/ou-en-est-magento/#comments</comments>
		<pubDate>Tue, 02 Nov 2010 00:03:28 +0000</pubDate>
		<dc:creator>Christophe</dc:creator>
				<category><![CDATA[CE 1.4.x]]></category>
		<category><![CDATA[CE 1.5.x]]></category>
		<category><![CDATA[Dossier]]></category>
		<category><![CDATA[EE 1.9.x]]></category>
		<category><![CDATA[Feuille de route Magento]]></category>
		<category><![CDATA[Magento Community Edition]]></category>
		<category><![CDATA[Magento Enterprise Edition]]></category>
		<category><![CDATA[Magento Mobile]]></category>
		<category><![CDATA[Magento On-Demand]]></category>
		<category><![CDATA[Magento Professional Edition]]></category>
		<category><![CDATA[PE 1.9.x]]></category>
		<category><![CDATA[Stratus]]></category>

		<guid isPermaLink="false">http://www.magentips.com/?p=850</guid>
		<description><![CDATA[Comme ça bouge beaucoup autour de Magento en ce moment, il me semble intéressant de résumer rapidement la situation. Je dirais qu&#8217;après la phase de découverte, nous entrons dans celle de la consolidation. Sur le terrain Magento serait la solution e-commerce utilisée par 65000 à 70000 sites dans le monde pour un chiffre d&#8217;affaires cumulé [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption aligncenter" style="width: 470px;"><img class="alignnone size-medium wp-image-866" title="Magento On-Demand - Project Stratus" src="http://www.magentips.com/wp-content/uploads/2010/11/magento-saas-470x85.jpg" alt="" width="470" height="85" /></div>
<p>Comme ça bouge beaucoup autour de <a title="Site officiel Magento" href="http://www.magentocommerce.com/">Magento</a> en ce moment, il me semble intéressant de résumer rapidement la situation. Je dirais qu&#8217;après la phase de découverte, nous entrons dans celle de la consolidation.</p>
<h3>Sur le terrain</h3>
<p>Magento serait la solution e-commerce utilisée par 65000 à 70000 sites dans le monde pour un chiffre d&#8217;affaires cumulé de&#8230; 25 milliards de dollars par an ! De bons chiffres quand on sait que la solution n&#8217;a que deux ans et demi. Les retours des utilisateurs sont nombreux et rendent la solution robuste et fiable, comme le montre la série 1.4.x de Magento Community Edition.</p>
<p>Magento Inc., son éditeur, est très satisfait, annonce être rentable et emploie déjà 180 personnes !</p>
<h3>Les compétences</h3>
<p>Venons-en au marché des prestations Magento. Jusqu&#8217;à la fin de l&#8217;année 2009, ça partait un peu dans tous les sens : Magento n&#8217;avait pas calé son modèle économique, les partenaires ne voyaient pas comment tirer leur épingle du jeu, les intégrateurs pensaient tous maîtriser la bête, les e-commerçants voyaient une réponse à tous leurs délires. Il a fallu revenir sur terre&#8230;</p>
<p>Aujourd&#8217;hui, nous constatons de nombreuses réussites, mais aussi des échecs dont la cause tient essentiellement à une mauvaise maîtrise de la partie technique. L&#8217;architecture est complexe et impose une excellente maîtrise de la programmation orientée objet. L&#8217;hébergement est particulier et nécessite une forte personnalisation des serveurs. Ces deux aspects cumulés ont fait des ravages&#8230;</p>
<p>Un bon développeur qui ne connaît pas Magento sera pleinement opérationnel au bout de quatre mois. Ceux qui ne connaissent pas l&#8217;UML, l&#8217;objet, les <em>design patterns</em> et le Zend Framework peuvent ajouter un an ! Les compétences Magento sont très recherchées sur le marché de l&#8217;emploi car des profils aussi pointus sont rares.</p>
<p>La partie web design n&#8217;est pas en reste. Manipuler les <em>layouts</em> et les <em>templates</em> tient de l&#8217;art martial. La puissance est fabuleuse, mais que d&#8217;efforts pour ne pas anéantir un joli site à cause de performances catastrophiques ! Là aussi, il faut savoir jouer avec les blocs, les objets, les singletons, le XML&#8230;</p>
<h3>La feuille de route</h3>
<p>Un petit mot sur ce que nous réserve l&#8217;avenir. Personne n&#8217;a pu passer à côté de <a title="Magento Mobile" href="http://www.magentocommerce.com/product/mobile">Magento Mobile</a> qui est en production depuis cet été. Il lui manque encore le support de l&#8217;iPad et d&#8217;Androïd, mais ça va venir vite.</p>
<p>Le mois d&#8217;août fut surtout marqué par le lancement du projet Magento 2.0. Il faudra du temps avant de jouer avec, mais cette nouvelle série sera certainement bien plus robuste et performante. Elle est en cours de développement avec les objectifs suivants :</p>
<ul>
<li>Tests unitaires et intégration continue</li>
<li>Tests de charge, amélioration des performances, gestion de CDN (Content Delivery Network)</li>
<li>Amélioration de la sécurité</li>
<li>Révision de l&#8217;architecture, meilleur découplage, réorganisation des vues</li>
<li>Couverture complète des fonctionnalités par l&#8217;API</li>
<li>Utilisation d&#8217;autres système de gestion de bases de données</li>
<li>Amélioration des fonctionnalités Internationalisation / Localisation (I18N, L10N)</li>
</ul>
<p>Mais il se passera bien des choses d&#8217;ici-là. Magento Community Edition 1.4.2.0 devrait sortir ce mois-ci, avec quelques nouveautés intéressantes dont une refonte de Magento Connect Manager : nous pourrons enfin installer des extensions locales depuis le <em>backend</em> !</p>
<p>La prochaine étape sera Magento Community Edition 1.5.0.0 en début d&#8217;année 2011, avec un point que j&#8217;attends depuis longtemps : un support complet des informations du catalogue dans les fichiers de données à importer.</p>
<p>Les éditions Professional et Enterprise ne traînent pas non plus : une version 1.9.1.0 vient de sortir, la version 1.10.0.0 est attendue pour la fin de l&#8217;année.</p>
<p>Et puis, il ne faut pas oublier le petit nouveau : <a title="Magento On-Demand - Project Stratus" href="http://www.magentips.com/2010/10/magento-on-demand-project-stratu/">Stratus</a>.</p>
<h3>Et  après ?</h3>
<p>Toutes ces bonnes nouvelles font naître <a title="L’inévitable changement de stratégie de Magento ?" href="http://www.ziserman.com/blog/2010/10/11/linevitable-changement-de-strategie-de-magento/">des tonnes de questions</a> dont les réponses seront très certainement répétées et précisées au <a title="Bargento 5" href="http://www.bargento.fr/">Bargento 5</a>, lundi prochain !</p>
<p>C&#8217;est marrant : avec Magento, c&#8217;est un peu &laquo;&nbsp;je t&#8217;aime, mois non plus&nbsp;&raquo;. On peste, on râle, on souffre, mais on ne peut plus s&#8217;en passer ! Vous n&#8217;avez pas cette impression ?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.magentips.com/2010/11/ou-en-est-magento/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Magento 1.4 : nouveautés et conséquences</title>
		<link>http://www.magentips.com/2010/02/magento-1-4-nouveautes-consequences/</link>
		<comments>http://www.magentips.com/2010/02/magento-1-4-nouveautes-consequences/#comments</comments>
		<pubDate>Sat, 13 Feb 2010 19:29:40 +0000</pubDate>
		<dc:creator>Christophe</dc:creator>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[Catalogue]]></category>
		<category><![CDATA[CE 1.4.0.0]]></category>
		<category><![CDATA[CE 1.4.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[Dossier]]></category>
		<category><![CDATA[Événement]]></category>
		<category><![CDATA[Exploitation]]></category>
		<category><![CDATA[Extensions]]></category>
		<category><![CDATA[Feuille de route Magento]]></category>
		<category><![CDATA[Formation]]></category>
		<category><![CDATA[Intégration]]></category>
		<category><![CDATA[Magento Community Edition]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Merchandising]]></category>
		<category><![CDATA[Prix et taxes]]></category>
		<category><![CDATA[Relation client]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[Thèmes]]></category>
		<category><![CDATA[Vente]]></category>
		<category><![CDATA[Web-design]]></category>
		<category><![CDATA[Webmastering]]></category>
		<category><![CDATA[Widgets]]></category>

		<guid isPermaLink="false">http://www.magentips.com/?p=506</guid>
		<description><![CDATA[Après de longs mois de travail (et de retard&#8230;), Magento Community Edition 1.4.0.0 est à disposition de tous. Pour avoir participé (un peu) à son élaboration, je peux affirmer qu&#8217;elle représente une étape majeure. Si je faisais une analogie avec les services web 2.0, je dirais que Magento vient de quitter sa période bêta. En [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption aligncenter" style="width: 470px;"><img class="alignnone size-full wp-image-581" title="Magento Community Edition 1.4.0.0" src="http://www.magentips.com/wp-content/uploads/2010/02/magento-ce-1-4.png" alt="" width="470" height="300" /></div>
<p>Après de longs mois de travail (et de retard&#8230;), <a title="Magento CE Version 1.4.0.0 Stable - Now Available" href="http://www.magentocommerce.com/blog/comments/magento-ce-version-1400-stable-now-available/">Magento Community Edition 1.4.0.0</a> est à disposition de tous. Pour avoir participé (un peu) à son élaboration, je peux affirmer qu&#8217;elle représente une étape majeure. Si je faisais une analogie avec les services <em>web 2.0</em>, je dirais que Magento vient de quitter sa période bêta. En effet, nous avons tous essuyé les plâtres d&#8217;une solution innovante mais jeune, bourrée de fonctionnalités mais aussi de carences, dotée d&#8217;une architecture extraordinaire mais pas encore bien huilée. <strong><a title="Site officiel de Varien" href="http://www.varien.com/">Varien</a> a intégré nos expériences, compris nos contraintes et répondu à nos besoins. Le résultat, c&#8217;est cette version 1.4.0.0.</strong></p>
<p>Magento 1.4.0.0, c&#8217;est pas loin de 2 millions de lignes de code, 875 fichiers supprimés, 2366 fichiers nouveaux, 3437 fichiers modifiés, des dizaines de milliers de différences dans les lignes de code. Autant dire que <strong>les modifications réalisées sont profondes</strong>. C&#8217;est une <strong>excellente nouvelle pour les nouveaux sites Magento</strong>&#8230; et un peu <strong>moins bonne pour les anciens</strong>, nous allons voir pourquoi.</p>
<p>Au-delà d&#8217;une simple liste des nouveautés, je vous propose de <strong>découvrir ce que cette version va changer pour les utilisateurs et intégrateurs de Magento</strong>.<br />
<span id="more-506"></span></p>
<h3>Quoi de neuf dans Magento 1.4.0.0 ?</h3>
<h4>Refonte complète des calculs des prix et des taxes</h4>
<p>C&#8217;est pour moi <strong>l&#8217;aspect le plus important dans les changements apportés</strong>. La solution a été conçue aux États-Unis, pays où les produits affichent toujours un prix hors taxes, même pour les particuliers. Évidemment, ce n&#8217;est pas le cas en Europe où les prix incluent les taxes en BtoC, ce qui inverse de fait tous les calculs de prix.</p>
<p>Jusqu&#8217;à présent, Magento faisait sa cuisine en basculant les prix TTC en prix HT, ce qui posait rapidement des soucis de calcul des remises et des taxes. A cela s&#8217;ajoutait des arrondis un peu approximatifs&#8230; Un point critique très pénalisant pour le développement de Magento en Europe. Il fallait jongler avec des configurations un peu bancales et des modules spécifiques pour <em>patcher </em>les comportements, en fonction du catalogue et du métier du client. Faisable, mais un peu lourd&#8230;</p>
<p>J&#8217;ai longuement travailler avec Varien sur ce point. Nous avons étudié plusieurs pistes à partir des besoins métiers transmis (un grand merci à Sébastien Lepers, alias SeL qui a joué un rôle essentiel dans cette phase d&#8217;étude). Tout me paraissait simple jusqu&#8217;à ce que certains pays asiatiques entrent dans la boucle avec des règles fiscales et comptables aussi dingues que les nôtres&#8230; mais différentes !</p>
<p>L&#8217;équipe de Yoav Kutner (directeur technique de Varien) a donc imaginé un <strong>configurateur de calcul</strong> suffisamment abstrait pour être adapté à tous les cas. Et ça marche ! La TVA sur les remises est maintenant un vieux cauchemar.</p>
<div class="wp-caption aligncenter" style="width: 470px;"><img class="alignnone size-full wp-image-574" title="Configuration des calculs" src="http://www.magentips.com/wp-content/uploads/2010/02/calculation-settings.png" alt="" width="470" height="289" />La configuration des calculs dans Magento 1.4.0.0.</div>
<h4>L&#8217;arrivée des <em>widgets</em></h4>
<p>Oui, Magento gère maintenant les widgets. Rien d&#8217;exceptionnel, d&#8217;autres applications le font. Sauf que c&#8217;est <strong>un changement radical à la fois pour les utilisateurs de la plate-forme et pour les développeurs Magento</strong>.</p>
<p>Les utilisateurs bénéficient maintenant de petites fonctionnalités intéressantes, exploitables depuis les contenus de pages et de blocs. Par défaut, on a l&#8217;insertion de liens vers des pages et des catégories ou encore la liste des nouveaux produits. <strong>Ce qui demandait souvent des développements spécifiques est maintenant intégré et configurable par un utilisateur.</strong></p>
<p>Les développeurs, eux, vont se régaler à proposer des mini-fonctionnalités rapidement et simplement. <strong>Et au final, de nombreuses extensions actuelles n&#8217;auront plus aucun intérêt. Elles seront avantageusement remplacées par des widgets.</strong></p>
<div class="wp-caption aligncenter" style="width: 470px;"><img class="alignnone size-full wp-image-585" title="Instance de widget" src="http://www.magentips.com/wp-content/uploads/2010/02/widget-instance.png" alt="" width="470" height="301" />Création d&#8217;une instance de widget.</div>
<h4>Intégration du <em>wysiwyg</em> dans les pages et les blocs CMS</h4>
<p>La solution Magento a souventété critiquée pour son absence d&#8217;outil d&#8217;enrichissement des contenus. C&#8217;est maintenant chose faite ! En arrière-plan, c&#8217;est <a title="Site officiel TinyMCE" href="http://tinymce.moxiecode.com/">TinyMCE</a> qui s&#8217;y colle avec les fonctionnalités que nous connaissons déjà.</p>
<div class="wp-caption aligncenter" style="width: 470px;"><img class="alignnone size-full wp-image-590" title="Wysiwyg" src="http://www.magentips.com/wp-content/uploads/2010/02/wysiwyg.png" alt="" width="470" height="300" />Le wysiwyg dans une page CMS.</div>
<p>Le <em>wysiwyg</em> s&#8217;accompagne d&#8217;un <strong>navigateur de fichiers</strong> qui permet de stocker (dans le dossier <em>media</em> de Magento) des images et des documents. <strong>L&#8217;utilisateur a donc la main sur le placement de ses ressources et la gestion de sa bibliothèque.</strong></p>
<div class="wp-caption aligncenter" style="width: 470px;"><img class="alignnone size-full wp-image-591" title="Navigateur de fichiers" src="http://www.magentips.com/wp-content/uploads/2010/02/media-browser.png" alt="" width="470" height="294" />Le navigateur permet de créer des dossiers pour organiser ses fichiers.</div>
<h4>Refonte du système d&#8217;indexation et de cache</h4>
<p>Toute la gestion des index et du cache a été repensée. Jusqu&#8217;à présent, les actions n&#8217;était pas claires, les résultats pas toujours évidents, ce qui nous obligeait à tout purger dès qu&#8217;on touchait à un truc. Résultat catastrophique sur les sites à fort trafic&#8230;</p>
<p>Donc maintenant, c&#8217;est clair, pratique et efficace. Extensible aussi, on peut ajouter d&#8217;autres contenus en cache ou en index (extensions, par exemple).</p>
<div class="wp-caption aligncenter" style="width: 470px;"><img class="alignnone size-full wp-image-595" title="Gestion du cache" src="http://www.magentips.com/wp-content/uploads/2010/02/cache.png" alt="" width="470" height="190" />Gestion du cache.</div>
<div class="wp-caption aligncenter" style="width: 470px;"><img class="alignnone size-full wp-image-596" title="Gestion des index" src="http://www.magentips.com/wp-content/uploads/2010/02/index.png" alt="" width="470" height="153" />Gestion des index.</div>
<h4>Refonte de l&#8217;affichage des erreurs et des statuts HTTP</h4>
<p>La gestion de l&#8217;affichage des erreurs a été revue. Elle n&#8217;est plus limitée aux erreurs fatales (<em>Magento report</em>) et 404 (page non trouvée). Et on peut personnaliser le fond et la forme de chaque page d&#8217;erreur.</p>
<h4>Clés URL  par vue</h4>
<p>Un truc énervant depuis les débuts de Magento : pas de clé URL par vue. Si on avait un site en français et en anglais, il n&#8217;offrait qu&#8217;une seule clé URL. Par exemple, la catégorie <em>www.example.com/ma-categorie</em> avait la même adresse en français et en anglais. Une catastrophe pour le référencement.</p>
<p>Maintenant, on peut <strong>avoir une seule catégorie avec deux adresses</strong> : <em>www.example.com/ma-categorie</em> en français et <em>www.example.com/my-category</em> en anglais.</p>
<div class="wp-caption aligncenter" style="width: 470px;"><img class="alignnone size-full wp-image-600" title="Clé URL par vue" src="http://www.magentips.com/wp-content/uploads/2010/02/url-key.png" alt="" width="470" height="301" />Une clé URL par défaut ou par vue.</div>
<h4>Bootstrap contextuel</h4>
<p>Le bootstrap de Magento (ce qui permet à Magento de démarrer) a été repensé pour faciliter l&#8217;exploitation. On peut maintenant gérer le démarrage de plusieurs sites sans passer par un fichier <em>index.php</em> pour chacun, mais simplement <strong>en jouant avec les variables d&#8217;environnement</strong>. On peut donc <strong>démarrer un site via la configuration d&#8217;un hôte virtuel</strong> dans le serveur web (vhost d&#8217;Apache par exemple).</p>
<h4>Ajout du genre dans le compte client</h4>
<p>Petit détail, mais la question revenait en permanence. Alors Varien a ajouté le genre dans le compte client. <strong>On peut enfin faire des offres promotionnelles pour les femmes seulement !</strong></p>
<h4>Montée en version de Zend Framework</h4>
<p><a title="Site officiel Zend Framework" href="http://framework.zend.com/">Zend Framework</a> (qui est à la base de toute l&#8217;architecture de Magento) fait un bond important en passant de la version 1.7.2 à la 1.9.6. Ce n&#8217;est pas la toute dernière (v. 1.10.1), mais suffisant pour disposer de composants intéressants pour le développement d&#8217;extensions (outils Rapid Application Development, cloud computing, Zend_Reflection, Zend_Queue, etc.).</p>
<h4>Implémentation de 3D Secure</h4>
<p>Magento gère désormais 3D Secure. Et après ? Euh&#8230; j&#8217;avoue que là, je n&#8217;ai pas creusé. Les courageux analyseront le module <em>Mage_Centinel</em>.</p>
<h4>Refonte du module Paypal</h4>
<p>Le module Paypal a été totalement réécrit. Il offre plus de fonctionnalités, tout en éliminant des bogues un peu pénibles.</p>
<h4>Gestion de variables personnalisées</h4>
<p>Un petit truc génial ! On se demande même comment on n&#8217;a pu faire sans. Grâce à cette nouvelle entrée du menu <em>Système</em>, on peut <strong>définir des variables et leur valeur, puis les utiliser dans les contenus de Magento</strong> (pages, blocs et e-mails).</p>
<div class="wp-caption aligncenter" style="width: 470px;"><img class="alignnone size-full wp-image-608" title="Définition d'une variable" src="http://www.magentips.com/wp-content/uploads/2010/02/custom-variable.png" alt="" width="470" height="236" />Je crée une variable personnalisée dans le menu <em>Système</em>.</div>
<div class="wp-caption aligncenter" style="width: 470px;"><img class="alignnone size-full wp-image-609" title="Insertion d'une variable" src="http://www.magentips.com/wp-content/uploads/2010/02/insert-variable.png" alt="" width="470" height="323" />J&#8217;insère ma variable dans n&#8217;importe quel contenu Magento.</div>
<div class="wp-caption aligncenter" style="width: 470px;"><img class="alignnone size-full wp-image-606" title="Utilisation d'une variable" src="http://www.magentips.com/wp-content/uploads/2010/02/bloc-variable.png" alt="" width="470" height="138" />Ici la variable est insérée dans un bloc. On reconnait la syntaxe particulière que Magento utilise pour les données dynamiques.</div>
<div class="wp-caption aligncenter" style="width: 470px;"><img class="alignnone size-full wp-image-607" title="Affichage d'une variable" src="http://www.magentips.com/wp-content/uploads/2010/02/categorie-variable.png" alt="" width="470" height="336" />En affichant le bloc dans une catégorie, je récupère la valeur de la variable personnalisée. Magique !</div>
<h4>Refonte de la gestion des thèmes</h4>
<p>La gestion des thèmes a été repensée pour faciliter leur maintenance qui devenait un enfer sur des sites Magento un peu anciens&#8230; Maintenant, plus le choix : on surcharge le thème de base !</p>
<h3>Une version attirante pour les nouveaux entrants&#8230;</h3>
<p>Au final, Magento prend une excellente direction. Les concepts étaient là dès le début, il fallait seulement les renforcer. Les fonctionnalités sont d&#8217;une <strong>exceptionnelle richesse pour une solution open source</strong>. Côté performances, Magento gagne encore des points.</p>
<h3>&#8230; mais une mise à jour délicate sur les anciens sites</h3>
<p><strong>Le gros problème de Magento 1.4, c&#8217;est la profonde modification de son noyau (le <em>core</em>).</strong> Certes, c&#8217;est bien mieux pour l&#8217;avenir. Mais la mise à jour depuis des versions antérieures sera un véritable casse-tête pour ceux qui ne sont pas restés sur les fonctionnalités standard.</p>
<h4>Attendre la mise à jour des extensions</h4>
<p>Premier point, <strong>les 1700 extensions présentes dans Magento Connect vont devoir être mises à jour, testées et publiées</strong>. Pour certaines d&#8217;entre elles, cela représente des semaines de travail. Heureusement, Varien avait mis à disposition des versions bêta pour que les intégrateurs préparent ce travail.</p>
<p>Cependant, il va sans doute falloir du temps avant d&#8217;utiliser des extensions compatibles. Je pense surtout à celles qui sont indispensables : traductions, modes de paiement, modes de livraison, passerelles d&#8217;échange de données, etc.</p>
<h4>Refactoriser les développements</h4>
<p>Certaines classes et méthodes sont dépréciées, des modules ont été déplacés, l&#8217;arborescence des fichiers a changé. Résultat : une nécessaire révision des développements spécifiques, suivie d&#8217;une phase de tests non négligeable.</p>
<h4>Mettre à jour les thèmes</h4>
<p>Cette tâche n&#8217;est pas nouvelle : à chaque mise à jour de Magento, il faut reporter les modifications apportées au thème par défaut sur son propre thème.</p>
<p>Sauf que là, c&#8217;est vraiment différent ! La notion de <em>base</em> de thèmes a été intégrée et le thème par défaut se déleste de 38 fichiers, s&#8217;alourdit de 49, tandis que 291 sont modifiés. On n&#8217;a pas fini de faire des comparaisons de code&#8230;</p>
<h4>Remplacer des modules par des widgets</h4>
<p>Pour ceux qui auront tenu les quelques semaines de mise à jour vers Magento 1.4.0.0, il reste la transformation de modules en widgets. De nombreux modules ajoutaient des mini-fonctionnalité aux utilisateurs (afficher les meilleures ventes dans une page, par exemple). Désormais, les widgets, plus légers et configurables par l&#8217;utilisateur, vont prendre le relais.</p>
<h3>Conclusion</h3>
<p>Magento 1.4.0.0 est une bien belle version, avec un potentiel qui devient réellement exploitable. Les nouveaux utilisateurs et intégrateurs seront conquis. Les autres vont d&#8217;abord s&#8217;arracher les cheveux pour la mise à jour, puis goûteront le plaisir d&#8217;être à la pointe de l&#8217;innovation.</p>
<p>Une dernière chose : je vous conseille de <strong>ne jamais mettre à jour Magento via l&#8217;interface d&#8217;administration de Magento sur un site en production</strong>. Cette  action simple et rapide va entraîner une belle dose de stress ! Dupliquez votre site sur un serveur de test et analysez bien les conséquences de la mise à jour sur vos réalisations spécifiques. <strong>Magento est un outil professionnel puissant, rigoureux et exigeant. Il faut l&#8217;être aussi.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.magentips.com/2010/02/magento-1-4-nouveautes-consequences/feed/</wfw:commentRss>
		<slash:comments>25</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>
	</channel>
</rss>

