Chez ZeGuigui

Le blog d'un geek chasseur de licornes au clair de lune

Chez ZeGuigui
TechniqueVie du site

Flux RSS, la totale sur ZeGuigui !

RSS

Il était une fois un blogueur qui était bien tranquille avec son site perso. Il utilisait blogger.com pour mettre à jour ses pages pour éviter de les modifier à la main. Et puis, le temps faisant, d’autres personnes dans son entourage ont commencé à écrire dans des blogs. Sa maman, ses amis, sa frangine… à tel point que tout le monde écrit sur son blog et met des commentaires dans ceux des autres (voire parfois utilise des rétroliens).

Donc ce blogueur il commence à mettre tous les blogs dans ses signets. Et il surf régulièrement d’un site à l’autre pour voir s’il y a des nouveautés… pas très pratique. Heureusement Zorro est arrivé… heu… non… les flux RSS. Un flux RSS c’est quoi donc ? C’est un petit fichier qui présent sur un site web (pas forcément un blog) annonce la liste des derniers billets parus sur le site et ce dans un format bien déterminé. Avec un logiciel adapté qui charge ce petit fichier régulièrement vous êtes immédiatement informé quand un nouveau message arrive sur l’un de vos sites préférés. On appelle ce type de logiciel un "agrégateur de flux RSS".

En pratique on distingue différents types de flux RSS. On parle de RSS 0.96, RSS 1.0, RSS 2.0 et Atom. Le but de ces fichiers est strictement le même. Ce qui change c’est la façon dont c’est écrit dedans et les fonctionnalités proposées par chaque format. Atom est le plus récent de ces formats.

Alors hop le blogueur commence à faire une collection de flux dans son logiciel préféré, Thunderbird par exemple. Le blogueur est content et ça lui permet de mettre un petit commentaire sur le blog de chacun lorsque c’est nécessaire.

Et puis arrive une soirée où le blogueur croise un autre blogueur qui lui dit "t’as vu, sur le blog de Fabrice, Coralie a répondu à mon commentaire…" Heu… oui, certes… peut-être. Et c’est là que le blogueur se retrouve à nouveau à visiter les blogs individuellement et, pire, à devoir re-lire les commentaires des notes sur lesquelles il est intervenu. Bref il faut pouvoir suivre les commentaires.

Oui mais quels commentaires ? Autant sur le blog de ses amis le blogueur veut pouvoir suivre tous les commentaires (des fois que) autant sur un blog technique trouvé en surfant il peut-être intéressant de suivre les commentaires d’un seul billet. De même sur certains blogs il peut-être intéressant de suivre tous les billets autant sur d’autres il peut-être utile de ne suivre qu’une catégorie.

Et là en matière de blogs les logiciels sont inégaux. Je vais parler ici uniquement des 3 logiciels que je connais à peu près.

  • MovableType (le logiciel que j’utilise) ne propose, par défaut, qu’un flux pour les billets du site. Impossible de suivre les commentaires ou une catégorie. Cependant MovableType permet d’ajouter des modèles personnalisés et de combler ces petits manques
  • DotClear, un produit français fort sympatique, propose un flux pour les billets et un flux pour les commentaires. C’est un bon début. Un système de plugins permet probablement d’étendre ces possibilités mais je n’ai pas vérifié 🙂
  • Serendipity propose quant à lui un flux global des billets, un flux par catégorie et un flux global pour les commentaires. Il permet également, lorsqu’on pose un commentaire sur un billet, de s’abonner par email pour être prévenu des mises à jour des commentaires.

Comme on peut le voir c’est assez varié comme approche. Le flux RSS pour les commentaires d’une note je ne me souviens plus sur quelle plateforme je l’ai vu mais je sais que certains le mettent en place. Et ce billet a achevé de me convaincre 🙂

Prenant mon courage à deux mains et armé de mon ami Google je décide d’ajouter des flux RSS dans tous les sens sur mon site. Pour cela je surf un peu et je tombe rapidement sur un article expliquant comment ajouter un flux RSS pour les commentaires sur Movable Type. Et pour les catégories j’ai trouvé un autre tutorial.

