Introduction
Dans notre introduction au format
RSS, nous avons vu qu'un fichier RSS n'est rien de moins qu'une
application XML: on peut donc le créer à la main,
mais pour les sites plus important, il devient vite nécessaire
d'automatiser la création de ce fichier.
Nous allons voir dans cet article des manières simples d'y
parvenir, dans les langages les plus courants: PHP, Perl et ASP.
Ces techniques sont applicables à des sites statiques et
dynamiques. Plutôt que de vous obliger à réinventer
la roue en vous proposant des outils trop simplifiés, nous
nous baserons quand cela est possible sur des outils disponibles
en ligne, en vous indiquant le chemin à suivre pour syndiquer
le contenu de votre site.
Utilisation de PHP
Nous allons partir d'une petite classes très simple, easyRSS,
créée par le français Philippe Rodier. Cette
classe permet aussi de lire un fichier RSS afin de l'afficher sur
votre site, comme nous le verrons dans le prochain article...
Cette classe peut très facilement être modifiée
pour convenir à vos besoins. D'origine, le fichier RSS crée
de nombreuses balises plus ou moins utiles, au format RSS 0.91.
Etant donné que les autres spécifications 0.9x de
RSS ne font qu'ajouter des balises optionnelles, cette classe opensource
peut parfaitement servir de base à des améliorations
plus personnelles.
La distribution propose un fichier source très clair, qui
vous indique comment, avec seulement quelques lignes de PHP, vous
pouvez syndiquer le contenu de votre site. Le script est lui-même
très facilement adaptable à un système de base
de données: il suffit d'extraire les information et la classe
s'occupe de formatter le fichier RSS.
Voici un exemple très simple de l'utilisation de cette classe:
(fichier create-rss.php)
<?php
include('easyRSS.inc.php');
$myrss = new easyRSS();
$myrss -> channel("Titre", "http://www.le-site.com", "Description
du site", "fr", "©2002 webmaster", "webmaster@le-site.com");
$myrss -> image("Titre", "http://www.le-site.com/logo.gif", "http://www.le-site.com/",
20, 20, "Description");
$myrss -> add_item("Titre de l'article 1", "http://www.le-site.com/articles.php?id=1");
$myrss -> add_item("Titre de l'article 2", "http://www.le-site.com/articles.php?id=2");
$myrss -> add_item("Titre de l'article 3", "http://www.le-site.com/articles.php?id=3");
$myrss -> textinput("Rechercher", "Rechercher sur le site :", "requete",
"http://www.le-site.com/recherche.php");
$myrss -> save("articles.rss");
exit();
?>
Vous pouvez constater que le fichier RSS créé ne correspondrait
pas, par exemple, à celui que nous avons donné dans
notre article précédent. Il faudrait pour y arriver
retoucher le code de la classe selon ses besoins, ce qui ne saurait
poser problème pour les utilisateurs avertis tant celle-çi
est clairement conçue...
Utilisation de Perl
Perl permet de gérer très simplement des fichiers
RSS, grâce à un bon nombre de modules open-source prêts
à l'usage. Le plus connu, XML:RSS
de Jonathan Eisenzopf, utilise le module XML::Parser
de Larry Wall et Clark Cooper pour, tout comme easyRSS en PHP, traduire
un fichier RSS en HTML.
Pour la génération de fichier RSS, le code source
serait de cette forme:
(fichier create-rss.pl)
use XML::RSS;
my $rss = new XML::RSS (version => '0.91');
$rss->channel(title => 'Titre',
link => 'http://www.le-site.com',
language => 'fr',
description => 'Description du site',
copyright => '©2002 webmaster'
webMaster => 'webmaster@le-site.com' );
$rss->image(title => 'Titre',
url => 'http://www.le-site.com/logo.gif',
link => 'http://www.le-site.com/',
width => 20,
height => 20,
description => 'Description' );
$rss->add_item(title => "Titre de l'article 1",
link => "http://www.le-site.com/articles.php?id=1",
description => 'Description' );
$rss->textinput(title => "Rechercher",
description => "Rechercher sur le site :",
name => "requete",
link => "http://www.le-site.com/recherche.pl" );
$rss->save("articles.rss");
Là encore, il existe d'autres solutions peut-être plus
adaptées à tel ou tel usage. Mais dans le monde Perl,
XML::RSS fait référence.
Utilisation d'ASP
Entièrement dédié à l'intégration
RSS avec ASP, le site ASPRSS
propose gratuitement l'ensemble des solutions tant pour générer
que pour utiliser des flux RSS. Il va même jusqu'à
proposer différentes versions selon le langage utilisé:
VBScript, JavaScript, Visual Basic or C#.
Mais le code peut-être réalisé en faisant directement
des appels ASP depuis le fichier au format RSS qui sera appellé
par les autres sites:
(fichier create-rss.asp)
<?xml version="1.0"?>
<rss version="0.91>
<channel>
(les balises d'entête: title, description,
language...)
<%
response.write "<item>"
response.write "<title>Titre
de l'article 1</title>"
response.write "<link>http://www.le-site.com/articles.asp?id=</link>"
response.write "<description>Description</description>"
response.write "</item>"
%>
</channel>
</rss>
Tout ces codes sont très basiques, mais permettent de voir
la facilité avec laquelle la syndication d'un contenu peut
se faire avec un minimum de travail et de préparation. Les
adapter à un SGBD particulier ne requiert que la connaissance
nécessaire pour afficher le contenu d'un champ. Ce faisant,
le fichier RSS sera toujours mis à jour dès qu'il
sera appellé d'un site extèrieur, assurant la propagation
immédiate de l'information sur les sites aggrégateurs.
|