<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Commentaires sur : Optimiser les URL pour le référencement</title>
	<atom:link href="http://www.formation-cakephp.com/127/optimiser-suffixes-url-rewriting-referencement/feed" rel="self" type="application/rss+xml" />
	<link>http://www.formation-cakephp.com/127/optimiser-suffixes-url-rewriting-referencement</link>
	<description>Le cadre de développement PHP et son utilisation au jour le jour.</description>
	<lastBuildDate>Tue, 09 Mar 2010 14:15:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Par : Matthieu Sadouni</title>
		<link>http://www.formation-cakephp.com/127/optimiser-suffixes-url-rewriting-referencement/comment-page-1#comment-3252</link>
		<dc:creator>Matthieu Sadouni</dc:creator>
		<pubDate>Wed, 22 Jul 2009 07:41:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.formation-cakephp.com/?p=127#comment-3252</guid>
		<description>&lt;p&gt;Il y a eu des modifications dans Cake depuis l&#039;écriture de l&#039;article, pour avoir les paramètres passés à la fonction il faut utiliser la clé &#039;pass&#039; dans la définition de la route :&lt;/p&gt;

&lt;p&gt;http://book.cakephp.org/fr/view/543/Passing-parameters-to-action&lt;/p&gt;

&lt;p&gt;On peut d&#039;ailleurs utiliser la définition proposée dans le book pour rendre le slug optionnel :&lt;/p&gt;