Je reprend donc l’habillage proposé pour les commentaires et je le modifie à ma sauce. Je recherche ensuite comment faire de même pour Atom mais je ne trouve pas grand chose. Au passage j’applique le tutoriel d’Anders Jacobsen et roule. Mes premiers essais sont assez concluants. Pour les  flux de RSS pour les notes j’adapte tout bêtement le tutoriel d’Anders : je reprend l’habillage global des commentaires pour créer une archive par note. Et roule.

Etape ultime j’ai modifié mes index et mes fichiers d’archives pour ajouter les différents flux RSS/Atom dans les pages sur lesquelles c’est pertinent.

Pour résumer vous trouverez donc sur mon site :

  • Un flux pour l’ensemble des billets. Ce flux est proposé aux formats RSS 1.0, RSS 2.0 et Atom. On trouve le lien directement sur la page d’accueil du site.
  • Un flux pour l’ensemble des commentaires du site (RSS 2.0 et Atom), directement sur la page d’accueil du site.
  • Un flux pour chaque catégorie. Pour accéder au lien il suffit de cliquer sur la catégorie en question sur la page d’accueil. Le lien se trouve en bas de la page d’archive de la catégorie.
  • Le lien vers le flux des commentaires d’une note n’est accessible que depuis la note en question. Sur la même page les flux des catégories du billet sont déclarées dans l’entête pour que votre navigateur puisse éventuellement les détecter.

Et, cerise sur le gâteau, pour ceux qui navigent avec un butineur qui reconnait les flux déclarés dans l’entête de la page (Opéra, Firefox, le futur IE 7) une petite icône devrait apparaître qui présente les flux disponibles.

Voici les modèles que j’ai utilisé pour mon site :

Flux RSS des commentaires (type index, fichier commentaires.xml) :

<?xml version="1.0" encoding="<$MTPublishCharset$>"?>
<rss version="2.0">
<channel>
<title><$MTBlogName remove_html="1" encode_xml="1"$> - Commentaires</title>
<link><$MTBlogURL$></link>
<description>Derniers commentaires sur <$MTBlogName remove_html="1" encode_xml="1"$></description>
<language>fr-fr</language>
<lastBuildDate><MTComments lastn="1"><$MTCommentDate language="en" format="%a, %d %b %Y %H:%M:%S"$> <$MTBlogTimezone no_colon="1"$></MTComments></lastBuildDate>
<generator>http://www.movabletype.org/?v=<$MTVersion$></generator>
<docs>http://blogs.law.harvard.edu/tech/rss</docs>
<MTComments lastn="20" sort_order="descend">
<item>
<title><MTCommentEntry><$MTEntryTitle remove_html="1" encode_xml="1"$></MTCommentEntry> - <$MTCommentAuthor encode_xml="1"$></title>
<link><MTCommentEntry><$MTEntryPermalink$></MTCommentEntry>#comment-<$MTCommentID$></link>
<description><$MTCommentBody encode_html="1"$> <p>- <$MTCommentAuthorLink show_email="0" encode_html="1"$></p></description>
<guid isPermaLink="false">comment<$MTCommentID pad="1"$>@<$MTBlogURL$></guid>
<pubDate><$MTCommentDate language="en" format="%a, %d %b %Y %H:%M:%S"$> <$MTBlogTimezone no_colon="1"$></pubDate>
</item>
</MTComments>
</channel>
</rss>

Flux Atom des commentaires (type index, fichier commentaires.atom.xml) :

