RSS et syndication
10/11/2005
 Patrick ABATI 
Liste des cours

RSS

RSS est un acronyme qui a deux significations:

C'est une méthode de transmission des données contenues sur un site Internet. Ces données peuvent contenir des titres d'articles, des nouveautés, permettant d'arriver très rapidement sur le texte complet correspondant. Elles s'actualisent automatiquement, sans que l'internaute ait besoin de se connecter au site d'origine.

Les navigateurs les plus avancés (et qui respectent les standards du web) Firefox, Opera et Safari supportent depuis longtemps RSS, mais pas Internet Explorer version 6 (la version 7 devrait y remédier).

Un fil RSS (ou flux RSS) est un fichier texte XML (eXtensible Markup Language), écrit dans un langage à balises, un peu comme un fichier HTML. Les balises principales sont <channel> et <item>
Ces balises contiennent elles-mêmes d'autres balises obligatoires ou facultatives.

RSS existe en plusieurs versions, RSS 0.9, RSS 1.0, RSS 2.0, Atom
Le tableau suivant est une synthèse des balises utilisables dans la spécification RSS 2.0

 
Légende : balise
obligatoire
facultative
 
           
<channel>
     
<item>
 
 
<category>
     
<author>
 
<cloud>
     
<category>
 
<copyright>
     
<comments>
 
< description>
     
<description>  
 
<docs>
     
<enclosure>
 
<generator>
     
<guid>
 
<image>
<description>
   
<link>
   
<height>
   
<pubDate>
   
<link>
   
<source>
   
<title>
   
<title>
   
<url>
     
   
<width>
     
 
<language>
       
 
<lastBuildDate>
       
 
< link>
       
 
<managingEditor>
       
 
<pubDate>
       
 
<rating>
       
 
<skipDays>
       
 
<skipHours>
       
 
<textInput>
<description>
     
   
<link>
     
   
<name>
     
   
<title>
     
 
<title>
       
 
<ttl>
       
 
<webMaster>
       

Pour la signification et l'utilisation des balises, voir les liens ci-dessous:
RSS 2.0 Specification (en anglais)
Spécifications RSS 2.0 - Traduction française
Spécifications RSS 1.0 (en anglais)




 Exemple de fichier RSS 

Le site académique du génie électrique comporte un fil RSS qui donne accès rapidement aux principales nouveautés mises en ligne, par l'intermédiaire du marque-page dynamique du Navigateur.

L'extension du fichier est XML ou RDF (Ressource Description Framework) ou PHP
Dans l'exemple qui suit le fichier se nomme rss.php

<rss version="2.0">

<channel>

<title>STIELEC</title>
<link>http://stielec.ac-aix-marseille.fr</link>
<description>Nouveau sur STIELEC</description>


<item>

<title>Le bus EIB</title>
<link>http://stielec.ac-aix-marseille.fr/cours/abati/eib/eib.htm</link>

</item>

</channel>

</rss>




 Validité du code  (pour les webmestres) rss
Pour tester la validité d'un code RSS  http://feedvalidator.org/

 

valid




 Navigateur Mozilla Firefox   firefox
Ce navigateur supporte, en version native, tous les formats RSS

 

 Faire reconnaître une syndication  (pour les webmestres)

Il est possible de faire reconnaître une syndication par Mozilla Firefox en rajoutant dans l'en-tête du code source de la page d'accueil :

<link rel="alternate" type="application/rss+xml" href="http://stielec.ac-aix-marseille.fr/nouveau/rss.php" title="Génie électrique Aix-Marseille">


 Marque-page dynamique  (pour les internautes)

rss Un site est compatible avec les marque-pages dynamiques quand cette icône apparaît dans le navigateur Mozilla Firefox
En cliquant sur cette icône, on peut ajouter un marque-page dynamique, qui apparaîtra avec les autres marque-pages

page


On peut aussi ajouter ce lien manuellement (si l'icône n'apparaît pas) par :
Marque-pages > Gérer les marque-pages > Fichier > Nouveau marque-page dynamique

dynamique

 Modification du fichier rss.php 

Dans l'exemple suivant 2 items (Wi-Fi et Thème du bac) ont été ajoutés dans le fichier rss.php
Faire Rafraîchir les entrées si les nouveaux items n'apparaissent pas

rafraîchir




 Intégration d'un flux RSS sur un site  (pour les webmestres)

Le site génie électrique dispose sur sa page d'accueil d'une icône rss donnant le lien vers le fil

rss   Extrait du fichier
    fichier

C'est ce fichier qui doit être "travaillé" pour n'afficher que les informations désirées

Il existe un outil en PHP, disponible sous licence GPL MagpieRSS qui peut être téléchargé gratuitement

Il faut ensuite installer le répertoire magpierss (préalablement décompressé) sur le site : dans l'exemple qui suit, ce répertoire est installé sur la racine de SITELEC

Il faut ensuite insérer du code (en l'adaptant) dans une page php, à l'emplacement choisi pour afficher le fil RSS

<?php
// inclure magpierss
require_once("magpierss/rss_fetch.inc");
// adresse du fil RSS
$url="http://stielec.ac-aix-marseille.fr/nouveau/rss.php";
// nombre d'items à afficher
$nb_items="5";
// lecture du fichier
$rss = fetch_rss($url);
// lecture des items
if (is_array($rss->items))
{
$items = array_slice($rss->items, 0, $nb_items);
// début
$html = "<ul>\n";
// boucle
foreach ($items as $item)
{
$html .= "<li><a href=\"".$item['link']."\">";
$html .= $item['title']."</a></li>\n";
}
$html .= "</ul>\n";
}
echo "$html";
?>

Le résultat est le suivant sur la page d'accueil de sitelec.org

electrotech




 Abonnement sur un client de messagerie 

Mozilla Thunderbird (logiciel Open Source) est capable de gérer les flux RSS

Il faut créer un nouveau compte (1) et le paramétrer (2 - 3)

1 1

2 2
3 3
Puis ajouter un abonnement RSS (4 - 5) en indiquant l' URL du fil
4 4
5 5

Les nouvelles mises en ligne sur le site STIELEC sont alors reçues sur le compte de messagerie (6) : chaque message contient l'expéditeur, la date, le lien et le titre (7)

6 6

7 7


Voir aussi :
http://openweb.eu.org/articles/dublin_core