<?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>Grummfy&#039;s project &#187; web sémantique</title>
	<atom:link href="http://grummfy.be/blog/key/web-semantique/feed" rel="self" type="application/rss+xml" />
	<link>http://grummfy.be/blog</link>
	<description>Mes projets, mes rêves, mes envies, ...</description>
	<lastBuildDate>Mon, 02 Jan 2012 00:03:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Vitesse et référencement</title>
		<link>http://grummfy.be/blog/243#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://grummfy.be/blog/243#comments</comments>
		<pubDate>Tue, 23 Mar 2010 09:34:38 +0000</pubDate>
		<dc:creator>Grummfy</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Réflexion du jour]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[optimisation]]></category>
		<category><![CDATA[programmation]]></category>
		<category><![CDATA[référencement]]></category>
		<category><![CDATA[trucs et astuces]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[web sémantique]]></category>

		<guid isPermaLink="false">http://grummfy.be/blog/?p=243</guid>
		<description><![CDATA[La vitesse d&#8217;affichage d&#8217;une page web est actuellement, et ce depuis un certain temps, devenu importante. Surtout en ce qui concerne l&#8217;optimisation et par conséquent le référencement. Afin de gagner ces quelques millisecondes qui feront la différence, il existe plusieurs méthodes et techniques. En voici quelques-unes, avec des exemples. Diminuer le nombre de requêtes HTTP [...]]]></description>
			<content:encoded><![CDATA[<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } 		A:link { so-language: zxx } --></p>
<p>La vitesse d&#8217;affichage d&#8217;une page web est actuellement, et ce depuis un certain temps, devenu importante. Surtout en ce qui concerne l&#8217;optimisation et par conséquent le référencement. Afin de gagner ces quelques millisecondes qui feront la différence, il existe plusieurs méthodes et techniques. En voici quelques-unes, avec des exemples.</p>
<h2>Diminuer le nombre de requêtes HTTP</h2>
<p>Chaque requête HTTP au sein du fichier prend un certain temps, mais surtout bloque le chargement global de la page web. En effet, HTTP et HTML chargent les ressources au fur et à mesure que la page le demande.</p>
<p><span id="more-243"></span></p>
<p>Restreindre le nombre de fichiers, par exemple, en regroupant les css et javascript est une bonne solution. Une autre possibilité est aussi de charger l&#8217;essentiel de la page et à la fin de celle-ci, exécuter du code javascript qui sera chargé de téléverser du javascript ou encore des css.</p>
<h2>Diminuer le nombre de requêtes DNS</h2>
<p>Que dire, si ce n&#8217;est l&#8217;essentiel, une requête DNS prend du temps, et le temps est pris sur le chargement de votre page.</p>
<h2>Se rapprocher du visiteur</h2>
<p>La distance entre un serveur et un visiteur peut faire varier énormément le temps d&#8217;affichage. En effet, une information située sur un serveur a un point X du globe peut parfois faire plusieurs fois le tour de celui-ci avant d&#8217;arriver chez le visiteur Y. Tout dépends des accords entre les gestionnaires des différents réseaux, le chemin le plus économique est celui qui sera choisi<sup class='footnote'><a href='#fn-243-1' id='fnref-243-1'>1</a></sup>!!!!! En résumé, plus vous êtes proches, plus cela arrive vite.</p>
<p>Une solution peut venir de l&#8217;utilisation de <a title="Content Delivery Network" href="http://fr.wikipedia.org/wiki/Content_Delivery_Network" target="_blank">CDN</a> qui suivant la provenance de l&#8217;IP oriente le visiteur vers le serveur le plus proche.</p>
<h2>Diminuer la quantité de données envoyées</h2>
<p>Cela peut paraître bête, mais moins il y a de données, moins il faut attendre pour recevoir celle-ci. Le but n&#8217;est pas de supprimer du contenu, mais bien de faire une diète, par exemple, en optimisant le code (X)HTML, CSS, javascript, &#8230; Ceci en enlevant les espaces superflus et en compressant les données envoyées. On peut notamment citer <a href="http://javascript.crockford.com/jsmin.html" target="_blank">jsmin</a> et <a href="http://yuilibrary.com/downloads/#yuicompressor" target="_blank">YUI Compressor</a></p>
<p>Mais aussi utiliser le mode deflate et gzip de votre serveur web (Apache par exemple). Ceci fera prochainement l&#8217;objet d&#8217;un article.</p>
<h2>Utiliser le cache des navigateurs</h2>
<p>HTTP prévois un mécanisme de cache, pensez à l&#8217;utiliser. Envoyer une bonne entête HTTP sur vos fichiers afin que seul le contenu qui ai changé soit chargé par le visiteur qui revient sur votre site.</p>
<p>Parallèlement à cela, si vous utilisez des librairies ou des framework css ou javascript vous pouvez très bien utiliser un CDN tel que celui que <a href="http://code.google.com/apis/ajaxlibs/documentation/" target="_blank">Google met à votre disposition</a>. Le cache sera le même pour tous les sites qui utiliseront ce CDN et donc le gain « risque » d&#8217;être présent même si le visiteur visite votre site pour la première fois!</p>
<h2>Pour finir</h2>
<p>Et il existe au moins des dizaines d&#8217;autres techniques, c&#8217;est dire si le sujet et étendu et intéressant. Certaines, sont réalisable à l&#8217;échelle de l&#8217;individu tandis que d&#8217;autres nécessitent un investissement, parfois conséquent.</p>
<p>Le but de cet article était d&#8217;intriguer et de vous pousser à aller plus loin. Un web plus rapide est l&#8217;affaire de tous et est bénéfique pour tous : le visiteur, le webmaster, le référencement du site, les FAI (qui paierons moins de bande passante), les hébergeurs, la planète (ben oui, un web optimiser = un web qui consomme moins!), &#8230;</p>
<div class='footnotes'>
<div class='footnotedivider'></div>
<ol>
<li id='fn-243-1'>L&#8217;écologie au niveau d&#8217;internet ce n&#8217;est donc pas ça! Imaginez la consommation de tous ces routeurs et switchs. <span class='footnotereverse'><a href='#fnref-243-1'>&#8617;</a></span></li>
</ol>
</div>
<p><a class="a2a_button_delicious" href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F243&amp;linkname=Vitesse%20et%20r%C3%A9f%C3%A9rencement" title="Delicious" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a><a class="a2a_button_technorati_favorites" href="http://www.addtoany.com/add_to/technorati_favorites?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F243&amp;linkname=Vitesse%20et%20r%C3%A9f%C3%A9rencement" title="Technorati Favorites" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/technorati.png" width="16" height="16" alt="Technorati Favorites"/></a><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F243&amp;linkname=Vitesse%20et%20r%C3%A9f%C3%A9rencement" title="Twitter" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_facebook" href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F243&amp;linkname=Vitesse%20et%20r%C3%A9f%C3%A9rencement" title="Facebook" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a><a class="a2a_button_google_bookmarks" href="http://www.addtoany.com/add_to/google_bookmarks?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F243&amp;linkname=Vitesse%20et%20r%C3%A9f%C3%A9rencement" title="Google Bookmarks" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/google.png" width="16" height="16" alt="Google Bookmarks"/></a><a class="a2a_button_netvibes_share" href="http://www.addtoany.com/add_to/netvibes_share?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F243&amp;linkname=Vitesse%20et%20r%C3%A9f%C3%A9rencement" title="Netvibes Share" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/netvibes.png" width="16" height="16" alt="Netvibes Share"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fgrummfy.be%2Fblog%2F243&amp;title=Vitesse%20et%20r%C3%A9f%C3%A9rencement" id="wpa2a_2"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://grummfy.be/blog/243/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ZF : comprendre le fonctionnement des urls</title>
		<link>http://grummfy.be/blog/69#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://grummfy.be/blog/69#comments</comments>
		<pubDate>Mon, 13 Aug 2007 18:01:00 +0000</pubDate>
		<dc:creator>Grummfy</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[MyWsp]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[programmation]]></category>
		<category><![CDATA[trucs et astuces]]></category>
		<category><![CDATA[tutoriel]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[web sémantique]]></category>
		<category><![CDATA[ZF]]></category>

		<guid isPermaLink="false">http://grummfy.be/blog/?p=69</guid>
		<description><![CDATA[Url de ZF et distribution des rôles aux contrôleurs Avec Zend Framework, de base le système mis en place par le contrôleur est celui-ci&#160;: url module contr&#244;lleur action param&#232;tre http://exemple.test/ default index index http://exemple.test/news default news index http://exemple.test/news/ajouter default news ajouter http://exemple.test/news/modifier/id/5 default news modifier id=5 http://exemple.test/news/modifier/?id=5 default news modifier id=5 Avec des modules perso [...]]]></description>
			<content:encoded><![CDATA[<h2>Url de ZF et distribution des rôles aux contrôleurs</h2>
<p>Avec Zend Framework, de base le système mis en place par le contrôleur est celui-ci&nbsp;:</p>
<table>
<tbody>
<tr>
<td>url</td>
<td>module</td>
<td>contr&#244;lleur</td>
<td>action</td>
<td>param&#232;tre</td>
</tr>
<tr>
<td>http://exemple.test/</td>
<td>default</td>
<td>index</td>
<td>index</td>
<td></td>
</tr>
<tr>
<td>http://exemple.test/news</td>
<td>default</td>
<td>news</td>
<td>index</td>
<td></td>
</tr>
<tr>
<td>http://exemple.test/news/ajouter</td>
<td>default</td>
<td>news</td>
<td>ajouter</td>
<td></td>
</tr>
<tr>
<td>http://exemple.test/news/modifier/id/5</td>
<td>default</td>
<td>news</td>
<td>modifier</td>
<td>id=5</td>
</tr>
<tr>
<td>http://exemple.test/news/modifier/?id=5</td>
<td>default</td>
<td>news</td>
<td>modifier</td>
<td>id=5</td>
</tr>
</tbody>
</table>
<h2>Avec des modules perso</h2>
<p>Maintenant ajoutons la gestion des modules news et livredor:</p>
<pre> $ctrl-&gt;setControllerDirectory(     array(         'news'    =&gt; '/module/news/controllers',         'livredor'    =&gt; '/livredor/ctrl'     ) ); </pre>
<table>
<tbody>
<tr>
<td>url</td>
<td>module</td>
<td>contr&#244;lleur</td>
<td>action</td>
<td>param&#232;tre</td>
</tr>
<tr>
<td>http://exemple.test/</td>
<td>default</td>
<td>index</td>
<td>index</td>
<td></td>
</tr>
<tr>
<td>http://exemple.test/news</td>
<td>news</td>
<td>index
      </td>
<td>index</td>
<td></td>
</tr>
<tr>
<td>http://exemple.test/news/ajouter</td>
<td>news</td>
<td>ajouter</td>
<td>index
      </td>
<td></td>
</tr>
<tr>
<td>http://exemple.test/news/modifier/id/5</td>
<td>news</td>
<td>modifier</td>
<td>id
      </td>
<td></td>
</tr>
<tr>
<td>http://exemple.test/news/modifier/?id=5</td>
<td>news</td>
<td>modifier</td>
<td>index</td>
<td>id=5</td>
</tr>
</tbody>
</table>
<h2>Comprendre le Zend_Controller_Router_Route</h2>
<p>ce que l&#8217;on vient de voir s&#8217;explique par ceci&nbsp;:</p>
<pre> $route = new Zend_Controller_Router_Route(     ':module/:controller/:action/*',     array('module' =&gt; 'default') ); $router-&gt;addRoute('default', $route); </pre>
<p>Ce qui correspond à l&#8217;option par défaut. De plus, ceci nous montre un exemple de paramètre par défaut, en effet à module, on attribue la valeur <q>default</q>.</p>
<p>Allons plus loin et créer nos propres routes!</p>
<h3>Route personnalisée</h3>
<p>imagions un espace membre, on désire afficher chaque profile. On pourrait imaginer quelque chose du genre&nbsp;: <q>http://exemple.test/profil/voir/id/5</q> ou encore <q>http://exemple.test/profil/voir/membre/grummfy</q> afin d&#8217;avoir le contrôleur <q>profil</q> et et l&#8217;action <q>voir</q>. Cependant ce n&#8217;est ni joli, ni pratique. Utilisons donc le Zend_Controller_Router_Route</p>
<pre> $route = new Zend_Controller_Router_Route(     'profiledemembre/:username/*',     array(         'controller' =&gt; 'profil',         'action'     =&gt; 'voir'     ) ); $router-&gt;addRoute('myProfileRoute', $route); </pre>
<p>Ce qu&#8217;on fait pour les url du type <q>http://exemple.test/profiledemembre/grummfy</q>, on assigne les valeurs suivantes&nbsp;:</p>
<pre> * controller = profil  * action = voir  * username = grummfy, ceci via les :  * et on garde la possibilité d'avoir des paramètres avec <q>*</q></pre>
<p>Dans le contrôleur profil, on fera ceci&nbsp;:</p>
<pre> &lt;?php public function voirAction() {     $request = $this-&gt;getRequest();     $username = $request-&gt;getParam('username');     // ou     $username = $this-&gt;_getParam('username'); } </pre>
<h2>Aller plus loin</h2>
<p>Le <a href="http://framework.zend.com/manual/fr/zend.controller.router.html">manuel de Zend</a> vous enseignera comment faire des url avec expression régulière ou encore des rotue static, et bien plus! Mais aussi cette autre page&nbsp;: <a href="http://framework.zend.com/manual/fr/zend.controller.modular.html" title="http://framework.zend.com/manual/fr/zend.controller.modular.html">http://framework.zend.com/manual/fr&#8230;</a></p>
<p><a class="a2a_button_delicious" href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F69&amp;linkname=ZF%20%3A%20comprendre%20le%20fonctionnement%20des%20urls" title="Delicious" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a><a class="a2a_button_technorati_favorites" href="http://www.addtoany.com/add_to/technorati_favorites?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F69&amp;linkname=ZF%20%3A%20comprendre%20le%20fonctionnement%20des%20urls" title="Technorati Favorites" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/technorati.png" width="16" height="16" alt="Technorati Favorites"/></a><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F69&amp;linkname=ZF%20%3A%20comprendre%20le%20fonctionnement%20des%20urls" title="Twitter" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_facebook" href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F69&amp;linkname=ZF%20%3A%20comprendre%20le%20fonctionnement%20des%20urls" title="Facebook" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a><a class="a2a_button_google_bookmarks" href="http://www.addtoany.com/add_to/google_bookmarks?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F69&amp;linkname=ZF%20%3A%20comprendre%20le%20fonctionnement%20des%20urls" title="Google Bookmarks" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/google.png" width="16" height="16" alt="Google Bookmarks"/></a><a class="a2a_button_netvibes_share" href="http://www.addtoany.com/add_to/netvibes_share?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F69&amp;linkname=ZF%20%3A%20comprendre%20le%20fonctionnement%20des%20urls" title="Netvibes Share" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/netvibes.png" width="16" height="16" alt="Netvibes Share"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fgrummfy.be%2Fblog%2F69&amp;title=ZF%20%3A%20comprendre%20le%20fonctionnement%20des%20urls" id="wpa2a_4"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://grummfy.be/blog/69/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FeedBurner me voila</title>
		<link>http://grummfy.be/blog/34#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://grummfy.be/blog/34#comments</comments>
		<pubDate>Sun, 10 Jun 2007 01:31:00 +0000</pubDate>
		<dc:creator>Grummfy</dc:creator>
				<category><![CDATA[My comment]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[étrange]]></category>
		<category><![CDATA[sortie]]></category>
		<category><![CDATA[trucs et astuces]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[web sémantique]]></category>

		<guid isPermaLink="false">http://grummfy.be/blog/?p=34</guid>
		<description><![CDATA[<p>Hello, voila pour ceux qui me suivent par flux rss ou atom, je leur propose, afin que j'ai quelques statistiques, de passer par <a href="http://www.feedburner.com/" hreflang="en">feedburder</a>.</p>]]></description>
			<content:encoded><![CDATA[<p>Hello, voila pour ceux qui me suivent par flux rss ou atom, je leur propose, afin que j&#8217;ai quelques statistiques, de passer par <a href="http://www.feedburner.com/" hreflang="en">feedburder</a>.</p>
<p><span id="more-34"></span></p>
<h3>Pourquoi passer par feedburner?</h3>
<p>Tout simplement car cela permet de se faire une idée des statistiques de visites, parce que cela économise ma bande passante et pour d&#8217;autres raison.</p>
<p>Voici les liens&nbsp;:</p>
<ul>
<li><a href="http://feeds.feedburner.com/GrummfysProject/">Billets</a></li>
<li>Commentaires</li>
</ul>
<p>Merci</p>
<p>a+</p>
]]></content:encoded>
			<wfw:commentRss>http://grummfy.be/blog/34/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Présentation blog et planet n°2</title>
		<link>http://grummfy.be/blog/21#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://grummfy.be/blog/21#comments</comments>
		<pubDate>Tue, 10 Apr 2007 23:31:00 +0000</pubDate>
		<dc:creator>Grummfy</dc:creator>
				<category><![CDATA[Présentation]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[web sémantique]]></category>

		<guid isPermaLink="false">http://grummfy.be/blog/?p=21</guid>
		<description><![CDATA[<p>Comme dit <a href="http://www.grummfy.be/blog/index.php/post/2007/03/18/Presentation-blog-et-planet">[précédemment</a>], je vais vous présenter une série de blog et de planet que je garde dans mon agrégateur rss. Donc voici un autre blog.</p>]]></description>
			<content:encoded><![CDATA[<p>Comme dit <a href="http://www.grummfy.be/blog/index.php/post/2007/03/18/Presentation-blog-et-planet">[précédemment</a>], je vais vous présenter une série de blog et de planet que je garde dans mon agrégateur rss. Donc voici un autre blog.</p>
<p><span id="more-21"></span></p>
<p>Il s&#8217;agit de <a href="http://www.lacot.org">[Chez Xavier</a>], c&#8217;est plus un site qu&#8217;un blog à mon goût.</p>
<p>Je trouve ce blog-site génial!<br />
L&#8217;auteur est clair et net. Il explique super bien.<br />
On comprend ce qu&#8217;il dit.</p>
<p>Et surtout ce blog est <a href="http://www.lacot.org/au-sujet-de-ce-site">[accessible et respecte les standards</a>]!</p>
<p>On y parle web sémantique, web 2.0 , php, symphony (un framework php), et encore plein de sujet très intéressant!</p>
<p>Et pour ne rien gâché, le design est vraiment sympa!</p>
]]></content:encoded>
			<wfw:commentRss>http://grummfy.be/blog/21/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.996 seconds -->