<?xml version="1.0" encoding="<$MTPublishCharset$>"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title><$MTBlogName remove_html="1" encode_xml="1"$> - Commentaires</title>
<id>tag:<$MTBlogHost exclude_port="1" encode_xml="1"$>,<$MTDate format="%Y"$>:<$MTBlogRelativeURL encode_xml="1"$>/comments/<$MTBlogID$></id>
<updated><MTComments lastn="1"><$MTCommentDate utc="1" format="%Y-%m-%dT%H:%M:%SZ"$></MTComments></updated>
<link rel="alternate" type="text/html" href="<$MTBlogURL encode_xml="1"$>" />
<link rel="self" type="application/atom+xml" href="<$MTBlogURL$>commentaires.atom.xml" />
<generator uri="http://www.sixapart.com/movabletype/">Movable Type <$MTVersion$></generator>
<MTComments lastn="20" sort_order="descend">
<entry>
<title><MTCommentEntry><$MTEntryTitle remove_html="1" encode_xml="1"$></MTCommentEntry></title>
<link rel="alternate" type="text/html" href="<MTCommentEntry><$MTEntryPermalink$></MTCommentEntry>#comment-<$MTCommentID$>" />
<id><MTCommentEntry><$MTEntryAtomID$>.<$MTCommentID$></MTCommentEntry></id>
<published><$MTCommentDate utc="1" format="%Y-%m-%dT%H:%M:%SZ"$></published>
<updated><$MTCommentDate utc="1" format="%Y-%m-%dT%H:%M:%SZ"$></updated>
<summary type="html"><$MTCommentBody remove_html="1" encode_xml="1" $></summary>
<author>
<name><$MTCommentAuthor encode_xml="1" $></name>
</author>
</entry>
</MTComments>
</feed>

Flux RSS 2.0 des catégories (type archive catégorie, fichier %c/index.rss.xml) :

<?xml version="1.0" encoding="<$MTPublishCharset$>"?>
<rss version="2.0">
<channel>
<title><$MTBlogName remove_html="1" encode_xml="1"$> - <$MTArchiveTitle remove_html="1" encode_xml="1" $></title>
<link><$MTArchiveLink$></link>
<description><$MTArchiveTitle remove_html="1" encode_xml="1"$></description>
<copyright>Copyright <$MTDate format="%Y"$></copyright>
<lastBuildDate><MTEntries lastn="1"><$MTEntryDate format_name="rfc822"$></MTEntries></lastBuildDate>
<generator>http://www.movabletype.org/?v=<$MTVersion$></generator>
<docs>http://blogs.law.harvard.edu/tech/rss</docs>
<MTEntries lastn="15">
<item>
<title><$MTEntryTitle remove_html="1" encode_xml="1"$></title>
<description><$MTEntryBody encode_xml="1"$></description>
<link><$MTEntryPermalink encode_xml="1"$></link>
<guid><$MTEntryPermalink encode_xml="1"$></guid>
<category><$MTEntryCategory remove_html="1" encode_xml="1"$></category>
<pubDate><$MTEntryDate format_name="rfc822"$></pubDate>
</item>
</MTEntries>
</channel>
</rss>

Flux Atom des catégories (type archive catégorie, fichier %c/index.atom.xml) :

<?xml version="1.0" encoding="<$MTPublishCharset$>"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title><$MTBlogName remove_html="1" encode_xml="1"$></title>
<link rel="alternate" type="text/html" href="<$MTArchiveLink encode_xml="1"$>" />
<link rel="self" type="application/atom+xml" href="<$MTArchiveLink encode_xml="1"$>atom.xml.php" />
<id>tag:<$MTBlogHost exclude_port="1" encode_xml="1"$>,<$MTDate format="%Y"$>:<$MTBlogRelativeURL encode_xml="1"$><$MTBlogID$>/C/<$MTCategoryID$></id>
<link rel="service.post" type="application/atom+xml" href="<$MTCGIPath$><$MTAtomScript$>/weblog/blog_id=<$MTBlogID$>" title="<$MTBlogName encode_html="1"$>" />
<updated><MTEntries lastn="1"><$MTEntryModifiedDate utc="1" format="%Y-%m-%dT%H:%M:%SZ"$></MTEntries></updated>
<MTIfNonEmpty tag="MTArchiveTitle"><subtitle><$MTArchiveTitle remove_html="1" encode_xml="1"$></subtitle></MTIfNonEmpty>
<generator uri="http://www.sixapart.com/movabletype/">Movable Type <$MTVersion$></generator>
<MTEntries lastn="15">
<entry>
<title><$MTEntryTitle remove_html="1" encode_xml="1"$></title>
<link rel="alternate" type="text/html" href="<$MTEntryPermalink encode_xml="1"$>" />
<link rel="service.edit" type="application/atom+xml" href="<$MTCGIPath$><$MTAtomScript$>/weblog/blog_id=<$MTBlogID$>/entry_id=<$MTEntryID$>" title="<$MTEntryTitle encode_html="1"$>" />
<id><$MTEntryAtomID$></id>
<published><$MTEntryDate utc="1" format="%Y-%m-%dT%H:%M:%SZ"$></published>
<updated><$MTEntryModifiedDate utc="1" format="%Y-%m-%dT%H:%M:%SZ"$></updated>
<summary type="html"><$MTEntryExcerpt remove_html="1" encode_xml="1"$></summary>
<author>
<name><$MTEntryAuthorDisplayName encode_xml="1"$></name>
<MTIfNonEmpty tag="MTEntryAuthorURL"><uri><$MTEntryAuthorURL encode_xml="1"$></uri></MTIfNonEmpty>
</author>
<MTEntryCategories>
<category term="<$MTCategoryLabel encode_xml="1"$>" />
</MTEntryCategories>
<content type="html" xml:lang="<$MTBlogLanguage ietf="1"$>" xml:base="<$MTBlogURL encode_xml="1"$>">
<$MTEntryBody encode_xml="1"$>
<$MTEntryMore encode_xml="1"$>
</content>
</entry>
</MTEntries>
</feed>

