 |
Comment créer un flux RSS sur mon site ?
|
C'est assez simple.
Un flux RSS n'est rien d'autre qu'un fichier texte avec un format particulier (en XML).
Vous pouvez donc en créer un simplement avec le Bloc-Note (même si je vous recommande quand même un éditeur de texte un peu plus évolué, comme l'excellent PSPad sous Windows).
Quelle version de RSS choisir ?
Je vous recommande le RSS 2.0 pour plusieurs raisons:
- Le format est stable (la spécification des autres versions de RSS change).
- Le format est simple (la syntaxe est plus lisible que les autres formats tels que RDF).
- Le format est bien reconnu.
- Ce format permet de spécifier diverses options (comme le délai de rafraichissement).
Un exemple de flux RSS simple
Un flux RSS est en réalité un fichier au format XML, avec un schéma (une structure) particulière.
Voici un exemple simple de flux RSS simple.
Il vous suffit de sauvegarder le texte suivant dans un fichier texte que vous nommerez avec l'extension .xml (par exemple news.xml):
<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0">
<channel>
<title>Mon site web</title>
<link>http://monsiteweb.com</link>
<description>Les news de mon site web</description>
<item>
<title>Un site web pour partager ses signets</title>
<link>http://del.icio.us</link>
<guid isPermaLink="true">http://del.icio.us</guid>
<description>Le site http://del.icio.us permet de partager vos signets et d'y accéder où que vous soyez.</description>
<pubDate>Wed, 5 Aug 2005 19:30:00 GMT</pubDate>
</item>
<item>
<title>Enfin un flux RSS !</title>
<link>http://monsiteweb.com/rss.html</link>
<guid isPermaLink="true">http://monsiteweb.com/rss.html</guid>
<description>Un flux RSS a été installé sur mon site. Vous pouvez le consulter avec votre logiciel favori.</description>
<pubDate>Wed, 3 Aug 2005 15:17:00 GMT</pubDate>
</item>
</channel>
</rss>
Placez ce fichier sur votre site: Il ne faut rien de plus !
En bleu, les informations sur le flux lui-même (juste après <channel>
):
<title>
: Le titre de votre flux (ou le nom de votre site web).
<link>
: Le lien vers votre site web.
<description>
: La description de votre flux (exemple: "Les mises à jour de mon site")
En vert: Ensuite viennent chacune des informations (dans chaque <item>
):
<title>
: Titre de l'information.
<link>
: Lien vers la page web correspondante.
<guid>
: Un identifiant unique de votre information. Vous pouvez mettre le texte que vous voulez: L'important est qu'il soit unique (qu'on ne le retrouve pas dans un autre <item>
). Cela permet de distinguer les <item>
entre eux.
(Si vous mettez isPermaLink="true", alors vous devez mettre un lien utilisable dans un navigateur (http://...)).
Si vous mettez isPermaLink="false", vous êtes libre de mettre n'importe quel texte, du moment qu'il est unique.)
<description>
: Texte descriptif ou résumé de l'information.
<pubDate>
: Date de cette information.
Libre à vous de modifier ce modèle et d'y mettre le texte que vous voulez.
Vous devez seulement respecter l'ordre d'imbrication des balises <channel> <item> <title>
etc.
Important: N'oubliez pas d'indiquer l'encoding que vous avez utilisé dans votre fichier texte. Si vous êtes sous Windows, vous avez probablement utilisé l'ISO-8859-1. Il faut alors l'indiquer dans le fichier (voir encoding=... dans la balise <?xml ...>).
Pour en savoir plus sur les charsets et l'encoding, voir cet article: http://sebsauvage.net/python/charsets_et_encoding.html (Lecture fortement recommandée !)
Comment publier le flux RSS sur mon site ?
- Enregistrez le document XML ci-dessus dans un fichier texte avec l'extension .xml
- Déposez ce fichier sur votre site web (par FTP)
- Indiquez à tout le monde l'URL de ce fichier.
C'est tout !
Le mieux est également de mettre un lien vers ce flux RSS sur votre page d'accueil, en utilisant par exemple le petit logo
.
(Vous trouverez plusieurs tailles de ce logo sur ce site: http://www.feedicons.com/)
Vous pouvez également donner le lien de votre flux RSS à des annuaires de flux (comme NewsIsFree.com par exemple).
Note: Il est possible que votre serveur web soit mal configuré et envoie le mauvais type MIME aux navigateurs.
Vous pouvez le forcer. Par exemple si votre flux est monflux.xml
, créez un fichier .htaccess
contenant:
<Files monflux.xml>
AddCharset ISO-8859-1 .xml
AddType text/xml .xml
</Files>
Comment ajouter de nouvelles informations à mon flux ?
Il vous suffit d'ajouter un nouvel <item>
(en rouge ci-dessous) devant les autres:
<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0">
<channel>
<title>Mon site web</title>
<link>http://monsiteweb.com</link>
<description>Les news de mon site web</description>
<item>
<title>Sale temps !</title>
<link>http://weather.com</link>
<guid isPermaLink="False">Le temps qu'il fait</guid>
<description>Il ne fait vraiment pas beau aujourd'hui.</description>
<pubDate>Tue, 9 Aug 2005 16:20:00 GMT</pubDate>
</item>
<item>
<title>Un site web pour partager ses signets</title>
<link>http://del.icio.us</link>
<guid isPermaLink="true">http://del.icio.us</guid>
<description>Le site http://del.icio.us permet de partager vos signets et d'y accéder où que vous soyez.</description>
<pubDate>Wed, 5 Aug 2005 19:30:00 GMT</pubDate>
</item>
<item>
<title>Enfin un flux RSS !</title>
<link>http://monsiteweb.com/rss.html</link>
<guid isPermaLink="true">http://monsiteweb.com/rss.html</guid>
<description>Un flux RSS a été installé sur mon site. Vous pouvez le consulter avec votre logiciel favori.</description>
<pubDate>Wed, 3 Aug 2005 15:17:00 GMT</pubDate>
</item>
</channel>
</rss>
C'est quoi, ce format de date bizarre ?
C'est le standard RFC822. La date est au format anglophone.
Exemple: Wed, 5 Aug 2005 19:30:00 GMT
- Wed: Le jour de la semaine. Les jours de la semaine sont:
Jour |
Lundi |
Mardi |
Mercredi |
Jeudi |
Vendredi |
Samedi |
Dimanche |
Abbréviation |
Mon |
Tue |
Wed |
Thu |
Fri |
Sat |
Sun |
- 5: numéro du jour.
- Aug: Le mois. Les mois sont:
-
Mois |
Janvier |
Février |
Mars |
Avril |
Mai |
Juin |
Juillet |
Août |
Septembre |
Octobre |
Novembre |
Décembre |
Abbréviation |
Jan |
Feb |
Mar |
Apr |
May |
Jun |
Jul |
Aug |
Sep |
Oct |
Nov |
Dec |
- 2005: l'année
- 19:30:00 GMT: c'est l'heure. Le "GMT" est obligatoire.
Dans le format de date:
- Il ne faut pas précéder le numéro du jour d'un zéro (Ne faites pas "05 Aug" mais "5 Aug").
- Il faut précéder les heures d'un zéro (Ne faites pas "7:25:00 GMT" mais "07:25:00 GMT").
Comment vérifier si mon flux est correct ?
Il est important de vérifier si le format de votre flux est correct.
S'il n'est pas correct, il ne s'affichera pas bien dans les différents aggrégateurs de flux.
Utilisez le site web suivant: http://feedvalidator.org/ ou http://validator.w3.org/feed/
Comment voir ce que ça donne ?
Après avoir déposé le fichier sur votre site web, utilisez un aggrégateur de flux et indiquez-lui l'URL de votre fichier.
Je vous recommande de tester avec plusieurs aggrégateurs de flux.
Pourquoi est-ce que http://sebsauvage.net/rss/updates.xml affiche une belle page alors que le mien me montre de l'XML brut ?
Parceque j'ai indiqué au navigateur une feuille transformation XSLT, ce qui lui permet de transformer le fichier XML en HTML pour l'afficher.
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="updates.xslt" ?>
<rss version="2.0">
<channel>
...
C'est le fichier http://sebsauvage.net/rss/updates.xslt qui indique comment transformer updates.xml en HTML. Et le navigateur le fait automatiquement.
Vous pouvez librement reprendre mon XSLT et l'adapter. :-)
Notez que cela ne fonctionne pas dans tous les navigateurs.