&lt;pre lang=&quot;php&quot;&gt;
Router::connect(
    &#039;/actualites/:id/:slug&#039;,
    array(&#039;controller&#039; =&gt; &#039;articles&#039;, &#039;action&#039; =&gt; &#039;view&#039;),
    array(
        &#039;pass&#039; =&gt; array(&#039;id&#039;, &#039;slug&#039;),
        &#039;id&#039; =&gt; &#039;[0-9]+&#039;));
&lt;/pre&gt;

&lt;p&gt;Cela permet d&#039;utiliser des url courtes comme /articles/1 qui seront redirigées en 301 sur la bonne url.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Il y a eu des modifications dans Cake depuis l&#8217;écriture de l&#8217;article, pour avoir les paramètres passés à la fonction il faut utiliser la clé &#8216;pass&#8217; dans la définition de la route :</p>

<p><a href="http://book.cakephp.org/fr/view/543/Passing-parameters-to-action" rel="nofollow">http://book.cakephp.org/fr/view/543/Passing-parameters-to-action</a></p>

<p>On peut d&#8217;ailleurs utiliser la définition proposée dans le book pour rendre le slug optionnel :</p>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">Router<span style="color: #339933;">::</span><span style="color: #004000;">connect</span><span style="color: #009900;">&#40;</span>
    <span style="color: #0000ff;">'/actualites/:id/:slug'</span><span style="color: #339933;">,</span>
    <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'controller'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'articles'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'action'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'view'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
    <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
        <span style="color: #0000ff;">'pass'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'id'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'slug'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'id'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'[0-9]+'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>




<p>Cela permet d&#8217;utiliser des url courtes comme /articles/1 qui seront redirigées en 301 sur la bonne url.</p>]]></content:encoded>
	</item>
	<item>
		<title>Par : Nicolas</title>
		<link>http://www.formation-cakephp.com/127/optimiser-suffixes-url-rewriting-referencement/comment-page-1#comment-2900</link>
		<dc:creator>Nicolas</dc:creator>
		<pubDate>Wed, 13 May 2009 21:19:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.formation-cakephp.com/?p=127#comment-2900</guid>
		<description>&lt;p&gt;En utilisant l&#039;exemple tel que montré ici, les valeurs d&#039;id et de suffixe dans l&#039;action view étaient toujours vide.&lt;/p&gt;

&lt;p&gt;En cherchant j&#039;ai trouvé la solution à mon problème, suffit d&#039;ajouter ceci au début de l&#039;action:&lt;/p&gt;

&lt;pre lang=&quot;php&quot;&gt;function view($id=null, $suffixe=&#039;&#039;) {
    $id = $this-&gt;params[&#039;id&#039;];
    $suffixe = $this-&gt;params[&#039;suffixe&#039;];
    ...
}&lt;/pre&gt;
</description>
		<content:encoded><![CDATA[<p>En utilisant l&#8217;exemple tel que montré ici, les valeurs d&#8217;id et de suffixe dans l&#8217;action view étaient toujours vide.</p>

<p>En cherchant j&#8217;ai trouvé la solution à mon problème, suffit d&#8217;ajouter ceci au début de l&#8217;action:</p>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> view<span style="color: #009900;">&#40;</span><span style="color: #000088;">$id</span><span style="color: #339933;">=</span><span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #000088;">$suffixe</span><span style="color: #339933;">=</span><span style="color: #0000ff;">''</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$id</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">params</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'id'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$suffixe</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">params</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'suffixe'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
    <span style="color: #339933;">...</span>
<span style="color: #009900;">&#125;</span></pre></div></div>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Pierre-Emmanuel Fringant</title>
		<link>http://www.formation-cakephp.com/127/optimiser-suffixes-url-rewriting-referencement/comment-page-1#comment-1424</link>
		<dc:creator>Pierre-Emmanuel Fringant</dc:creator>
		<pubDate>Mon, 12 Jan 2009 07:47:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.formation-cakephp.com/?p=127#comment-1424</guid>
		<description>&lt;p&gt;Avant l&#039;appel à &lt;code&gt;$paginator-&gt;numbers();&lt;/code&gt;, tu dois passer les paramètres de l&#039;url au paginator en faisant ceci :
&lt;pre lang=&quot;php&quot;&gt;$paginator-&gt;options(array(&#039;url&#039; =&gt; $this-&gt;passedArgs));&lt;/pre&gt;
D&#039;autre part, je te conseille d&#039;enlever les accents des url, c&#039;est quand même plus lisible.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Avant l&#8217;appel à <code>$paginator->numbers();</code>, tu dois passer les paramètres de l&#8217;url au paginator en faisant ceci :

</p>
<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$paginator</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'url'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">passedArgs</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>



D&#8217;autre part, je te conseille d&#8217;enlever les accents des url, c&#8217;est quand même plus lisible.]]></content:encoded>
	</item>
	<item>
		<title>Par : Luc</title>
		<link>http://www.formation-cakephp.com/127/optimiser-suffixes-url-rewriting-referencement/comment-page-1#comment-1423</link>
		<dc:creator>Luc</dc:creator>
		<pubDate>Mon, 12 Jan 2009 07:29:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.formation-cakephp.com/?p=127#comment-1423</guid>
		<description>&lt;p&gt;Salut,&lt;/p&gt;

&lt;p&gt;Belle utilisation de Router...&lt;/p&gt;

&lt;p&gt;Par contre, je n&#039;arrive pas à utiliser le Helper paginator avec.
Mon URL est Séries/1/Un&lt;em&gt;titre
Mais les séries ont des épisodes donc je fais un paginate sur les épisods de la série.
Et en bas de ma page quand je mets
$paginator-&gt;numbers() je me retrouve avec des URL du type series/view/page:xx
Donc perte de l&#039;id et du titre de la série et donc pas Série/1/Un&lt;/em&gt;titre/page:2&lt;/p&gt;

&lt;p&gt;ps : les accents ça passe ;), mais il faut les remplacer par leur équivalent dans le router.
ex : Série =&gt; S%C3%A9rie (dans routes.php)&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Salut,</p>

<p>Belle utilisation de Router&#8230;</p>

<p>Par contre, je n&#8217;arrive pas à utiliser le Helper paginator avec.
Mon URL est Séries/1/Un<em>titre
Mais les séries ont des épisodes donc je fais un paginate sur les épisods de la série.
Et en bas de ma page quand je mets
$paginator-&gt;numbers() je me retrouve avec des URL du type series/view/page:xx
Donc perte de l&#8217;id et du titre de la série et donc pas Série/1/Un</em>titre/page:2</p>

<p>ps : les accents ça passe <img src='http://www.formation-cakephp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> , mais il faut les remplacer par leur équivalent dans le router.
ex : Série =&gt; S%C3%A9rie (dans routes.php)</p>]]></content:encoded>
	</item>
	<item>
		<title>Par : Guillaume</title>
		<link>http://www.formation-cakephp.com/127/optimiser-suffixes-url-rewriting-referencement/comment-page-1#comment-1324</link>
		<dc:creator>Guillaume</dc:creator>
		<pubDate>Wed, 19 Nov 2008 15:13:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.formation-cakephp.com/?p=127#comment-1324</guid>
		<description>&lt;p&gt;Au passage, la méthode Inflector::slug est beaucoup plus limitée en matière de conversion de caractères exotiques que celle présente dans le SluggableBehavior (qui me semble fortement empruntée à Wordpress, d&#039;ailleurs... sinon il y a aussi la méthode d&#039;un collègue : http://pwet.fr/blog/generer&lt;em&gt;des&lt;/em&gt;url&lt;em&gt;significatives&lt;/em&gt;en&lt;em&gt;php).
Autre chose, concernant les id : outre les raisons données par Kalt, il y a celle que j&#039;évoquais dans mon article (là : http://cherryonthe.popnews.com/2008/03/15/basic-seo-and-cakephp-part-1/) sur le sujet, à savoir le référencement sur Google News (ok, c&#039;est un besoin assez spécifique, pas nécessairement applicable à un blog) :
http://www.google.com/support/news&lt;/em&gt;pub/bin/answer.py?answer=68323&amp;topic=11665&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Au passage, la méthode Inflector::slug est beaucoup plus limitée en matière de conversion de caractères exotiques que celle présente dans le SluggableBehavior (qui me semble fortement empruntée à Wordpress, d&#8217;ailleurs&#8230; sinon il y a aussi la méthode d&#8217;un collègue : <a href="http://pwet.fr/blog/generer" rel="nofollow">http://pwet.fr/blog/generer</a><em>des</em>url<em>significatives</em>en<em>php).
Autre chose, concernant les id : outre les raisons données par Kalt, il y a celle que j&#8217;évoquais dans mon article (là : <a href="http://cherryonthe.popnews.com/2008/03/15/basic-seo-and-cakephp-part-1/)" rel="nofollow">http://cherryonthe.popnews.com/2008/03/15/basic-seo-and-cakephp-part-1/)</a> sur le sujet, à savoir le référencement sur Google News (ok, c&#8217;est un besoin assez spécifique, pas nécessairement applicable à un blog) :
<a href="http://www.google.com/support/news" rel="nofollow">http://www.google.com/support/news</a></em>pub/bin/answer.py?answer=68323&amp;topic=11665</p>]]></content:encoded>
	</item>
	<item>
		<title>Par : Pierre-Emmanuel Fringant</title>
		<link>http://www.formation-cakephp.com/127/optimiser-suffixes-url-rewriting-referencement/comment-page-1#comment-1283</link>
		<dc:creator>Pierre-Emmanuel Fringant</dc:creator>
		<pubDate>Fri, 24 Oct 2008 06:33:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.formation-cakephp.com/?p=127#comment-1283</guid>
		<description>&lt;p&gt;Je préfère garder l&#039;id au tout début de l&#039;url pour pallier à tout risque d&#039;URL tronquée. Si celle-ci ne comporte que le suffixe, on arrive directement sur une 404. En ayant l&#039;id au début, même si l&#039;URL est incomplète, on peut retrouver le bon enregistrement.&lt;/p&gt;

&lt;p&gt;Aucun souci pour utiliser l&#039;excellent SlugBehavior, qui donne la possibilité de contrôler plus finement le suffixe lui-même, par exemple en permettant de le modifier dans le formulaire d&#039;édition de l&#039;enregistrement, ce que ne permet pas ma méthode &quot;rapide&quot;.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Je préfère garder l&#8217;id au tout début de l&#8217;url pour pallier à tout risque d&#8217;URL tronquée. Si celle-ci ne comporte que le suffixe, on arrive directement sur une 404. En ayant l&#8217;id au début, même si l&#8217;URL est incomplète, on peut retrouver le bon enregistrement.</p>

<p>Aucun souci pour utiliser l&#8217;excellent SlugBehavior, qui donne la possibilité de contrôler plus finement le suffixe lui-même, par exemple en permettant de le modifier dans le formulaire d&#8217;édition de l&#8217;enregistrement, ce que ne permet pas ma méthode &laquo;&nbsp;rapide&nbsp;&raquo;.</p>]]></content:encoded>
	</item>
	<item>
		<title>Par : Pierre MARTIN</title>
		<link>http://www.formation-cakephp.com/127/optimiser-suffixes-url-rewriting-referencement/comment-page-1#comment-1282</link>
		<dc:creator>Pierre MARTIN</dc:creator>
		<pubDate>Thu, 23 Oct 2008 22:30:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.formation-cakephp.com/?p=127#comment-1282</guid>
		<description>&lt;p&gt;Bonjour,&lt;/p&gt;

&lt;p&gt;Encore un article intéressant, cependant pourquoi garder l&#039;id de l&#039;article dans l&#039;url ?
Ne serait-ce pas plus &quot;beau&quot; et simple d&#039;utiliser une adresse de type : /article/Livre-de-recettes&lt;/p&gt;

&lt;p&gt;Il suffirait ensuite d&#039;utiliser :
$produit = $this-&gt;Produit-&gt;findBySlug($slug);&lt;/p&gt;

&lt;p&gt;Aussi, y a-t-il des problèmes à utiliser le Sluggable Behavior ? (http://bakery.cakephp.org/articles/view/slug-behavior)&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Bonjour,</p>

<p>Encore un article intéressant, cependant pourquoi garder l&#8217;id de l&#8217;article dans l&#8217;url ?
Ne serait-ce pas plus &laquo;&nbsp;beau&nbsp;&raquo; et simple d&#8217;utiliser une adresse de type : /article/Livre-de-recettes</p>

<p>Il suffirait ensuite d&#8217;utiliser :
$produit = $this-&gt;Produit-&gt;findBySlug($slug);</p>

<p>Aussi, y a-t-il des problèmes à utiliser le Sluggable Behavior ? (<a href="http://bakery.cakephp.org/articles/view/slug-behavior" rel="nofollow">http://bakery.cakephp.org/articles/view/slug-behavior</a>)</p>]]></content:encoded>
	</item>
	<item>
		<title>Par : Signets remarquables du 22/10/2008 au 23/10/2008 &#124; Cherry on the...</title>
		<link>http://www.formation-cakephp.com/127/optimiser-suffixes-url-rewriting-referencement/comment-page-1#comment-1279</link>
		<dc:creator>Signets remarquables du 22/10/2008 au 23/10/2008 &#124; Cherry on the...</dc:creator>
		<pubDate>Thu, 23 Oct 2008 08:05:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.formation-cakephp.com/?p=127#comment-1279</guid>
		<description>&lt;p&gt;[...] Optimiser les URL pour le r&#233;f&#233;rencement [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>[...] Optimiser les URL pour le r&eacute;f&eacute;rencement [...]</p>]]></content:encoded>
	</item>
</channel>
</rss>