Flux RSS 2.0 des commentaires d’une note (type archive de note, fichier %y/%m/commentaires_%F.rss.xml) :

<?xml version="1.0" encoding="<$MTPublishCharset$>"?>
<rss version="2.0">
<channel>
<title><$MTArchiveTitle remove_html="1" encode_xml="1"$> - Commentaires</title>
<link><$MTArchiveLink encode_xml="1"$></link>
<description>Derniers commentaires de la note <$MTArchiveTitle remove_html="1" encode_xml="1"$></description>
<language>fr-fr</language>
<lastBuildDate><MTComments lastn="1"><$MTCommentDate language="en" format="%a, %d %b %Y %H:%M:%S"$> <$MTBlogTimezone no_colon="1"$></MTComments></lastBuildDate>
<generator>http://www.movabletype.org/?v=<$MTVersion$></generator>
<docs>http://blogs.law.harvard.edu/tech/rss</docs>
<MTComments sort_order="descend">
<item>
<title><MTCommentEntry><$MTEntryTitle remove_html="1" encode_xml="1"$></MTCommentEntry> - <$MTCommentAuthor encode_xml="1"$></title>
<link><MTCommentEntry><$MTEntryPermalink$></MTCommentEntry>#comment-<$MTCommentID$></link>
<description><$MTCommentBody encode_html="1"$> <p>- <$MTCommentAuthorLink show_email="0" encode_html="1"$></p></description>
<guid isPermaLink="false">comment<$MTCommentID pad="1"$>@<$MTBlogURL$></guid>
<pubDate><$MTCommentDate language="en" format="%a, %d %b %Y %H:%M:%S"$> <$MTBlogTimezone no_colon="1"$></pubDate>
</item>
</MTComments>
</channel>
</rss>

Flux Atom des commentaires d’une note (type archive de note, fichier %y/%m/commentaires_%F.atom.xml) :

<?xml version="1.0" encoding="<$MTPublishCharset$>"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title><$MTArchiveTitle remove_html="1" encode_xml="1"$> - Commentaires</title>
<id><$MTEntryAtomID$>/comments</id>
<updated><MTComments lastn="1"><$MTCommentDate utc="1" format="%Y-%m-%dT%H:%M:%SZ"$></MTComments></updated>
<link rel="alternate" type="text/html" href="<$MTArchiveLink encode_xml="1"$>" />
<link rel="self" type="application/atom+xml" href="<$MTBlogArchiveURL encode_xml="1"$><$MTFileTemplate format="%y/%m/commentaires_%F.atom.xml" encode_xml="1"$>" />
<generator uri="http://www.sixapart.com/movabletype/">Movable Type <$MTVersion$></generator>
<MTComments lastn="20" sort_order="descend">
<entry>
<title><MTCommentEntry><$MTEntryTitle remove_html="1" encode_xml="1"$></MTCommentEntry></title>
<link rel="alternate" type="text/html" href="<MTCommentEntry><$MTEntryPermalink$></MTCommentEntry>#comment-<$MTCommentID$>" />
<id><MTCommentEntry><$MTEntryAtomID$>.<$MTCommentID$></MTCommentEntry></id>
<published><$MTCommentDate utc="1" format="%Y-%m-%dT%H:%M:%SZ"$></published>
<updated><$MTCommentDate utc="1" format="%Y-%m-%dT%H:%M:%SZ"$></updated>
<summary type="html"><$MTCommentBody remove_html="1" encode_xml="1" $></summary>
<author>
<name><$MTCommentAuthor encode_xml="1" $></name>
</author>
</entry>
</MTComments>
</feed>

