<?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 : Nuage de tag avec Ruby On Rails : acts_as_taggable</title>
	<atom:link href="http://www.stoneageblog.com/articles/2007/06/03/nuage-de-tag-avec-ruby-on-rails-acts_as_taggable/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.stoneageblog.com/articles/2007/06/03/nuage-de-tag-avec-ruby-on-rails-acts_as_taggable/</link>
	<description>Le blog [de l'âge] de Pierre</description>
	<pubDate>Thu, 18 Mar 2010 11:24:18 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Par : Stoneageblog.com &#187; RubyOnRails et l&#8217;api GoogleMaps</title>
		<link>http://www.stoneageblog.com/articles/2007/06/03/nuage-de-tag-avec-ruby-on-rails-acts_as_taggable/comment-page-1/#comment-17411</link>
		<dc:creator>Stoneageblog.com &#187; RubyOnRails et l&#8217;api GoogleMaps</dc:creator>
		<pubDate>Tue, 11 Dec 2007 22:49:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.stoneageblog.com/articles/2007/06/03/nuage-de-tag-avec-ruby-on-rails-acts_as_taggable/#comment-17411</guid>
		<description>[...] Il y a quelques mois j&#8217;ai publié un long article présentant la création d&#8217;une application Rails depuis la première ligne de code jusqu&#8217;à son hébergement sur internet. Quelques temps plus tard je publiai un &#8220;addon&#8221; à cet article présentant l&#8217;ajout d&#8217;un système de nuage de tags et nous voilà aujourd&#8217;hui avec un nouvel ajout afin d&#8217;apprendre à manipuler les fameuses cartes de Google en toute simplicité&#8230; [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] Il y a quelques mois j&#8217;ai publié un long article présentant la création d&#8217;une application Rails depuis la première ligne de code jusqu&#8217;à son hébergement sur internet. Quelques temps plus tard je publiai un &#8220;addon&#8221; à cet article présentant l&#8217;ajout d&#8217;un système de nuage de tags et nous voilà aujourd&#8217;hui avec un nouvel ajout afin d&#8217;apprendre à manipuler les fameuses cartes de Google en toute simplicité&#8230; [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Shoghi</title>
		<link>http://www.stoneageblog.com/articles/2007/06/03/nuage-de-tag-avec-ruby-on-rails-acts_as_taggable/comment-page-1/#comment-16022</link>
		<dc:creator>Shoghi</dc:creator>
		<pubDate>Sun, 25 Nov 2007 18:02:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.stoneageblog.com/articles/2007/06/03/nuage-de-tag-avec-ruby-on-rails-acts_as_taggable/#comment-16022</guid>
		<description>Super!! comme le premier.</description>
		<content:encoded><![CDATA[<p>Super!! comme le premier.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : SoliSoft.net &#187; Blog Archive &#187; acts_as_taggable_on_steroids et will_paginate</title>
		<link>http://www.stoneageblog.com/articles/2007/06/03/nuage-de-tag-avec-ruby-on-rails-acts_as_taggable/comment-page-1/#comment-15064</link>
		<dc:creator>SoliSoft.net &#187; Blog Archive &#187; acts_as_taggable_on_steroids et will_paginate</dc:creator>
		<pubDate>Thu, 15 Nov 2007 17:16:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.stoneageblog.com/articles/2007/06/03/nuage-de-tag-avec-ruby-on-rails-acts_as_taggable/#comment-15064</guid>
		<description>[...] Vous trouverez sur le site de Stoneage un tutoriel pour installer acts\_as\_taggable\_on\_steroids. [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] Vous trouverez sur le site de Stoneage un tutoriel pour installer acts&#95;as&#95;taggable&#95;on&#95;steroids. [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Pierre Rigal</title>
		<link>http://www.stoneageblog.com/articles/2007/06/03/nuage-de-tag-avec-ruby-on-rails-acts_as_taggable/comment-page-1/#comment-9978</link>
		<dc:creator>Pierre Rigal</dc:creator>
		<pubDate>Mon, 24 Sep 2007 11:20:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.stoneageblog.com/articles/2007/06/03/nuage-de-tag-avec-ruby-on-rails-acts_as_taggable/#comment-9978</guid>
		<description>Merci pour ces précisions ! _Le tuto GoogleMaps est dans mes brouillons Wordpress... in progress_ ;)</description>
		<content:encoded><![CDATA[<p>Merci pour ces précisions ! <em>Le tuto GoogleMaps est dans mes brouillons Wordpress&#8230; in progress</em> <img src='http://www.stoneageblog.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : gdufloux</title>
		<link>http://www.stoneageblog.com/articles/2007/06/03/nuage-de-tag-avec-ruby-on-rails-acts_as_taggable/comment-page-1/#comment-9962</link>
		<dc:creator>gdufloux</dc:creator>
		<pubDate>Mon, 24 Sep 2007 07:26:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.stoneageblog.com/articles/2007/06/03/nuage-de-tag-avec-ruby-on-rails-acts_as_taggable/#comment-9962</guid>
		<description>Merci pour le tuto, c'est trés clair ;)

Quelques remarques (perfectionnistes) sur la performance, suite à la lecture et l'utilisation de [acts\_as\_taggable\_on\_steroids](http://agilewebdevelopment.com/plugins/acts_as_taggable_on_steroids)   :

**1. Ajouter les index à la migration**

Voir le acts\_as\_taggable\_migration généré par le plugin

    add_index :taggings, :tag_id
    add_index :taggings, [:taggable_id, :taggable_type]

**2. Optimiser le calcul d'occurence des tags**

On calcule t.count.to\_i une seule fois si possible, et un *if-elsif* évite ici le test de deux conditions exclusives. Un petit *1000.times do* sert à comprendre la situation lorsqu'il y a beaucoup de tag ;)

    # 1000.times do 
    tags.each { &#124;t&#124; 
        count = t.count.to_i
        if count &#62; max 
            max = count
        elsif count &#60; min 
            min = count
        end
    }
    # end

**2bis. Ou bien utiliser un cache...**

Un petit migrate pour ajouter un champ de cache en base : 

    add_column :cds, :cached_tag_list, :string
    
Puis mettre à jour le cache dans cd_controller.rb lors de create et update :

    @cd.save_cached_tag_list

**ps:** vivement le tuto sur maps !</description>
		<content:encoded><![CDATA[<p>Merci pour le tuto, c&#8217;est trés clair <img src='http://www.stoneageblog.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>

<p>Quelques remarques (perfectionnistes) sur la performance, suite à la lecture et l&#8217;utilisation de <a href="http://agilewebdevelopment.com/plugins/acts_as_taggable_on_steroids" onclick="javascript:pageTracker._trackPageview('/outbound/comment/agilewebdevelopment.com');">acts&#95;as&#95;taggable&#95;on&#95;steroids</a>   :</p>

<p><strong>1. Ajouter les index à la migration</strong></p>

<p>Voir le acts&#95;as&#95;taggable&#95;migration généré par le plugin</p>

<pre><code>add_index :taggings, :tag_id
add_index :taggings, [:taggable_id, :taggable_type]
</code></pre>

<p><strong>2. Optimiser le calcul d&#8217;occurence des tags</strong></p>

<p>On calcule t.count.to&#95;i une seule fois si possible, et un <em>if-elsif</em> évite ici le test de deux conditions exclusives. Un petit <em>1000.times do</em> sert à comprendre la situation lorsqu&#8217;il y a beaucoup de tag <img src='http://www.stoneageblog.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>

<pre><code># 1000.times do 
tags.each { |t| 
    count = t.count.to_i
    if count &amp;gt; max 
        max = count
    elsif count &amp;lt; min 
        min = count
    end
}
# end
</code></pre>

<p><strong>2bis. Ou bien utiliser un cache&#8230;</strong></p>

<p>Un petit migrate pour ajouter un champ de cache en base : </p>

<pre><code>add_column :cds, :cached_tag_list, :string
</code></pre>

<p>Puis mettre à jour le cache dans cd_controller.rb lors de create et update :</p>

<pre><code>@cd.save_cached_tag_list
</code></pre>

<p><strong>ps:</strong> vivement le tuto sur maps !</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Tyna</title>
		<link>http://www.stoneageblog.com/articles/2007/06/03/nuage-de-tag-avec-ruby-on-rails-acts_as_taggable/comment-page-1/#comment-8961</link>
		<dc:creator>Tyna</dc:creator>
		<pubDate>Mon, 10 Sep 2007 19:04:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.stoneageblog.com/articles/2007/06/03/nuage-de-tag-avec-ruby-on-rails-acts_as_taggable/#comment-8961</guid>
		<description>Man you don't even know how long I've waited for this since disabling my own Movable Type widget (that doesn't work since Haloscan bypasses that code).

THANK YOU!</description>
		<content:encoded><![CDATA[<p>Man you don&#8217;t even know how long I&#8217;ve waited for this since disabling my own Movable Type widget (that doesn&#8217;t work since Haloscan bypasses that code).</p>

<p>THANK YOU!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Pierre</title>
		<link>http://www.stoneageblog.com/articles/2007/06/03/nuage-de-tag-avec-ruby-on-rails-acts_as_taggable/comment-page-1/#comment-6194</link>
		<dc:creator>Pierre</dc:creator>
		<pubDate>Sun, 29 Jul 2007 20:55:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.stoneageblog.com/articles/2007/06/03/nuage-de-tag-avec-ruby-on-rails-acts_as_taggable/#comment-6194</guid>
		<description>C'est vrai, merci beaucoup pour vos articles Pierre !</description>
		<content:encoded><![CDATA[<p>C&#8217;est vrai, merci beaucoup pour vos articles Pierre !</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Pierre Rigal</title>
		<link>http://www.stoneageblog.com/articles/2007/06/03/nuage-de-tag-avec-ruby-on-rails-acts_as_taggable/comment-page-1/#comment-5519</link>
		<dc:creator>Pierre Rigal</dc:creator>
		<pubDate>Fri, 29 Jun 2007 17:35:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.stoneageblog.com/articles/2007/06/03/nuage-de-tag-avec-ruby-on-rails-acts_as_taggable/#comment-5519</guid>
		<description>Message reçu ;)

J'en ai un en préparation sur GoogleMaps et Rails...</description>
		<content:encoded><![CDATA[<p>Message reçu <img src='http://www.stoneageblog.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>

<p>J&#8217;en ai un en préparation sur GoogleMaps et Rails&#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>
