<?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>Communauté Magento francophone</title>
	<atom:link href="http://www.wikigento.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.wikigento.com</link>
	<description>Optimisation de sites E-commerce</description>
	<lastBuildDate>Wed, 01 Sep 2010 14:08:56 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Prochain Aperogento : PACA</title>
		<link>http://www.wikigento.com/bargento/aperogento/aperogento/</link>
		<comments>http://www.wikigento.com/bargento/aperogento/aperogento/#comments</comments>
		<pubDate>Sun, 29 Aug 2010 15:46:30 +0000</pubDate>
		<dc:creator>Philippe Humeau</dc:creator>
				<category><![CDATA[Apérogento]]></category>

		<guid isPermaLink="false">http://www.wikigento.com/?p=1644</guid>
		<description><![CDATA[Accueil » Régions » Paca » ApéroGento  à Aix-en-Provence   	  	 	 				 				« retour aux évènements
ApéroGento à Aix-en-Provence iCal Import

Début : 10 Septembre 2010
 
L’ApéroGento Aix-en-Provence est  l’occasion de rencontrer les spécialistes Magento en région  Provence-Alpes-Côte d’Azur, dans une ambiance décontractée et  conviviale.
Pour cette 1ère édition de l’ApéroGento Aix-en-Provence, c’est [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Aller à Accueil." href="http://www.aperogento.fr/">Accueil</a> » <a title="Régions" href="http://www.aperogento.fr/category/regions/">Régions</a> » <a title="Paca" href="http://www.aperogento.fr/category/regions/paca/">Paca</a> » ApéroGento  à Aix-en-Provence   	  	 	 				 				<span><a href="http://www.aperogento.fr/category/events/">« retour aux évènements</a></span></p>
<h2>ApéroGento à Aix-en-Provence <a href="http://www.aperogento.fr/?ical=19">iCal Import</a></h2>
<div>
<p>Début : <span>10 Septembre 2010</span></p>
<p><span> </span></div>
<p><img title="logo-aperogento-aix-en-provence" src="http://www.aperogento.fr/wp-content/uploads/2010/08/logo-aperogento-aix-en-provence.png" alt="" width="637" height="119" />L’ApéroGento Aix-en-Provence est  l’occasion de rencontrer les spécialistes Magento en région  Provence-Alpes-Côte d’Azur, dans une ambiance décontractée et  conviviale.</p>
<p>Pour cette 1ère édition de l’ApéroGento Aix-en-Provence, c’est un  cadre provençal de la région d’Aix-en-Provence qui a été choisi. Le  choix s’est porté sur un restaurant classé : <a href="http://maps.google.com/maps?&amp;f=q&amp;source=s_q&amp;geocode=&amp;q=La+Table+de+Beaurecueil%2C+66+route+de+Meyreuil-All%C3%A9e+des+M%C3%BBriers+Beaurecueil+13100+France">La  table de Beaurecueil</a>, au pied de la montagne Sainte-Victoire.</p>
<p><span id="more-19"> </span></p>
<p><img title="la-table-de-beaurecueil" src="http://www.aperogento.fr/wp-content/uploads/2010/08/la-table-de-beaurecueil1.jpg" alt="" width="637" height="133" /></p>
<p>Les inscriptions pour l’ApéroGento  Aix-en-Provence sont actuellement ouvertes.</p>
<p>Les frais d’inscription de 39 €, intégralement reversés au  restaurateur, couvrent l’apéritif, le repas, le vin et le dessert.</p>
<h3>Comment s’inscrire ?</h3>
<p>Rendez-vous sur la <a href="http://www.weezevent.com/AperogentoAixenProvence" target="_blank">page  d’inscription</a> à l’événement.</p>
<p><a href="http://www.weezevent.com/AperogentoAixenProvence" target="_blank">»  Inscrivez-vous</a></p>
<p>Dans le formulaire d’inscription :</p>
<ul>
<li>choisissez le nombre de places à réserver et cliquez sur « Suite »</li>
<li>remplissez les champs du formulaire et cliquez sur « Suite »</li>
</ul>
<p>Vous serez dirigé vers une interface de paiement totalement  sécurisée.</p>
<p>Pour tout renseignement, contactez les organisateurs de l’ApéroGento  Aix-en-Provence en utilisant le formulaire de contact.</p>
<p>Les inscriptions pour l’ApéroGento Aix-en-Provence sont actuellement  ouvertes <strong><span style="text-decoration: underline;">dans la  limite de 50 personnes</span></strong> pour l’événement, afin de  conserver l’ambiance conviviale et propice aux échanges.</p>
<p><strong>Attention donc :</strong> une  fois les 50 places réservées,  nous ne pourrons pas accepter les  personnes qui souhaiteraient y  participer au dernier moment.</p>
<h3>Le programme de l’ApéroGento Aix-en-Provence</h3>
<p>Le programme de l’ApéroGento Aix-en-Provence<br />
11H00 : Accueil autour d’un apéro<br />
12h00 : Repas<br />
14H00 : Ateliers<br />
17h00 : Clôture</p>
<p><span style="text-decoration: underline;">Contenu des Ateliers</span></p>
<p>Les ateliers ont été conçus pour accueillir tous types de   participants, des e-commercants désireux d’en savoir plus sur la   technologie à ceux qui ont déja un site sous Magento, sans oublier les   prestataires Magento ou plus généralement E-Commerce.</p>
<p>A ce titre, l’organisation vous proposera 4 ateliers :<br />
- Découverte de Magento :  ses fonctionnalités, ses avantages. Retours  d’expériences<br />
- Créer son site sous Magento : échangez avec des spécialistes de la   technologie,  qui vous expliqueront les pré requis pour créer ou migrer   son site vers Magento;<br />
- Magento et les extensions : découverte d’une des grandes forces de   Magento, dont la modularité permet l’ajout de fonctionnalités en   utilisant des « extensions ».<br />
- Espace business : dédié aux professionnels Magento, l’objectif est de   vous mettre en relation dans un cadre convivial et décontracté.</p>
<p>Ces ateliers seront tous animés par des experts de la technologie   Magento, mais c’est avant tout VOUS qui serez moteurs grâce à vos   questions.</p>
<p>L’ApéroGento Aix-en-Provence est un événement organisé par l’<a href="http://www.profileo.com/">agence Profileo</a>, <a href="http://www.boutik-circus.fr/">Boutik Circus</a>, la <a href="http://www.maisondulogiciel.com/">Maison du Logiciel</a>, <a href="http://blog.magentoo.fr/">Pyksel</a> et pour parrain organisateur <a href="http://www.nbs-system.com/">Nbs system</a>.</p>
<p><img style="border: 1px solid #333333;" title="logo-orga-big" src="http://www.aperogento.fr/wp-content/uploads/2010/08/logo-orga-big.jpg" alt="" width="556" height="215" /></p>



Partager cet article :


	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.wikigento.com%2Fbargento%2Faperogento%2Faperogento%2F&amp;title=Prochain%20Aperogento%20%3A%20PACA&amp;bodytext=Accueil%20%C2%BB%C2%A0R%C3%A9gions%20%C2%BB%C2%A0Paca%20%C2%BB%C2%A0Ap%C3%A9roGento%20%20%C3%A0%20Aix-en-Provence%20%20%20%09%20%20%09%20%09%20%09%09%09%09%20%09%09%09%09%C2%AB%20retour%20aux%20%C3%A9v%C3%A8nements%0D%0AAp%C3%A9roGento%20%C3%A0%20Aix-en-Provence%20iCal%20Import%0D%0A%0D%0A%0D%0AD%C3%A9but%20%3A%2010%20Septembre%202010%0D%0A%0D%0A%20%0D%0AL%E2%80%99Ap%C3%A9roGento%20Aix-en-Provence%20est%20%20l%E2%80%99occasion%20de%20renc" title="Digg"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fwww.wikigento.com%2Fbargento%2Faperogento%2Faperogento%2F&amp;title=Prochain%20Aperogento%20%3A%20PACA&amp;notes=Accueil%20%C2%BB%C2%A0R%C3%A9gions%20%C2%BB%C2%A0Paca%20%C2%BB%C2%A0Ap%C3%A9roGento%20%20%C3%A0%20Aix-en-Provence%20%20%20%09%20%20%09%20%09%20%09%09%09%09%20%09%09%09%09%C2%AB%20retour%20aux%20%C3%A9v%C3%A8nements%0D%0AAp%C3%A9roGento%20%C3%A0%20Aix-en-Provence%20iCal%20Import%0D%0A%0D%0A%0D%0AD%C3%A9but%20%3A%2010%20Septembre%202010%0D%0A%0D%0A%20%0D%0AL%E2%80%99Ap%C3%A9roGento%20Aix-en-Provence%20est%20%20l%E2%80%99occasion%20de%20renc" title="del.icio.us"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.wikigento.com%2Fbargento%2Faperogento%2Faperogento%2F&amp;t=Prochain%20Aperogento%20%3A%20PACA" title="Facebook"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.wikigento.com%2Fbargento%2Faperogento%2Faperogento%2F&amp;title=Prochain%20Aperogento%20%3A%20PACA&amp;annotation=Accueil%20%C2%BB%C2%A0R%C3%A9gions%20%C2%BB%C2%A0Paca%20%C2%BB%C2%A0Ap%C3%A9roGento%20%20%C3%A0%20Aix-en-Provence%20%20%20%09%20%20%09%20%09%20%09%09%09%09%20%09%09%09%09%C2%AB%20retour%20aux%20%C3%A9v%C3%A8nements%0D%0AAp%C3%A9roGento%20%C3%A0%20Aix-en-Provence%20iCal%20Import%0D%0A%0D%0A%0D%0AD%C3%A9but%20%3A%2010%20Septembre%202010%0D%0A%0D%0A%20%0D%0AL%E2%80%99Ap%C3%A9roGento%20Aix-en-Provence%20est%20%20l%E2%80%99occasion%20de%20renc" title="Google Bookmarks"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://slashdot.org/bookmark.pl?title=Prochain%20Aperogento%20%3A%20PACA&amp;url=http%3A%2F%2Fwww.wikigento.com%2Fbargento%2Faperogento%2Faperogento%2F" title="Slashdot"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikio.fr/vote?url=http%3A%2F%2Fwww.wikigento.com%2Fbargento%2Faperogento%2Faperogento%2F" title="Wikio FR"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/wikio.png" title="Wikio FR" alt="Wikio FR" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="mailto:?subject=Prochain%20Aperogento%20%3A%20PACA&amp;body=http%3A%2F%2Fwww.wikigento.com%2Fbargento%2Faperogento%2Faperogento%2F" title="email"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.wikigento.com%2Fbargento%2Faperogento%2Faperogento%2F&amp;title=Prochain%20Aperogento%20%3A%20PACA&amp;source=Communaut%C3%A9+Magento+francophone+Optimisation+de+sites+E-commerce&amp;summary=Accueil%20%C2%BB%C2%A0R%C3%A9gions%20%C2%BB%C2%A0Paca%20%C2%BB%C2%A0Ap%C3%A9roGento%20%20%C3%A0%20Aix-en-Provence%20%20%20%09%20%20%09%20%09%20%09%09%09%09%20%09%09%09%09%C2%AB%20retour%20aux%20%C3%A9v%C3%A8nements%0D%0AAp%C3%A9roGento%20%C3%A0%20Aix-en-Provence%20iCal%20Import%0D%0A%0D%0A%0D%0AD%C3%A9but%20%3A%2010%20Septembre%202010%0D%0A%0D%0A%20%0D%0AL%E2%80%99Ap%C3%A9roGento%20Aix-en-Provence%20est%20%20l%E2%80%99occasion%20de%20renc" title="LinkedIn"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fwww.wikigento.com%2Fbargento%2Faperogento%2Faperogento%2F&amp;title=Prochain%20Aperogento%20%3A%20PACA" title="Live"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fwww.wikigento.com%2Fbargento%2Faperogento%2Faperogento%2F&amp;t=Prochain%20Aperogento%20%3A%20PACA" title="MySpace"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.wikigento.com%2Fbargento%2Faperogento%2Faperogento%2F" title="Technorati"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://blogmarks.net/my/new.php?mini=1&amp;simple=1&amp;url=http%3A%2F%2Fwww.wikigento.com%2Fbargento%2Faperogento%2Faperogento%2F&amp;title=Prochain%20Aperogento%20%3A%20PACA" title="blogmarks"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/blogmarks.png" title="blogmarks" alt="blogmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fwww.wikigento.com%2Fbargento%2Faperogento%2Faperogento%2F&amp;partner=sociable" title="Print"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikigento.com/feed/" title="RSS"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://twitter.com/home?status=Prochain%20Aperogento%20%3A%20PACA%20-%20http%3A%2F%2Fwww.wikigento.com%2Fbargento%2Faperogento%2Faperogento%2F" title="Twitter"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.viadeo.com/shareit/share/?url=http%3A%2F%2Fwww.wikigento.com%2Fbargento%2Faperogento%2Faperogento%2F&title=Prochain%20Aperogento%20%3A%20PACA&urllanguage=fr" title="viadeo FR"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/viadeo.png" title="viadeo FR" alt="viadeo FR" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikio.com/vote?url=http%3A%2F%2Fwww.wikigento.com%2Fbargento%2Faperogento%2Faperogento%2F" title="Wikio"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/wikio.png" title="Wikio" alt="Wikio" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.wikigento.com/bargento/aperogento/aperogento/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Non, je ne passerai pas la memory limit php à 1,5 Go !</title>
		<link>http://www.wikigento.com/admin-magento/non-je-ne-passerai-pas-la-memory-limit-php-a-15-go/</link>
		<comments>http://www.wikigento.com/admin-magento/non-je-ne-passerai-pas-la-memory-limit-php-a-15-go/#comments</comments>
		<pubDate>Sat, 28 Aug 2010 15:39:33 +0000</pubDate>
		<dc:creator>Philippe Humeau</dc:creator>
				<category><![CDATA[Admin Magento]]></category>
		<category><![CDATA[cron magento]]></category>
		<category><![CDATA[cron php]]></category>
		<category><![CDATA[cron table]]></category>
		<category><![CDATA[traitement automatisé magento]]></category>

		<guid isPermaLink="false">http://www.wikigento.com/?p=1610</guid>
		<description><![CDATA[Et les développeurs découvrirent la CRON&#8230;
Avec Magento et d&#8217;autres frameworks, il devient possible de faire   exécuter au site une commande à heure/date/jour fixe par le mécanisme de  Cron table. Ce mécanisme, très vieux (au moins 25 ans) et très stable  est connu de tous les administrateurs systèmes et réseau, ses excès [...]]]></description>
			<content:encoded><![CDATA[<h2>Et les développeurs découvrirent la CRON&#8230;</h2>
<p>Avec Magento et d&#8217;autres frameworks, il devient possible de faire   exécuter au site une commande à heure/date/jour fixe par le mécanisme de  Cron table. Ce mécanisme, très vieux (au moins 25 ans) et très stable  est connu de tous les administrateurs systèmes et réseau, ses excès et  débordements occasionnels (si l&#8217;on ne fait pas attention au contenu)  aussi.</p>
<p>Sauf que quand les développeurs ont mis la mains sur ce petit outil  d&#8217;automatisation, une nouvelle frontière s&#8217;est ouverte en terme de  possibilité. Application d&#8217;un traitement sur tout le catalogue de nuit,  système de calcul des réapprovisionnements, gestions de commandes ou des  réductions etc&#8230;</p>
<p>Well, le principe est bon alors le partager doit être bon quelque part ?</p>
<p><span style="text-decoration: underline;">Mais cela fait maintenant un moment qu&#8217;avec l&#8217;apparition de PHP,  cette question revient :</span></p>
<p>&#8220;Vous pourriez passer la memory limit à 1, 2, 4 Go ?&#8221;<br />
Non.</p>
<p>&#8220;Mais j&#8217;en ai besoin pour mes traitements&#8221;<br />
Non.</p>
<p>&#8220;Non quoi ?&#8221;<br />
Non je ne passerai pas la memory limit à 1,5 Go car vous n&#8217;en avez pas  besoin.</p>
<h2>Pourquoi ?</h2>
<p>Déjà parce que l&#8217;on a pas besoin de 1 ou 2 ou 4 Go pour effectuer un  traitement, aussi volumineux soit-il. Il est *presque* toujours possible  de fragmenter le traitement en sous lots plus petits, d&#8217;allouer et  désallouer sa RAM plus subtilement et d&#8217;une manière générale privilégier  une méthode de travail moins RAM intensive. (écriture et stockage de  résultats partiels, tableaux indexés, traitement par plus petit lots,  utilisation de la gestion de mémoire du Zend framework etc&#8230;)</p>
<p>Que personne ne tente de s&#8217;abriter derrière le *presque*, le nombre des  algorithmes complexes non factorisables ou fractionnables est connu et,  dans leur très grande majorité, ils touchent aux traitements  mathématiques, à la cryptographie ou aux problèmes dits &#8220;NP-complets&#8221;.  Donc NON, il n&#8217;est pas impossible de programmer différemment un  traitement PHP sur une collection de données, fussent elle grande.</p>
<p>D&#8217;ailleurs, la preuve, au final, le développeur contourne le problème et  arrive à utiliser une memory limit raisonnable tout en résolvant son  problème.</p>
<h2>Et pourtant, elle tournait !</h2>
<p>Ensuite 1 Go de RAM, c&#8217;est beaucoup. Au sens propre.</p>
<p>C&#8217;est à  dire qu&#8217;à une époque pas si lointaine, on chargeait et traitait des  collection de données 2 fois moins grandes mais également avec 10 fois  moins de RAM. Le catalogue d&#8217;une société il y a 10 ans était peut être  deux fois moins gros mais peut importe le système utilisé à l&#8217;époque, ca  tournait et la RAM, à l&#8217;époque, il y en avait 10 fois moins et  pourtant, ca tournait.</p>
<p>Le coté orgiaque de la progression du  matériel et de ses coûts fausse le sens des réalités. Oui un cycle  processeur ca compte. Oui une boucle mal optimisée ca joue, surtout  multipliée par des milliers de visites. Oui 1 Go de RAM ce n&#8217;est pas  rien. Selon la configuration de la machine, cela peut même représenter  le quart de ses ressources mémoire&#8230;</p>
<p>De plus, la memory limit est  posée pour tous les processus PHP, pas pour un en particulier. Résultat  il est possible qu&#8217;un seul script soit gourmand mais rien ne nous  certifie que cela ne sera pas le cas d&#8217;un autre. Et si 5 ou 6 processus  PHP se mettent à consommer 1 Go de RAM, on arrive vite à des sommes qui  peuvent mettre des serveurs à mal.</p>
<p>A une époque pas si lointaine  sur Amiga et Atari ST, on optimisait jusqu&#8217;au moindre octet maintenant  c&#8217;est une culture perdue, qu&#8217;on considère comme dépassée mais  sincèrement, cet esprit était le bon. La société de l&#8217;hyper consommation  nous pousse à manger plus, dépenser plus, imprimer plus et allouer plus  de RAM. Ça va avec, le gâchis est devenu une culture. Pourquoi écrire  10 lignes de plus pour avoir une gestion plus rationnelle alors que  comme cela ca marche ?</p>
<p>Sans compter que bon nombre de script  n&#8217;exit jamais et reste en mémoire sans savoir quoi faire, à part bloquer  1 Go de RAM, pour rien.</p>
<h2>Quelques bribes de solutions :</h2>
<p>Fragmenter le traitement est le plus important, soit dans l&#8217;algorithme de traitement, soit dans la gestion de la mémoire.</p>
<p>Quand vous lisez un bouquin, vous le faite page après page et pas les 500 d&#8217;un coup, envisageons la même chose pour un serveur.</p>
<ol>
<li>Prenez la taille de votre  traitement, diviser le par 64 ou 128 Mo et vous saurez le nombre de  blocs à traiter, le nombre de processus qui devront s&#8217;exécuter à la  suite pour venir à bout de la tâche. Une fois les résultats calculés,  assemblez les au besoins.</li>
<li>Traitez des tableaux ou des indexes qui référencent les données  plutôt que toute la donnée en elle même, quand cela est possible.</li>
<li>Utilisez des algorithmes et des clefs de hash pour sotcker et retrouver  vos données.</li>
<li>Traitez les données avec le langage le plus adapté. N&#8217;oubliez pas que  PHP est 10 fois plus lent (au bas mot) que le C pour venir à bout d&#8217;un  traitement. Sa gestion de la RAM est également moins efficace.</li>
<li>Quand cela est possible, préférez un script SQL à un PHP qui fait du  SQL, ca sera considérablement plus rapide et économe en ressources.</li>
<li>Si vous continuer à faire vos Cron en PHP, utilisez Zend_Memory :<br />
Le composant <span>Zend_Memory</span> est  destiné à gérer des données             dans un environnement où la mémoire est limitée.<em><br />
Les objets mémoire (conteneurs de mémoire) sont produits par  le manager de mémoire             sur demande et mis en cache/chargés d&#8217;une manière  transparente quand c&#8217;est             nécessaire.</em><br />
(tiré de la doc ici : http://framework.zend.com/manual/fr/zend.memory.overview.html)<br />
ah&#8230; voila une solution élégante. J&#8217;utilise et si je dépasse la RAM allouer, ca swap sur le disque mes résultats intermédiaire.<br />
(Merci à Samuel Verdier de m&#8217;avoir soufflé la solution, il interviendra peut être prochainement sur ce blog pour nous donner des exemples concrets).</li>
</ol>



Partager cet article :


	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.wikigento.com%2Fadmin-magento%2Fnon-je-ne-passerai-pas-la-memory-limit-php-a-15-go%2F&amp;title=Non%2C%20je%20ne%20passerai%20pas%20la%20memory%20limit%20php%20%C3%A0%201%2C5%20Go%20%21&amp;bodytext=Et%20les%20d%C3%A9veloppeurs%20d%C3%A9couvrirent%20la%20CRON...%0D%0AAvec%20Magento%20et%20d%27autres%20frameworks%2C%20il%20devient%20possible%20de%20faire%20%20%20ex%C3%A9cuter%20au%20site%20une%20commande%20%C3%A0%20heure%2Fdate%2Fjour%20fixe%20par%20le%20m%C3%A9canisme%20de%20%20Cron%20table.%20Ce%20m%C3%A9canisme%2C%20tr%C3%A8s%20vieux%20%28au%20moins%2025%20ans%29%20e" title="Digg"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fwww.wikigento.com%2Fadmin-magento%2Fnon-je-ne-passerai-pas-la-memory-limit-php-a-15-go%2F&amp;title=Non%2C%20je%20ne%20passerai%20pas%20la%20memory%20limit%20php%20%C3%A0%201%2C5%20Go%20%21&amp;notes=Et%20les%20d%C3%A9veloppeurs%20d%C3%A9couvrirent%20la%20CRON...%0D%0AAvec%20Magento%20et%20d%27autres%20frameworks%2C%20il%20devient%20possible%20de%20faire%20%20%20ex%C3%A9cuter%20au%20site%20une%20commande%20%C3%A0%20heure%2Fdate%2Fjour%20fixe%20par%20le%20m%C3%A9canisme%20de%20%20Cron%20table.%20Ce%20m%C3%A9canisme%2C%20tr%C3%A8s%20vieux%20%28au%20moins%2025%20ans%29%20e" title="del.icio.us"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.wikigento.com%2Fadmin-magento%2Fnon-je-ne-passerai-pas-la-memory-limit-php-a-15-go%2F&amp;t=Non%2C%20je%20ne%20passerai%20pas%20la%20memory%20limit%20php%20%C3%A0%201%2C5%20Go%20%21" title="Facebook"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.wikigento.com%2Fadmin-magento%2Fnon-je-ne-passerai-pas-la-memory-limit-php-a-15-go%2F&amp;title=Non%2C%20je%20ne%20passerai%20pas%20la%20memory%20limit%20php%20%C3%A0%201%2C5%20Go%20%21&amp;annotation=Et%20les%20d%C3%A9veloppeurs%20d%C3%A9couvrirent%20la%20CRON...%0D%0AAvec%20Magento%20et%20d%27autres%20frameworks%2C%20il%20devient%20possible%20de%20faire%20%20%20ex%C3%A9cuter%20au%20site%20une%20commande%20%C3%A0%20heure%2Fdate%2Fjour%20fixe%20par%20le%20m%C3%A9canisme%20de%20%20Cron%20table.%20Ce%20m%C3%A9canisme%2C%20tr%C3%A8s%20vieux%20%28au%20moins%2025%20ans%29%20e" title="Google Bookmarks"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://slashdot.org/bookmark.pl?title=Non%2C%20je%20ne%20passerai%20pas%20la%20memory%20limit%20php%20%C3%A0%201%2C5%20Go%20%21&amp;url=http%3A%2F%2Fwww.wikigento.com%2Fadmin-magento%2Fnon-je-ne-passerai-pas-la-memory-limit-php-a-15-go%2F" title="Slashdot"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikio.fr/vote?url=http%3A%2F%2Fwww.wikigento.com%2Fadmin-magento%2Fnon-je-ne-passerai-pas-la-memory-limit-php-a-15-go%2F" title="Wikio FR"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/wikio.png" title="Wikio FR" alt="Wikio FR" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="mailto:?subject=Non%2C%20je%20ne%20passerai%20pas%20la%20memory%20limit%20php%20%C3%A0%201%2C5%20Go%20%21&amp;body=http%3A%2F%2Fwww.wikigento.com%2Fadmin-magento%2Fnon-je-ne-passerai-pas-la-memory-limit-php-a-15-go%2F" title="email"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.wikigento.com%2Fadmin-magento%2Fnon-je-ne-passerai-pas-la-memory-limit-php-a-15-go%2F&amp;title=Non%2C%20je%20ne%20passerai%20pas%20la%20memory%20limit%20php%20%C3%A0%201%2C5%20Go%20%21&amp;source=Communaut%C3%A9+Magento+francophone+Optimisation+de+sites+E-commerce&amp;summary=Et%20les%20d%C3%A9veloppeurs%20d%C3%A9couvrirent%20la%20CRON...%0D%0AAvec%20Magento%20et%20d%27autres%20frameworks%2C%20il%20devient%20possible%20de%20faire%20%20%20ex%C3%A9cuter%20au%20site%20une%20commande%20%C3%A0%20heure%2Fdate%2Fjour%20fixe%20par%20le%20m%C3%A9canisme%20de%20%20Cron%20table.%20Ce%20m%C3%A9canisme%2C%20tr%C3%A8s%20vieux%20%28au%20moins%2025%20ans%29%20e" title="LinkedIn"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fwww.wikigento.com%2Fadmin-magento%2Fnon-je-ne-passerai-pas-la-memory-limit-php-a-15-go%2F&amp;title=Non%2C%20je%20ne%20passerai%20pas%20la%20memory%20limit%20php%20%C3%A0%201%2C5%20Go%20%21" title="Live"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fwww.wikigento.com%2Fadmin-magento%2Fnon-je-ne-passerai-pas-la-memory-limit-php-a-15-go%2F&amp;t=Non%2C%20je%20ne%20passerai%20pas%20la%20memory%20limit%20php%20%C3%A0%201%2C5%20Go%20%21" title="MySpace"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.wikigento.com%2Fadmin-magento%2Fnon-je-ne-passerai-pas-la-memory-limit-php-a-15-go%2F" title="Technorati"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://blogmarks.net/my/new.php?mini=1&amp;simple=1&amp;url=http%3A%2F%2Fwww.wikigento.com%2Fadmin-magento%2Fnon-je-ne-passerai-pas-la-memory-limit-php-a-15-go%2F&amp;title=Non%2C%20je%20ne%20passerai%20pas%20la%20memory%20limit%20php%20%C3%A0%201%2C5%20Go%20%21" title="blogmarks"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/blogmarks.png" title="blogmarks" alt="blogmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fwww.wikigento.com%2Fadmin-magento%2Fnon-je-ne-passerai-pas-la-memory-limit-php-a-15-go%2F&amp;partner=sociable" title="Print"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikigento.com/feed/" title="RSS"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://twitter.com/home?status=Non%2C%20je%20ne%20passerai%20pas%20la%20memory%20limit%20php%20%C3%A0%201%2C5%20Go%20%21%20-%20http%3A%2F%2Fwww.wikigento.com%2Fadmin-magento%2Fnon-je-ne-passerai-pas-la-memory-limit-php-a-15-go%2F" title="Twitter"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.viadeo.com/shareit/share/?url=http%3A%2F%2Fwww.wikigento.com%2Fadmin-magento%2Fnon-je-ne-passerai-pas-la-memory-limit-php-a-15-go%2F&title=Non%2C%20je%20ne%20passerai%20pas%20la%20memory%20limit%20php%20%C3%A0%201%2C5%20Go%20%21&urllanguage=fr" title="viadeo FR"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/viadeo.png" title="viadeo FR" alt="viadeo FR" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikio.com/vote?url=http%3A%2F%2Fwww.wikigento.com%2Fadmin-magento%2Fnon-je-ne-passerai-pas-la-memory-limit-php-a-15-go%2F" title="Wikio"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/wikio.png" title="Wikio" alt="Wikio" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.wikigento.com/admin-magento/non-je-ne-passerai-pas-la-memory-limit-php-a-15-go/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Benchmark de sites E-commerce : mesurez ce qui compte !</title>
		<link>http://www.wikigento.com/test-bench/benchmark-de-sites-e-commerce-mesurez-ce-qui-compte/</link>
		<comments>http://www.wikigento.com/test-bench/benchmark-de-sites-e-commerce-mesurez-ce-qui-compte/#comments</comments>
		<pubDate>Mon, 23 Aug 2010 09:35:21 +0000</pubDate>
		<dc:creator>Philippe Humeau</dc:creator>
				<category><![CDATA[Test / Bench]]></category>
		<category><![CDATA[optimisation]]></category>
		<category><![CDATA[apdex]]></category>
		<category><![CDATA[benchmark]]></category>
		<category><![CDATA[funkload]]></category>
		<category><![CDATA[magento]]></category>
		<category><![CDATA[test de charge]]></category>

		<guid isPermaLink="false">http://www.wikigento.com/?p=1622</guid>
		<description><![CDATA[Test de charge de son serveur de E-commerce

Dans le cadre d&#8217;un benchmark de site Web, de test de charge pour être plus précis, que faut il prendre en compte et pourquoi ? Que ce soit un benchmark de Magento  ou de tout autre Framework / site, il faut le bon outil et surtout la bonne [...]]]></description>
			<content:encoded><![CDATA[<h2 style="text-align: justify;"><span style="font-family: verdana,geneva;">Test de charge de son serveur de E-commerce<br />
</span></h2>
<p style="text-align: justify;"><span style="font-family: verdana,geneva;">Dans le cadre d&#8217;un benchmark de site Web, de test de charge pour être plus précis, que faut il prendre en compte et pourquoi ? Que ce soit un benchmark de Magento  ou de tout autre Framework / site, il faut le bon outil et surtout la bonne échelle.</span></p>
<p style="text-align: justify;"><span style="font-family: verdana,geneva;">Mesurer c&#8217;est une chose, mesurer utile ou interprétable, s&#8217;en est une  autre. La seule mesure qui compte au final, c&#8217;est la satisfaction de l&#8217;utilisateur qui surf sur le site concerné.</span></p>
<p style="text-align: justify;"><span style="font-family: verdana,geneva;">En l&#8217;occurrence une échelle de cette satisfaction existe, l&#8217;<a title="Apdex benchmark" href="http://www.apdex.org/overview.html">APDEX</a>.</span></p>
<p style="text-align: justify;"><span style="font-family: verdana,geneva;">Le but de cet indice est de mesurer, dans un temps donné, combien d&#8217;utilisateurs ont eu un temps de réponse satisfaisant. Dans cette chaine, tout est compté, la charge que le site impose au serveur, le temps d&#8217;acheminement des paquets, l&#8217;affichage de la page etc.</span></p>
<p style="text-align: justify;"><span style="font-family: verdana,geneva;">Autrement dit, si je fixe à 2,5 secondes le temps d&#8217;affichage optimal pour un site, combien d&#8217;utilisateurs vont pouvoir surfer en même temps sur la machine avant que 1 d&#8217;entre eux ait un temps supérieur à 2,5 secondes ? Combien vais-je en accueillir avant que 5% d&#8217;entre eux ait une page en plus de 2,5s ?</span></p>
<p style="text-align: justify;"><span style="font-family: verdana,geneva;"><span style="text-decoration: underline;">l&#8217;APDEX comprend 4 niveaux :</span></span></p>
<ul style="text-align: justify;">
<li><span style="font-family: verdana,geneva;">satisfied</span></li>
<li><span style="font-family: verdana,geneva;">tolerating</span></li>
<li><span style="font-family: verdana,geneva;">frustrated</span></li>
<li><span style="font-family: verdana,geneva;">inacceptable</span></li>
</ul>
<p style="text-align: justify;"><span style="font-family: verdana,geneva;">c&#8217;est donc bien une échelle &#8220;user centric&#8221;. Le but est de satisfaire l&#8217;utilisateur ou tout au moins de ne pas l&#8217;irrité. Si l&#8217;on fixe la zone de satisfied à moins de 2,5 secondes, la zone de tolérance va de 2,5s, la zone de frustration sera à 10s (4 fois le temps de tolérance) et au delà on est dans l&#8217;inacceptable.</span></p>
<h2 style="text-align: justify;"><span style="font-family: verdana,geneva;">Formule de l&#8217;APDEX<br />
</span></h2>
<p style="text-align: justify;"><span style="font-family: verdana,geneva;"> APDEX = ((nombre de satisfaits) + 0,5*(nombre des tolérants)) / total</span></p>
<p style="text-align: justify;"><span style="font-family: verdana,geneva;">(avec le nombre de frustrés = 0)</span></p>
<p style="text-align: justify;"><span style="font-family: verdana,geneva;">Si on reprend nos hypothèse et qu&#8217;on prend un groupe de 100 tests, mettons que 80 sont sous la barre des 2,5s, 20 sont entre 2,5 et 10 et 0 sont au delà de 10, le coefficient APDEX est de :</span></p>
<p style="text-align: justify;"><span style="font-family: verdana,geneva;">(80+20/2)/100=0,9</span></p>
<h2 style="text-align: justify;"><span style="font-family: verdana,geneva;">Se placer sur l&#8217;échelle</span></h2>
<p style="text-align: justify;"><span style="font-family: verdana,geneva;">A 1, tout le monde est satisfait, entre 0,94 et 1, vous êtes dans l&#8217;excellence, de 0,85 à 0,94, vous êtes bon, de 0,7 à 0,85 vous êtes honnêtes. de 0,5 à 0,7 c&#8217;est mauvais, en dessous de 0,5 c&#8217;est la zone de l&#8217;inacceptable.</span></p>
<p style="text-align: justify;"><span style="font-family: verdana,geneva;">Dans notre exemple au dessus, un APDEX à 0,9 nous donnait 80% d&#8217;utilisateurs en zone de satisfaction, 20% en zone de tolérance.</span></p>
<h2 style="text-align: justify;"><span style="font-family: verdana,geneva;">Mesurer cet indice</span></h2>
<p style="text-align: justify;"><span style="font-family: verdana,geneva;">L&#8217;outil Funkload, en dernièreversion utilise cette classification Apdex pour donner des rapports de tests de charge très complet. Une fois que vous avez préparé vos scénarii, il s&#8217;occupe de charger la machine jusqu&#8217;à ce que l&#8217;indice APDEX passe sous une certaine valeur. Une fois cette valeur atteinte, vous avez un nombre d&#8217;utilisateur simultanés.</span></p>
<p style="text-align: justify;"><span style="font-family: verdana,geneva;">Vous pourrez ainsi facilement mesurer la rapidité de votre site mais en condition réelle. Avec un utilisateur simultané, vous aurez surement des temps de chargements sous la barre de la seconde mais un serveur et son site sont fait pour la vie réelle, pour accueillir des milliers de visiteurs par jour.</span></p>
<p style="text-align: justify;"><span style="font-family: verdana,geneva;">Il existe prêt de 30 outils différents à ce jour pour mesurer cet indice mais je vous recommande très fortement <a title="Funkload" href="http://funkload.nuxeo.org/">Funkload </a>qui permet de faire cela en parallèle d&#8217;un test de charge avec des scenarii.</span></p>
<h2 style="text-align: justify;"><span style="font-family: verdana,geneva;">Ordre de grandeur pour Magento<br />
</span></h2>
<p style="text-align: justify;"><span style="font-family: verdana,geneva;">Par exemple, sans Reverse Proxy (RP), avec un serveur de base (bi quadcore 5420 / 8 go), bien configuré et optimisé, sous Magento 1.4 CE, avec un site correct devrait vous amener entre 150 utilisateurs simultanés, tous sous la barre des 2,5 secondes, avec un APDEX à 0,95. (95% des utilisateurs en zone de satisfaction, 5% en zone de tolérance)</span></p>
<p style="text-align: justify;"><span style="font-family: verdana,geneva;">Toujours sans RP, un gros molosse (bi hexacore 5670 / 8 Go) devrait vous amener à ~250 utilisateurs sous la barre des 2,5 s avec un APDEX à 0,95. (95% des utilisateurs en zone de satisfaction, 5% en zone de tolérance)</span></p>
<p style="text-align: justify;"><span style="font-family: verdana,geneva;">Un mono Quad core AMD 2382 (toujours sans RP), vous amène à 4s pour 150 utilisateurs.</span></p>
<p style="text-align: justify;"><span style="font-family: verdana,geneva;">Seulement 100, 150, 200 ? Oui, mais simultanés et sans l&#8217;aide d&#8217;un rproxy ou du full page cache pour les versions Enterprise de Magento (EE) !</span></p>
<h2 style="text-align: justify;"><span style="font-family:  verdana,geneva;">Funkload</span></h2>
<p style="text-align: justify;"><span style="font-family:  verdana,geneva;">Voici quelques captures d&#8217;écran de Funkload qui vont vous permettre de mieux comprendre le fonctionnement de l&#8217;utilitaire et ce qu&#8217;il produit comme rapport :</span></p>
<p style="text-align: justify;"><span style="font-family:  verdana,geneva;"><a href="http://www.wikigento.com/?attachment_id=1639"><img class="aligncenter size-medium wp-image-1639" title="Apdex spps" src="http://www.wikigento.com/wp-content/uploads/2010/08/Apdex-spps-500x421.jpg" alt="Apdex spps" width="500" height="421" /></a><br />
<em>Sur cette capture, on voit, en haut, le nombre de SPPS (Successfull page per second) et l&#8217;échelle du nombre de CU (Concurrent Users), de visiteurs simultanés. Juste en dessous, le graphique suivant montre l&#8217;indice Apdex, la barre verte montre un apdex de 0,95 à 20 utilisateurs simultanés (hors cache, hors rproxy etc&#8230;)<br />
</em></span></p>
<p><span style="font-family:  verdana,geneva;"><a href="http://www.wikigento.com/?attachment_id=1640"><img class="aligncenter size-medium wp-image-1640" title="CU" src="http://www.wikigento.com/wp-content/uploads/2010/08/CU-500x421.jpg" alt="CU" width="500" height="421" /></a><em>Ici, le graph montre le nombre de CU et le temps d&#8217;attente de chacun. A 40 CU, on a un temps de génération des pages de 2,5 secondes au minimum, 3 pour 90% des visiteurs.</em></span></p>
<p><span style="font-family:  verdana,geneva;">Vous pouvez trouver l&#8217;outil Funkload sur le site de son auteur M. Delbosc : </span>http://funkload.nuxeo.org/</p>
<p><span style="font-family: verdana,geneva;">Un grand bravo à Nuxeo qui porte haut les couleurs de l&#8217;opensource et de la qualité dans ce domaine, une entreprise Française en plus !<br />
</span></p>
<h2 style="text-align: justify;"><span style="font-family: verdana,geneva;">Conclusion</span></h2>
<p style="text-align: justify;"><span style="font-family: verdana,geneva;">Ce que nous cherchons tous à savoir c&#8217;est : combien d&#8217;utilisateurs puis-je accueillir dans des conditions optimales avec mes serveurs ? La réponse est maintenant à portée de main grâce à un indice représentatif de la qualité de la session de surf : l&#8217;APDEX et un outil de mesure et de test de charge : Funkload.</span></p>
<p style="text-align: justify;"><span style="font-family: verdana,geneva;">En général, on a deux mesures de ce que peut accueillir un serveur, une mesure en visiteurs uniques par jour et/ou l&#8217;autre en visiteurs connectés simultanément. Évidemment, vu le type de mesure Funkload, la deuxième est beaucoup plus réaliste. </span></p>
<p style="text-align: justify;"><span style="font-family: verdana,geneva;">Ceci étant, peut de personne peuvent exprimer leur besoin en visiteurs connectés simultanément alors que presque tout le monde sait dire combien il accueille de visites par jour. Du coup, la passerelle entre les deux n&#8217;est pas forcément aisée et elle est approximative.Les pics sont bien représenté dans les connexions simultanées mais pas dans un nombre de visiteurs unique par jour.<br />
</span></p>
<p style="text-align: justify;"><span style="font-family: verdana,geneva;">Disons si on devait donner un ordre d&#8217;idée, pour du Magento, le ratio entre les deux serait de 150 utilisateurs simultanés en moins de 2,5s avec un apdex de 0,9 correspond globalement à ~35 000 visiteurs uniques par jour.</span></p>



Partager cet article :


	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.wikigento.com%2Ftest-bench%2Fbenchmark-de-sites-e-commerce-mesurez-ce-qui-compte%2F&amp;title=Benchmark%20de%20sites%20E-commerce%20%3A%20mesurez%20ce%20qui%20compte%20%21&amp;bodytext=Test%20de%20charge%20de%20son%20serveur%20de%20E-commerce%0D%0A%0D%0ADans%20le%20cadre%20d%27un%20benchmark%20de%20site%20Web%2C%20de%20test%20de%20charge%20pour%20%C3%AAtre%20plus%20pr%C3%A9cis%2C%20que%20faut%20il%20prendre%20en%20compte%20et%20pourquoi%20%3F%20Que%20ce%20soit%20un%20benchmark%20de%20Magento%C2%A0%20ou%20de%20tout%20autre%20Framework%20%2F%20site%2C%20i" title="Digg"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fwww.wikigento.com%2Ftest-bench%2Fbenchmark-de-sites-e-commerce-mesurez-ce-qui-compte%2F&amp;title=Benchmark%20de%20sites%20E-commerce%20%3A%20mesurez%20ce%20qui%20compte%20%21&amp;notes=Test%20de%20charge%20de%20son%20serveur%20de%20E-commerce%0D%0A%0D%0ADans%20le%20cadre%20d%27un%20benchmark%20de%20site%20Web%2C%20de%20test%20de%20charge%20pour%20%C3%AAtre%20plus%20pr%C3%A9cis%2C%20que%20faut%20il%20prendre%20en%20compte%20et%20pourquoi%20%3F%20Que%20ce%20soit%20un%20benchmark%20de%20Magento%C2%A0%20ou%20de%20tout%20autre%20Framework%20%2F%20site%2C%20i" title="del.icio.us"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.wikigento.com%2Ftest-bench%2Fbenchmark-de-sites-e-commerce-mesurez-ce-qui-compte%2F&amp;t=Benchmark%20de%20sites%20E-commerce%20%3A%20mesurez%20ce%20qui%20compte%20%21" title="Facebook"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.wikigento.com%2Ftest-bench%2Fbenchmark-de-sites-e-commerce-mesurez-ce-qui-compte%2F&amp;title=Benchmark%20de%20sites%20E-commerce%20%3A%20mesurez%20ce%20qui%20compte%20%21&amp;annotation=Test%20de%20charge%20de%20son%20serveur%20de%20E-commerce%0D%0A%0D%0ADans%20le%20cadre%20d%27un%20benchmark%20de%20site%20Web%2C%20de%20test%20de%20charge%20pour%20%C3%AAtre%20plus%20pr%C3%A9cis%2C%20que%20faut%20il%20prendre%20en%20compte%20et%20pourquoi%20%3F%20Que%20ce%20soit%20un%20benchmark%20de%20Magento%C2%A0%20ou%20de%20tout%20autre%20Framework%20%2F%20site%2C%20i" title="Google Bookmarks"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://slashdot.org/bookmark.pl?title=Benchmark%20de%20sites%20E-commerce%20%3A%20mesurez%20ce%20qui%20compte%20%21&amp;url=http%3A%2F%2Fwww.wikigento.com%2Ftest-bench%2Fbenchmark-de-sites-e-commerce-mesurez-ce-qui-compte%2F" title="Slashdot"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikio.fr/vote?url=http%3A%2F%2Fwww.wikigento.com%2Ftest-bench%2Fbenchmark-de-sites-e-commerce-mesurez-ce-qui-compte%2F" title="Wikio FR"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/wikio.png" title="Wikio FR" alt="Wikio FR" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="mailto:?subject=Benchmark%20de%20sites%20E-commerce%20%3A%20mesurez%20ce%20qui%20compte%20%21&amp;body=http%3A%2F%2Fwww.wikigento.com%2Ftest-bench%2Fbenchmark-de-sites-e-commerce-mesurez-ce-qui-compte%2F" title="email"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.wikigento.com%2Ftest-bench%2Fbenchmark-de-sites-e-commerce-mesurez-ce-qui-compte%2F&amp;title=Benchmark%20de%20sites%20E-commerce%20%3A%20mesurez%20ce%20qui%20compte%20%21&amp;source=Communaut%C3%A9+Magento+francophone+Optimisation+de+sites+E-commerce&amp;summary=Test%20de%20charge%20de%20son%20serveur%20de%20E-commerce%0D%0A%0D%0ADans%20le%20cadre%20d%27un%20benchmark%20de%20site%20Web%2C%20de%20test%20de%20charge%20pour%20%C3%AAtre%20plus%20pr%C3%A9cis%2C%20que%20faut%20il%20prendre%20en%20compte%20et%20pourquoi%20%3F%20Que%20ce%20soit%20un%20benchmark%20de%20Magento%C2%A0%20ou%20de%20tout%20autre%20Framework%20%2F%20site%2C%20i" title="LinkedIn"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fwww.wikigento.com%2Ftest-bench%2Fbenchmark-de-sites-e-commerce-mesurez-ce-qui-compte%2F&amp;title=Benchmark%20de%20sites%20E-commerce%20%3A%20mesurez%20ce%20qui%20compte%20%21" title="Live"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fwww.wikigento.com%2Ftest-bench%2Fbenchmark-de-sites-e-commerce-mesurez-ce-qui-compte%2F&amp;t=Benchmark%20de%20sites%20E-commerce%20%3A%20mesurez%20ce%20qui%20compte%20%21" title="MySpace"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.wikigento.com%2Ftest-bench%2Fbenchmark-de-sites-e-commerce-mesurez-ce-qui-compte%2F" title="Technorati"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://blogmarks.net/my/new.php?mini=1&amp;simple=1&amp;url=http%3A%2F%2Fwww.wikigento.com%2Ftest-bench%2Fbenchmark-de-sites-e-commerce-mesurez-ce-qui-compte%2F&amp;title=Benchmark%20de%20sites%20E-commerce%20%3A%20mesurez%20ce%20qui%20compte%20%21" title="blogmarks"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/blogmarks.png" title="blogmarks" alt="blogmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fwww.wikigento.com%2Ftest-bench%2Fbenchmark-de-sites-e-commerce-mesurez-ce-qui-compte%2F&amp;partner=sociable" title="Print"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikigento.com/feed/" title="RSS"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://twitter.com/home?status=Benchmark%20de%20sites%20E-commerce%20%3A%20mesurez%20ce%20qui%20compte%20%21%20-%20http%3A%2F%2Fwww.wikigento.com%2Ftest-bench%2Fbenchmark-de-sites-e-commerce-mesurez-ce-qui-compte%2F" title="Twitter"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.viadeo.com/shareit/share/?url=http%3A%2F%2Fwww.wikigento.com%2Ftest-bench%2Fbenchmark-de-sites-e-commerce-mesurez-ce-qui-compte%2F&title=Benchmark%20de%20sites%20E-commerce%20%3A%20mesurez%20ce%20qui%20compte%20%21&urllanguage=fr" title="viadeo FR"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/viadeo.png" title="viadeo FR" alt="viadeo FR" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikio.com/vote?url=http%3A%2F%2Fwww.wikigento.com%2Ftest-bench%2Fbenchmark-de-sites-e-commerce-mesurez-ce-qui-compte%2F" title="Wikio"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/wikio.png" title="Wikio" alt="Wikio" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.wikigento.com/test-bench/benchmark-de-sites-e-commerce-mesurez-ce-qui-compte/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Le E-commerce derrière le rideau&#8230;</title>
		<link>http://www.wikigento.com/rien-a-voir/test_site_ecommerce/</link>
		<comments>http://www.wikigento.com/rien-a-voir/test_site_ecommerce/#comments</comments>
		<pubDate>Mon, 16 Aug 2010 12:21:31 +0000</pubDate>
		<dc:creator>Philippe Humeau</dc:creator>
				<category><![CDATA[Rien à voir]]></category>
		<category><![CDATA[avis sites de ecommerce]]></category>
		<category><![CDATA[sites de ecommerce]]></category>
		<category><![CDATA[test site ecommerce]]></category>

		<guid isPermaLink="false">http://www.wikigento.com/?p=1604</guid>
		<description><![CDATA[D&#8217;habitude, je suis plutôt fournisseur que client en matière de  E-commerce.
Quand je suis client c&#8217;est, en général de sites B2B comme LDLC,  Office easy, et autres fournisseurs. Toujours en général, les sites en  question sont pros et propres, ils livrent dans les temps.
Mais alors pourquoi ce post ?
Parce que, sans vous révéler [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">D&#8217;habitude, je suis plutôt fournisseur que client en matière de  E-commerce.</p>
<p style="text-align: justify;">Quand je suis client c&#8217;est, en général de sites B2B comme LDLC,  Office easy, et autres fournisseurs. Toujours en général, les sites en  question sont pros et propres, ils livrent dans les temps.</p>
<p style="text-align: justify;">Mais alors pourquoi ce post ?</p>
<p style="text-align: justify;">Parce que, sans vous révéler  tout de ma vie privée, j&#8217;enménage dans un nouvel appartement et j&#8217;ai  presque tout acheté sur le Web, en tant que client B2C &#8220;classique&#8221;. Des  E-commerçants, ma société doit en héberger 250 alors forcément, je suis  confiant dans le principe de fond <img src='http://www.wikigento.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: justify;">Eh bien let me say : &#8220;OMG&#8221; ! Quel parcours du combattant pour  certains sites. Quel service déplorable pour d&#8217;autres, on est même  parfois à la limite de l&#8217;honnêteté. Du coup, comme j&#8217;ai une petite  tribune sur Internet (ce Blog) je vais vous parler d&#8217;eux, en tant que  client.</p>
<h2 style="text-align: justify;">Myfab</h2>
<p style="text-align: justify;">Le site est propre et bien conçu. La simplicité est  souvent un gage de réussite en fait.</p>
<p style="text-align: justify;">Là le ton est donné, c&#8217;est du  design à faible cout, on commande et on reçoit quand c&#8217;est produit. Pas  de surprise, le modèle se laisse 13 à 16 semaine de la production à la  livraison, c&#8217;est assez normal quand on produit en Chine et qu&#8217;on  rapatrie en France par bateau. Aucun soucis à signaler, j&#8217;ai apprécié  que ce qui était disponible plus tôt me soit envoyer rapidement et  attendant le reste. (C&#8217;est du Magento ceci dit en passant)</p>
<p style="text-align: justify;">J&#8217;ai  reçu mon pouf big XL (terrible en passant) en quelques jours, le reste  est dans le bateau. A quand le suivi GPS pour pouvoir le suivre dans son  périple !</p>
<h2 style="text-align: justify;">Delamaison</h2>
<p style="text-align: justify;">Là on est sur un site qui est  déjà moins moderne en terme de design. Des menus d&#8217;hier et des listes  interminables d&#8217;avant hier, à la OS commerce grande époque. Cependant,  comme le site était bien référencé sur ce que je cherchais, j&#8217;y suis  allé. La présentation  des articles n&#8217;y est pas optimum, le cross  selling très peu ergonomique mais la gamme est vaste, on finit par  trouver ce que l&#8217;on cherche. C&#8217;est après que ca se gâte, et pas qu&#8217;un  peu.</p>
<p style="text-align: justify;">Commande payée par CB le 2/08.<br />
Le 3/08 on me demande par mail des papiers qui prouvent que ce n&#8217;est pas  un achat frauduleux. Dont un justificatif de domicile, toujours super  pratique à fournir quand on vient d&#8217;enménager. Ce n&#8217;était pas préciser,  mauvaise surprise.<br />
Le 3/08 à 11h00, j&#8217;envoie les dits documents. Aucune nouvelle.<br />
Le 10/08, on me dit (sur le site) documents reçus, commande lancé. 7  jours pour un fax dont j&#8217;ai eu confirmation de réception le 03/08&#8230;<br />
Pendant  ce temps là, aucune communication, pas de nouvelles. Je me renseigne,  et je reçois un mail qui me dit qu&#8217;ils sont en rupture de stock. Rien de  préciser sur le site lors de l&#8217;achat, je prends la commande et je vois  plus tard&#8230; La classe. Le 13, j&#8217;envoie un mail pour expliquer que c&#8217;est  assez inacceptable et si c&#8217;est pour être aussi lent, j&#8217;irai en magasin  au lieu de commander sur le web.</p>
<p style="text-align: justify;">On me retourne un copier/coller :</p>
<p style="text-align: justify;"><em>&#8220;Monsieur,<br />
Nous vous informons que votre commande nécéssite un réaprovisionnement  auprès de notre fournisseur,<br />
Vous recevrez un message lors de l&#8217;expédition de votre commande,<br />
Veuillez accepter nos excuses pour la gêne occasionnée.</em></p>
<p><em>Restant à votre service,&#8221;</em></p>
<p>3 lignes, 2 fautes d&#8217;orthographe  et ca ne répond pas à ma question : &#8220;<strong><em>QUAND </em></strong>serai-je livré  ?&#8221;<br />
le 16, aujourd&#8217;hui, je réutilise leur système de support et repose  la question en précisant qu&#8217;ils peuvent retarder ce qu&#8217;ils n&#8217;ont pas en  stock et m&#8217;envoyer le reste. Même réponse copier/coller du support.</p>
<p>Ça  m&#8217;énerve un peu je renvoie un mail pour mieux m&#8217;expliquer, visiblement,  ils sont durs de la feuille. Je reprend la même réponse en  copier/coller en retour.</p>
<p>Le 20/08 ils prennent en compte notre échange par mail du 13/08 et annule ce qu&#8217;ils n&#8217;ont pas en stock.<br />
Le 24/08, toujours aucune nouvelle de la livraison&#8230;</p>
<p>C&#8217;est indigne d&#8217;un site Web de  E-commerce. Site à l&#8217;ergonomie très archaïque, au support client  inexistant, je prend la commande, la tune et &#8230; démerde toi, tu auras  ta commande quand on aura le temps, tu as des questions, parle donc à  mon robot qui répond la même chose en boucle.</p>
<p style="text-align: justify;">Cher, inadapté au  E-commerce, service client déplorable, site pénible, c&#8217;est le grand  chelem, à éviter !</p>
<p style="text-align: justify;">Update :</p>
<p style="text-align: justify;">Livré le 26 aout !!! enfin.</p>
<p style="text-align: justify;">Ils ont annulés 7 articles pour envoyer ce qu&#8217;ils avaient (bon je leur ai un peu soufflé la solution car d&#8217;eux mêmes, rien) et delamaison m&#8217;a envoyé une commande. Au final, il manque un article&#8230;  24 jours pour m&#8217;envoyer 14 articles sur 21, me rembourser de ceux non livrés (mais pas des frais de ports affiliés) et ils sont foutus d&#8217;oublier un article&#8230; Nul&#8230;</p>
<p style="text-align: justify;">Quelqu&#8217;un a un bon site fiable pour les articles de maison, rideaux, assiettes, couverts et ce genre de chose à me conseiller ?</p>
<h2 style="text-align: justify;">But</h2>
<p style="text-align: justify;">But c&#8217;est simple et rapide au  niveau du site. Pas de fioriture mais c&#8217;est efficace. J&#8217;ai ouvert 15  onglets, ajouté des articles, enlevé, retrié etc&#8230; et tout s&#8217;est bien  passé. C&#8217;est pas top design mais c&#8217;est efficace. Coté commande par  contre, on est prévenu quand la pièce est en stock ou non, on peut  choisir le magasin qui a les pièces les plus importantes de sa commande  en stock pour tout prendre chez lui et être livré en deux fois si  certains articles ne sont pas en stock. Pas mal&#8230;</p>
<p style="text-align: justify;">Sauf que&#8230; Le  site m&#8217;annonce une livraison le 12/08, je n&#8217;ai même pas eu un coup de  fil. Le 14/08 je m&#8217;en inquiète, 4 coups de fils, le premier, &#8220;thierry  est pas là, rappelez dans 30 min&#8221;, le deuxième, attente, transfert,  raccrochage. J&#8217;adore. Le 3° pareil. Le 4°, au bout de 10 minutes, j&#8217;ai  Thierry, pas trop au courant, &#8220;ah oui on est en retard, désolé, euhhhhh  je vous propose de passer mardi prochain&#8221;. Bon au moins j&#8217;ai une date,  le gars est ok pour m&#8217;appeler 10 min avant de livrer etc. C&#8217;est pas  terrible au niveau professionnalisme sur la livraison Web, pas top du  tout au standard, mais au final le monsieur me trouve des solutions.</p>
<p style="text-align: justify;">L&#8217;un  dans l&#8217;autre, plutôt une bonne expérience, le standard et le système de  livraison Web pourrait progresser cependant, très bon tarifs.</p>
<p style="text-align: justify;">Update :</p>
<p>Pour  la deuxième partie de la livraison, j&#8217;attends toujours&#8230; La première  partie, j&#8217;ai du appeler, je pense que la deuxième je devrais faire de  même.</p>
<h2 style="text-align: justify;">Darty</h2>
<p style="text-align: justify;">Darty, j&#8217;ai choisis de lire sur le site et de confirmer  au téléphone avec un vendeur. L&#8217;expérience est mitigée sur ce point. 10  min d&#8217;attente (montre en main) et au final je discute avec un vendeur,  ca coupe au milieu&#8230; Je rappelle, 15 min d&#8217;attente, j&#8217;ai le vendeur, je  lui explique ma précédente expérience de coïtus electromenagus  interruptis, il me demande mon numéro pour me rappeler directement si ca  coupe. Bien vu.</p>
<p style="text-align: justify;">On fait le tour, le conseiller connait ses  produits, ses fiches techniques, ca va vite, le conseil est pertinent.  Livraison impeccable par des gars super pros et gentils, ils mettent  tout en place, m&#8217;explique comment faire les premiers pas avec mon  électroménager, nickel. Sauf que&#8230; Les câbles de la machines à laver le  linge et de la machine à laver la vaisselle devaient arriver <span style="text-decoration: underline;">avant</span> le reste et c&#8217;est arrivé <span style="text-decoration: underline;">après</span>&#8230;</p>
<p style="text-align: justify;">J&#8217;ai donc du brancher ma  gazinière moi même et le vendeur m&#8217;avait refourgué 2 tuyaux dont je  n&#8217;avais pas besoin, deux tuyaux d&#8217;eau, déjà livrés avec les machines.  Dernier petit glitch, ils avaient enlever les visses de blocage du  tambour dans la machine à laver le ligne mais par leur support, ca a  fait un peu de bruit avant que je comprenne le truc, rien de grave  cependant.</p>
<p style="text-align: justify;">L&#8217;un dans l&#8217;autre, très bien. Bon  service, pro,  (très) rapide à la livraison, pro à l&#8217;installation, des prix de fou, le  meilleur des 5.</p>
<p>Update :</p>
<p>Ils m&#8217;ont vendu 3 câbles en trop, mais l&#8217;un dans l&#8217;autre&#8230;</p>
<h2 style="text-align: justify;">Alterego</h2>
<p style="text-align: justify;">Je voulais me commander une lampe big bow (entre  autre). Pas envie d&#8217;attendre les 13 ) 16 semaines de myfab donc je  chercher sur internet et je tombe sur alterego, un site Belge. Ils  vendent une big bow et d&#8217;autres, je prends les lamps et deux tabourets  de bar. Le site est moche mais fonctionnel, je trouve mon bonheur.</p>
<p style="text-align: justify;">Sauf  que la big bow, c&#8217;est une version naine et que les dimensions ne sont  pas vraiment claires sur le site. Là où je m&#8217;attends à pouvoir passer  dessous, elle m&#8217;arrive au niveau des pectoraux&#8230; Coté tabourets de bar,  pas de soucis, ce qu&#8217;ils n&#8217;avaient pas en stock, ils le livreront plus  tard, à leurs frais, ils m&#8217;en ont informé 48h après ma commande, pro  donc.</p>
<p style="text-align: justify;">Bon tarif, site pas terrible en terme de look mais avec du choix sur certains  éléments, livraison pro.</p>
<h2 style="text-align: justify;">Office Easy</h2>
<p style="text-align: justify;">Allez, je finis par un B2B, j&#8217;ai beaucoup  apprécié Office Easy. Un site agréable et clair, une newsletter  pertinente, des commandes livrées en 48h, c&#8217;est propre, c&#8217;est du  E-commerce de pro alors ca mérite d&#8217;être signalé. Le catalogue est très  complet.</p>
<p style="text-align: justify;">D&#8217;une manière générale, j&#8217;ai eu beaucoup moins de soucis en B2B qu&#8217;en  B2C en fait.</p>
<p style="text-align: justify;">Et pour les sites qui souffrent de leur design,  tunnels de conversion improbable ou IHM Des années 70, allez donc lire  le blog de Capitaine Commerce ou celui de François Ziserman, ils donnent  plein de conseils dans ce domaine qui est le leur, alors profitez en !</p>
<p style="text-align: justify;">
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1254px; width: 1px; height: 1px; overflow: hidden;">Pour la deuxième partie de la livraison, j&#8217;attends toujours&#8230; La  première partie, j&#8217;ai du appeler, je pense que la deuxième je devrais  faire de même.</div>



Partager cet article :


	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.wikigento.com%2Frien-a-voir%2Ftest_site_ecommerce%2F&amp;title=Le%20E-commerce%20derri%C3%A8re%20le%20rideau...&amp;bodytext=D%27habitude%2C%20je%20suis%20plut%C3%B4t%20fournisseur%20que%20client%20en%20mati%C3%A8re%20de%20%20E-commerce.%0D%0AQuand%20je%20suis%20client%20c%27est%2C%20en%20g%C3%A9n%C3%A9ral%20de%20sites%20B2B%20comme%20LDLC%2C%20%20Office%20easy%2C%20et%20autres%20fournisseurs.%20Toujours%20en%20g%C3%A9n%C3%A9ral%2C%20les%20sites%20en%20%20question%20sont%20pros%20et%20propres" title="Digg"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fwww.wikigento.com%2Frien-a-voir%2Ftest_site_ecommerce%2F&amp;title=Le%20E-commerce%20derri%C3%A8re%20le%20rideau...&amp;notes=D%27habitude%2C%20je%20suis%20plut%C3%B4t%20fournisseur%20que%20client%20en%20mati%C3%A8re%20de%20%20E-commerce.%0D%0AQuand%20je%20suis%20client%20c%27est%2C%20en%20g%C3%A9n%C3%A9ral%20de%20sites%20B2B%20comme%20LDLC%2C%20%20Office%20easy%2C%20et%20autres%20fournisseurs.%20Toujours%20en%20g%C3%A9n%C3%A9ral%2C%20les%20sites%20en%20%20question%20sont%20pros%20et%20propres" title="del.icio.us"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.wikigento.com%2Frien-a-voir%2Ftest_site_ecommerce%2F&amp;t=Le%20E-commerce%20derri%C3%A8re%20le%20rideau..." title="Facebook"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.wikigento.com%2Frien-a-voir%2Ftest_site_ecommerce%2F&amp;title=Le%20E-commerce%20derri%C3%A8re%20le%20rideau...&amp;annotation=D%27habitude%2C%20je%20suis%20plut%C3%B4t%20fournisseur%20que%20client%20en%20mati%C3%A8re%20de%20%20E-commerce.%0D%0AQuand%20je%20suis%20client%20c%27est%2C%20en%20g%C3%A9n%C3%A9ral%20de%20sites%20B2B%20comme%20LDLC%2C%20%20Office%20easy%2C%20et%20autres%20fournisseurs.%20Toujours%20en%20g%C3%A9n%C3%A9ral%2C%20les%20sites%20en%20%20question%20sont%20pros%20et%20propres" title="Google Bookmarks"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://slashdot.org/bookmark.pl?title=Le%20E-commerce%20derri%C3%A8re%20le%20rideau...&amp;url=http%3A%2F%2Fwww.wikigento.com%2Frien-a-voir%2Ftest_site_ecommerce%2F" title="Slashdot"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikio.fr/vote?url=http%3A%2F%2Fwww.wikigento.com%2Frien-a-voir%2Ftest_site_ecommerce%2F" title="Wikio FR"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/wikio.png" title="Wikio FR" alt="Wikio FR" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="mailto:?subject=Le%20E-commerce%20derri%C3%A8re%20le%20rideau...&amp;body=http%3A%2F%2Fwww.wikigento.com%2Frien-a-voir%2Ftest_site_ecommerce%2F" title="email"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.wikigento.com%2Frien-a-voir%2Ftest_site_ecommerce%2F&amp;title=Le%20E-commerce%20derri%C3%A8re%20le%20rideau...&amp;source=Communaut%C3%A9+Magento+francophone+Optimisation+de+sites+E-commerce&amp;summary=D%27habitude%2C%20je%20suis%20plut%C3%B4t%20fournisseur%20que%20client%20en%20mati%C3%A8re%20de%20%20E-commerce.%0D%0AQuand%20je%20suis%20client%20c%27est%2C%20en%20g%C3%A9n%C3%A9ral%20de%20sites%20B2B%20comme%20LDLC%2C%20%20Office%20easy%2C%20et%20autres%20fournisseurs.%20Toujours%20en%20g%C3%A9n%C3%A9ral%2C%20les%20sites%20en%20%20question%20sont%20pros%20et%20propres" title="LinkedIn"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fwww.wikigento.com%2Frien-a-voir%2Ftest_site_ecommerce%2F&amp;title=Le%20E-commerce%20derri%C3%A8re%20le%20rideau..." title="Live"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fwww.wikigento.com%2Frien-a-voir%2Ftest_site_ecommerce%2F&amp;t=Le%20E-commerce%20derri%C3%A8re%20le%20rideau..." title="MySpace"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.wikigento.com%2Frien-a-voir%2Ftest_site_ecommerce%2F" title="Technorati"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://blogmarks.net/my/new.php?mini=1&amp;simple=1&amp;url=http%3A%2F%2Fwww.wikigento.com%2Frien-a-voir%2Ftest_site_ecommerce%2F&amp;title=Le%20E-commerce%20derri%C3%A8re%20le%20rideau..." title="blogmarks"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/blogmarks.png" title="blogmarks" alt="blogmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fwww.wikigento.com%2Frien-a-voir%2Ftest_site_ecommerce%2F&amp;partner=sociable" title="Print"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikigento.com/feed/" title="RSS"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://twitter.com/home?status=Le%20E-commerce%20derri%C3%A8re%20le%20rideau...%20-%20http%3A%2F%2Fwww.wikigento.com%2Frien-a-voir%2Ftest_site_ecommerce%2F" title="Twitter"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.viadeo.com/shareit/share/?url=http%3A%2F%2Fwww.wikigento.com%2Frien-a-voir%2Ftest_site_ecommerce%2F&title=Le%20E-commerce%20derri%C3%A8re%20le%20rideau...&urllanguage=fr" title="viadeo FR"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/viadeo.png" title="viadeo FR" alt="viadeo FR" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikio.com/vote?url=http%3A%2F%2Fwww.wikigento.com%2Frien-a-voir%2Ftest_site_ecommerce%2F" title="Wikio"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/wikio.png" title="Wikio" alt="Wikio" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.wikigento.com/rien-a-voir/test_site_ecommerce/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>L&#8217;optimisation progressive</title>
		<link>http://www.wikigento.com/optimisation/loptimisation-progressive_degradation-elegante/</link>
		<comments>http://www.wikigento.com/optimisation/loptimisation-progressive_degradation-elegante/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 13:17:29 +0000</pubDate>
		<dc:creator>Philippe Humeau</dc:creator>
				<category><![CDATA[optimisation]]></category>
		<category><![CDATA[dégradation élégante]]></category>
		<category><![CDATA[optimisation progressive]]></category>

		<guid isPermaLink="false">http://www.wikigento.com/?p=1595</guid>
		<description><![CDATA[Aujourd&#8217;hui, un guest nous propose un article.
Aymeric de l&#8217;agence DnD nous explique comment on peut faire de l&#8217;optimisation progressive.
Rien à voir avec le fait d&#8217;y aller petit à petit mais plutôt d&#8217;envoyer des pages de plus en plus complètes/complexes en fonction des capacités des navigateurs clients.
Optimisation dʼintégration par la technique de lʼamélioration progressive.
Si je vous [...]]]></description>
			<content:encoded><![CDATA[<p>Aujourd&#8217;hui, un guest nous propose un article.<br />
Aymeric de l&#8217;<a title="Agence DnD, développement Magento, projets E-commerce" href="http://www.dnd.fr">agence DnD</a> nous explique comment on peut faire de l&#8217;optimisation progressive.<br />
Rien à voir avec le fait d&#8217;y aller petit à petit mais plutôt d&#8217;envoyer des pages de plus en plus complètes/complexes en fonction des capacités des navigateurs clients.</p>
<h2><strong>Optimisation dʼintégration par la technique de lʼamélioration progressive.</strong></h2>
<p>Si je vous parle dʼoptimisation web, vous me citerez très certainement les chargements parallèles, les CDN, les sélecteurs CSS efficaces, la réduction du poids des images, etc &#8230;</p>
<p>Lʼapproche est bonne, mais je répondrai ceci :<br />
« Optimiser globalement son site cʼest bien, lʼoptimiser pour les différents navigateurs cʼest mieux»</p>
<p>Dans cette article, jʼexpliquerai une technique de conception de site web qui s&#8217;avère très efficace pour lʼoptimisation, la stabilité et la pérennité de votre site : cela se nomme<strong> lʼamélioration progressive</strong>.</p>
<h2><strong>Deux techniques de conception web</strong></h2>
<p>Il existe deux techniques pour la création de sites web optimisés :</p>
<p>La première sʼappelle <strong>« lʼamélioration progressive » </strong>et la seconde la <strong>« dégradation élégante »</strong>.</p>
<p>Elles cohabitent toutes les deux depuis longtemps et sont utilisées par la majorité des acteurs du web (agences web, free-lances, &#8230;), et ce, parfois sans même sʼen rendre compte.</p>
<p><span style="text-decoration: underline;"><br />
Voici une brève définition :</span></p>
<ul>
<li>La dégradation élégante est le fait de construire dʼabord son site en fonction des navigateurs les plus performants, puis de se concentrer ensuite sur la compatibilité avec les anciens navigateurs.</li>
<li>Lʼamélioration progressive cʼest lʼinverse. On se base dʼabord sur un ancien navigateur puis on rajoute des couches techniques successives plus poussées et plus abouties supportées par les navigateurs les plus récents.</li>
</ul>
<p>Mais laquelle utiliser ?</p>
<p>La plupart privilégierons la dégradation élégante car cʼest à leurs sens la technique la plus simple à mettre en place et la plus utilisé. En effet, nous avons probablement tous déjà entendu un jour : « Les gars, jʼai fini dʼintégrer le site sur FireFox, jʼattaque maintenant le débug sur ce bon vieux IE6»</p>
<p>Cependant cette technique nʼoffre que très peu de souplesse, car il est nécessaire de partir de votre « bijoux » technique puis de le «démolir» petit à petit tout en corrigeant les différents bogues afin quʼil soit compatible avec les anciens navigateurs.</p>
<p><strong>Petite métaphore pour appuyer mes propos<br />
</strong></p>
<p><em>&#8220;Faut-il forcément sʼobliger à regarder une cassette VHS sur un écran Full HD sous prétexte quʼelle est compatible avec le magnétoscope de notre Mamie ?&#8221;</em></p>
<p>Nʼest il pas préférable de visualiser son film en Blu-Ray et se procurer une cassette VHS en parallèle pour que notre chère Mamie puisse regarder le film sur son magnétoscope auquel elle tient temps ?</p>
<p>Oui cela demande dʼavoir 2 versions du film, une en DVD Blu-Ray et lʼautre en VHS&#8230; et oui cela demande plus dʼinvestissement et plus de temps, mais il sʼagit du seul et unique moyen pour que personne ne soit exclu tout en ayant un média qui convient avec notre support.</p>
<p>Vous lʼaurez compris, je vous invite grandement à utiliser la technique de lʼamélioration progressive .</p>
<p>Pour en savoir plus sur ces techniques, je vous invite à lire ce très bon article.</p>
<p>Il date un peu mais reste dʼactualité : http://www.pompage.net/pompe/degradation-elegante-et-amelioration-progressive/</p>
<h2><strong>Exemple pratique</strong></h2>
<p>Voici la partie la plus intéressante, un exemple de la technique dʼamélioration progressive sur un bouton. Vous allez vous apercevoir que le gain de puissance est incroyable.</p>
<p>Voici notre bouton :<br />
<a rel="attachment wp-att-1596" href="http://www.wikigento.com/optimisation/loptimisation-progressive_degradation-elegante/attachment/capture/"><img class="alignleft size-full wp-image-1596" title="Capture" src="http://www.wikigento.com/wp-content/uploads/2010/07/Capture.JPG" alt="Capture" width="153" height="36" /></a><br />
<strong></p>
<p>Première étape </strong>: Scindez les systèmes.</p>
<p>Ce bouton comporte des arrondis. Quels systèmes permettent de le faire de façon légère et optimisée ?</p>
<ul>
<li>FireFox 3, SAFARI 4, CHROME gèrent déjà les bordures arrondis et les ombres grâce à leur moteurs graphiques (webkit, moz, &#8230;)</li>
<li>IE ne le gère pas. Surprenant non ? <img src='http://www.wikigento.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
<p><strong>Deuxième étape </strong>: Créer un code pour chaque système.</p>
<p><span style="text-decoration: underline;">Pour les anciens navigateurs :</span></p>
<pre>a.button {
background: transparent url('bg_button_a.gif') no-repeat scroll top right;
color: #444;
display: block;
float: left;
height: 24px;
padding-right: 18px;
text-decoration: none;
}</pre>
<pre>a.button span {
background: transparent url('bg_button_span.gif') no-repeat;
display: block;
line-height: 14px;
padding: 5px 0 5px 18px;
}</pre>
<p><span style="text-decoration: underline;">Pour les nouveaux :</span></p>
<pre>a.button {
background-color: #DDD;
border: 1px solid #000;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
-khtml-border-radius: 5px;
border-radius: 5px;
color: #444;
display: block;
float: left;
height: 24px;
line-height:24px;
padding: 0 10px;
}</pre>
<p><strong>Troisième étapes </strong>: Constatez lʼoptimisation avec le même rendu sur les tous les navigateurs :</p>
<ul>
<li>Pour les anciens navigateurs, vous aurez un bouton construit à partir de 2 images de fond (2,3ko).</li>
<li>Pour les navigateurs récents, vous nʼaurez juste que quelques lignes de codes (0,6ko).</li>
</ul>
<p>Appliquez ce que nous venons dʼeffectuer avec ce bouton à lʼensemble de vos éléments web. Vous obtiendrez alors un site avec peu dʼimages, un poids pour chaque page très faible.</p>
<h2><strong>Conclusion</strong></h2>
<p>Maintenant, imaginez un site sans images, avec des templates web entièrement développés en code, facile à gérer, des pages ayant un poids ridicule, et ce, sans jamais perdre en qualité.</p>
<p>Ce monde est déjà à nos pieds avec lʼutilisation du CSS3 et du HTML5&#8230; Pour ce faire, il vous faudra ajouter de manière progressive une couche supplémentaire à vos sites et en apprécier le gain gagné sur votre dernier navigateur&#8230; <img src='http://www.wikigento.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
<em>Par Aymeric Aitamer, Agence DnD.</em></p>



Partager cet article :


	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.wikigento.com%2Foptimisation%2Floptimisation-progressive_degradation-elegante%2F&amp;title=L%27optimisation%20progressive&amp;bodytext=Aujourd%27hui%2C%20un%20guest%20nous%20propose%20un%20article.%0D%0AAymeric%20de%20l%27agence%20DnD%20nous%20explique%20comment%20on%20peut%20faire%20de%20l%27optimisation%20progressive.%0D%0ARien%20%C3%A0%20voir%20avec%20le%20fait%20d%27y%20aller%20petit%20%C3%A0%20petit%20mais%20plut%C3%B4t%20d%27envoyer%20des%20pages%20de%20plus%20en%20plus%20compl%C3%A8tes" title="Digg"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fwww.wikigento.com%2Foptimisation%2Floptimisation-progressive_degradation-elegante%2F&amp;title=L%27optimisation%20progressive&amp;notes=Aujourd%27hui%2C%20un%20guest%20nous%20propose%20un%20article.%0D%0AAymeric%20de%20l%27agence%20DnD%20nous%20explique%20comment%20on%20peut%20faire%20de%20l%27optimisation%20progressive.%0D%0ARien%20%C3%A0%20voir%20avec%20le%20fait%20d%27y%20aller%20petit%20%C3%A0%20petit%20mais%20plut%C3%B4t%20d%27envoyer%20des%20pages%20de%20plus%20en%20plus%20compl%C3%A8tes" title="del.icio.us"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.wikigento.com%2Foptimisation%2Floptimisation-progressive_degradation-elegante%2F&amp;t=L%27optimisation%20progressive" title="Facebook"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.wikigento.com%2Foptimisation%2Floptimisation-progressive_degradation-elegante%2F&amp;title=L%27optimisation%20progressive&amp;annotation=Aujourd%27hui%2C%20un%20guest%20nous%20propose%20un%20article.%0D%0AAymeric%20de%20l%27agence%20DnD%20nous%20explique%20comment%20on%20peut%20faire%20de%20l%27optimisation%20progressive.%0D%0ARien%20%C3%A0%20voir%20avec%20le%20fait%20d%27y%20aller%20petit%20%C3%A0%20petit%20mais%20plut%C3%B4t%20d%27envoyer%20des%20pages%20de%20plus%20en%20plus%20compl%C3%A8tes" title="Google Bookmarks"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://slashdot.org/bookmark.pl?title=L%27optimisation%20progressive&amp;url=http%3A%2F%2Fwww.wikigento.com%2Foptimisation%2Floptimisation-progressive_degradation-elegante%2F" title="Slashdot"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikio.fr/vote?url=http%3A%2F%2Fwww.wikigento.com%2Foptimisation%2Floptimisation-progressive_degradation-elegante%2F" title="Wikio FR"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/wikio.png" title="Wikio FR" alt="Wikio FR" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="mailto:?subject=L%27optimisation%20progressive&amp;body=http%3A%2F%2Fwww.wikigento.com%2Foptimisation%2Floptimisation-progressive_degradation-elegante%2F" title="email"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.wikigento.com%2Foptimisation%2Floptimisation-progressive_degradation-elegante%2F&amp;title=L%27optimisation%20progressive&amp;source=Communaut%C3%A9+Magento+francophone+Optimisation+de+sites+E-commerce&amp;summary=Aujourd%27hui%2C%20un%20guest%20nous%20propose%20un%20article.%0D%0AAymeric%20de%20l%27agence%20DnD%20nous%20explique%20comment%20on%20peut%20faire%20de%20l%27optimisation%20progressive.%0D%0ARien%20%C3%A0%20voir%20avec%20le%20fait%20d%27y%20aller%20petit%20%C3%A0%20petit%20mais%20plut%C3%B4t%20d%27envoyer%20des%20pages%20de%20plus%20en%20plus%20compl%C3%A8tes" title="LinkedIn"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fwww.wikigento.com%2Foptimisation%2Floptimisation-progressive_degradation-elegante%2F&amp;title=L%27optimisation%20progressive" title="Live"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fwww.wikigento.com%2Foptimisation%2Floptimisation-progressive_degradation-elegante%2F&amp;t=L%27optimisation%20progressive" title="MySpace"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.wikigento.com%2Foptimisation%2Floptimisation-progressive_degradation-elegante%2F" title="Technorati"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://blogmarks.net/my/new.php?mini=1&amp;simple=1&amp;url=http%3A%2F%2Fwww.wikigento.com%2Foptimisation%2Floptimisation-progressive_degradation-elegante%2F&amp;title=L%27optimisation%20progressive" title="blogmarks"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/blogmarks.png" title="blogmarks" alt="blogmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fwww.wikigento.com%2Foptimisation%2Floptimisation-progressive_degradation-elegante%2F&amp;partner=sociable" title="Print"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikigento.com/feed/" title="RSS"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://twitter.com/home?status=L%27optimisation%20progressive%20-%20http%3A%2F%2Fwww.wikigento.com%2Foptimisation%2Floptimisation-progressive_degradation-elegante%2F" title="Twitter"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.viadeo.com/shareit/share/?url=http%3A%2F%2Fwww.wikigento.com%2Foptimisation%2Floptimisation-progressive_degradation-elegante%2F&title=L%27optimisation%20progressive&urllanguage=fr" title="viadeo FR"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/viadeo.png" title="viadeo FR" alt="viadeo FR" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikio.com/vote?url=http%3A%2F%2Fwww.wikigento.com%2Foptimisation%2Floptimisation-progressive_degradation-elegante%2F" title="Wikio"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/wikio.png" title="Wikio" alt="Wikio" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.wikigento.com/optimisation/loptimisation-progressive_degradation-elegante/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Optimisation de sites Magento (et autres) !</title>
		<link>http://www.wikigento.com/optimisation-systeme-reseau/optimisation-de-sites-magento/</link>
		<comments>http://www.wikigento.com/optimisation-systeme-reseau/optimisation-de-sites-magento/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 17:28:55 +0000</pubDate>
		<dc:creator>Philippe Humeau</dc:creator>
				<category><![CDATA[Optimisation LAMP/Zend/Magento]]></category>
		<category><![CDATA[Optimisation Système & Réseau]]></category>
		<category><![CDATA[css optimiser]]></category>
		<category><![CDATA[optimisation de site]]></category>
		<category><![CDATA[optimisation de site magento]]></category>
		<category><![CDATA[optimisation pagespeed]]></category>
		<category><![CDATA[optimisation Yslow]]></category>

		<guid isPermaLink="false">http://www.wikigento.com/?p=1523</guid>
		<description><![CDATA[Introduction
Beaucoup de principes sont généraux à tous les frameworks, qu&#8217;ils s&#8217;agissent d&#8217;un site Magento, Prestashop, Wordpress, Drupal, etc&#8230; Certains Framework ou plugins de ces solutions vous aident nativement à le faire, d&#8217;autre n&#8217;ont pas cette possibilité ou cette richesse en stock.
J&#8217;ai récemment refais le site de NBS System (ma société) de A à Z avec [...]]]></description>
			<content:encoded><![CDATA[<h1>Introduction</h1>
<p style="text-align: justify">Beaucoup de principes sont généraux à tous les frameworks, qu&#8217;ils s&#8217;agissent d&#8217;un site Magento, Prestashop, Wordpress, Drupal, etc&#8230; Certains Framework ou plugins de ces solutions vous aident nativement à le faire, d&#8217;autre n&#8217;ont pas cette possibilité ou cette richesse en stock.</p>
<p style="text-align: justify">J&#8217;ai récemment refais le site de <a title="Hébergement de sites E-commerce" href="http://www.nbs-system.com/hebergement-infogerance/e-commerce/hebergement-magento/">NBS System</a> (ma société) de A à Z avec nos amis de l&#8217;<a href="http://www.dnd.fr/">agence DnD</a> et forcément, on s&#8217;est un peu intéressés à l&#8217;optimisation. C&#8217;est un chemin complexe mais passionnant alors autant vous faire partager quelques trouvailles dans le domaine.</p>
<p style="text-align: justify">Je ne reviens pas sur le pourquoi, optimiser c&#8217;est bien, améliorer l&#8217;expérience utilisateur c&#8217;est bien, avoir un meilleur référencement naturel car on charge vite, c&#8217;est bien. De toute façon vous surfez sur un Blog, il faudra bien justifier cela à votre boss un jour donc on va dire que c&#8217;est pour le bien d&#8217;Internet et la préservation de la bande passante.</p>
<p>Après en société, vous pourrez faire les malins et expliquer qu&#8217;en optimisant votre site, vous avez participer à éviter l&#8217;<a href="http://www.lesechos.fr/info/comm/020289856641.htm">Exaflood</a>, ca ne fait pas tomber les femmes mais coté entretient d&#8217;embauche, sur un malentendu, vous forcerez l&#8217;admiration.</p>
<h1>Comment Analyser</h1>
<p style="text-align: justify">Nos deux amis : <a title="utiliser Yslow" href="https://addons.mozilla.org/en-US/firefox/addon/5369">Yslow</a> et <a title="Utiliser Pagespeed" href="http://code.google.com/speed/page-speed/download.html">PageSpeed</a>. Ces deux plugins fonctionnent sous Firefox et vous donnent un point de vu sur ce qui est propre, bien fait et ce qui ne l&#8217;est pas. Pagespeed, celui de Google, est plus nouveau et un poil plus complet, il tourne évidemment aussi sous Chrome. Yslow est celui fournit par Yahoo depuis des années, il est très intéressant également, personnellement, j&#8217;utilise les deux.</p>
<p>Je vous conseil aussi le site <a href="http://analyze.websiteoptimization.com/">websiteoptimization</a> qui vous donnera aussi de préciseuses infos. Evidemment, passer sans erreur le <a title="W3C Xhtml Validator" href="http://validator.w3.org/">XHTML validator</a> est important également, même si c&#8217;est pas toujours simple.</p>
<p style="text-align: justify">En complément, je me dois de citer l&#8217;excellent site <a title="GT Metrix" href="http://www.gtmetrix.com">www.gtmetrix.com</a>. Pour ceux qui comme moi utilisent Opera ou qui ont un browser exotique et qui n&#8217;ont pas nativement ces plugins, c&#8217;est bien utile d&#8217;avoir à la fois Yslow et Pagespeed au même endroit, dans une même page.</p>
<p style="text-align: center"><strong>Pagespeed :</strong><br />
<a rel="attachment wp-att-1524" href="http://www.wikigento.com/optimisation-systeme-reseau/optimisation-de-sites-magento/attachment/pagespeed/"><br />
<img class="size-medium wp-image-1524 aligncenter" title="pagespeed screenshot" src="http://www.wikigento.com/wp-content/uploads/2010/07/pagespeed-500x388.jpg" alt="pagespeed screenshot" width="500" height="388" /></a></p>
<p style="text-align: center"><strong>Yslow :</strong><br />
<a rel="attachment wp-att-1525" href="http://www.wikigento.com/optimisation-systeme-reseau/optimisation-de-sites-magento/attachment/yslow/"><br />
<img class="size-medium wp-image-1525 aligncenter" title="yslow screenshot" src="http://www.wikigento.com/wp-content/uploads/2010/07/yslow-500x391.jpg" alt="yslow screenshot" width="500" height="391" /></a></p>
<p style="text-align: center"><strong>GT Metrix :</strong><br />
<a rel="attachment wp-att-1526" href="http://www.wikigento.com/optimisation-systeme-reseau/optimisation-de-sites-magento/attachment/gtmetrix/"><br />
<img class="size-medium wp-image-1526 aligncenter" title="gtmetrix" src="http://www.wikigento.com/wp-content/uploads/2010/07/gtmetrix-500x384.jpg" alt="gtmetrix" width="500" height="384" /></a></p>
<h1>Lire les résultats</h1>
<p style="text-align: justify;">Evidemment le but est atteindre le rating maximum, soit A/A ou 100%/100%.</p>
<p>C&#8217;est pour ainsi dire impossible donc si on peut aller à une note très intéressante, ca sera déjà pas mal. Ceci va en plus réduire le temps de chargement de la page et donc nous faire passer sous la barre d&#8217;1,5 seconde et donc améliorer la façon dont nous considère Google.</p>
<p>Dans l&#8217;immédiat, on voit que Pagespeed à un peu plus de critères mais on retrouve 70% de points communs soit une forme ou une autre alors je vais les grouper par types.</p>
<h2>Pagespeed : &#8220;Parallelize downloads across hostnames&#8221;<br />
Yslow : Use Cookie-free domains<br />
Pagespeed : Serve static content from a cookieless domain</h2>
<p style="text-align: justify;">C&#8217;est quasi comparable, dans le principe il s&#8217;agit de permettre aux browsers qui viennent de télécharger vos contenus de sites depuis plusieurs serveurs distincts afin de leur permettre d&#8217;établir plus de connexions simultannées. En gros, pour ne pas saturer les serveurs, les browser ne s&#8217;authorise que 6 à 15 connexions vers un même serveur, c-a-d qu&#8217;ils ne téléchargent que 6 à 15 éléments simultanéments et attendent pour demande les suivants que des connexions se libèrent.</p>
<p style="text-align: justify;">C&#8217;est paramétrable du coté du client, sur le navigateur mais on ne va pas demander à chacun de modifier son paramétrage de navigateur donc il vaut mieux utiliser plusieurs serveurs, quand cela est possible, pour servir le contenu, notamment static. Ici, seul le hostname compte, vous pouvez avec le même serveur physique derrère un www1, www2 etc&#8230;</p>
<p style="text-align: justify;">Avoir 4 serveurs qui distribuent le contenu va permettre aux navigateurs d&#8217;aller beaucoup plus vite pour récupérer les contenus. Un petit regret ici, il aurait été plus simple d&#8217;intégrer un variable sur le nombre de thread concourrant accepté directement dans le handshake http 1.1. Ca aurait permis d&#8217;accélérer en basse charge et de diminuer pendant les pics. On peut aller plus loin aussi en servant depuis plusieurs endroits, sur un domaine différents &#8220;cookieless&#8221;.</p>
<p style="text-align: justify;">Ce n&#8217;est pas très compliqué à faire en réalité. Le plus simple c&#8217;est d&#8217;enregistrer un nom domaine différent de celui du site, par exemple static-nbs-system.com et de mettre un CNAME dans la zone DNS qui pointe sur l&#8217;enregistrement A du site (en l&#8217;occurence nbs-system.com). Ensuite on configure le service web pour fournir les ressources statiques depuis ce nouveau domaine, on interdit de poser les cookies sur ce domaine et dans les pages web on appelle les ressources statiques sur ce domaine. On peut bien sûr reproduire le schéma avec n host sur ce nouveau domaine, static1.blablabla, static2.blablabla etc&#8230;</p>
<p style="text-align: justify;">Ca à l&#8217;air bien sur le papier mais si le framework le gère pas, il va falloir éditer des fichiers de config, des fichiers php ou HTML ou encore jouer de la commande sed pour automatiser le remplacement de l&#8217;url. (<a title="manuel de survie Unix" href="http://www.wikigento.com/general/manuel-de-survie-unix-linux-2°-partie/">pour sed, vous pouvez voir l&#8217;article ici</a>)</p>
<p style="text-align: justify;">Je ne sais pas si ca à une influence sur la SEO par contre. Vu que le nom et l&#8217;URL des ressources statiques participe à la SEO on m&#8217;a dit, je ne sais pas l&#8217;impacte.<br />
Faible je suppose vu que ce sont des plugins de moteurs de recherche qui conseillent ce mouvement&#8230; Un pro de la SEO pour m&#8217;éclairer ?</p>
<h2>Yslow : &#8220;Use a Content Delivery Network (CDN)&#8221;</h2>
<p style="text-align: justify">L&#8217;idée est un peu la même mais à une petite nuance prêt. Yslow conseil l&#8217;usage d&#8217;un CDN de manière absolu, un qui soit connu pour le reprérer. Pagespeed lui conseille de multiplier les sources servant les fichiers. L&#8217;idée de fond reste proche, servir le plus vite possible les éléments, depuis des sources spécialisées. Soit vous prenez un CDN connu (Akamai, limewire etc&#8230;) soit votre prestataire à le sien, soit vous en <a title="Liste de CDN" href="http://fr.wikipedia.org/wiki/Content_Delivery_Network#CDNs_Gratuits">prenez un gratuit</a>.</p>
<p>Dans les deux derniers cas, Yslow ne connaitra probablement pas votre CDN et vous devrez malgré tout trainer une mauvaise note sur ce sujet&#8230; Ca n&#8217;empêche pas d&#8217;avoir un A cependant car pour Yslow, c&#8217;est un point moyennement important. Et puis soyons honnête, avoir un CDN (Content Delivery Network) ce n&#8217;est utile que pour des sites qui servent à destinations de plusieurs pays distants, dans la majorité des cas, un serveur de ressources statiques suffit.</p>
<h2>Yslow : &#8220;Add Expire headers&#8221;,<br />
Pagespeed : &#8220;Leverage Browser Caching&#8221;</h2>
<p style="text-align: center">
<p style="text-align: justify">Ca joue beaucoup, ca compte beaucoup et, bonne nouvelle : c&#8217;est facile à faire !</p>
<p style="text-align: justify">Avec Apache, un petit tour dans la configuration, on ajoute le mod Expire et le mode Etags et on met les lignes de configurations suivantes :</p>
<p style="text-align: justify">LoadModule expires_module /usr/lib/apache2/modules/mod_expires.so<br />
ExpiresActive On</p>
<pre>FileETag MTime Size</pre>
<pre>&lt;IfModule mod_expires.c&gt;
 ExpiresActive on
 ExpiresByType image/jpg "access plus 6 months"
 ExpiresByType image/jpeg "access plus 6 months"
 ExpiresByType image/gif "access plus 6 months"
 ExpiresByType image/png "access plus 6 months"
 ExpiresByType text/ico "access plus 6 months"
 ExpiresByType image/ico "access plus 6 months"
 ExpiresByType image/icon "access plus 6 months"
 ExpiresByType image/x-icon "access plus 6 months"
 ExpiresByType application/x-shockwave-flash "modification plus 6 months"
 ExpiresByType text/css "access plus 1 week"
 ExpiresByType text/javascript "access plus 1 week"
 ExpiresByType text/html "modification plus 1 week"
 ExpiresByType text/xml "modification plus 2 hours"
 ExpiresByType image/vnd.microsoft.icon "access plus 6 months"
 ExpiresDefault "access plus 1 week"
 #Header set Cache-Control "max-age=86400, public"
&lt;/IfModule&gt;</pre>
<pre>&lt;FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$"&gt;
 Header set Cache-Control "max-age=290304000, public"
&lt;/FilesMatch&gt;</pre>
<p style="text-align: justify">Voila, on a indiqué à Apache qu&#8217;on calculait la fraicheur d&#8217;une ressource en fonction de la date d&#8217;accès et de sa taille  (FilteEtag MTime  Size) et ensuite on lui a donné, par type de ressources, un temps d&#8217;expiration du cache. En résumé, quand votre navigateur récupère une donnée, il a le droit de la garder 6 mois si c&#8217;est un jpg par exemple, 1 semaine si c&#8217;est un javascript.</p>
<p style="text-align: justify">Evidemment, il faut le paramétrer en fonction de votre site et de la fréquence à laquelle vous mettez vos éléments à jour. Enfin, autre format, les 3 dernières lignes mettent une expiration à 480 semaines par défaut sur les ressources du type cité.</p>
<p style="text-align: justify">Si vous développez, il est fortement conseillé d&#8217;avoir une préproduction sur laquelle vous n&#8217;avez pas ces lignes, afin d&#8217;avoir le résultats de vos modifications instantanément et pas 480 semaines plus tard <img src='http://www.wikigento.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: justify">Les deux plugins considèrent, à juste titre, que c&#8217;est un point important.</p>
<h2>Yslow : Compress components with Gzip<br />
Pagespeed : Enable Gzip compression</h2>
<p style="text-align: justify">Il peut y avoir un peu débat sur celui-là, et encore. En gros le débat serait que sur un serveur dont le CPU est chargé, faire du Gzip en plus, ca aggrave le problème&#8230; Oui et non. Déjà, l&#8217;algorithme Zip est ultra rapide et optimisé, ca prends très peu de ressources à processeur moderne. En plus, servir plus vite c&#8217;est aussi diminuer sa charge de travail quelque part (on peut traiter plus de monde).</p>
<p style="text-align: justify">Coté débat, nous chez NBS, en matière de serveur E-commerce, on a tranché, c&#8217;est oui.</p>
<pre>&lt;IfModule mod_php5.c&gt;
   php_flag zlib.output_compression on
&lt;/IfModule&gt;</pre>
<pre>&lt;IfModule mod_deflate.c&gt;
 SetOutputFilter DEFLATE
 AddOutputFilterByType DEFLATE text/*
 DeflateFilterNote ratio
# Patch pour les navigateurs qui ne supportent pas
 BrowserMatch ^Mozilla/4 gzip-only-text/html
 BrowserMatch ^Mozilla/4\.0[678] no-gzip
 BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
# Humm compresser les images, ce n'est pas utile, loin de là
 SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
 SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
 SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary
&lt;/IfModule&gt;</pre>
<p style="text-align: justify">Bon, c&#8217;est assez simple et explicite, on compresse tout ce qui est textuel, on désactive pour les vieux Mozilla 4 et les IE, on ne compresse pas les images.</p>
<p style="text-align: justify">Ca réduit bien les transferts mine de rien :</p>
<p style="text-align: justify">
<tr height="20">
<td width="77" height="20">Type</td>
<td width="98">Uncompressed</td>
<td width="84">Compressed</td>
<td width="57">Win</td>
</tr>
<tr height="20">
<td height="20">doc / HTML</td>
<td align="right">44,5</td>
<td align="right">14,8</td>
<td align="right">67%</td>
</tr>
<tr height="20">
<td height="20">js</td>
<td align="right">25,1</td>
<td align="right">10,4</td>
<td align="right">59%</td>
</tr>
<tr height="20">
<td height="20">js</td>
<td align="right">57,2</td>
<td align="right">19,7</td>
<td align="right">66%</td>
</tr>
<tr height="20">
<td height="20">js</td>
<td align="right">0,9</td>
<td align="right">0,4</td>
<td align="right">56%</td>
</tr>
<tr height="20">
<td height="20">js</td>
<td align="right">90,4</td>
<td align="right">29,8</td>
<td align="right">67%</td>
</tr>
<tr height="20">
<td height="20">js</td>
<td align="right">17,4</td>
<td align="right">8,1</td>
<td align="right">53%</td>
</tr>
<tr height="20">
<td height="20">css</td>
<td align="right">30,9</td>
<td align="right">6</td>
<td align="right">81%</td>
</tr>
<tr height="20">
<td height="20"></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr height="20">
<td height="20">économie</td>
<td align="right">177,2</td>
<td>Ko</td>
<td align="right">33%</td>
</tr>
<p style="text-align: justify">C&#8217;est tangible et appréciable, ca économise de la bande passante des deux cotés, c&#8217;est tout bon !</p>
<h2>Yslow : Minify Javascript and CSS<br />
Yslow : Remove duplicate Javascript and CSS<br />
Pagespeed : Combine   external JavaScript<br />
Pagespeed : Minify Javascript<br />
Pagespeed : Removed unused CSS<br />
Pagespeed : Minify CSS<br />
Pagespeed : Combine external CSS</h2>
<p>Okay, ca fait beaucoup d&#8217;un coup mais c &#8216;est la même logique derrière.</p>
<p style="text-align: justify;">Le principe de fond : on regroupe les CSS et les Javascript en deux fichiers au lieu de 15, on les nettoye des bouts de codes ou expressions non utilisées, on les &#8220;minify&#8221; (on les densifie, on enlève les espaces et les choses inutiles).</p>
<p>L&#8217;idée est bonne mais ca fait un code peu maintenable, alors le conseil du pro : on fait son site sur la préproduction et on se fait un script bash de mise en production qui fait le ménage et compacte  le tout au moment de la mise en production. Comme cela, on a une préproduction qui reste efficace à maintenir avec des fichiers lisibles et un production optimisée.</p>
<p style="text-align: justify;">Pour réaliser ces optimisations, deux possibilités voir même beaucoup plus. Pagespeed à la gentillesse de fournir certains fichiers optimisés directement depuis le plugin. On le sauve, on le met sur la production et hop, c&#8217;est finit. Pour optimiser ses CSS on a aussi le site <a title="CSS optimiser" href="http://www.cssoptimiser.com/">cssoptimiser</a> ou le <a title="CSS cleaning" href="http://www.cleancss.com/">cssclean</a>. Bref ce ne sont pas les outils qui manquent. Pour les combiner, ca dépend de la technologie, sous Magento on a Fooman speedster, sous Wordpress il y a CSS-JS-Booster de mémoire, parfois vous devrez tout simplement le faire à la main.</p>
<p>Evidemment enlever le code inutile des JS et/ou des CSS, c&#8217;est un impératif.</p>
<p style="text-align: justify;">En réduisant le nombre de fichiers, on réduit le nombres de requêtes HTTP, on économise des transferts, de l&#8217;overhead, bref, là encore c&#8217;est du tout bon.</p>
<p style="text-align: justify;">Personnellement, j&#8217;ai massivement utilisé les fichiers directement issus de Pagespeed quand il m&#8217;en proposait, c&#8217;est parfait.</p>
<p style="text-align: justify;">La plupart du temps, ces modifications sont considéré comme importantes par les plugins.</p>
<h2>Yslow : Avoid CSS expressions<br />
Pagespeed : Use efficient CSS Selectors</h2>
<p style="text-align: justify">J&#8217;ai regroupé ces deux là car ils touchent aux CSS et à leur optimisation. C&#8217;est un réel enjeu car les navigateurs se débrouillent plus ou moins bien avec les CSS et cela peut engendrer des délais du coté de l&#8217;utilisateur.</p>
<p>Yahoo Yslow nous dit d&#8217;éviter les expressions CSS, ce qui permet de changer dynamiquement un CSS si le browser est redimensionné par exemple. Le problème c&#8217;est que ces expressions sont appelées tout le temps, pendant la génération de l&#8217;affichage, au redimensionnement, parfois pendant le scrolling. Du coup ca charge un maximum le navigateur client. Ceci étant tous les frameworks ou presque évite ca comme la peste, vous ne devriez pas avoir de soucis avec. Sinon, il faut s&#8217;en passer et réécrire les portions du CSS qui utilisait ce système.</p>
<p style="text-align: justify">Google Pagespeed nous indique pour sa part qu&#8217;il est préférable d&#8217;utiliser des CSS selector efficaces. Ouiiiiiii, c&#8217;est à dire qu&#8217;on est pas contre, mais c&#8217;est quoi la différence entre un bon et un mauvais CSS selector ? C&#8217;est comme la chasse. Le bon chasseur, il voit&#8230; okay&#8230; on reprend.</p>
<p style="text-align: justify">Le but c&#8217;est d&#8217;éviter d&#8217;appliquer une clef de sélection peu efficace à un grand nombre d&#8217;éléments car cela pénalise les performances du navigateur. Mais cela va plus loin c&#8217;est plus une connaissance générale de la grammaire CSS qu&#8217;il faut avoir.</p>
<p style="text-align: justify"><span style="text-decoration: underline;">Par exemple, il vaut mieux :</span></p>
<ul>
<li style="text-align: justify">utiliser une classe pour appliquer un style à de nombreux élements</li>
<li style="text-align: justify">privilégier le mécanisme d&#8217;héritage</li>
<li style="text-align: justify">utiliser des règles spécifiques</li>
<li style="text-align: justify">utiliser des class et ID plutot que des sélecteur de type Tag</li>
<li style="text-align: justify">éviter les qualificateurs redondants (ex : ID selectors par class et class selectors qualifiés par un tag selector)</li>
<li style="text-align: justify">éviter les sélecteurs descendants, surtout pour ceux qui pointe des ancêtres redondants (par exemple bidy ul li a {&#8230;} est un sélecteur redondant puisque tous les éléments sont des descendants de ce tag)</li>
<li style="text-align: justify">utiliser des sélecteurs de class plutot que des sélecteurs descendants</li>
<li style="text-align: justify">si vous devez utiliser un selecteur descendant, préférez un &#8220;child selector&#8221; qui nécessitera moins d&#8217;interprétation.</li>
<li style="text-align: justify">dans le cas d&#8217;IE, évitez les :hover pour les éléments qui ne sont pas des liens</li>
<li style="text-align: justify">si vous utilisez :hover sur des éléments qui ne sont pas des ancres, testez là sous IE 7 &amp; 8 pour être sur que ca fonctionne.</li>
</ul>
<p style="text-align: justify">Ok j&#8217;ai fais mon possible pour le traduire de l &#8216;anglais mais ce n&#8217;est pas mon domaine non plus alors si vous n&#8217;avez rien compris, <a href="http://gtmetrix.com/use-efficient-css-selectors.html">allez à la source, ici</a>. C&#8217;est un métier développeur Web, moi je vous le dis&#8230;</p>
<h2>Yslow : Avoid HTTP 404 (Not Found) error<br />
Yslow : Avoid URL redirects<br />
Pagespeed : Avoid bad requests<br />
Pagespeed : Minimize redirects</h2>
<p style="text-align: justify;">Ne riez pas et surtout vérifiez que vous n&#8217;en avez pas. Sur un site normal, en production normal, on ne doit pas tomber tous 3 objets sur un 404, ni même sur un 301 ou un 302. Qu&#8217;il y ait du rewriting temporairement pour maintenir une compatibilité, why not, que ce soit les 3/4 des URLs, encore plus vers un autre domaine, c&#8217;est  à proscrire.</p>
<p style="text-align: justify;">Les 404, on s&#8217;en doute, c&#8217;est mal, d&#8217;autant plus que c&#8217;est surtout votre SEO qui va prendre. Mais les redirections prennent du RTT (pas des vacances, du Round Trip Time, des voyages allers/retours), ce qui ralentit l&#8217;ensemble.</p>
<p style="text-align: justify;">Là aussi, c&#8217;est important, plus pour Pagespeed que pour Yslow qui tolère les 404 et dégrade moins la note.</p>
<p style="text-align: justify;">Pour trouver vos 404, les <a title="Google Webmaster tools" href="http://webmaster.google.com">google webmaster tools</a> peuvent vous aider, les plugins, dont Firebug vous les donnent, des sites sont aussi disponibles pour vous aider à les trouver. Personnellement, j&#8217;utilise Firebug, ca me suffit. (oui ok, je n&#8217;utilise pas que Opera, c&#8217;est vrai)</p>
<h2>Yslow : Do not scale images in HTML<br />
Pagespeed : Specify image dimensions<br />
Pagespeed : Optimize images<br />
Pagespeed : served scaled images</h2>
<p style="text-align: justify;">Alors, là on est sur de la logique pure et dure&#8230;</p>
<p style="text-align: justify">Si je prend une image en 800&#215;600, que je la pose sur le serveur et que je l&#8217;affice dans du 400&#215;300, j&#8217;ai transféré une image 2 fois trop grosse pour rien (en fait 4 fois trop grosse, faite la multiplication). Donc je dois servir des images de la taille de ce qui va être affiché.</p>
<p style="text-align: justify;">Je dois aussi spécifier les dimensions directement si possible (ca accélère le rendu des navigateurs) et bien sur, ne pas les redimensionner par du HTML, ce qui va à l&#8217;encontre de la précédente optimisation et aussi du fait qu&#8217;on a directement des images de la bonne taille.</p>
<p style="text-align: justify;">Pour ce qui est d&#8217;optimiser les images sans pertes de qualité, le plugin fournit tout seul les versions optimisées&#8230; C&#8217;est pas le bonheur ca ?</p>
<p style="text-align: justify;">Du bon sens on vous dit !</p>
<h2>Yslow : Put CSS at the top<br />
Pagespeed : Optimize the order of styles and scripts<br />
Pagespeed : Put CSS in the document head</h2>
<p style="text-align: justify">Le principe de fond c&#8217;est de charger les données dans l&#8217;ordre le plus efficient. Il faut que le début de la page puisse se charger le plus vite possible pour &#8220;visuellement occuper le terrain&#8221;. Si les images arrivent en dernier mais que tous les scripts sont chargés, le site est techniquement quasi fonctionnel mais inregardable.</p>
<p style="text-align: justify">Dans la première demi seconde, on doit donc passer les CSS pour &#8220;préparer le terrain&#8221;, formater la page et commencer à afficher du texte et des images puis faire passer les images nécessaires puis enfin le Javascript.</p>
<p>Une fois la page chargée, c&#8217;est rare qu&#8217;un utilisateur clic instantanément, il prend le temps de la lire un minimum avant de cliquer, le Javascript peut donc arriver un peu en retard, de même s&#8217;il se charge d&#8217;une animation, on peut patienter 1 seconde de plus, c&#8217;est moins génant qu&#8217;une page blanche.</p>
<p style="text-align: justify">Bon ca tient de la bonne parole inapplicable parfois. Par exemple Wordpress continue de charger les JS en début de page en version avant 3.0 (je n&#8217;ai pas vérifié sur la 3.0). Sous Magento, selon votre site, vous aurez peut être besoin de certains JS rapidement. Bref, ca se fait bien en général mais le cas particulier est légion.</p>
<h2>Yslow : Reduce cookie size<br />
Pagespeed : Minimize request size</h2>
<p style="text-align: justify;">Là encore, on essaye de réduire la données &#8220;inutilement&#8221; transférée.<br />
L&#8217;idée c&#8217;est d&#8217;arrêter de transférer des cookies pour des ressources qui en ont aucun besoin, comme les images.</p>
<p style="text-align: justify;">Chaque cookie par le navigateur transféré va consommer un peu de bande passante et de temps, pour rien et des millions de fois sur un an. Je n&#8217;ai pas compté combien cela peut faire en arbre sur un an mais le bilan carbon des cookies inutiles est lamentable. D&#8217;une manière générale, réduire la taille des requêtes, des cookies et leur nombre au minimum.</p>
<p style="text-align: justify;">Alors Google et Yslow sont relativement d&#8217;accord, il faut servir les fichiers statiques depuis un domaines qui ne pose pas de cookies dans la transaction.</p>
<h2>Yslow : Make fewer HTTP requests</h2>
<p>Un croustillant celui-là. Ca à l&#8217;air anodin mais on pourrait faire un post rien que sur lui&#8230;</p>
<p style="text-align: justify;">J&#8217;aurais bien fait mon lache et laissé ca de coté si ce n&#8217;était pas justifié mais là&#8230; On va devoir le traiter, c&#8217;est pas un détail.</p>
<p style="text-align: justify;"><em>Welcome to the CSS Sprites world !</em></p>
<p style="text-align: justify;">Un sprite c&#8217;est quoi ? C&#8217;est globalement innofensif, c&#8217;est une image avec plein de morceau dans laquelle on découpe le bout dont on a besoin à un moment donné pour l&#8217;afficher. Oui, jusque là, ca à l&#8217;air innoffensif, attendez la suite.</p>
<p>Voici le CSS sprite du site NBS System, sur lequel Aymeric de l&#8217;agence Dnd (notre web agency) à sué sang et eau :</p>
<p style="text-align: center"><a rel="attachment wp-att-1553" href="http://www.wikigento.com/optimisation-systeme-reseau/optimisation-de-sites-magento/attachment/sprite1/"><img class="size-medium wp-image-1553 aligncenter" title="CSS sprite" src="http://www.wikigento.com/wp-content/uploads/2010/07/sprite1-500x340.png" alt="CSS sprite" width="500" height="340" /></a></p>
<p style="text-align: justify;">Si on résume la chose, c&#8217;est une image qui se comporte comme une carte. Quand on a besoin d&#8217;un bout de celle-ci, onva taper aux coordonnées X/Y qui vont bien et on on obtient ce que l&#8217;on a demandé. L&#8217;intérêt c&#8217;est qu&#8217;au lieu d&#8217;aller chercher 50 icones, on prend directement une grosse image, on fait donc 49 transferts http de moins avec toute l&#8217;économie d&#8217;overhead que ca représente.</p>
<p style="text-align: justify;"><span style="text-decoration: underline;">Du coup dans son CSS on change son image par : </span></p>
<p style="text-align: justify;">.blog .widget .header{height:42px;background:url(images/sprite.png) no-repeat 3px -258px;}</p>
<p style="text-align: justify;">Ca n&#8217;occupe aussi qu&#8217;une socket du navigateur au lieu de 50, ce qui part groupe de 10 impose 5 volées de récupération des données. (voir le paragraphe précédent et le leverage browser cache).</p>
<p style="text-align: justify;">Donc tout cela est merveilleux sauf que notre site, il vient rarement avec des sprites tout fait. Le graphiste lui, il fait des icones, il les fournit à l&#8217;intégration qui fait un CSS et du HTML et du coté sprites, il considère plus que c&#8217;est des boissons gazeuses.</p>
<p style="text-align: justify;">Alors comment on génère ses sprites ? Deux cas pour démarrer. Soit vous êtes fort chanceux et vous avez évitez la problématique des dégradés et des ombres et ca va considérablement faciliter votre travail. Soit vous avez un beau site mais vous allez y passer du temps à vos sprites&#8230;</p>
<p style="text-align: justify;">On peut le faire à la main, avec amour, mais ca prend un peu de temps&#8230; Quoiqu&#8217;il arrive, il faut passer par le stade préprod / prod, comme pour les compilations de JS /CSS sinon c&#8217;est pas facile à maintenir.</p>
<p style="text-align: justify;">Bonne nouvelles : Il existe des générateurs.<br />
Mauvaise nouvelle : Ca marche pas toujours et pas dans tous les cas.</p>
<p><span style="text-decoration: underline;">Trois bonnes pistes sérieuses :</span></p>
<ul>
<li style="text-align: justify;"><a title="Sprite me" href="http://spriteme.org/">Sprite me : Le plus atypique et très bien pensé.</a> Il marche en bookmarklet, l&#8217;avantage c&#8217;est qu&#8217;il génère les différences à faire dans son CSS en live, c&#8217;est bien fait, assez efficace.</li>
<li style="text-align: justify;"><a href="http://csssprites.com/">un autre générateur en ligne</a>, très simple mais moins complet aussi je trouve</li>
<li style="text-align: justify;"><a title="Spritegen" href="http://spritegen.website-performance.org/">un des plus complets</a> : spritegen</li>
</ul>
<p style="text-align: justify;">Il existe aussi un truc super bien je pense qu&#8217;à utilisé Aymeric pour mon site mais ce petit cachotier n&#8217;a pas voulu me dire son nom&#8230; Peut être une trouvaille ou un développement maison, je vais le cuisiner, n&#8217;hésitez pas à envoyer pleinnnnnnn de mails à l&#8217;agence DnD jusqu&#8217;à ce qu&#8217;ils lachent l&#8217;info !</p>
<p style="text-align: justify;">En complément : <a title="CSS Sprites" href="http://www.alistapart.com/articles/sprites">un article assez complet</a> traduit en Français <a href="http://www.pompage.net/pompe/sprites/">ici</a>. Sous Wordpress il y avait Csprite qui était pas mal mais qui n&#8217;est plus maintenu&#8230; <a href="http://css-tricks.com/css-sprites/">Un autre article pas mal du tout ici</a>.</p>
<p style="text-align: justify;"><a href="http://www.interactivellama.com/blog/archives/photoshop-script-combine-two-images-css-hover-css-sprite/">Un moyen de générer vos CSS sprites avec Photoshop aussi ici.</a></p>
<p style="text-align: justify;">A l&#8217;époque où je faisais une fixation sur les CSS sprites, j&#8217;avais trouvé un binaire opensource assez formidable qui permettait de commenter un CSS normal et de le compiler après coup en un CSS utilisant un Sprite, tout en générant le sprite au passage. Top. Mais j&#8217;ai perdu la bookmark pour le moment alors dès que je l&#8217;ai retrouvé, je corrige ce post, si vous voyez de quoi je parles, postez moi un petit commentaire.</p>
<h1>Les derniers points</h1>
<h2>Yslow : Reduce the number of DOM elements</h2>
<p>Les objets DOM (Document Object Model) nécessitent d&#8217;être tous chargés et parsés avant que les interprêtations Javascript (notamment) ne démarrent. Donc plus d&#8217;objets, plus de taille et donc de transfert, plus de mémoire utilisée, plus de temps de traitement, plus de délai avant que toute la page ne soit prête.</p>
<p>Réduite la taille du DOM est donc important dans une certaine mesure.</p>
<p>C&#8217;est d&#8217;autant plus vrai que les surfers ont de plus en plus de pages ouvertes en tabs, si tout le monde force en Javascript et pose des DOM énorment, les browsers se tapent des indigestions et &#8230; ca rame. C&#8217;est une question d&#8217;hygiène globale du browser quelque part <img src='http://www.wikigento.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>Yslow : Make favicon small &amp; cacheable</h2>
<p style="text-align: justify">Parfois, je n&#8217;aimerai pas être une mouche chez Yahoo. Celui qui a sortie celle-ci est légèrement <em>&#8220;tatillon&#8221;</em> quand même, voir dypterophile sodomite à tendance compulsive.</p>
<p>Bon la Favicon, en faire une petite, c&#8217;est pas trop dur. Optimisée non plus. Par contre, la rendre cachable, ca a été un poil énervant car Apache n&#8217;aimait pas le mime/type ico ou gif/jpg donc ca ne parait jamais dans le module mod_expire&#8230;</p>
<p>Très pénible jusqu&#8217;à ce que je trouve le type mime des favicons :</p>
<pre>ExpiresByType <strong>image/vnd.microsoft.icon</strong> "access plus 6 months"</pre>
<p>Et voila, c&#8217;est caché, d&#8217;un coup l&#8217;Internet va plus vite&#8230; ou pas.</p>
<h2>Yslow :  Avoid AlphaImageLoader filter</h2>
<p style="text-align: justify">Oui alors si certains sont encore assez téméraires pour tenter d&#8217;afficher des images transparentes, style png, dans un IE datant d&#8217;avant la version 7, je penses qu&#8217;il a d&#8217;autres priorité en terme d&#8217;optimisation que ce que je racontes là.  Les soins psychiatriques et une URL de download d&#8217;Opera, Firefox ou Chrome.</p>
<p>En gros si vous jouer avec de la gif / png transparente, IE ne gère pas ca très bien, au mieux ca le ralentit, parfois ca le fait planter, on a même vu des failles de sécurité grave sur ce sujet&#8230;</p>
<p>Donc forcément, il faut éviter de proposer une bouteille de vodka à un alchoolique, là c&#8217;est pareil, pas de png transparente pour IE.</p>
<h2>Pagespeed : Minify HTML</h2>
<p style="text-align: justify">Alors là, forcément, on s&#8217;affronte à un problème. Soit on a un framework (magento, drupal, wordpress etc&#8230;) qui fait ca tout seul, bref du php qui génère du HTML, soit on a fait le sien. La deuxième catégorie devient rare et dans la première, sans toucher au core, on a peut de moyen d&#8217;action en général.</p>
<p style="text-align: justify">La plupart des outils proposent un système de templates qu&#8217;on peut optimiser mais c&#8217;est parfois coton. A voir mais sur le site de NBS par exemple, pour 7,9 Ko à réduire, il me met un malus de 27% sur ce point et me dégrade la note à C&#8230; Abusif je trouve mais bon, soit.</p>
<h2>Pagespeed : Specify a cache validator</h2>
<p>L&#8217;idée c&#8217;est de donnée la méthode par laquelle on vérifie que la ressource est fraiche ou non. Sous Apache, ca se fait par l&#8217;intermédiaire du paramètre :</p>
<pre>FileETag MTime Size</pre>
<p>Là on précise à Apache qu&#8217;on décide que la ressource à changé si soit la date de modification à changée, soit la taille.</p>
<h2>Pagespeed : Specify a Vary:Accept-Encoding header</h2>
<p>Allez, devinez, c&#8217;est encore pour IE&#8230; Comme quoi on peut faire un produit ultra pourrit et l&#8217;imposer sur le marché. Ca on peut pas enlever ca à Microsoft. Je n&#8217;ai rien contre eux sur le fond mais sur le navigateur, ils ont vraiment pourrit le web.</p>
<p>Notre ami IE donc, ne support pas les Vary headers. Du coup, si il trouve dans le header d&#8217;une ressource autre chose que User-agent et Accept-encoding, il ne la cache pas&#8230; Dans le principe, totalement se passer du Vary header est le mieux.</p>
<h2>Pagespeed : Specify a character set early</h2>
<p style="text-align: justify">Dès qu&#8217;on précise le character set, le navigateur peut démarrer certaines interprêtation, dont Javascript. Avant il ne sait pas comment interpréter les données, il est donc conseillé de le faire vite. En fait rien ne s&#8217;oppose à le faire le plus tôt possible et tous les framework standard le font en général.</p>
<h2>Yslow : Make JavaScript and CSS external</h2>
<p style="text-align: justify;">Avoir des fichiers séparés pour les CSS et les JS permet de les stocker en cache et de ne pas les transférer dans le HTML à chaque échange ou chaque page. Donc il vaut mieux ne pas mettre son JS et son CSS directement dans le code HTML et faire un include de fichiers externes, c&#8217;est beaucoup plus propre et simple.</p>
<h2>Yslow : Make AJAX cacheable</h2>
<p>En fait sur ce point, ce qu&#8217;il faut comprendre derrière le laconique &#8220;Make Ajax Cacheable&#8221; c&#8217;est &#8220;Make Ajax requests results cacheable&#8221;.</p>
<p style="text-align: justify;">Faire un requête ajax en background pour fluidifier le trafic c&#8217;est top mais ne pas stocker la ressource récupérer en cache c&#8217;est gacher ce premier transfert, reconsommer de la bande passante, participer activement à la déforestation des ours en pologne, bref, c&#8217;est le mal.</p>
<h2>Yslow : Use GET for AJAX requests</h2>
<p style="text-align: justify;">oUn Get est plus valable qu&#8217;un POST car avec un GET on transfert le headers et les données en même temps, ca évite un transfert inutile. Cependant, si vous avez des requêtes un peu longues, IE n&#8217;accepte pas les requêtes de plus de 2Ko. Qui a dit &#8220;encore IE&#8221; ? Pas de dénigrement, on est là pour progresser, tous ensemble, même les browsers qui partent avec de sérieux handicapes de conception.</p>
<p style="text-align: justify;">Les vrais pervers tenteront donc de transférer en GET, des images PNG transparentes de plus de 2 Ko, en laissant le vary-header avec un IE. Là normalement, on a tout bon pour avoir un beau blue screen <img src='http://www.wikigento.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>Yslow : Reduce DNS lookups<br />
Pagespeed : Minimize DNS lookups</h2>
<p style="text-align: justify">Une résolution DNS prends entre 10 et 100 ms en gros. Pendant ce temps, le browser doit attendre que la résolution se fasse. Si on peut lui éviter d&#8217;avoir à résoudre beaucoup de noms et/ou hostnames différents, c&#8217;est plutot positif. Cela va aussi à l&#8217;encontre des multiplication hostname sur un domaine différents pour paralléliser les download quelque part.</p>
<p>Une fois résolu, la réponse reste en général dans un cache local, on peut donc décemment imaginer que multiplier les hostnames (par exemple 4 statics) est correctement rentable et n&#8217;impose pas trop de lookups.</p>
<h2>Pagespeed : Remove query strings from static   resources</h2>
<p>Typiquement ca :</p>
<p>http://www.nbs-system.com/wp-includes/js/jquery/jquery.js?ver=1.3.2</p>
<p>La paramètre <strong>&#8220;?ver=1.3.2&#8243;</strong> empèche certains proxys (dont Squid notamment) de cacher la ressource.</p>
<h2>Pagespeed : Serve resources from a consistent URL</h2>
<p style="text-align: justify">Pour les ressources partagées sur de multiples pages ou sites, il vaut mieux que la référence se fasse par rapport à une unique URL.<br />
Cela permet notamment de ne pas renvoyer de fichier depuis plusieurs endroits différents, provocant des ns lookups d&#8217;ailleurs. L&#8217;exemple donné par Google c&#8217;est que si monsite.exemple.com et tonsite.exemple.com utilise le même JS, autant qu&#8217;il soit servit directement depuis un seul des deux sites, comme ca il sera déjà en cache dans le browser quand on ira de l&#8217;un à l&#8217;autre.</p>
<h1>Autres optimisations</h1>
<p style="text-align: justify;">D&#8217;une manière général, il y a beaucoup d&#8217;autres optimisations, plus systèmes celles-ci, j&#8217;en parlerai prochainement, peut être directement sur <a title="Blog NBS System" href="http://www.nbs-system.com/blog">le blog de NBS System</a>. Les reverses proxy, les compilations de noyaux, les optimisations de .htaccess etc&#8230;</p>
<p style="text-align: justify;">Mais bon, on a déjà de quoi s&#8217;amuser un peu là non ? <img src='http://www.wikigento.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: justify;">Je paye ma tournée au premier qui nous sort son site en A/A, ensuite celui qui nous passe un site Magento en A/A et pareil pour celui qui fait 100%/100% (sans tricher). Ca fera trois tournées mais elles seront largement méritées, chacunes d&#8217;elles !</p>
<p style="text-align: justify;">
<p style="text-align: justify;">PS : La <a href="http://code.google.com/speed/page-speed/docs/rules_intro.html">doc de Google</a> sur ces sujets est excellente, n&#8217;hésitez pas à la consulter.</p>
<p style="text-align: justify;">
Vous pouvez également lire l&#8217;article d&#8217;Arnaud ici : <span style="font-size:11.0pt;font-family:"><a href="http://bit.ly/ban1Pm">http://bit.ly/ban1Pm</a></span></p>



Partager cet article :


	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.wikigento.com%2Foptimisation-systeme-reseau%2Foptimisation-de-sites-magento%2F&amp;title=Optimisation%20de%20sites%20Magento%20%28et%20autres%29%20%21&amp;bodytext=Introduction%0D%0ABeaucoup%20de%20principes%20sont%20g%C3%A9n%C3%A9raux%20%C3%A0%20tous%20les%20frameworks%2C%20qu%27ils%20s%27agissent%20d%27un%20site%20Magento%2C%20Prestashop%2C%20Wordpress%2C%20Drupal%2C%20etc...%20Certains%20Framework%20ou%20plugins%20de%20ces%20solutions%20vous%20aident%20nativement%20%C3%A0%20le%20faire%2C%20d%27autre%20n%27ont%20pa" title="Digg"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fwww.wikigento.com%2Foptimisation-systeme-reseau%2Foptimisation-de-sites-magento%2F&amp;title=Optimisation%20de%20sites%20Magento%20%28et%20autres%29%20%21&amp;notes=Introduction%0D%0ABeaucoup%20de%20principes%20sont%20g%C3%A9n%C3%A9raux%20%C3%A0%20tous%20les%20frameworks%2C%20qu%27ils%20s%27agissent%20d%27un%20site%20Magento%2C%20Prestashop%2C%20Wordpress%2C%20Drupal%2C%20etc...%20Certains%20Framework%20ou%20plugins%20de%20ces%20solutions%20vous%20aident%20nativement%20%C3%A0%20le%20faire%2C%20d%27autre%20n%27ont%20pa" title="del.icio.us"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.wikigento.com%2Foptimisation-systeme-reseau%2Foptimisation-de-sites-magento%2F&amp;t=Optimisation%20de%20sites%20Magento%20%28et%20autres%29%20%21" title="Facebook"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.wikigento.com%2Foptimisation-systeme-reseau%2Foptimisation-de-sites-magento%2F&amp;title=Optimisation%20de%20sites%20Magento%20%28et%20autres%29%20%21&amp;annotation=Introduction%0D%0ABeaucoup%20de%20principes%20sont%20g%C3%A9n%C3%A9raux%20%C3%A0%20tous%20les%20frameworks%2C%20qu%27ils%20s%27agissent%20d%27un%20site%20Magento%2C%20Prestashop%2C%20Wordpress%2C%20Drupal%2C%20etc...%20Certains%20Framework%20ou%20plugins%20de%20ces%20solutions%20vous%20aident%20nativement%20%C3%A0%20le%20faire%2C%20d%27autre%20n%27ont%20pa" title="Google Bookmarks"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://slashdot.org/bookmark.pl?title=Optimisation%20de%20sites%20Magento%20%28et%20autres%29%20%21&amp;url=http%3A%2F%2Fwww.wikigento.com%2Foptimisation-systeme-reseau%2Foptimisation-de-sites-magento%2F" title="Slashdot"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikio.fr/vote?url=http%3A%2F%2Fwww.wikigento.com%2Foptimisation-systeme-reseau%2Foptimisation-de-sites-magento%2F" title="Wikio FR"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/wikio.png" title="Wikio FR" alt="Wikio FR" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="mailto:?subject=Optimisation%20de%20sites%20Magento%20%28et%20autres%29%20%21&amp;body=http%3A%2F%2Fwww.wikigento.com%2Foptimisation-systeme-reseau%2Foptimisation-de-sites-magento%2F" title="email"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.wikigento.com%2Foptimisation-systeme-reseau%2Foptimisation-de-sites-magento%2F&amp;title=Optimisation%20de%20sites%20Magento%20%28et%20autres%29%20%21&amp;source=Communaut%C3%A9+Magento+francophone+Optimisation+de+sites+E-commerce&amp;summary=Introduction%0D%0ABeaucoup%20de%20principes%20sont%20g%C3%A9n%C3%A9raux%20%C3%A0%20tous%20les%20frameworks%2C%20qu%27ils%20s%27agissent%20d%27un%20site%20Magento%2C%20Prestashop%2C%20Wordpress%2C%20Drupal%2C%20etc...%20Certains%20Framework%20ou%20plugins%20de%20ces%20solutions%20vous%20aident%20nativement%20%C3%A0%20le%20faire%2C%20d%27autre%20n%27ont%20pa" title="LinkedIn"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fwww.wikigento.com%2Foptimisation-systeme-reseau%2Foptimisation-de-sites-magento%2F&amp;title=Optimisation%20de%20sites%20Magento%20%28et%20autres%29%20%21" title="Live"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fwww.wikigento.com%2Foptimisation-systeme-reseau%2Foptimisation-de-sites-magento%2F&amp;t=Optimisation%20de%20sites%20Magento%20%28et%20autres%29%20%21" title="MySpace"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.wikigento.com%2Foptimisation-systeme-reseau%2Foptimisation-de-sites-magento%2F" title="Technorati"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://blogmarks.net/my/new.php?mini=1&amp;simple=1&amp;url=http%3A%2F%2Fwww.wikigento.com%2Foptimisation-systeme-reseau%2Foptimisation-de-sites-magento%2F&amp;title=Optimisation%20de%20sites%20Magento%20%28et%20autres%29%20%21" title="blogmarks"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/blogmarks.png" title="blogmarks" alt="blogmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fwww.wikigento.com%2Foptimisation-systeme-reseau%2Foptimisation-de-sites-magento%2F&amp;partner=sociable" title="Print"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikigento.com/feed/" title="RSS"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://twitter.com/home?status=Optimisation%20de%20sites%20Magento%20%28et%20autres%29%20%21%20-%20http%3A%2F%2Fwww.wikigento.com%2Foptimisation-systeme-reseau%2Foptimisation-de-sites-magento%2F" title="Twitter"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.viadeo.com/shareit/share/?url=http%3A%2F%2Fwww.wikigento.com%2Foptimisation-systeme-reseau%2Foptimisation-de-sites-magento%2F&title=Optimisation%20de%20sites%20Magento%20%28et%20autres%29%20%21&urllanguage=fr" title="viadeo FR"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/viadeo.png" title="viadeo FR" alt="viadeo FR" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikio.com/vote?url=http%3A%2F%2Fwww.wikigento.com%2Foptimisation-systeme-reseau%2Foptimisation-de-sites-magento%2F" title="Wikio"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/wikio.png" title="Wikio" alt="Wikio" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.wikigento.com/optimisation-systeme-reseau/optimisation-de-sites-magento/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Manuel de survie Unix &amp; Linux 2° partie !</title>
		<link>http://www.wikigento.com/general/manuel-de-survie-unix-linux-2%c2%b0-partie/</link>
		<comments>http://www.wikigento.com/general/manuel-de-survie-unix-linux-2%c2%b0-partie/#comments</comments>
		<pubDate>Thu, 01 Jul 2010 21:33:25 +0000</pubDate>
		<dc:creator>Philippe Humeau</dc:creator>
				<category><![CDATA[admin système & réseau]]></category>
		<category><![CDATA[général]]></category>
		<category><![CDATA[Administration Linux]]></category>
		<category><![CDATA[administration système]]></category>

		<guid isPermaLink="false">http://www.wikigento.com/?p=926</guid>
		<description><![CDATA[Introduction
Q : Pourquoi maitriser le shell ?
R : Parce que ca fait gagner un temps fou, que c&#8217;est propre, pêrmbeau, systématique, rapide et quasi illimité en terme de possibilités.
Merci à Adrien Urban de NBS System pour la création de ce support. Il vous sera peut être utile pour dédoubloner un fichier de clients ou de [...]]]></description>
			<content:encoded><![CDATA[<h1>Introduction</h1>
<p style="text-align: justify;">Q : Pourquoi maitriser le shell ?</p>
<p style="text-align: justify;">R : Parce que ca fait gagner un temps fou, que c&#8217;est propre, pêrmbeau, systématique, rapide et quasi illimité en terme de possibilités.</p>
<p style="text-align: justify;">Merci à Adrien Urban de NBS System pour la création de ce support. Il vous sera peut être utile pour dédoubloner un fichier de clients ou de commandes, peut être pour faire certains tris dans vos bases ou fichiers. Les hébergeurs comme NBS System ou d&#8217;autres fournissent des accès shell limités, mais qui permettent d&#8217;utiliser ces outils (ou une partie d&#8217;entre eux).</p>
<p style="text-align: justify;">Ces outils seront d&#8217;ailleurs principalement utiles aux développeurs.</p>
<h2>UNIX &amp; son copain Posix, leurs vies, leurs œuvres</h2>
<p style="text-align: justify;">Voici un cour de shell bash/unix pour les gens qui ne sont pas à l&#8217;aise avec, essentiellement les développeurs. Ca fait gagner un temps fou.</p>
<p style="text-align: justify;">C&#8217;est volontairement simplifié, le but c&#8217;est pas de faire des DEV des SR, c&#8217;est juste un manuel de survie, donc les SRS qui balanceront des &#8220;ouais mais en fait c&#8217;est pas tout à fait ca&#8221; :</p>
<p style="text-align: justify;">cat /dev/urandom &gt; /dev/tty_du_srs_en_question 2&gt;&amp;1 &amp;</p>
<p style="text-align: justify;">Il est important de noter que la première partie part du principe de base que les noms/mots/autres sont sans espace ou autres caractères spéciaux. Cet aspect est présente après le reste.</p>
<h1>Les concepts de base</h1>
<h3 style="text-align: justify;">Les flux particuliers :</h3>
<p style="text-align: justify;">stdin (entrée standard) : ce n&#8217;est pas une commande, c&#8217;est un FD, file desciptor, spécial qui est le flux d&#8217;entrée. C&#8217;est le fd 0.<br />
stdout (sortie standard) : celle que l&#8217;on utilise 90% du temps, FD, en résumé ce qui s&#8217;affiche en retour d&#8217;une commande. c&#8217;est le fd 1.<br />
stderr : sortie d&#8217;erreur c&#8217;est le fd 2.</p>
<p style="text-align: justify;">on en reparle après.</p>
<h3 style="text-align: justify;">Les redirections :</h3>
<p style="text-align: justify;">| : celui qu&#8217;on appel &#8220;pipe&#8221; le plus régulièrement, permet de joindre la sortie standard d&#8217;une command à l&#8217;entrée standard d&#8217;une autre.<br />
&lt; : prend son entrée standard à partir fichier<br />
&gt; : redirige la sortie standard vers autre chose, un fichier par exemple ou /dev/null (dans l&#8217;espace)<br />
(on peut préciser par exemple 2&gt;&amp;1 qui redirige la sortie d&#8217;erreur (2) vers la sortie standard (1))<br />
&gt;&gt; : redirige en mode append, on ajoute les données à la fin du fichiers existant.</p>
<h3 style="text-align: justify;">Cas concrets :</h3>
<p style="text-align: justify;">ls &gt; toto.txt : redirige le contenu de la sortie de ls (les fichiers listés) dans le fichiers toto.txt<br />
ls &gt;&gt; toto.txt : idem sauf que ca ajoute à la fin du fichier. WARNING la première (ls&gt;toto.txt) détruit toto.txt si il existe déjà.<br />
ls &gt; /dev/null : renvoi la liste des fichiers dans l&#8217;espace (/dev/null = grosse poubelle géante de taille infinie)<br />
ls | more : liste les fichiers et envoi le résultat à la commande more qui affichera page par page.<br />
less &lt; toto.txt : éjectera toto.txt dans l&#8217;entrée standard de less qui sortira un résultat page par page. (ceci dit ca revient au meme que faire directement less toto.txt mais j&#8217;avais pas d&#8217;exemple en tete)</p>
<h3 style="text-align: justify;">Wilcards :</h3>
<p style="text-align: justify;">Comme sous Windows, on peut utiliser des jokers ou wildcards :</p>
<p style="text-align: justify;">ls * affiche tous les fichiers (ceci dit c&#8217;est le comportement par défaut)<br />
ls t?t?.txt : listera titi.txt toto.txt et tutu.txt enfin remplacera ? à la position voulu par n&#8217;importe quel lettre.<br />
ls t*.txt : affichera tous les fichiers commencant par t et finissant par .txt<br />
ls tata[1-3].txt affichera tous les fichiers commencant par tata suivi du chiffre 1, 2 ou 3 puis finissant par .txt<br />
ls t[a-i]* affichera tous les fichiers commencant par t, suivi d&#8217;une lettre entre a et i<br />
bien sur on combien à l&#8217;infini : ls t[1-3]abc?zz.t?t est donc une commande recevable</p>
<p style="text-align: justify;">WARNING : Unix est TOUJOURS &#8220;case sensitive&#8221;. a n&#8217;est pas égal à A.<br />
WARNING : Contrairement a Windows, le remplacement des wildcards est traité directement par le shell, indépendamment du programme appelé. Le programme reçoit donc directement la liste des fichiers qui correspondent, même s&#8217;il s&#8217;attendait a recevoir une expression qui contenait ces caractères la.</p>
<p style="text-align: justify;">ls T* et ls t* retourneront donc des résultats différents ! C&#8217;est une règle valable pour TOUTES les commandes.<br />
INFO : TAB complète dans le shell quand c&#8217;est possible, sinon propose des possibilités.</p>
<h2 style="text-align: justify;">Les amis (commandes) :</h2>
<h3 style="text-align: justify;">ls : liste les fichiers et répertoire</h3>
<p style="text-align: justify;">ls liste les fichiers du répertoire courant<br />
ls -l la même chose en mode colonne.<br />
ls -l &#8211;color colore les fichiers en fonction de leurs droits et types<br />
-r : récursif</p>
<h3 style="text-align: justify;">cat : équivalent de type sous windows</h3>
<p style="text-align: justify;">cat toto.txt, affiche le contenu de toto.txt<br />
cat toto.txt titi.txt &gt; tutu.txt, concatene toto et titi dans le fichier tutu.txt<br />
cat toto.txt titi.txt &gt;&gt; tutu.txt, concatene toto et titi à la fin du fichier tutu.txt<br />
cat * : affiche le contenu de tous les fichiers du répertoire courant. donc cat * &gt; tutu.txt, copie tout dans tutu.txt</p>
<p style="text-align: justify;">On peut aussi s&#8217;en service pour écrire dans un fichier :</p>
<p style="text-align: justify;">cat &gt; test.txt, redirigera donc l&#8217;entrée standard vers test.txt, on tape ce qu&#8217;on veut au clavier puis à la fin on tape CTRL+d ce qui interrompt la saisie et stock le contenu dans le fichier. Très pratique pour creer un fichier rapidement. Si on veut écrire à la fin d&#8217;un fichier existant : cat &gt;&gt; test.txt</p>
<h3 style="text-align: justify;">cut : coupe ce que l&#8217;on récupère en fonction d&#8217;un délimiteur précis</h3>
<p style="text-align: justify;"><span style="text-decoration: underline;">imaginons que le fichier toto.txt contienne :</span><br />
abc.def.ghi test 123<br />
zzz.aaa:bbb_456</p>
<p style="text-align: justify;">pour afficher uniquement un des blocs séparé par un des séparateurs (en l&#8217;occurence . ou &#8221; &#8221; ou _) : cat toto.txt | cut -f 1 -d &#8220;.&#8221;</p>
<p><span style="text-decoration: underline;">donnera en sortie :</span><br />
abc<br />
zzz<br />
-f c&#8217;est le champs (field) et -d le séparateur.</p>
<p style="text-align: justify;"><span style="text-decoration: underline;">donc pour obtenir uniquement 456 :<br />
</span>cat toto.txt | cut -f 3 -d &#8220;_&#8221; par contre la ligne &#8220;abc.def.ghi test 123&#8243; ne contenant pas d&#8217;underscore, n&#8217;a pas de troisièmes champs&#8230; et seule une ligne vide sera affiché, mais on verra plus loin comment éviter ca.</p>
<h3 style="text-align: justify;">grep : affiche la pattern recherchée parmis des fichiers ou un flux</h3>
<p style="text-align: justify;">ls -l | grep toto.txt ne retournera que les lignes avec toto.txt parmis tout le résultat du ls.</p>
<p>cat toto.txt | grep &#8220;henri&#8221; n&#8217;affichera que les lignes du fichier toto.txt qui contiennent &#8220;henri&#8221;</p>
<p>cat toto.txt | grep &#8220;henri&#8221; | grep -v &#8220;IV&#8221; n&#8217;affichera que les lignes du fichier toto.txt qui contiennent &#8220;henri&#8221; mais pas celle contenant &#8220;IV&#8221;</p>
<p style="text-align: justify;">le -v exclue le mot qui suit.<br />
l&#8217;option -r fait un grep récursif,<br />
l&#8217;option -i ignore la case (plus de distinction majuscule/minuscules),<br />
l&#8217;option -n  affiche egalement les numeros des lignes : grep -nri henri . | grep -v &#8220;IV&#8221;</p>
<p style="text-align: justify;">sortira tous henri de tous les fichiers du répertoire courant et des sous répertoire, peut importe que ce soit henri ou HENRI ou HeNrI, sauf les ligne contenant également &#8220;IV&#8221;. Chaque ligne aura le nom du fichier, le numero de la ligne, ainsi que le contenu de la ligne en question.</p>
<p style="text-align: justify;">les options -A et -B sont pratique, c&#8217;est After et Before.</p>
<p style="text-align: justify;">donc grep -A 2 -B 3 henri toto.txt sortira toutes lignes avec henri mais aussi les 3 lignes précédentes et les 2 lignes suivantes.</p>
<h3 style="text-align: justify;">find : trouve des fichiers à partir d&#8217;un chemin précis et permet d&#8217;executer une commande dessus</h3>
<p style="text-align: justify;">find a plein plein d&#8217;options, je n&#8217;en montrerai ici que deux qui sont classiques et utiles<br />
find . -name &#8220;*.txt&#8221; -print : trouvera récursivement tous les fichiers avec l&#8217;extension .txt à partir du répertoire courant &#8220;.&#8221;<br />
find . -name &#8220;*.txt&#8221; -exec rm &#8216;{}&#8217; \;</p>
<p style="text-align: justify;">bon celle là elle est un peu funky en terme de synthaxe, mais :</p>
<p style="text-align: justify;">le {} désign la liste de ce qui a été retourné par find et le -exec y applique une commande. En l&#8217;occurence rm qui efface les fichiers.</p>
<p style="text-align: justify;">donc cette ligne de commande trouvera à partir du répertoire courant et dans tous les sous répertoire les fichiers avec extensions .txt, et les effacera.</p>
<p style="text-align: justify;">find . -exec grep -q <a href="http://www.nbs.fr/">www.nbs.fr</a> &#8216;{}&#8217; \; -print</p>
<p style="text-align: justify;">Afficher tous les fichiers contenant <a href="http://www.nbs.fr/">www.nbs.fr</a>.On pourra ensuite y appliquer un autre traitement, par exemple avec sed pour remplacer <a href="http://www.nbs.fr/">www.nbs.fr</a> automatiquement par <a href="http://www.nbs-system.com/">www.nbs-system.com</a>.</p>
<p style="text-align: justify;">Note, il existe aussi l&#8217;option -iname qui fait comme -name, mais sans tenir compte de la case des noms de fichier.</p>
<h3 style="text-align: justify;">locate : trouve des fichiers à partir d&#8217;une DB générée la nuit</h3>
<p style="text-align: justify;">le système linux, en général, fait tourner régulièrement un programme qui met à jour le contenu d&#8217;une base stockant tous les fichiers de toutes les partitions.</p>
<p style="text-align: justify;">l&#8217;avantage par rapport à find c&#8217;est qu&#8217;au lieu de chercher en live, on a un &#8220;cache&#8221; donc ca va beaucoup plus vite.</p>
<p style="text-align: justify;">locate *.txt donnera la localisation de tous les fichiers .txt partout sur le système instantannément sans faire la recherche.  Le défaut c&#8217;est que si vous avez un nouveau fichier depuis le dernier uptade de la base, il ne sera pas montré. Pour forcer l&#8217;update de la base en live : updatedb</p>
<p style="text-align: justify;">Note: afin d&#8217;eviter certain probleme de droits sur la base, il est conseille de ne pas lancer updatedb a la main directement. Le script (emplacement sous debian) /etc/cron.daily/find le lance avec les bons arguments.</p>
<h3 style="text-align: justify;">sort : permet de trier un flux</h3>
<p style="text-align: justify;">Trie les lignes&#8230;</p>
<p style="text-align: justify;">cat dictionnaire.txt | sort &gt; dictionnaire_trié.txt<br />
cela va trier par ordre alphabétique le dictionnaire &#8220;dictionnaire.txt&#8221; et écrire le résultat dans dictionnaire_trié.txt<br />
-r ca le fera à l&#8217;envers (reverse), la commande est simple mais elle a pas mal d&#8217;options différentes à apprécier <img src='http://www.wikigento.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h3 style="text-align: justify;">uniq : permet de rendre unique les données qui sorte d&#8217;un flux</h3>
<p style="text-align: justify;">Supprime des lignes identiques qui se suivent&#8230;</p>
<p style="text-align: justify;">cat fichier_plein_de_doublon.txt | sort |<br />
uniq &gt; fichier_dédoublonné_et_classé.txt</p>
<p style="text-align: justify;"><span style="text-decoration: underline;">si le fichier contient :</span><br />
titi<br />
titi<br />
toto<br />
tutu<br />
tata<br />
tutu</p>
<p><span style="text-decoration: underline;">ca donnera :</span><br />
tata<br />
titi<br />
toto<br />
tutu</p>
<h3 style="text-align: justify;">sed : permet de remplacer des strings par d&#8217;autres dans un flux ou des fichiers</h3>
<p style="text-align: justify;">sed est un couteau suisse du traitement des flux. Il est capable de faire énormément de choses. Nous allons voir une toute petite partie de sed, la partie la plus utilisée.<br />
sed permet surtout de remplacer une chaine par une autre<br />
sed s/www.nbs.fr/www.nbs-system.com/g index.html</p>
<p style="text-align: justify;">Affiche le contenu de index.html en remplacant toute les occurrence de www.nbs.fr par www.nbs-system.com</p>
<p style="text-align: justify;">La syntaxe de base est s/chaine d&#8217;origine/chaine a mettre/options ou :<br />
-        Le s au debut signifie substitution<br />
-        Le / qui separe les differentes partie peux etre en fait n&#8217;importe quel caractere. Il faut le prefixer d&#8217;un backslash (\) si on souhaite utiliser le caractere en question ailleur.<br />
-        La chaine d&#8217;origine est en fait une regex, tout comme les recherches avec grep.<br />
-        Les options peuvent contenir:</p>
<p>o       g &#8211; remplace toutes les occurrences sur une meme ligne.<br />
o       i -Cela permet de faire une recherché de chaine sans tenir compte de la case<br />
o       p &#8211; affiche la ligne s&#8217;il y a eu une substitution</p>
<p style="text-align: justify;">
<p style="text-align: justify;">On a un code dans lequel il y a des requetes SQL qui n&#8217;ont pas tenu compte de la case des noms de tables ou de champs (mysql sous windows a tendance a s&#8217;en foutre de la case) et on veux le faire passer sous unix.</p>
<p style="text-align: justify;">Dans un premier temps, on affiche uniquement les lignes qui changent (option -n pour ne pas afficher par defaut, et le p de la substitution), de facon a verifier que cela ne fait pas de betises :</p>
<p style="text-align: justify;">sed -n &#8217;s/MaJoLiE_tAbLe/majolie_table/igp&#8217; fichier.php</p>
<p style="text-align: justify;">Une fois que la substitution s&#8217;effectue correctement :</p>
<p style="text-align: justify;">mv fichier.php fichier.php.old &amp;&amp;<br />
sed &#8217;s/MaJoLiE_tAbLe/majolie_table/ig&#8217; fichier.php.old &gt; fichier.php</p>
<p>A noter que l&#8217;on a plus ni le -n, li le p, de façon a bien afficher tout le fichier d&#8217;origine.</p>
<p style="text-align: justify;">
<p style="text-align: justify;">Les regex, explications complete :</p>
<ul>
<li style="text-align: justify;"> X                 un caractere de base correspond a lui-meme</li>
<li> .                 le point correspond a n&#8217;importe quel caractere (comme ? en shell)</li>
<li> ^                 S&#8217;il est place au debut correspond au debut de ligne.</li>
<li> $                 s&#8217;il est place en fin, correspond a la fin de ligne</li>
<li> [aoeuiA-Z]   Les classes de caracteres. N&#8217;importe quel caractere qui correspond (voyelle en misucule, ou une majuscule)</li>
<li> [^0-9]         un caractere qui n&#8217;est PAS un chiffre</li>
<li> [0-9]*         * correspond a 0-n fois ce qui precede. Ici, rien ou une suite de chiffres.</li>
<li> S\?              \? Correspond a 0 ou une fois ce qui precede. Ici, rien ou un S.</li>
<li> \(abc\)        Les \(&#8230;\) permettent simplement de faire un groupe.</li>
</ul>
<p>Par exemple : \(ta\)\* correspond a rien, ou une suite de ta.<br />
-        X\|Y            correspondra X ou Y. Attention, il faut utiliser des () pour limiter l&#8217;etendu.</p>
<p style="text-align: justify;">Dans la chaine de remplacement, le caractere &amp; sera remplace par l&#8217;ensemble de la chaine d&#8217;origine (pratique pour la conserver, mais la commenter). D&#8217;autre part, \n ou n est un chiffre sera remplace par le texte correspondant au neme groupe (les parentheses).</p>
<p style="text-align: justify;">Des exemples concrets :</p>
<p style="text-align: justify;">Afficher toute les lignes commençant par une lettre minuscule<br />
grep &#8216;^[a-z]&#8216;<br />
Ajouter un premier argument a toute les appels d&#8217;une fonction : sed &#8217;s/ma fonction(/&amp;1, /g&#8217;</p>
<p style="text-align: justify;">Commenter tous les appels a la fonction prettylog (ne doit pas avoir de () dans les arguments:<br />
sed &#8217;s#prettylog([^()]*)#/* &amp; */#g&#8217;</p>
<p>remplacer les fonction log_database(, log_engine( par log(&#8221;database&#8221;,  ou log(&#8221;engine&#8221;, :<br />
sed &#8217;s/log_\(database\|engine\)(/log(&#8221;\1&#8243;, /g&#8217;</p>
<p>Bien evidement, on reste dans l&#8217;optique du : sed &#8217;s/&#8230;/&#8230;/g&#8217; fichier1 &gt; fichier2</p>
<h3 style="text-align: justify;">tail : permet de voir la fin d&#8217;un fichier</h3>
<p style="text-align: justify;">tail toto.txt, affiche (par défaut) les 10 dernières lignes du fichier toto.txt</p>
<p style="text-align: justify;">si vous avez à faire à un fichier qui change et qui grossit (genre fichier de log) et que vous voulez le suivre en continu :</p>
<p style="text-align: justify;">tail -f toto.log : la commande ne s&#8217;arretera pas et continuera à vous montrer le fichier au fur et à mesure qu&#8217;il grossit.</p>
<h3 style="text-align: justify;">head : permet de voir le début d&#8217;un fichier</h3>
<p style="text-align: justify;">comme tail mais pour montrer les lignes du début du fichier. (pas la peine d&#8217;essayer head -f)</p>
<h3 style="text-align: justify;">chmod : permet de changer les droits d&#8217;un fichier ou répertoire</h3>
<p style="text-align: justify;">les droits sont cumulables, il existe read, write, execute. On va simplifier tout ca, mais il existe trois groupes à qui appliquer ces droits : le propriétaire du fichier, le groupe du fichier (généralement le groupe auquel appartient le propriétaire du fichier (voir chown)) et le propriétaire du fichier en lui même.</p>
<p style="text-align: justify;">read vaut 4<br />
write vaut 2<br />
execute vaut 1</p>
<ul>
<li style="text-align: justify;">chmod 400 toto.txt donne les droits en lecture à root. chmod 444 toto.txt donne les droits en lecture à tout le monde.</li>
<li>chmod 555 c&#8217;est chmod 444 + chmod 111 soit les droits en lecture et en éxecution à tout le monde.</li>
<li>chmod 777 c&#8217;est lecture, écriture, exécution à tout le monde. (4+2+1 pour le propriétaire, le groupe et les autres).</li>
<li>chmod 000 enlève tous les droits à un fichier (notez que root bypass de toute façon ces droits)</li>
</ul>
<p style="text-align: justify;">Droits généralement utilisé :</p>
<p style="text-align: justify;">600 &#8211; fichier normal, en lecture/ecriture uniquement pour son proprietaire<br />
644 &#8211; pareil, et lecture pour les autres<br />
700 &#8211; executable, en lecture/ecriture/execution uniquement pour son proprietaire<br />
755 &#8211; pareil, et lecture/execution pour les autres</p>
<p style="text-align: justify;">Note : un repertoire doit etre executable pour pouvoir aller dedans</p>
<p style="text-align: justify;">Les droits peuvent egalement etre donner sous forme de modifications.</p>
<p style="text-align: justify;">u &#8211; user<br />
g &#8211; group<br />
o &#8211; other<br />
a &#8211; all</p>
<p style="text-align: justify;">r &#8211; read<br />
w &#8211; write<br />
x &#8211; execute<br />
X &#8211; execute si déjà present quelque part</p>
<p style="text-align: justify;">chmod u+rw,go-w+rX</p>
<p style="text-align: justify;">Ajoute les droits de lecture ecriture au proprietaire, enleve les droits d&#8217;ecriture au groupe et aux autres, leur donne le droit de lecture, ainsi que le droit d&#8217;execution si c&#8217;est un executable.</p>
<h3 style="text-align: justify;">chown : permet de changer le proriétaire d&#8217;un fichier ou répertoire</h3>
<p style="text-align: justify;">Pour changer le proprietaire d&#8217;un fichier, il est necessaire d&#8217;etre root.</p>
<p style="text-align: justify;">chown philippe:www-data toto.txt donne la propriété du fichier à philippe et l&#8217;affilie au groupe www-data.<br />
chown xxx:yyy fichiers : xxx = user, yyy = groupe.</p>
<p>Donc si je veux donner la propriété et les droits à philippe et à tous les membres du groupe admin :<br />
chown philippe:admin toto.txt</p>
<p style="text-align: justify;">et avec un chmod 640 toto.txt je donne tous les droits de lecture/ecriture à philippe, la lecture au groupe admin, et aucun droits aux autres.</p>
<p style="text-align: justify;">WARNING : un fichier en 777 est dangereux, tout le monde peut y écrire, a éviter en Web.<br />
le truc classique en web qui passe (presque) dans tous les cas :<br />
chown -R www-data.www-data *<br />
chmod -R go-w+rX *</p>
<p style="text-align: justify;">le -R dans ces commandes les rends récursives sur tous les fichiers et sous répertoires.</p>
<h3 style="text-align: justify;">touch</h3>
<p style="text-align: justify;">
<p style="text-align: justify;">touch crée un fichier vide s&#8217;il n&#8217;exite pas et change la date / heure à l&#8217;heure actuel si il existe.<br />
touch toto.txt crée un fichier de toto.txt de 0 octets s&#8217;il n&#8217;existe pas et lui donne date/heure<br />
au moment auquel commande est lancé s&#8217;il existe. Il existe d&#8217;autres options pour fixer une<br />
date/heure précise entre autre.</p>
<h3 style="text-align: justify;">mv / rm :</h3>
<p style="text-align: justify;">
<p style="text-align: justify;">mv : c&#8217;est move.<br />
mv toto.txt titi.txt renome toto.txt en titi.txt (attention, l&#8217;écrase s&#8217;il existe)</p>
<p>Note : mv permet egalement de renomer un repertoire, ou de deplacer plusieurs fichiers/repertoire vers un repertoire de destination.</p>
<p style="text-align: justify;">
<p style="text-align: justify;">rm toto.txt : efface le fichier toto.txt.<br />
rm -r le fait récursivement. rm -f force l&#8217;effacement sans poser de question&#8230;</p>
<p style="text-align: justify;">comme dans la plupart des commandes, on peut cumuler les switchs :</p>
<p style="text-align: justify;">rm -rf * : efface récursivement tous les fichiers et répertoires situé sous le répertoire courant sans poser de question.</p>
<p style="text-align: justify;">WARNING : guess why&#8230;</p>
<p style="text-align: justify;">
<p style="text-align: justify;">Lorsque vous utilisez mv ou rm de facon interactive, et que vous n&#8217;etes pas certain a 200% de votre ligne de commande (par exemple si c&#8217;est un via des variables, ou de l&#8217;expansion, &#8230;), utilisez l&#8217;options -i. Elle vous demandera confirmation avant d&#8217;écraser de façon irrémédiable des informations.</p>
<h3 style="text-align: justify;">less / more :</h3>
<p style="text-align: justify;">Comme le dit régulièrement notre directeur technique, less can more. Donc less peut faire tout ce que fait more et plus.</p>
<p style="text-align: justify;">Techniquement c&#8217;est bien aussi de connaitre more qui est en général plus utilisé dans les scripts ou les unix plus anciens (la ou il n&#8217;y a pas less)</p>
<p style="text-align: justify;">
<p style="text-align: justify;">less toto.txt va afficher le contenu (si il est en ascii, sinon en binaire il met un warning) du fichier toto.txt et bien sur ca se pipe :</p>
<p style="text-align: justify;">grep henri toto.txt | less</p>
<p style="text-align: justify;">pendant l&#8217;execution de more ou less vous pouvez appuyez sur / vous allez pouvoir rechercher dans le texte le mot qui vous intéresse.</p>
<h3 style="text-align: justify;">echo :</h3>
<p style="text-align: justify;">
<p style="text-align: justify;">echo affiche ce qui est en paramètre. echo est utile pour signaler quelque chose à l&#8217;utilisateur dans un script par exemple</p>
<p style="text-align: justify;">(echo &#8220;Hello World&#8221;). echo peut aussi afficher le contenu d&#8217;une variable par exemple : echo $a ou encore se substituer à un ls en faisant echo * ou même à écrire dans un fichier echo YO &gt; toto.txt.</p>
<p style="text-align: justify;">la commande accepte beaucoup de switch, voir le manuel. (man echo)</p>
<h3 style="text-align: justify;">man : les manuels des commandes</h3>
<p style="text-align: justify;">
<p style="text-align: justify;">man ls<br />
man awk (il fait mal à la tête celui la)</p>
<p style="text-align: justify;">etc&#8230;</p>
<p style="text-align: justify;">
<p style="text-align: justify;">souvent sont aussi donné des références à d&#8217;autre man en pied de page du man.</p>
<p style="text-align: justify;">par ailleurs man -k keyword recherche les pages de manuel qui parle de &#8220;keyword&#8221;.</p>
<p style="text-align: justify;">Il existe plusieurs catégorie de man (1 à <img src='http://www.wikigento.com/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> de mémoire qui sont plus ou moins spécialisés. Généralement les commandes sont en man 1 (ce qui est le mode par défaut).</p>
<p style="text-align: justify;">si vous voulez le man plus orienté programmation C d&#8217;une chose précise : man 3 sigpause man 2 c&#8217;est plus orienté sur les syscall. Bref vous c&#8217;est plutot le 1 donc man [commande].</p>
<p style="text-align: justify;">Par défaut man vous affiche son contenu avec un pager (less), pendant l&#8217;exécution de man, vous pouvez donc appuyez sur / vous allez pouvoir rechercher dans le texte le mot qui vous intéresse également.</p>
<h3 style="text-align: justify;">sudo / su : des commandes qui permettent de passer ou de lancer des commande en tant que Super Utilisateur (root quoi)</h3>
<p style="text-align: justify;">Arreter apache&#8230; : sudo apachectl stop</p>
<p style="text-align: justify;">va prendre les droits root temporairement pour stopper apache, si vous êtes habitilité par le fichier sudoers à la lancer cette commande.</p>
<p style="text-align: justify;">si c&#8217;est le cas, il vous suffit de retaper le mot de passe de votre utilisateurs sur le système pour lancer la commande.<br />
su : permet de passer root en tapant le mot de passe du compte root de la machine.<br />
sudo -s : permet de passer root, sans connaitre le mot de passe de root, si on y est autorisé par le fichier sudoers.</p>
<p style="text-align: justify;">WARNING : root à TOUS les droits sans aucune limite de portée. Si vous demander au système d&#8217;écrire de la merde dans la ram, il le fera sans broncher, tout comme si vous lui demander de s&#8217;effacer lui même.</p>
<h3 style="text-align: justify;">wc : compte les caractères, lignes ou les mots</h3>
<p style="text-align: justify;">wc -l toto.txt compte le nombre de ligne du fichier toto.txt<br />
cat toto.txt | wc -l ca revient au même.<br />
-m ou -c pour les charactères<br />
-w pour les mots</p>
<h3 style="text-align: justify;">awk : permet d&#8217;appliquer un traitement avancé de formatage à un flux ou d&#8217;un fichier</h3>
<p style="text-align: justify;">awk est un langage avec un synthaxe à part entière, pas simple de surcroit. C&#8217;est très puissant et très pénible. Personnellement je m&#8217;en sers que pour une chose, reformater une sortie standard.</p>
<p style="text-align: justify;">Pour l&#8217;exemple, un fichier contenant :</p>
<p style="text-align: justify;">tcpmux         1/tcp # TCP port service multiplexer<br />
echo           7/tcp<br />
echo           7/udp</p>
<p style="text-align: justify;">les séparateurs de colonnes sont des tabulations (il y en a 2)&#8230; La joie&#8230;</p>
<p style="text-align: justify;">Je veux afficher la colonne 1 et la colonne 3 en admettant que mes séparateurs sont des tabulations :</p>
<p style="text-align: justify;">cat toto.txt | awk -F &#8220;\t&#8221; &#8216;{ print $1 $3 }&#8217;</p>
<p style="text-align: justify;">le -F &#8220;\t&#8221; c&#8217;est pour dire que tabulation est le séparateur de champs. print $1 $3 affiche la premiere valeur et la 3°, selon ce séparateur.</p>
<p style="text-align: justify;">bon le résultat est que j&#8217;ai :<br />
tcpmux1/tcp<br />
echo7/tcp<br />
echo7/udp</p>
<p>si je veux y ajouter des espaces pour rendre ca lisible :</p>
<p style="text-align: justify;">cat toto.txt | awk -F &#8220;\t&#8221; &#8216;{ print $1 &#8220;     &#8221; $3 }&#8217;</p>
<p style="text-align: justify;">
<p style="text-align: justify;">Évidemment, ca peut se séparer selon un autre séparateur, par exemple le &#8220;/&#8221; :</p>
<p style="text-align: justify;">cat toto.txt | awk -F &#8220;/&#8221; &#8216;{ print $1 &#8220;    &#8221; $2 }&#8217;</p>
<p style="text-align: justify;">
<p style="text-align: justify;">retour de la commande :</p>
<p style="text-align: justify;">tcpmux         1    tcp    # TCP port service multiplexer<br />
echo           7    tcp<br />
echo           7    udp</p>
<p style="text-align: justify;">il a enlevé le séparateur au passage et l&#8217;a remplacé par 4 espaces.</p>
<p style="text-align: justify;">Pour le moment c&#8217;est flou mais le jour où vous en aurez besoin, awk vous sauvera la vie <img src='http://www.wikigento.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">Dans le doute, man [nom de la commande]. Tous les admins lisent les mans, meme les SR/CQ expérimentés. Ca sert à rien de connaitre par coeur tous les switchs (options) d&#8217;une commande, le man est donc une référence régulièrement utilisée par tous.</p>
<h3 style="text-align: justify;">Bash &#8211; gestion des commandes :</h3>
<p style="text-align: justify;">&amp; : laisse un processus s&#8217;executer en tache de fond, et vous permet de continuer a travailler sur le shell</p>
<p style="text-align: justify;">Genre find ca peut être long, donc mettre un find qui redirige son résultat dans un fichier et le laisser en tache de fond c&#8217;est parfois une bonne idée :</p>
<p style="text-align: justify;">find /var/www -name &#8216;*.php&#8217; &gt; ~/find.log 2&gt; ~/find.err &amp;<br />
fg / bg : met un processus en foreground (fg) ou background (bg).<br />
fg %n : n étant le numéro du job si vous avez mis plusieurs jobs en background.<br />
jobs : liste les jobs (en background ou suspendu)</p>
<p>Lorsque vous etes en train d&#8217;executer une commande, Contrôle-Z la suspend.<br />
Foreground &#8211; repasse une commande suspendu ou en background au premier plan<br />
Background &#8211; pareil que de l&#8217;avoir lancee avec &amp;, la tache continue en fond.</p>
<p style="text-align: justify;">
<p style="text-align: justify;">ps aux : liste tous les processus</p>
<p style="text-align: justify;">
<p style="text-align: justify;">Une commande a un code de sortie. Ce code est presque toujours correspondant a la facon dont le processus c&#8217;est termine. Si ca c&#8217;est bien passé c&#8217;est 0 sinon c&#8217;est autre chose.</p>
<p style="text-align: justify;">&amp;&amp; : permet de linker deux commandes, et de n&#8217;exécuter la deuxième que si la première a échouée.</p>
<p style="text-align: justify;">rm toto.txt &amp;&amp; echo &#8220;ok fichier effacé&#8221;</p>
<p style="text-align: justify;">&#8220;ok fichier effacé&#8221; s&#8217;affichera que si le fichier toto.txt a été effacé.</p>
<p style="text-align: justify;">|| : Inversement, ||  permet de n&#8217;executer la deuxieme partie que si la premiere n&#8217;a pas fonctionner.</p>
<p style="text-align: justify;">rm toto.txt || echo &#8220;Erreur lors de la supression du fichier&#8221;</p>
<p style="text-align: justify;">
<p style="text-align: justify;">; : le point virgule est un délimiteur permettant d&#8217;enchainer les commandes mais sans vérifier que le retour de la précédente s&#8217;est bien passé. ls *; echo titi &gt; toto.txt; cat toto.txt enchaine les 3 commandes.</p>
<p style="text-align: justify;">export : plusieurs fonction, mais on va surtout utiliser export pour exporter une variable. (La rendre visible pour des programmes que vous lanceriez apres)</p>
<p style="text-align: justify;">export a=&#8221;toto&#8221; (stock toto dans a, et exporte a)<br />
ou export a=&#8217;ls&#8217;   (stock le retour stdout de la commande ls dans a et exporte a)</p>
<p style="text-align: justify;">
<p style="text-align: justify;">&#8216;commande&#8217; : c&#8217;est la quote (&#8217;) inverse (alt-gr 7 sur un azerty, la touche au dessus de tab sur un qwerty). backquoté une commande ou expression force son évaluation, et utilise sa sortie standard a l&#8217;endroit de la commande.</p>
<p style="text-align: justify;">
<p style="text-align: justify;">a=ls stock ls dans a. Si on veut stocker le résultat d&#8217;une commande ls dans a :<br />
a=&#8217;ls&#8217;</p>
<p style="text-align: justify;">
<p style="text-align: justify;">Quoting</p>
<p style="text-align: justify;">\ : n&#8217;interprête pas le caractère suivant le backslash. utile pour plein de truc.</p>
<p style="text-align: justify;">exemple : &#8220;cd mon truc&#8221; ne marche pas. Il faut taper &#8220;cd mon\ truc&#8221; pour que l&#8217;espace entre mon et truc ne soit pas perçu par la commande comme étant deux paramètre distincts.</p>
<p style="text-align: justify;">Il est également possible d&#8217;utiliser, de façon complètement équivalente :</p>
<p style="text-align: justify;">cd mon\ truc<br />
cd mon&#8221; &#8220;truc<br />
cd &#8220;mon truc&#8221;<br />
cd &#8216;mon truc&#8217;<br />
cd mon&#8217; truc&#8217;&#8221;</p>
<p style="text-align: justify;">&#8220; : double quotes. Entre double quotes, il n&#8217;y a pas de separation de mot, les variables ($a), double quotes, backquotes et backslash sont interprété. A utiliser de facon generale lorsque l&#8217;on utilise des variables, et que l&#8217;on ne veux pas avoir de separation de mot, ou de risque d&#8217;expansion. Essayez les commandes suivantes :</p>
<p style="text-align: justify;">a=*<br />
echo $a<br />
echo &#8220;$a&#8221;</p>
<p style="text-align: justify;">&#8216; : simple quotes. Entre simple quotes RIEN n&#8217;est interprete. Un autre simple quote met fin a la sequence sequence. Il n&#8217;y a AUCUN moyen de backslashe un simple quote dedans. Tres pratique quand on veux une chaine avec plein de double quotes, $ et autre qui reste exactement tel quel.</p>
<p style="text-align: justify;">
<p style="text-align: justify;">for : super important. Un exemple concret vaut mieux qu&#8217;un long discour. Je veux appliquer un traitement à tous les fichiers .txt du répertoire courant pour les renommer en .old :</p>
<p style="text-align: justify;">for i in *.txt ; do mv -i &#8220;$i&#8221; &#8220;$i.old&#8221; ; done</p>
<p style="text-align: justify;">on prend une variable i pour faire une boucle sur les mots que represente * (l&#8217;ensemble des fichiers du repertoire), ensuite on applique (do) avec $i qui est en fait une des valeurs de *, et on finit par done.</p>
<p style="text-align: justify;">TRESSSS pratique&#8230;</p>
<p style="text-align: justify;">Autre cas, d&#8217;utilisation : for ((i=0 ; i &lt; 10 ; ++i)) ; { echo $i ; }</p>
<p style="text-align: justify;">Affiche les chiffres.</p>
<h2 style="text-align: justify;">Generalites</h2>
<h3 style="text-align: justify;">/etc/init.d/ :</h3>
<p style="text-align: justify;">c&#8217;est ici qu&#8217;on stock les scripts lançant ou stoppant les démons du système.</p>
<p style="text-align: justify;">Par exemple sur apache :<br />
/etc/init.d/apache start<br />
/etc/init.d/apache stop<br />
/etc/init.d/apache restart</p>
<p style="text-align: justify;">pareil pour mysql et plein d&#8217;autres démons, la plupart accept stop, start, restart.</p>
<h3 style="text-align: justify;">généralités :</h3>
<p style="text-align: justify;">&#8211;help donne de l&#8217;aide sur une commande<br />
-v : en général rend la commande &#8220;verbose&#8221; (affiche plus d&#8217;info sur son execution)<br />
-q : en général rend la commande quiet</p>
<p style="text-align: justify;">C&#8217;est quasi toujours vrai pour &#8211;help pour -v et -q c&#8217;est fréquent mais pas systématique.</p>
<h3 style="text-align: justify;">faire un script :</h3>
<p style="text-align: justify;">un script bash commence toujours par (sur sa premiere ligne) :</p>
<p style="text-align: justify;">#! /bin/bash</p>
<p style="text-align: justify;">C&#8217;est ce qui permet au système de savoir qu&#8217;il faut utiliser bash pour interpreter ce script.</p>
<p style="text-align: justify;">un script de base :</p>
<p style="text-align: justify;">cat &gt; script_de_base.sh (on met &#8220;.sh&#8221; à la fin en général pour savoir que c&#8217;est un script bash mais c&#8217;est pas obligatoire)</p>
<p style="text-align: justify;">#!/bin/bash</p>
<p style="text-align: justify;">echo $1</p>
<p style="text-align: justify;">(Contrôle-D pour finir)</p>
<p style="text-align: justify;">ensuite on le rend exécutable: chmod +x script_de_base.sh<br />
puis pour le lancer : ./script_de_base.sh toto</p>
<p style="text-align: justify;">vous noterez le &#8220;./&#8221; au début c&#8217;est pour signaler qu&#8217;on lance le fichier depuis le répertoire courant &#8220;.&#8221; puisque, par sécurité, le répertoire courant n&#8217;est pas intégré à la variable PATH.</p>
<p style="text-align: justify;">ca affichera $1 qui vaut en l&#8217;occurrence toto puisque $1 $2 $3 $4 etc&#8230; sont les paramètres dans l&#8217;ordre sur la ligne de commande, $0 étant le nom du programme en lui même, ici : ./script_de_base.sh</p>
<p style="text-align: justify;">pour se faciliter la vie on met en général le path standard des binaires utiles dans le début du script :</p>
<p style="text-align: justify;">PATH=/bin:/usr/bin:/sbin:/usr/sbin</p>
<p style="text-align: justify;">et puis un commentaire sur ce qu&#8217;il fait le machin, c&#8217;est mieux pour les copains et les lendemains de cuites.</p>
<h3 style="text-align: justify;">Quelques exemple de synthaxes un peu évoluées et utiles :</h3>
<p style="text-align: justify;">
<p style="text-align: justify;">grep die *.php | grep -v &#8220;//&#8221; | grep -v &#8220;/\*&#8221; | grep -v &#8220;\*/&#8221;</p>
<p style="text-align: justify;">ca devrait vous retourner le nom des fichier php, avec le contenu après un : qui contienne un die mais qui n&#8217;est pas commenté (sur la ligne elle-meme).</p>
<p style="text-align: justify;">si vous voulez tous les effacer :</p>
<p style="text-align: justify;">Pour ne garder que les fichiers qui correspondent</p>
<p style="text-align: justify;">grep die *.php | grep -v &#8220;//&#8221; | grep -v &#8220;/*&#8221; | grep -v &#8220;*/&#8221; |<br />
cut -f 1 -d &#8220;:&#8221;</p>
<p style="text-align: justify;">donc si on assigne le contenu de cette commande à une variable et qu&#8217;on fait une boucle dessus :</p>
<p style="text-align: justify;">a=&#8217;grep die *.php | grep die | grep -v &#8220;//&#8221; | grep -v &#8220;/*&#8221; | grep -v &#8220;*/&#8221; |<br />
cut -f 1 -d &#8220;:&#8221;&#8216;</p>
<p style="text-align: justify;">On commence par verifier qu&#8217;on a le bon resultat escompter avec un echo, histoire de ne pas effacer n&#8217;importe quoi : for i in $a; do echo $i; done</p>
<p>une fois que c&#8217;est bon : for i in $a; do rm -f $i; done</p>
<p style="text-align: justify;">sinon ca passait bien aussi avec un find <img src='http://www.wikigento.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p style="text-align: justify;">
<p style="text-align: justify;">Allez, une autre, on reformat un CSV :</p>
<p style="text-align: justify;">le contenu original du fichier ORIGINAL.CSV :</p>
<p style="text-align: justify;">toto:1:2222:toto is a star:20<br />
titi:2:2222:bruno en str:4<br />
tititt:2:2222:bruno en str:4<br />
tutu:3:1122:denis b:8<br />
tata:4:1112:thibault loves printers:12<br />
tata2:4:1112:thibault loves printers:12<br />
tata42:4:1112:thibault loves printers:12</p>
<p style="text-align: justify;">on veut le sortir avec des séparateur qui soit des ; et pas des : et seuls les champs 1 et 5 nous intéressent et seul les tata* et titi* nous sont utiles :</p>
<p style="text-align: justify;"><span style="text-decoration: underline;">Avec awk :</span><br />
cat ORIGINAL.CSV | awk -F &#8220;:&#8221; &#8216;{ print $1 &#8220;;&#8221;  $5 }&#8217; | grep t[ai]t[ai] &gt; FINAL.CSV</p>
<p style="text-align: justify;"><span style="text-decoration: underline;">Pareil, mais avec cut :</span><br />
cat ORIGINAL.CSV | cut -d: -f 1,5 &#8211;output-delimiter &#8220;;&#8221; | grep t[ai]t[ai] &gt; FINAL.CSV</p>
<p style="text-align: justify;">
<p style="text-align: justify;">Redémarrer apache et mysql en une ligne en ignorant l&#8217;affichage normal et d&#8217;erreur (pas conseillé), mais au moins en ne démarrant mysql que si apache s&#8217;est bien lancé :</p>
<p style="text-align: justify;">{ /etc/init.d/apache restart &amp;&amp; /etc/init.d/mysql restart ; } &gt; /dev/null 2&gt;&amp;1</p>
<p style="text-align: justify;">
<p style="text-align: justify;">



Partager cet article :


	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.wikigento.com%2Fgeneral%2Fmanuel-de-survie-unix-linux-2%25c2%25b0-partie%2F&amp;title=Manuel%20de%20survie%20Unix%20%26%20Linux%202%C2%B0%20partie%20%21&amp;bodytext=Introduction%0D%0AQ%20%3A%20Pourquoi%20maitriser%20le%20shell%20%3F%0D%0AR%20%3A%20Parce%20que%20ca%20fait%20gagner%20un%20temps%20fou%2C%20que%20c%27est%20propre%2C%20p%C3%AArmbeau%2C%20syst%C3%A9matique%2C%20rapide%20et%20quasi%20illimit%C3%A9%20en%20terme%20de%20possibilit%C3%A9s.%0D%0AMerci%20%C3%A0%20Adrien%20Urban%20de%20NBS%20System%20pour%20la%20cr%C3%A9ation%20de%20ce%20" title="Digg"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fwww.wikigento.com%2Fgeneral%2Fmanuel-de-survie-unix-linux-2%25c2%25b0-partie%2F&amp;title=Manuel%20de%20survie%20Unix%20%26%20Linux%202%C2%B0%20partie%20%21&amp;notes=Introduction%0D%0AQ%20%3A%20Pourquoi%20maitriser%20le%20shell%20%3F%0D%0AR%20%3A%20Parce%20que%20ca%20fait%20gagner%20un%20temps%20fou%2C%20que%20c%27est%20propre%2C%20p%C3%AArmbeau%2C%20syst%C3%A9matique%2C%20rapide%20et%20quasi%20illimit%C3%A9%20en%20terme%20de%20possibilit%C3%A9s.%0D%0AMerci%20%C3%A0%20Adrien%20Urban%20de%20NBS%20System%20pour%20la%20cr%C3%A9ation%20de%20ce%20" title="del.icio.us"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.wikigento.com%2Fgeneral%2Fmanuel-de-survie-unix-linux-2%25c2%25b0-partie%2F&amp;t=Manuel%20de%20survie%20Unix%20%26%20Linux%202%C2%B0%20partie%20%21" title="Facebook"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.wikigento.com%2Fgeneral%2Fmanuel-de-survie-unix-linux-2%25c2%25b0-partie%2F&amp;title=Manuel%20de%20survie%20Unix%20%26%20Linux%202%C2%B0%20partie%20%21&amp;annotation=Introduction%0D%0AQ%20%3A%20Pourquoi%20maitriser%20le%20shell%20%3F%0D%0AR%20%3A%20Parce%20que%20ca%20fait%20gagner%20un%20temps%20fou%2C%20que%20c%27est%20propre%2C%20p%C3%AArmbeau%2C%20syst%C3%A9matique%2C%20rapide%20et%20quasi%20illimit%C3%A9%20en%20terme%20de%20possibilit%C3%A9s.%0D%0AMerci%20%C3%A0%20Adrien%20Urban%20de%20NBS%20System%20pour%20la%20cr%C3%A9ation%20de%20ce%20" title="Google Bookmarks"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://slashdot.org/bookmark.pl?title=Manuel%20de%20survie%20Unix%20%26%20Linux%202%C2%B0%20partie%20%21&amp;url=http%3A%2F%2Fwww.wikigento.com%2Fgeneral%2Fmanuel-de-survie-unix-linux-2%25c2%25b0-partie%2F" title="Slashdot"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikio.fr/vote?url=http%3A%2F%2Fwww.wikigento.com%2Fgeneral%2Fmanuel-de-survie-unix-linux-2%25c2%25b0-partie%2F" title="Wikio FR"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/wikio.png" title="Wikio FR" alt="Wikio FR" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="mailto:?subject=Manuel%20de%20survie%20Unix%20%26%20Linux%202%C2%B0%20partie%20%21&amp;body=http%3A%2F%2Fwww.wikigento.com%2Fgeneral%2Fmanuel-de-survie-unix-linux-2%25c2%25b0-partie%2F" title="email"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.wikigento.com%2Fgeneral%2Fmanuel-de-survie-unix-linux-2%25c2%25b0-partie%2F&amp;title=Manuel%20de%20survie%20Unix%20%26%20Linux%202%C2%B0%20partie%20%21&amp;source=Communaut%C3%A9+Magento+francophone+Optimisation+de+sites+E-commerce&amp;summary=Introduction%0D%0AQ%20%3A%20Pourquoi%20maitriser%20le%20shell%20%3F%0D%0AR%20%3A%20Parce%20que%20ca%20fait%20gagner%20un%20temps%20fou%2C%20que%20c%27est%20propre%2C%20p%C3%AArmbeau%2C%20syst%C3%A9matique%2C%20rapide%20et%20quasi%20illimit%C3%A9%20en%20terme%20de%20possibilit%C3%A9s.%0D%0AMerci%20%C3%A0%20Adrien%20Urban%20de%20NBS%20System%20pour%20la%20cr%C3%A9ation%20de%20ce%20" title="LinkedIn"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fwww.wikigento.com%2Fgeneral%2Fmanuel-de-survie-unix-linux-2%25c2%25b0-partie%2F&amp;title=Manuel%20de%20survie%20Unix%20%26%20Linux%202%C2%B0%20partie%20%21" title="Live"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fwww.wikigento.com%2Fgeneral%2Fmanuel-de-survie-unix-linux-2%25c2%25b0-partie%2F&amp;t=Manuel%20de%20survie%20Unix%20%26%20Linux%202%C2%B0%20partie%20%21" title="MySpace"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.wikigento.com%2Fgeneral%2Fmanuel-de-survie-unix-linux-2%25c2%25b0-partie%2F" title="Technorati"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://blogmarks.net/my/new.php?mini=1&amp;simple=1&amp;url=http%3A%2F%2Fwww.wikigento.com%2Fgeneral%2Fmanuel-de-survie-unix-linux-2%25c2%25b0-partie%2F&amp;title=Manuel%20de%20survie%20Unix%20%26%20Linux%202%C2%B0%20partie%20%21" title="blogmarks"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/blogmarks.png" title="blogmarks" alt="blogmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fwww.wikigento.com%2Fgeneral%2Fmanuel-de-survie-unix-linux-2%25c2%25b0-partie%2F&amp;partner=sociable" title="Print"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikigento.com/feed/" title="RSS"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://twitter.com/home?status=Manuel%20de%20survie%20Unix%20%26%20Linux%202%C2%B0%20partie%20%21%20-%20http%3A%2F%2Fwww.wikigento.com%2Fgeneral%2Fmanuel-de-survie-unix-linux-2%25c2%25b0-partie%2F" title="Twitter"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.viadeo.com/shareit/share/?url=http%3A%2F%2Fwww.wikigento.com%2Fgeneral%2Fmanuel-de-survie-unix-linux-2%25c2%25b0-partie%2F&title=Manuel%20de%20survie%20Unix%20%26%20Linux%202%C2%B0%20partie%20%21&urllanguage=fr" title="viadeo FR"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/viadeo.png" title="viadeo FR" alt="viadeo FR" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikio.com/vote?url=http%3A%2F%2Fwww.wikigento.com%2Fgeneral%2Fmanuel-de-survie-unix-linux-2%25c2%25b0-partie%2F" title="Wikio"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/wikio.png" title="Wikio" alt="Wikio" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.wikigento.com/general/manuel-de-survie-unix-linux-2%c2%b0-partie/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SEO, vitesse de chargement et expérience utilisateur</title>
		<link>http://www.wikigento.com/latence/seo-vitesse-de-chargement/</link>
		<comments>http://www.wikigento.com/latence/seo-vitesse-de-chargement/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 11:49:44 +0000</pubDate>
		<dc:creator>Philippe Humeau</dc:creator>
				<category><![CDATA[Latence]]></category>
		<category><![CDATA[général]]></category>
		<category><![CDATA[1]]></category>
		<category><![CDATA[5 seconde]]></category>
		<category><![CDATA[optimisation]]></category>
		<category><![CDATA[référencement]]></category>
		<category><![CDATA[temps de chargement]]></category>
		<category><![CDATA[temps de réponse]]></category>

		<guid isPermaLink="false">http://www.wikigento.com/?p=1494</guid>
		<description><![CDATA[Pourquoi un site de E-commerce se doit de charger en moins d’1,5 seconde ?
Tout simplement parce que Google possède plus de 90% de part de marché et que ses dirigeants ont décidé d’inclure la vitesse de chargement parmi plus de 200 facteurs pris en compte dans le référencement naturel.
Certes, ce nouveau facteur ne sera pas [...]]]></description>
			<content:encoded><![CDATA[<h2>Pourquoi un site de E-commerce se doit de charger en moins d’1,5 seconde ?</h2>
<p style="text-align: justify;">Tout simplement parce que Google possède plus de 90% de part de marché et que ses dirigeants ont décidé d’<a href="http://googlewebmastercentral.blogspot.com/2010/04/using-site-speed-in-web-search-ranking.html">inclure la vitesse de chargement</a> parmi plus de 200 facteurs pris en compte dans le référencement naturel.</p>
<p style="text-align: justify;">Certes, ce nouveau facteur ne sera pas plus important que la pertinence du contenu, mais il va petit à petit <strong>monter en puissance</strong>.</p>
<p style="text-align: justify;">Cette transformation est logique, nos environnements de travail et personnels sont de plus en plus connectés, toutes les générations travaillent maintenant sur Internet, pourquoi devrions nous attendre, dans une société où <strong>l&#8217;instantané à pris le pouvoir</strong> ?</p>
<p style="text-align: justify;">Depuis que l’homme est équipé de pouces opposables, d’une connexion ADSL et d’une culture Internet, il est impatient.</p>
<h2 style="text-align: justify;">Pourquoi cette limite d’1,5 seconde ?</h2>
<p style="text-align: justify;">Quand votre site charge en moins de 1,5 seconde, il est plus rapide que 90% des autres sites actuellement connus de Google. Il est donc difficile à ce jour d&#8217;infliger une lourde pénalité à ceux chargeant en plus d&#8217;une seconde et demi.</p>
<p style="text-align: justify;">Par contre, si vos pages <strong>charge en moins d’1,5 seconde</strong>, il peut vous favoriser, de la même façon que si votre site est très propre en terme de HTML ou bien conçu en terme de mots clefs. A l&#8217;avenir, ce facteur va se renforcer puisque les sites vont en tenir compte et charger plus vite.</p>
<p style="text-align: justify;">1,5 seconde, c’est le temps que Google a choisi comme référence.</p>
<p style="text-align: justify;"><span style="text-decoration: underline;">Dans les graphiques mis à disposition par Google, la délimitation est claire :</span></p>
<p style="text-align: justify"><span style="text-decoration: underline;"><a rel="attachment wp-att-1499" href="http://www.wikigento.com/latence/seo-vitesse-de-chargement/attachment/graph_temps_google-2/"><img class="aligncenter size-full wp-image-1499" title="graph_temps_google" src="http://www.wikigento.com/wp-content/uploads/2010/06/graph_temps_google1.png" alt="graph_temps_google" width="540" height="108" /></a><br />
</span><strong>À moins d’1,5 seconde</strong>, vous êtes dans la zone verte, <strong>vous êtes rapide</strong>. Au-dessus d’1,5 seconde, vous êtes dans l’équipe rouge, vous êtes lent. Nous vous y trompez pas, aucun mot, aucun chiffre chez Google n’est utilisé par hasard. Le temps d’1,5 seconde découle de plusieurs études précises, parmi lesquelles nous pouvons déjà citer <a href="http://googleresearch.blogspot.com/2009/06/speed-matters.html">celle-ci </a>ou <a href="http://phpied.com/files/perfpitch/Slide02-fs8.png">celle-ci</a>.</p>
<p style="text-align: justify;">Et quand le mot « Lent » est choisi par Google, il a un sens fort.</p>
<h2 style="text-align: justify;">Que perd-on précisément ?</h2>
<p style="text-align: justify;">De très nombreuses autres  études ont été menées et elles sont toutes formelles, <strong>être lent, c’est vendre moins</strong>, décourager l’utilisateur, freiner son business.</p>
<p style="text-align: justify;">Les études donnent parfois des résultats différents. Certaines annoncent <strong>2,8% de perte de chiffre d&#8217;affaire pour 1 seconde</strong> de plus de chargement, -4,3% de CA pour 2 secondes.</p>
<p style="text-align: justify;"><strong>Amazon</strong> avait déjà fait le constat auparavant :<strong> 0,1s</strong> de plus de temps de chargement en plus leur coutait <strong>1% de chiffre</strong> d&#8217;affaire.</p>
<p style="text-align: justify;">Eric Schuman (Microsoft) et Jake Brutlag (Google), ont réalisé une étude et fait <a href="http://velocityconference.blip.tv/file/2279751/">une conférence</a> à ce sujet également. Il en ressort le même principe de fond mais certaines subtilités supplémentaires apparaissent. Entre une page qui charge en 50 ms et un autre en 2 secondes, le revenu par clic baisse de 4,3%, la satisfaction baisse de 3,8% et le temps avant le clic suivant augmente de 3,1s.</p>
<p style="text-align: justify;"><a rel="attachment wp-att-1507" href="http://www.wikigento.com/latence/seo-vitesse-de-chargement/attachment/business-chute/"><img class="alignleft size-full wp-image-1507" title="business &amp; chute" src="http://www.wikigento.com/wp-content/uploads/2010/06/perte_ca.jpg" alt="business &amp; chute" width="293" height="201" /></a></p>
<p style="text-align: justify;">
<p style="text-align: justify;">Les dirigeants de Google ont d’ailleurs la volonté   exprimée de faire passer l’internaute de la page   de recherche au site de destination de la manière  la plus fluide possible. Le chargement, le  changement de monde, doit être le plus  imperceptible possible, « <strong>comme si l’on  tournait la page d’un livre</strong> ».</p>
<p style="text-align: justify;">
<p style="text-align: justify;">La publicité en ligne (SEM) et notamment <strong>les adwords sont également moins efficaces lorsque le site est lent</strong>, comme vous pouvez le lire dans l’<a href="http://adwords.google.com/support/aw/bin/answer.py?hl=fr&amp;answer=87144">aide de Google ici</a>.</p>
<p style="text-align: justify;">Phil Dixon de Shopzilla a pour sa part constaté, en passant le temps de chargement de son site de 7s à 2s :</p>
<ul>
<li style="text-align: justify;"> 25% de pages vues en plus</li>
<li style="text-align: justify;">7 à 12% de ventes en plus</li>
</ul>
<p style="text-align: justify">A l’inverse, quand le temps augmente, l’image de marque se dégrade elle aussi car les utilisateurs se plaignent et parlent entre eux, d’autant plus depuis l&#8217;avènement des réseaux sociaux.</p>
<h2 style="text-align: justify;">Pourquoi ces pertes ?</h2>
<p style="text-align: justify;">Le cerveau humain a plusieurs « rythmes ».</p>
<p style="text-align: justify;"><a rel="attachment wp-att-1504" href="http://www.wikigento.com/latence/seo-vitesse-de-chargement/attachment/cerveau/"><img class="aligncenter size-full wp-image-1504" title="cerveau" src="http://www.wikigento.com/wp-content/uploads/2010/06/cerveau.png" alt="cerveau" width="345" height="346" /></a></p>
<ul>
<li style="text-align: justify;"><strong>De un à cinq dixième(s) seconde :</strong> C’est la limite à laquelle nous estimons inconsciemment avoir une action immédiate sur ce que l’on manipule. Word, MacOS ou Windows ou encore l’interface d’un téléphone doivent réagir dans cette zone pour être apprécié. Le cerveau interprète, commande, reçoit, comme si l’outil utilisé était un prolongement du corps qu’il contrôle directement.</li>
</ul>
<ul>
<li style="text-align: justify;"><strong>De cinq dixièmes à 1 seconde :</strong> La perception se modifie, nous n’avons plus l’impression de contrôler « directement ». Le cerveau assimile l’information et n’a plus l’illusion de pouvoir contrôler l’interface comme il contrôlerait un membre du corps.</li>
</ul>
<ul>
<li style="text-align: justify;"><strong>De 1 à 5 secondes :</strong> C’est le temps habituel de chargement des sites. L’internaute l’accepte en générale relativement bien. Si un chargement doit durer plus de 5 secondes, il est intéressant d’occuper l’espace visuel de l’internaute pour garder son attention (une petite hélice, une barre de chargement, un pourcentage). Garder l’attention plus de 10 secondes sans occuper un des sens est illusoire.</li>
</ul>
<ul>
<li style="text-align: justify;"><strong>À partir de 10 secondes :</strong> Le cerveau n’attend plus la réponse et vagabonde. Le site visité n’a plus l’exclusivité de l’attention de l’internaute. Celui-ci se demande s’il ne va pas aller sur un autre site concurrent, s’il a payé ses impôts, si le webmaster lui envoie les pages par la poste ou à dos de hamster, bref, la vente ne se fera probablement pas.</li>
</ul>
<p>L&#8217;âge de l&#8217;internaute et sa culture internet changent la donne.</p>
<p style="text-align: justify;">Les adolescents qui n&#8217;ont jamais réellement connus l’attente avant d’avoir un résultat, tout au moins sur l’informatique. Le temps à laquelle la réponse est reçue, après que la demande ait été envoyé, est d’une importance colossale mais il doit être d’autant plus réduit que le potentiel acheteur est jeune.</p>
<p style="text-align: justify;">Une grand mère attendra 20 secondes la page Web du site avec les gentils dauphins pour réserver ses vacances. Hugo, du haut de ses douze ans, au delà de la deuxième seconde, il se demande si les pages du site lui sont acheminé par pigeons voyageurs ou à dos de hamster.</p>
<h2 style="text-align: justify;">Comment mesurer le temps de chargement ?</h2>
<p style="text-align: justify;">Vous pouvez mesurer la rapidité de chargement de votre site avec ces deux extensions Firefox :</p>
<ul style="text-align: justify;">
<li><a href="https://dl-ssl.google.com/page-speed/current/page-speed.xpi">Google Pagespeed</a> (dont le mode d’emploi <a href="http://code.google.com/intl/fr-FR/speed/page-speed/docs/using.html">se trouve ici</a>)</li>
<li><a href="https://addons.mozilla.org/en-US/firefox/addon/5369">Yahoo Yslow</a></li>
</ul>
<p style="text-align: justify;">Ou avec <a href="http://tools.pingdom.com/">ce site</a></p>
<p style="text-align: justify;">Il est également possible de suivre l’évolution de la vitesse de chargement de son site dans les outils Google appelé « <a href="http://www.google.com/webmasters/">Webmaster tools</a> ». Si vous n’avez pas de compte, créez en un et si vous en possédez déjà un, allez dans l’onglet Labo puis dans « Performances du site ».</p>
<h2>Pourquoi les sites ne chargent pas plus vite ?</h2>
<p style="text-align: justify;">Avec le matériel toujours plus puissant et les connexions toujours plus rapides, la question se pose en effet.</p>
<p style="text-align: justify;">Les sites qui ont vus le jour il y a dix ou quinze ans chargeraient très rapidement aujourd’hui, bien plus rapidement qu’à l’époque. Les connexions vont plus vite, nous sommes passés à l’ADSL du coté de clients et aux connexions très haut débit du côté des serveurs.</p>
<p style="text-align: justify;">Alors avec de tels progrès, pourquoi un site prend-t-il toujours 4 à 20 secondes pour charger ?</p>
<p style="text-align: justify;">Les machines ont évolué des deux coté également. Les ordinateurs sont plus puissants et les serveurs ont vus leurs capacités de traitement multiplié par plus de 1000. Par contre, la vitesse de la lumière n&#8217;a pas progressé. Elle met toujours plusieurs dizaines de milliseconde à traverser l&#8217;atlantique, de même, les connexions internet ont aussi une limite de progrès, tout comme les protocoles qui soutiennent internet. Tous ces facteurs font que l&#8217;ensemble a progressé de manière non homogène.</p>
<p style="text-align: justify;">Un serveur 1000 fois plus rapide de nos jours est également 100 fois plus sollicité qu&#8217;avant. 3000 visites par jours il y a 15 ans, c&#8217;était un &#8220;grand site&#8221;, aujourd&#8217;hui, c&#8217;est un trafic modeste.</p>
<h2 style="text-align: justify;">Composition du temps de chargement d’une page</h2>
<p style="text-align: justify;">Le temps de chargement d’une page est composé de plusieurs facteurs :</p>
<ul>
<li style="text-align: justify;">L’initialisation de la connexion et la résolution du nom de domaine</li>
<li style="text-align: justify;">Le temps d’interprétation des scripts php / asp</li>
<li style="text-align: justify;">Le temps de chargement des éléments par le réseau</li>
<li style="text-align: justify;">La recherche des informations en bases de données</li>
<li style="text-align: justify;">Le formatage d’une sortie en HTML</li>
<li style="text-align: justify;">Le délai d’interprétation et d’affichage du navigateur</li>
</ul>
<p style="text-align: justify;">C’est un résumé puisque le temps est en fait découpé en plus de sous sections mais nous entrerions dans trop de détails.</p>
<p style="text-align: justify;">Il y a quelques années, j&#8217;avais proposé le schéma suivant, résumé lui aussi :</p>
<p style="text-align: center"><a rel="attachment wp-att-64" href="http://www.wikigento.com/mysql-base-de-donnees/bonne-annee/attachment/latence-2/"><img class="aligncenter size-full wp-image-64" title="latence-2" src="http://www.wikigento.com/wp-content/uploads/2009/01/latence-2.jpg" alt="latence-2" width="475" height="579" /></a></p>
<p style="text-align: justify;">Les performances des connexions et du matériel ont donc évolué mais au final, les programmes aussi. Les sites web modernes n’ont plus rien à voir avec ceux d’il y a quinze ans et ils ont apportés une souplesse sans égale au E-commerçant.</p>
<p style="text-align: justify;">Gestion de catalogue avancée, page dynamique et agréable à regarder, outils d’administration poussés, les sites modernes sont définitivement plus efficaces. Cette efficacité a été apportée, notamment, par des langages de programmation plus évolués dont PHP et par l’usage de base de données, dont Mysql.</p>
<p style="text-align: justify;">De plus les langages ont évolué vers de l’objet ce qui les a aidé à devenir plus flexibles et efficaces mais en contrepartie, toutes ces améliorations ont un coût en terme de performances.</p>
<p style="text-align: justify;">Ces complexités et améliorations fonctionnelles additionnées nécessitent donc plus de puissance. Les graphismes et photos plus lourds ont, eux, demandé plus de vélocité à nos connexions.</p>
<p style="text-align: justify;">Il faut également prendre en compte que la qualité du code source généré est inégale. Deux sociétés peuvent réaliser le même site et l&#8217;un sera optimisé tandis que l&#8217;autre sera lent, c&#8217;est une question de capacité technique et d&#8217;expérience. De la même façon tous les sites ne sont pas à égalité devant le temps de chargement, de part leur conception ou même leur usage.</p>
<p style="text-align: justify;">Sur un site comme Amazon, 90% du surf se fait depuis  le moteur de recherche et il se doit d&#8217;être rapide sur ce point. Sur un autre site ce sera la &#8220;vitrine&#8221; virtuelle et son agencement qui déclencheront les ventes et ces deux approchent n&#8217;ont pas le même coût en terme de temps de chargement.</p>
<p style="text-align: justify;">La technologie également joue énormément et enfin la capacité de l&#8217;infogérant à optimiser votre infrastructure et son usage.</p>
<h1 style="text-align: justify;">La vitesse n’est pas tout</h1>
<p style="text-align: justify;">La disponibilité du site et la réactivité de l’infogérant en cas de soucis sont également des facteurs majeurs de succès.</p>
<p style="text-align: justify;">Bien que l’ingénierie informatique et la programmation Web ne soient plus des secrets maîtrisés par un très petit nombre, les sites sont devenus de plus en plus complexes et les accidents peuvent arriver.</p>
<p style="text-align: justify;">Sur un serveur, un disque dur, une barrette mémoire ou un autre élément technique peut céder. Du côté du site web, un élément logiciel peu avoir un défaut ou engendrer une erreur. Dans les deux cas, un internaute peut accepter un court délai d’indisponibilité mais ceci ne doit pas se prolonger.</p>
<p style="text-align: justify;">Une interruption de plusieurs heures pendant les soldes peut être problématique, les ventes de fin d’année ou une animation commerciale. La perte de chiffre d’affaire et d’image de marque peut devenir très sensible.</p>
<p style="text-align: justify;">Un infogérant spécialisé dans le E-commerce et une Web Agency sont des alliés précieux dans l’exploitation d’un site commerçant.</p>
<h1 style="text-align: justify;">En conclusion</h1>
<p style="text-align: justify;">La rapidité de chargement joue donc 3 fois :</p>
<ul>
<li style="text-align: justify;">sur l&#8217;expérience utilisateur</li>
<li style="text-align: justify;">sur le référencement naturel</li>
<li style="text-align: justify;">sur l&#8217;efficacité de la SEM (mots clefs sponsorisé dans les moteurs de recherches)</li>
<li style="text-align: justify;">sur le chiffre d&#8217;affaire généré</li>
</ul>
<p style="text-align: justify;">Il est donc clair que ce facteur est critique pour un site de E-commerce.</p>
<p style="text-align: justify;">
<p style="text-align: justify;">Philippe Humeau, <a href="http://www.nbs-system.com/">NBS System</a>, hébergement et sécurité du E-commerce.</p>



Partager cet article :


	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.wikigento.com%2Flatence%2Fseo-vitesse-de-chargement%2F&amp;title=SEO%2C%20vitesse%20de%20chargement%20et%20exp%C3%A9rience%20utilisateur&amp;bodytext=Pourquoi%20un%20site%20de%20E-commerce%20se%20doit%20de%20charger%20en%20moins%20d%E2%80%991%2C5%20seconde%20%3F%0D%0ATout%20simplement%20parce%20que%20Google%20poss%C3%A8de%20plus%20de%2090%25%20de%20part%20de%20march%C3%A9%20et%20que%20ses%20dirigeants%20ont%20d%C3%A9cid%C3%A9%20d%E2%80%99inclure%20la%20vitesse%20de%20chargement%20parmi%20plus%20de%20200%20facteurs%20" title="Digg"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fwww.wikigento.com%2Flatence%2Fseo-vitesse-de-chargement%2F&amp;title=SEO%2C%20vitesse%20de%20chargement%20et%20exp%C3%A9rience%20utilisateur&amp;notes=Pourquoi%20un%20site%20de%20E-commerce%20se%20doit%20de%20charger%20en%20moins%20d%E2%80%991%2C5%20seconde%20%3F%0D%0ATout%20simplement%20parce%20que%20Google%20poss%C3%A8de%20plus%20de%2090%25%20de%20part%20de%20march%C3%A9%20et%20que%20ses%20dirigeants%20ont%20d%C3%A9cid%C3%A9%20d%E2%80%99inclure%20la%20vitesse%20de%20chargement%20parmi%20plus%20de%20200%20facteurs%20" title="del.icio.us"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.wikigento.com%2Flatence%2Fseo-vitesse-de-chargement%2F&amp;t=SEO%2C%20vitesse%20de%20chargement%20et%20exp%C3%A9rience%20utilisateur" title="Facebook"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.wikigento.com%2Flatence%2Fseo-vitesse-de-chargement%2F&amp;title=SEO%2C%20vitesse%20de%20chargement%20et%20exp%C3%A9rience%20utilisateur&amp;annotation=Pourquoi%20un%20site%20de%20E-commerce%20se%20doit%20de%20charger%20en%20moins%20d%E2%80%991%2C5%20seconde%20%3F%0D%0ATout%20simplement%20parce%20que%20Google%20poss%C3%A8de%20plus%20de%2090%25%20de%20part%20de%20march%C3%A9%20et%20que%20ses%20dirigeants%20ont%20d%C3%A9cid%C3%A9%20d%E2%80%99inclure%20la%20vitesse%20de%20chargement%20parmi%20plus%20de%20200%20facteurs%20" title="Google Bookmarks"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://slashdot.org/bookmark.pl?title=SEO%2C%20vitesse%20de%20chargement%20et%20exp%C3%A9rience%20utilisateur&amp;url=http%3A%2F%2Fwww.wikigento.com%2Flatence%2Fseo-vitesse-de-chargement%2F" title="Slashdot"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikio.fr/vote?url=http%3A%2F%2Fwww.wikigento.com%2Flatence%2Fseo-vitesse-de-chargement%2F" title="Wikio FR"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/wikio.png" title="Wikio FR" alt="Wikio FR" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="mailto:?subject=SEO%2C%20vitesse%20de%20chargement%20et%20exp%C3%A9rience%20utilisateur&amp;body=http%3A%2F%2Fwww.wikigento.com%2Flatence%2Fseo-vitesse-de-chargement%2F" title="email"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.wikigento.com%2Flatence%2Fseo-vitesse-de-chargement%2F&amp;title=SEO%2C%20vitesse%20de%20chargement%20et%20exp%C3%A9rience%20utilisateur&amp;source=Communaut%C3%A9+Magento+francophone+Optimisation+de+sites+E-commerce&amp;summary=Pourquoi%20un%20site%20de%20E-commerce%20se%20doit%20de%20charger%20en%20moins%20d%E2%80%991%2C5%20seconde%20%3F%0D%0ATout%20simplement%20parce%20que%20Google%20poss%C3%A8de%20plus%20de%2090%25%20de%20part%20de%20march%C3%A9%20et%20que%20ses%20dirigeants%20ont%20d%C3%A9cid%C3%A9%20d%E2%80%99inclure%20la%20vitesse%20de%20chargement%20parmi%20plus%20de%20200%20facteurs%20" title="LinkedIn"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fwww.wikigento.com%2Flatence%2Fseo-vitesse-de-chargement%2F&amp;title=SEO%2C%20vitesse%20de%20chargement%20et%20exp%C3%A9rience%20utilisateur" title="Live"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fwww.wikigento.com%2Flatence%2Fseo-vitesse-de-chargement%2F&amp;t=SEO%2C%20vitesse%20de%20chargement%20et%20exp%C3%A9rience%20utilisateur" title="MySpace"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.wikigento.com%2Flatence%2Fseo-vitesse-de-chargement%2F" title="Technorati"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://blogmarks.net/my/new.php?mini=1&amp;simple=1&amp;url=http%3A%2F%2Fwww.wikigento.com%2Flatence%2Fseo-vitesse-de-chargement%2F&amp;title=SEO%2C%20vitesse%20de%20chargement%20et%20exp%C3%A9rience%20utilisateur" title="blogmarks"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/blogmarks.png" title="blogmarks" alt="blogmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fwww.wikigento.com%2Flatence%2Fseo-vitesse-de-chargement%2F&amp;partner=sociable" title="Print"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikigento.com/feed/" title="RSS"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://twitter.com/home?status=SEO%2C%20vitesse%20de%20chargement%20et%20exp%C3%A9rience%20utilisateur%20-%20http%3A%2F%2Fwww.wikigento.com%2Flatence%2Fseo-vitesse-de-chargement%2F" title="Twitter"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.viadeo.com/shareit/share/?url=http%3A%2F%2Fwww.wikigento.com%2Flatence%2Fseo-vitesse-de-chargement%2F&title=SEO%2C%20vitesse%20de%20chargement%20et%20exp%C3%A9rience%20utilisateur&urllanguage=fr" title="viadeo FR"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/viadeo.png" title="viadeo FR" alt="viadeo FR" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikio.com/vote?url=http%3A%2F%2Fwww.wikigento.com%2Flatence%2Fseo-vitesse-de-chargement%2F" title="Wikio"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/wikio.png" title="Wikio" alt="Wikio" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.wikigento.com/latence/seo-vitesse-de-chargement/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Magento Darwin Awards : les oscars</title>
		<link>http://www.wikigento.com/fun/magento-darwin-awards-les-oscars/</link>
		<comments>http://www.wikigento.com/fun/magento-darwin-awards-les-oscars/#comments</comments>
		<pubDate>Thu, 20 May 2010 14:28:04 +0000</pubDate>
		<dc:creator>Philippe Humeau</dc:creator>
				<category><![CDATA[Fun]]></category>

		<guid isPermaLink="false">http://www.wikigento.com/?p=1347</guid>
		<description><![CDATA[Chers lecteurs (sisi y&#8217;en a encore, j&#8217;ai les stats,
Voici bien longtemps que je n&#8217;ai pas eu le temps de poster quoique ce soit. Mes confrères bloggers me l&#8217;ont tous dit, &#8220;un blog, c&#8217;est une discipline, de la régularité, un contenu à date fixe&#8221;&#8230;
Oui mais voila j&#8217;ai eu le site de NBS System à refaire et [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Chers lecteurs (sisi y&#8217;en a encore, j&#8217;ai les stats <img class="superemotions" title="Redfaced / Embarassed" alt="Redfaced / Embarassed" border="0" src="http://www.wikigento.com/wp-includes/images/smilies/icon_redface.gif" />),</p>
<p style="text-align: justify;">Voici bien longtemps que je n&#8217;ai pas eu le temps de poster quoique ce soit. Mes confrères bloggers me l&#8217;ont tous dit, &#8220;un blog, c&#8217;est une discipline, de la régularité, un contenu à date fixe&#8221;&#8230;</p>
<p style="text-align: justify;">Oui mais voila j&#8217;ai eu le site de <a href="http://www.nbs-system.com">NBS System</a> à refaire et <a href="http://www.bargento.fr">Bargento 4</a> à organiser. Cependant, les excuses ne servent à rien, le mieux est d&#8217;aller de l&#8217;avant.</p>
<p style="text-align: justify;">Alors voila un billet, en attendant de poster pas mal de &#8220;lourd&#8221; dans les semaines à venir.</p>
<p style="text-align: justify;">Pour se remettre en selle, un petit &#8220;bestof&#8221; des meilleurs gags sous Magento auxquels nous avons dû faire face récemment ! Avec plus de 200 sites hébergés, on a eu quelques frayeurs et quelques moments de solitudes, je voulais vous faire profiter des intégrations les plus pénibles, des dialogues les plus sourds, des propositions les plus farfelues.</p>
<p style="text-align: justify;">Bref, toute mon équipe se joint à moi pour vous faire part de nos tranches de vie d&#8217;hébergeurs.</p>
<p style="text-align: justify;">Nous rions de bon cœur, jamais méchamment car chaque travail a ses difficultés et l&#8217;anodin devient le calvaire des autres sans que ce soit fait exprès (c&#8217;est réciproque d&#8217;ailleurs) !</p>
<p style="text-align: justify;">
<h2 style="text-align: justify;"><span style="text-decoration: underline;">Voici le palmarès :</span></h2>
<h3>Idée la plus folle en intégration, le SDLM (&#8221;Le Slider De La Mort&#8221;)</h3>
<p style="text-align: justify;">Le concept est brillant, simple, élégant. Une interface Web, 5 curseurs à déplacer sur des positions.</p>
<p style="text-align: justify;">Un pour le produit, un pour la couleur, un pour la taille, un pour la forme etc&#8230; Quand un internaute déplace un des curseurs, on charge les produits qui vont bien en fonction de la position des différents curseurs, par exemple pantalon, 60, noir, jean, femme, etc.</p>
<p style="text-align: justify;">15 produits * 6 tailles * 12 couleurs * 6 formes * 6 typologies (femme &#8211; homme &#8211; enfant H/F &#8211; adolescent H/F)  = 38 880 requêtes en base de données à chaque déplacement d&#8217;un curseur&#8230; Bien sur on pourrait optimiser et stocker un résultat de requête, générer un cache ou autre mais le développeur n&#8217;avait pas vu les choses sous cet angle&#8230; Tout cela part avec une requête Ajax et on attend la réponse pour peupler la page.</p>
<p style="text-align: justify;">Maintenant, on prend sa souris et on bouge son curseur de gauche à droite bien rapidement. Et hop, un dénis de service à coup de millions de requêtes SQL dans la base de données.</p>
<p style="text-align: justify;">Et paf le serveur.</p>
<h3 style="text-align: justify;">La surenchère au SDLM : l&#8217;OMODLM (&#8221;on mouse over de la mort&#8221;)</h3>
<p style="text-align: justify;">Ils ont eu l&#8217;idée après ceux du slider de la mort alors le résultat est plus fort mais moins de mérite sur le concept original <img src='http://www.wikigento.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: justify;">Bonne note cependant car la version est très évoluée, on a plus besoin de cliquer ou de drag &amp; droper un curseur, passer au dessus des catégories de produit suffit à créer une charge relativement indécente de travail pour les serveurs.</p>
<p style="text-align: justify;">Un confort d&#8217;utilisation indéniable somme toute ! Avec le OMODLM (On Mouse Over De La Mort), le déni de service est au bout de votre pointeur, 10 allers-retours bien rapide sur les catégories produit et hop, 200 produits chargé par catégories, 10 catégories, 10 allers-retours du mulot et&#8230; et&#8230; ben des requêtes javascript en chaine qui font 20 000 requêtes de produits soit en requêtes SQL, facilement le triple.</p>
<p style="text-align: justify;">Et paf le serveur.</p>
<h3>La grande méchante Cron : 2 Go c&#8217;est trop peu !</h3>
<p style="text-align: justify;">Ah les crons, un grand plaisir régulier, qui ne cesse de nous faire trembler.</p>
<p style="text-align: justify;">La plupart du temps ce sont des imports automatiques de produits ou ce type de traitements. Les scripts consomment de plus en plus de RAM, ne trouve jamais leur conditions de sortie et on se retrouve avec un bon gros PH qui pèse 1 ou 2 Go en mémoire et qui continu à manger des ressources sans jamais sortir.</p>
<p style="text-align: justify;">Que du bonheur&#8230;</p>
<p style="text-align: justify;">Alors l&#8217;idée c&#8217;est qu&#8217;on a un nombre de tickets impressionnants qui demandent à passer la PHP memory limit à 2 Go voir plus, juste pour laisser la Cron_qui_tue en PHP finir son travail. Cette limite étant appliquée à tous les processus PHP, ca peut très vite, très très vite, dégénérer.</p>
<p style="text-align: justify;">Alors non, on ne passe pas à la limite à 2 Go, on optimise son code ou on gère différemment.</p>
<h3 style="text-align: justify;">L&#8217;auto dérision est un sport, alors nous aussi témoignons !</h3>
<p style="text-align: justify;">On est pas plus parfait que les autres alors évidemment on en fait une ou deux.</p>
<p style="text-align: justify;">On utilise Sysfence pour vérifier si certains processus ne deviennent trop gourmands, risquant ainsi de tuer la machine. Ce sysfence vérifie si la machine Swap (et donc manque de RAM) et si c&#8217;est le cas, il redémarre le service consommateur.</p>
<p style="text-align: justify;">Sauf que le service en question (apache en l&#8217;occurrence) quand on le redémarre, cela ne libère instantanément les ressources allouée, donc le Swap est toujours utilisé et sysfence redémarre le service, et encore, et encore et encore.</p>
<p style="text-align: justify;">Et le site Web, il clignote. (Une temporisation avant de relancer le démon, le temps de laisser le swap se vider, à résolu le problème)</p>
<h3 style="text-align: justify;">My Java is beautiful</h3>
<p style="text-align: justify;">Alors ce n&#8217;est pas directement du Magento mais un service connexe de catalogue (comme un catalogue papier dont on tourne les pages). Le moteur de catalogue est assez évolué et permet des trucs totalement inutiles, comme par exemple tourner le catalogue de 3° vers la gauche&#8230;</p>
<p style="text-align: justify;">Enfin passons. Il a &#8220;l&#8217;avantage&#8221; de resizer les images à l&#8217;affichage donc si on a du 800*600 c&#8217;est à la bonne taille et si on est en 1200*1024 etc. Sauf que plutot que de contraindre les images par le CSS ou même de stocker 3/4 versions de tailles différentes, il resize à chaque fois, pour chaque visiteurs et stock tout dans la JVM (oui c&#8217;est du Java, c&#8217;est plus drôle).</p>
<p style="text-align: justify;">Résultat, au bout de 12H d&#8217;utilisation à 10 000 visiteurs, 16 Go de RAM consommés et 86 Go de Swap&#8230;</p>
<p style="text-align: justify;">Alors on force la désalocation, le garbage collecting avec des paramètres passé à la JVM mais rien y fait. Alors on tue le démon à intervalle régulier, histoire de pas saturer les deux serveurs de catalogues.</p>
<h3 style="text-align: justify;">Le superviseur</h3>
<p style="text-align: justify">C&#8217;est l&#8217;histoire d&#8217;un programmeur qui veut faire un outil de supervision de la charge des deux serveurs frontaux de son client. Nos serveurs se portent bien mais il souhaite pouvoir vérifier si un de ses scripts exécuter régulièrement ne prend pas trop de CPU / RAM et sinon le killer.</p>
<p style="text-align: justify">Bon le script en question consomme effectivement pas mal de ressource alors il code un démon en PHP pour vérifier la charge des serveurs afin de tuer le script si besoin. Seul soucis, il exécute la routine de vérification de la charge avec du PHP, connu pour sa légèreté (5 Mo en RAM pour vérifier la charge alors qu&#8217;un démon en C prend 5 Ko). Enfin seul soucis pas vraiment, dans le but de bien faire et d&#8217;être réactif, il lance son check toutes les 35 millisecondes&#8230; Un script PHP qui a lui seul met plus de 35 ms à s&#8217;exécuter.</p>
<p style="text-align: justify">Et paf le serveur&#8230;</p>
<h3>My slave is beautiful</h3>
<p style="text-align: justify;"><span style="color: #ff6600;">Allo ? Mme &#8230;&#8230;. de la société &#8230;&#8230; (grand compte).</span></p>
<p style="text-align: justify;">Oui bonjour, que puis-je pour vous ?</p>
<p style="text-align: justify;"><span style="color: #ff6600;">[...] je souhaiterai savoir à quelle date vous pourriez intervenir pour venir configurer nos serveurs ? [...]</span></p>
<p style="text-align: justify;">Ah, nous ne faisons pas ce type de prestation madame, nous optimisons les serveurs de nos clients et les nôtres mais pas ceux de votre infogérant actuel. (qui ne travail pas avec/sur Magento)</p>
<p style="text-align: justify;"><span style="color: #ff6600;">Ah mais attendez, on vous paye. 450 €, par jour ! Par contre il faut être là dès demain matin et les 5 prochains jours d&#8217;affilé.</span></p>
<p style="text-align: justify;">Je me suis mal fait comprendre, cela ne fait pas partie de nos prestations madame.</p>
<p style="text-align: justify;">De plus un expert Magento, peut importe qu&#8217;il soit développeur ou infogérant, ca ne coûte pas ce tarif là. Même si nous faisions cela, on a déjà pas mal de travail on ne peut pas se libérer 5 jours d&#8217;affilé du jour au lendemain.</p>
<p style="text-align: justify;"><span style="color: #ff6600;">Écoutez, je vois que vous ne faites aucun effort, je pense que nous n&#8217;allons pas travailler ensemble&#8230;</span></p>
<p style="text-align: justify;">&#8230;</p>
<h3>Je vous poste mon site ?</h3>
<p style="text-align: justify;">Alors c&#8217;est l&#8217;histoire d&#8217;un mec, il veut mettre son site Magento en ligne. Jusqu&#8217;ici, rien d&#8217;original. Au bout de 4H, il appel le support et annonce :</p>
<p><span style="color: #ff6600;">Votre système plante au bout de 5 Mo de transfert, je n&#8217;arrive pas à mettre le site de mon client en ligne.</span></p>
<p>Vous utilisez quel protocole ? FTP, SFTP, SCP ou SVN pour faire cette mise en ligne ?</p>
<p><span style="color: #ff6600;">Écoutez, je vous dis que ca plante au bout de 5 Mo, ce n&#8217;est pas une question de protocole.</span></p>
<p>Ca pourrait nous aider à trouver le soucis, sait-on jamais. Quel protocole utilisez-vous ?</p>
<p><span style="color: #ff6600;">J&#8217;utilise OTRS.</span></p>
<p>Notre interface de déclaration de tickets pour le support niveau 1 ?</p>
<p><span style="color: #ff6600;"> Oui.</span></p>
<p style="text-align: justify;">Mais monsieur, le champ upload d&#8217;OTRS sert a nous envoyer une copie d&#8217;écran, pas le site, il faut utiliser les accès que l&#8217;on vous a envoyé SFTP ou SVN par exemple.</p>
<p><span style="color: #ff6600;">Les accès quoi ? </span></p>
<h3>Mention spéciale du jury : Je SVN, tu SVN, il flingue le site&#8230;</h3>
<p style="text-align: justify;">C&#8217;est l&#8217;histoire d&#8217;une marque qui lance des ventes privées. Un jour, elle appelle sont intégrateur à J-20. &#8220;Tu peux me faire une ou deux modifs ?&#8221; , &#8220;pas de problème je te fais ca&#8221;. Les modifications sont mises en ligne, tout fonctionne. Le jour J c&#8217;est le drame.</p>
<ul style="text-align: justify;">
<li>500 visiteurs simultanés, tout va bien</li>
<li>1 000 visiteurs simultanés, tout va &#8230; curieusement&#8230; La charge monte&#8230; un peu trop vite</li>
<li>1 500 visiteurs simultanés tout va plus du tout, serveurs couchés, médore tourne à un load de 70&#8230; Soit une surcharge colossale !</li>
</ul>
<p style="text-align: justify;">On cherche, on cherche, on cherche&#8230; Rien à faire les serveurs sont en débandade complète. Mais que se passe t&#8217;il ? Eh bien la Web Agency avait écrasé le fichier <span style="font-size:10.0pt;font-family:">/var/www/eu/app/etc/use_cache.ser avec son propre fichier&#8230; Oui mais un développeur, lui, il coupe les caches pour voir ses modifications instantanément. Quand il publie son fichier use_cache.ser avec 6 cache sur 8 de désactivés, les serveurs sautent.</span></p>
<h3 style="text-align: justify;">Ma page d&#8217;accueil est lente&#8230;</h3>
<p style="text-align: justify;">Alors, voyons voir, je prends mes 6000 produits, je code ma boucle, et pour chaque produit sur ma home, je lance ma fonction qui cherche dans les 6000 produits.</p>
<p style="text-align: justify;">Mince, ça rame&#8230; Je ne comprends pas ?</p>
<p><span style="font-size:10.0pt;font-family:"> </span></p>



Partager cet article :


	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.wikigento.com%2Ffun%2Fmagento-darwin-awards-les-oscars%2F&amp;title=Magento%20Darwin%20Awards%20%3A%20les%20oscars&amp;bodytext=Chers%20lecteurs%20%28sisi%20y%27en%20a%20encore%2C%20j%27ai%20les%20stats%2C%0D%0AVoici%20bien%20longtemps%20que%20je%20n%27ai%20pas%20eu%20le%20temps%20de%20poster%20quoique%20ce%20soit.%20Mes%20confr%C3%A8res%20bloggers%20me%20l%27ont%20tous%20dit%2C%20%22un%20blog%2C%20c%27est%20une%20discipline%2C%20de%20la%20r%C3%A9gularit%C3%A9%2C%20un%20contenu%20%C3%A0%20date%20fixe%22.." title="Digg"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fwww.wikigento.com%2Ffun%2Fmagento-darwin-awards-les-oscars%2F&amp;title=Magento%20Darwin%20Awards%20%3A%20les%20oscars&amp;notes=Chers%20lecteurs%20%28sisi%20y%27en%20a%20encore%2C%20j%27ai%20les%20stats%2C%0D%0AVoici%20bien%20longtemps%20que%20je%20n%27ai%20pas%20eu%20le%20temps%20de%20poster%20quoique%20ce%20soit.%20Mes%20confr%C3%A8res%20bloggers%20me%20l%27ont%20tous%20dit%2C%20%22un%20blog%2C%20c%27est%20une%20discipline%2C%20de%20la%20r%C3%A9gularit%C3%A9%2C%20un%20contenu%20%C3%A0%20date%20fixe%22.." title="del.icio.us"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.wikigento.com%2Ffun%2Fmagento-darwin-awards-les-oscars%2F&amp;t=Magento%20Darwin%20Awards%20%3A%20les%20oscars" title="Facebook"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.wikigento.com%2Ffun%2Fmagento-darwin-awards-les-oscars%2F&amp;title=Magento%20Darwin%20Awards%20%3A%20les%20oscars&amp;annotation=Chers%20lecteurs%20%28sisi%20y%27en%20a%20encore%2C%20j%27ai%20les%20stats%2C%0D%0AVoici%20bien%20longtemps%20que%20je%20n%27ai%20pas%20eu%20le%20temps%20de%20poster%20quoique%20ce%20soit.%20Mes%20confr%C3%A8res%20bloggers%20me%20l%27ont%20tous%20dit%2C%20%22un%20blog%2C%20c%27est%20une%20discipline%2C%20de%20la%20r%C3%A9gularit%C3%A9%2C%20un%20contenu%20%C3%A0%20date%20fixe%22.." title="Google Bookmarks"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://slashdot.org/bookmark.pl?title=Magento%20Darwin%20Awards%20%3A%20les%20oscars&amp;url=http%3A%2F%2Fwww.wikigento.com%2Ffun%2Fmagento-darwin-awards-les-oscars%2F" title="Slashdot"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikio.fr/vote?url=http%3A%2F%2Fwww.wikigento.com%2Ffun%2Fmagento-darwin-awards-les-oscars%2F" title="Wikio FR"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/wikio.png" title="Wikio FR" alt="Wikio FR" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="mailto:?subject=Magento%20Darwin%20Awards%20%3A%20les%20oscars&amp;body=http%3A%2F%2Fwww.wikigento.com%2Ffun%2Fmagento-darwin-awards-les-oscars%2F" title="email"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.wikigento.com%2Ffun%2Fmagento-darwin-awards-les-oscars%2F&amp;title=Magento%20Darwin%20Awards%20%3A%20les%20oscars&amp;source=Communaut%C3%A9+Magento+francophone+Optimisation+de+sites+E-commerce&amp;summary=Chers%20lecteurs%20%28sisi%20y%27en%20a%20encore%2C%20j%27ai%20les%20stats%2C%0D%0AVoici%20bien%20longtemps%20que%20je%20n%27ai%20pas%20eu%20le%20temps%20de%20poster%20quoique%20ce%20soit.%20Mes%20confr%C3%A8res%20bloggers%20me%20l%27ont%20tous%20dit%2C%20%22un%20blog%2C%20c%27est%20une%20discipline%2C%20de%20la%20r%C3%A9gularit%C3%A9%2C%20un%20contenu%20%C3%A0%20date%20fixe%22.." title="LinkedIn"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fwww.wikigento.com%2Ffun%2Fmagento-darwin-awards-les-oscars%2F&amp;title=Magento%20Darwin%20Awards%20%3A%20les%20oscars" title="Live"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fwww.wikigento.com%2Ffun%2Fmagento-darwin-awards-les-oscars%2F&amp;t=Magento%20Darwin%20Awards%20%3A%20les%20oscars" title="MySpace"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.wikigento.com%2Ffun%2Fmagento-darwin-awards-les-oscars%2F" title="Technorati"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://blogmarks.net/my/new.php?mini=1&amp;simple=1&amp;url=http%3A%2F%2Fwww.wikigento.com%2Ffun%2Fmagento-darwin-awards-les-oscars%2F&amp;title=Magento%20Darwin%20Awards%20%3A%20les%20oscars" title="blogmarks"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/blogmarks.png" title="blogmarks" alt="blogmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fwww.wikigento.com%2Ffun%2Fmagento-darwin-awards-les-oscars%2F&amp;partner=sociable" title="Print"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikigento.com/feed/" title="RSS"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://twitter.com/home?status=Magento%20Darwin%20Awards%20%3A%20les%20oscars%20-%20http%3A%2F%2Fwww.wikigento.com%2Ffun%2Fmagento-darwin-awards-les-oscars%2F" title="Twitter"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.viadeo.com/shareit/share/?url=http%3A%2F%2Fwww.wikigento.com%2Ffun%2Fmagento-darwin-awards-les-oscars%2F&title=Magento%20Darwin%20Awards%20%3A%20les%20oscars&urllanguage=fr" title="viadeo FR"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/viadeo.png" title="viadeo FR" alt="viadeo FR" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikio.com/vote?url=http%3A%2F%2Fwww.wikigento.com%2Ffun%2Fmagento-darwin-awards-les-oscars%2F" title="Wikio"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/wikio.png" title="Wikio" alt="Wikio" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.wikigento.com/fun/magento-darwin-awards-les-oscars/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Bargento 4 : des nouvelles du front !</title>
		<link>http://www.wikigento.com/bargento/bargento-4-des-nouvelles-du-front/</link>
		<comments>http://www.wikigento.com/bargento/bargento-4-des-nouvelles-du-front/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 17:14:44 +0000</pubDate>
		<dc:creator>Philippe Humeau</dc:creator>
				<category><![CDATA[bargento]]></category>

		<guid isPermaLink="false">http://www.wikigento.com/?p=1461</guid>
		<description><![CDATA[Fevad
En premier lieu, je suis très heureux de vous annoncer que la FEVAD (Fédération du E-commerce et de la vente à distance) soutient Bargento 4 ! Cette fédération est l&#8217;une des plus influente sur Internet en ce qui concerne le E-commerce et son aide aux marchands est tout aussi précieuses que ses statistiques annuelles, sur [...]]]></description>
			<content:encoded><![CDATA[<p><strong><big>Fevad</big></strong></p>
<p style="text-align: justify;">En premier lieu, je suis très heureux de vous annoncer que la FEVAD (Fédération du E-commerce et de la vente à distance) soutient Bargento 4 ! Cette fédération est l&#8217;une des plus influente sur Internet en ce qui concerne le E-commerce et son aide aux marchands est tout aussi précieuses que ses statistiques annuelles, sur laquelle de nombreux professionnels (dont moi), basent leurs projection.</p>
<p>Un chaleureux &#8220;Welcome&#8221; à eux !</p>
<p><strong><big>Traduction simultanée<br />
</big></strong></p>
<p style="text-align: justify;">Bargento 4 tourne international et cela change la donne !</p>
<p style="text-align: justify;">4 traducteurs simultané pour les conférences, 1 traducteur dans l&#8217;international Lounge de Zend et un en déplacement dans le Bargento, chacun va pouvoir parler facilement sa langue sans entrave. Durant les conférences, la traduction sera envoyée simultanément par infrarouge dans des casques. Sympa non ?</p>
<p style="text-align: justify;">Ça tombe bien, l&#8217;international progresse car on a déjà : des russes, des espagnoles, des anglais, des belges, et des suisses.</p>
<p style="text-align: justify;">
<p style="text-align: justify;"><strong><big>Les renforts !</big></strong></p>
<p style="text-align: justify;">Il est temps pour Gabriel et moi même d&#8217;intégrer de nouveaux membres dans le Staff de Bargento pour nous soutenir.. Deux personnes pour tenir la majorité de cet évènement, c&#8217;est trop peu. Chacun de nous y consacre ~20 jour/homme et, quand bien même nous aimons nous impliquer dans la communauté, ca représente 15% d&#8217;une année de travail pour monter 2 Bargento par an. Cette fois ci, nous allons devoir faire face à 500+ personnes, plus de 20 speakers, 18 stands, et probablement une centaine de choses inattendues !</p>
<p style="text-align: justify;">De plus les Apérogentos arrivent en régions et je compte bien aider les volontaires à réussir leur paris, de l&#8217;aide sera, là encore, la bienvenue.</p>
<p style="text-align: justify;">Afin de faire les choses le mieux possible, nous en appelons donc à la communauté :</p>
<p style="text-align: justify;"><span style="text-decoration: underline;">Voici les profils que nous recherchons :</span></p>
<ul>
<li style="text-align: justify;"><span style="text-decoration: line-through;">Un Web designer pour aider Gabriel à gérer les sites (membre permanent),</span> bienvenue à Xavier Bonnaud</li>
<li style="text-align: justify;"><span style="text-decoration: line-through;">Une personne pour m&#8217;aider (Philippe) à la communication et l&#8217;animation du réseau, ainsi que pour les Apérogento (membre permanent),</span> bienvenue à Nicolas Trossat</li>
<li style="text-align: justify;">4 to 6 personnes le jour J, pour aider partout où cela sera nécessaire. (un régisseur général pour fluidifier l&#8217;organisation, deux personnes pour la zone des exposants, une pour la zone international Lounge, 2 pompiers volants pour les imprévus par exemple)</li>
</ul>
<p style="text-align: justify;">Nous souhaitons trouver des personnes qui veulent s&#8217;engager à nos cotés durablement, qui sont (ou souhaite devenir) impliquées. Les seules choses que vous allez gagner en retour : de la visibilité dans la communauté (votre nom en lettre d&#8217;or dans pleinnnn d&#8217;endroits) et un tee shirt &#8220;Bargento Staff Member&#8221; !</p>
<p>C&#8217;est pas une offre fantastique ca ?</p>
<p><strong><big>Papiers officiels et invitations (pour nos amis Russes ou votre Boss)</big></strong></p>
<p style="text-align: justify;">En Russie, tout doit être mis sur papier d&#8217;une façon ou d&#8217;une autre. Si vous avez l&#8217;impression qu&#8217;on st accroc aux formulaires en France, un stage de 2H en Russie devrait vous faire changer d&#8217;avis. Donc pour nos amis qui viennent de la confédération Russe, Gabriel et moi signons les invitations officielles nécessaires à l&#8217;obtention d&#8217;un Visa, n&#8217;hésitez donc pas à nous en demander.</p>
<p style="text-align: justify;">De même, si votre Boss craint que vous montiez à Paris plus pour le Moulin Rouge que pour participer à un meeting professionnel, nous avons les papiers qui vont bien, là aussi, n&#8217;hésitez pas.</p>
<p style="text-align: justify;">
<p style="text-align: justify;"><strong><big>De nouvelles animations au menu de Bargento 4 !</big></strong></p>
<p style="text-align: justify;">On y travaille et il y en aura d&#8217;autres mais voici déjà deux ou trois animations qui auront lieu lors de Bargento 4 :</p>
<p style="text-align: justify;"><strong>Les Web Sites Doctors:</strong> Olivier Sauvage (capitaine Commerce), François  Ziserman (Araok) et Olivier Levy (Blog E-commerce) vous feront une critique (gratuite) de votre site. J&#8217;aurais pu dire &#8220;diagnostique&#8221; mais ces trois là, très professionnels, sont connus pour leur franc parlé. Comme on est pas contre un peu d&#8217;animation et qu&#8217;il vaut mieux un avis franc et clair qu&#8217;un compliment cachant un défaut, ca va défriser ! Pas d&#8217;inquiétude cependant, vous repartirez les poches pleines de bons conseils et riche d&#8217;une partie de leur savoir, ce qui ne peut que faire du bien à vos ventes ! Olivier S et François sont des pros du design, des tunnels de ventes, de la double captivité du prospect à infratension renversée et Olivier L est lui un poil branché SEO, à vous de voir mais les gens payent cher d&#8217;habitude pour se payer leurs conseils. Alors ? On va voir le toubib ?<strong> </strong></p>
<p><strong>Job board: </strong>Vous cherchez un boulot ? Un développeur ? Vous fournissez de la main d&#8217;oeuvre Offshore ? Le Job Board est fait pour vous. C&#8217;est un moyen simple de se donner rendez vous dans Bargento, nous mettons à votre disposition un tableau permettant de faciliter les rencontres et vous pourrez vous rejoindre entre les conférences. Un prénom, ou un pseudo, une heure, un sujet et hop, le tour est peut être joué, simple et efficace, comme on aime !</p>
<p style="text-align: justify;"><strong>Meeting privé</strong>: Les habitués connaissent le principe, tout le monde veut des clients et les clients ne veulent pas forcément se faire harceler. Le stand c&#8217;est idéal mais il est aussi possible de trouver ceux que l&#8217;on cherche en envoyant un mail aux organisateurs (contact@bargento.fr) et nous pourrons vous mettre en contact avant ou après le Bargento ou même organiser une rencontre sur place. <span style="text-decoration: underline;">Attention, ce service n&#8217;est que pour les clients finaux, possesseurs de sites. Inutile de demander la liste  des clients finaux aux organisateurs, nous ne la donnons pas, à vous de les trouver.</span></p>
<p style="text-align: justify;">Comme lors de Bargento 3, vous pourrez avoir accès à une salle de négociation pour discuter en privé ou signer des contrats.</p>
<p style="text-align: justify;">
<p><strong>Nouveaux amis et membres de la famille Bargento </strong></p>
<p style="text-align: justify;"><big> </big></p>
<p style="text-align: justify;">Hitomi  Studio, Stéphane &amp; Romain. Pas vraiment nouveaux puisqu&#8217;ils sont là depuis le premier mais ils nous aident en diffusant l&#8217;information sur leur excellent blog www.simpleentrepreneur.com, un grand merci à eux, pour la qualité des billets et pour le coup de main.</p>
<p style="text-align: justify;">Xavier de Profileo nous aide sur le design du site Bargento.fr et pas que là puisqu&#8217;il est de longue date aussi impliqué. Merci à lui.</p>
<p style="text-align: justify;">
<p style="text-align: justify;"><big><strong>Petite modification du programme des conférences<br />
</strong></big></p>
<p>La conférence de Smile (par Frédéric de Gombert) sera intitulée &#8220;Il parait que Magento &#8230;&#8221;<br />
Ça portera sur les pièges et fausses idées que l&#8217;on rencontre souvent à propos de Magento.La dernière conférence sera connue bientôt puisque Gabriel finalise ce point.</p>
<p style="text-align: justify;">
<p style="text-align: justify;"><big><strong>Attention pour les places !<br />
</strong></big></p>
<ol>
<li>Notre communication internationale débute, ca va attirer du monde</li>
<li>Varien, enfin Magento INC, va lancer un post sur son blog US et un mailing vers 150 000 aficionados de Magento dans le monde&#8230;</li>
<li>Gabriel et moi allons diffuser l&#8217;info (flyer) lors du Developer  Paradise, ce qui va attirer des développeurs internationaux</li>
<li>Plusieurs mailings vont partir de différents sites/sources/amis de Bargento</li>
</ol>
<p>Ceci implique qu&#8217;il est fortement conseillé de prendre vos places rapidement puisque, comme d&#8217;habitude, nous n&#8217;en vendrons pas sur place.</p>
<p>De plus, nous avons besoin d&#8217;avoir les tickets des présents 3 semaines avant  Bargento (donc début mai pour celui-ci) afin de pouvoir faire imprimer  des badges nominatifs, avec un QR code (le mobile Tag) qui permet de  télécharger les cartes de visites des présents (si Nicolas Trossat s&#8217;en  tire, merci à lui).</p>
<p>Autant de raison pour ne pas oublier de prendre <a title="Billeterie Bargento 4" href="http://www.weezevent.com/bargento4">sa place sur la billetterie de Bargento 4</a>.<br />
<em>(pour mémoire, Bargento 2 et 3 se sont tenus à guichet fermés)</em></p>
<p><em> </em></p>
<p><big><strong>Ils nous rejoignent dans la danse pour Bargento 4</strong></big></p>
<ul>
<li>IM Boutique qui monte en puissance !</li>
<li>PayPal, je suppose que vous connaissez ! En plus de leur conférence,  vous pourrez les rejoindre sur leur stand</li>
<li>SQLI, j&#8217;avais oublié de les ajouter au panneau de sponsors, c&#8217;est  maintenant choses faite</li>
<li>Nessby,  un petit nouveau, qui va nous montrer ce qu&#8217;il sait faire !</li>
</ul>
<p style="text-align: center;">Voici donc le nouveau panneau des sponsors, merci à eux tous :<br />
<img class="aligncenter" src="http://www.bargento.fr/wp-content/uploads/image/panneau-des-sponsors2.jpg" alt="" /></p>



Partager cet article :


	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.wikigento.com%2Fbargento%2Fbargento-4-des-nouvelles-du-front%2F&amp;title=Bargento%204%20%3A%20des%20nouvelles%20du%20front%20%21&amp;bodytext=Fevad%0D%0AEn%20premier%20lieu%2C%20je%20suis%20tr%C3%A8s%20heureux%20de%20vous%20annoncer%20que%20la%20FEVAD%20%28F%C3%A9d%C3%A9ration%20du%20E-commerce%20et%20de%20la%20vente%20%C3%A0%20distance%29%20soutient%20Bargento%204%20%21%20Cette%20f%C3%A9d%C3%A9ration%20est%20l%27une%20des%20plus%20influente%20sur%20Internet%20en%20ce%20qui%20concerne%20le%20E-commerce%20et" title="Digg"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fwww.wikigento.com%2Fbargento%2Fbargento-4-des-nouvelles-du-front%2F&amp;title=Bargento%204%20%3A%20des%20nouvelles%20du%20front%20%21&amp;notes=Fevad%0D%0AEn%20premier%20lieu%2C%20je%20suis%20tr%C3%A8s%20heureux%20de%20vous%20annoncer%20que%20la%20FEVAD%20%28F%C3%A9d%C3%A9ration%20du%20E-commerce%20et%20de%20la%20vente%20%C3%A0%20distance%29%20soutient%20Bargento%204%20%21%20Cette%20f%C3%A9d%C3%A9ration%20est%20l%27une%20des%20plus%20influente%20sur%20Internet%20en%20ce%20qui%20concerne%20le%20E-commerce%20et" title="del.icio.us"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.wikigento.com%2Fbargento%2Fbargento-4-des-nouvelles-du-front%2F&amp;t=Bargento%204%20%3A%20des%20nouvelles%20du%20front%20%21" title="Facebook"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.wikigento.com%2Fbargento%2Fbargento-4-des-nouvelles-du-front%2F&amp;title=Bargento%204%20%3A%20des%20nouvelles%20du%20front%20%21&amp;annotation=Fevad%0D%0AEn%20premier%20lieu%2C%20je%20suis%20tr%C3%A8s%20heureux%20de%20vous%20annoncer%20que%20la%20FEVAD%20%28F%C3%A9d%C3%A9ration%20du%20E-commerce%20et%20de%20la%20vente%20%C3%A0%20distance%29%20soutient%20Bargento%204%20%21%20Cette%20f%C3%A9d%C3%A9ration%20est%20l%27une%20des%20plus%20influente%20sur%20Internet%20en%20ce%20qui%20concerne%20le%20E-commerce%20et" title="Google Bookmarks"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://slashdot.org/bookmark.pl?title=Bargento%204%20%3A%20des%20nouvelles%20du%20front%20%21&amp;url=http%3A%2F%2Fwww.wikigento.com%2Fbargento%2Fbargento-4-des-nouvelles-du-front%2F" title="Slashdot"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikio.fr/vote?url=http%3A%2F%2Fwww.wikigento.com%2Fbargento%2Fbargento-4-des-nouvelles-du-front%2F" title="Wikio FR"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/wikio.png" title="Wikio FR" alt="Wikio FR" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="mailto:?subject=Bargento%204%20%3A%20des%20nouvelles%20du%20front%20%21&amp;body=http%3A%2F%2Fwww.wikigento.com%2Fbargento%2Fbargento-4-des-nouvelles-du-front%2F" title="email"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.wikigento.com%2Fbargento%2Fbargento-4-des-nouvelles-du-front%2F&amp;title=Bargento%204%20%3A%20des%20nouvelles%20du%20front%20%21&amp;source=Communaut%C3%A9+Magento+francophone+Optimisation+de+sites+E-commerce&amp;summary=Fevad%0D%0AEn%20premier%20lieu%2C%20je%20suis%20tr%C3%A8s%20heureux%20de%20vous%20annoncer%20que%20la%20FEVAD%20%28F%C3%A9d%C3%A9ration%20du%20E-commerce%20et%20de%20la%20vente%20%C3%A0%20distance%29%20soutient%20Bargento%204%20%21%20Cette%20f%C3%A9d%C3%A9ration%20est%20l%27une%20des%20plus%20influente%20sur%20Internet%20en%20ce%20qui%20concerne%20le%20E-commerce%20et" title="LinkedIn"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fwww.wikigento.com%2Fbargento%2Fbargento-4-des-nouvelles-du-front%2F&amp;title=Bargento%204%20%3A%20des%20nouvelles%20du%20front%20%21" title="Live"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fwww.wikigento.com%2Fbargento%2Fbargento-4-des-nouvelles-du-front%2F&amp;t=Bargento%204%20%3A%20des%20nouvelles%20du%20front%20%21" title="MySpace"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.wikigento.com%2Fbargento%2Fbargento-4-des-nouvelles-du-front%2F" title="Technorati"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://blogmarks.net/my/new.php?mini=1&amp;simple=1&amp;url=http%3A%2F%2Fwww.wikigento.com%2Fbargento%2Fbargento-4-des-nouvelles-du-front%2F&amp;title=Bargento%204%20%3A%20des%20nouvelles%20du%20front%20%21" title="blogmarks"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/blogmarks.png" title="blogmarks" alt="blogmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fwww.wikigento.com%2Fbargento%2Fbargento-4-des-nouvelles-du-front%2F&amp;partner=sociable" title="Print"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikigento.com/feed/" title="RSS"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://twitter.com/home?status=Bargento%204%20%3A%20des%20nouvelles%20du%20front%20%21%20-%20http%3A%2F%2Fwww.wikigento.com%2Fbargento%2Fbargento-4-des-nouvelles-du-front%2F" title="Twitter"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.viadeo.com/shareit/share/?url=http%3A%2F%2Fwww.wikigento.com%2Fbargento%2Fbargento-4-des-nouvelles-du-front%2F&title=Bargento%204%20%3A%20des%20nouvelles%20du%20front%20%21&urllanguage=fr" title="viadeo FR"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/viadeo.png" title="viadeo FR" alt="viadeo FR" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikio.com/vote?url=http%3A%2F%2Fwww.wikigento.com%2Fbargento%2Fbargento-4-des-nouvelles-du-front%2F" title="Wikio"><img src="http://www.wikigento.com/wp-content/plugins/sociable/images/wikio.png" title="Wikio" alt="Wikio" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.wikigento.com/bargento/bargento-4-des-nouvelles-du-front/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