Déclaration des flux dans les archives individuelles

[...]
<link rel="stylesheet" href="<$MTBlogURL$>styles-site.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Billets (RSS 1.0)" href="<$MTBlogURL$>index.rdf.php" />
<link rel="alternate" type="application/rss+xml" title="Billets (RSS 2.0)" href="<$MTBlogURL$>index.xml.php" />
<link rel="alternate" type="application/atom+xml" title="Billets (Atom)" href="<$MTBlogURL$>atom.xml.php" />
<MTEntryCategories>
<link rel="alternate" type="application/rss+xml" title="<$MTCategoryLabel encode_xml="1"$> (RSS 2.0)" href="<$MTCategoryArchiveLink$>index.rss.php" />
<link rel="alternate" type="application/rss+xml" title="<$MTCategoryLabel encode_xml="1"$> (Atom)" href="<$MTCategoryArchiveLink$>index.atom.php" />
</MTEntryCategories>
<MTIfCommentsActive>
<link rel="alternate" type="application/rss+xml" title="Commentaires (RSS 2.0)" href="<$MTBlogURL$>commentaires.xml" />
<link rel="alternate" type="application/atom+xml" title="Commentaires (Atom)" href="<$MTBlogURL$>commentaires.atom.xml" />
<link rel="alternate" type="application/atom+xml" title="Commentaires de la note au format Atom" href="<$MTBlogArchiveURL encode_xml="1"$><$MTFileTemplate format="%y/%m/commentaires_%F.atom.xml" encode_xml="1"$>" />
<link rel="alternate" type="application/rss+xml" title="Commentaires de la note au foramt RSS 2.0" href="<$MTBlogArchiveURL encode_xml="1"$><$MTFileTemplate format="%y/%m/commentaires_%F.rss.xml" encode_xml="1"$>" />
</MTIfCommentsActive>
[...]

Je vous laisse les autres fichiers d’archive ou d’index en exercice… mais le principe est globalement le même.

4 réflexions sur “Flux RSS, la totale sur ZeGuigui !

  • Dans son blog, Marie a mis un truc du style : derniers commentaires et ça indique la date et le sujet. Il suffit de cliquer dessus et on y va direct. C’est pas compliqué et ça fonctionne !!! enfin, je ne suis pas informaticienne moi, il me faut des choses simples. Sur ce, je trouve ton article et tes travaux très intéressants. Bisous.

    Répondre
  • Oui, sur mon site aussi je peux faire ça. Mais ça impose toujours de surfer sur le site en question, repérer où est la liste des commentaires (s’il y en a une) et de regarder si on en a manqué un ou deux. Avec la méthode des flux RSS plus besoin d’aller sur les sites chercher les commentaires. Ce sont les commentaires qui viennent à toi (et attention à la botte de Nevers !). Le plus simple serait que tu installes un logiciel qui lit les flux RSS… et après tu ne pourras plus t’en passer. Sous thunderbird, par exemple, ça fait « comme si » tu recevais un mail à chaque nouveau billet et/ou commentaire envoyé sur un site. Pratique !

    Répondre
  • Ben moi j’ai pas droit d’installer des trucs sur mon ordinateur… y’a mon informaticien qui rouspète parce que je fais des bêtises… alors je vais sagement attendre que tu m’installes le truc dont tu parles car je suis bien entendu persuadée que je ne pourrais plus m’en passer dès qu’il sera là. Je suis impatiente de voir ça.

    Répondre
  • Ce qui permet aussi, lorsqu’on est au bureau de voir ce qui se passe sur les differents sites sans se connecter sur les differents sites… J’utilise Feedreader qui ressemble a ma presentation Outlook,c’est impeccable.

    Répondre

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.