Génération de flux RSS en PHP
21 08 2007
RSS pour Really Simple Syndication, est une des récentes technologies qui popularisent le web 2.0. Le format RSS est un flux de données XML regroupant diverses informations sur des ressources accessiblent depuis le réseau.
Dans le cas d’un site d’actualités, les flux RSS du site regrouperont les nouveaux articles publiés et les commentaires récents qui permettront aux utilisateurs de voir l’évolution du site sans avoir besoin de s’y connecter en permanence.
Générer un flux RSS 2.0 à l’heure actuelle peut rester facile pour n’importe quel développeur. Cependant, générer de multiples flux devient vite une tâche fastidieuse. Jj’ai donc décidé d’écrire un jeu de classes PHP, pour me simplifier la production de flux de type RSS.
Un exemple concret de construction de flux à partir de ces classes vous montrera la marche à suivre. Notre exemple se base sur le listage d’un répertoire distant, à travers un flux RSS.
include('myrss.class.php');
$rss = new RSS('Contenu du répertoire', 'http://url.du.repertoire', 'Description du répertoire');
if ($handle = opendir('.')) {
while (false !== ($file = readdir($handle)))
if ($file != "." && $file != "..") {
$file_info = stat($file);
$desc = is_dir($file) ? 'Dossier créé ' : 'Fichier de '.round(
$file_info['size'] / (1024 * 1024), 2).' Mo';
$desc .= strftime('le %A %d/%m/%Y à %H:%M:%S', $file_info['atime']);
$date = strftime('%D');
// Remplissage du flux
$item = new Item($file, 'http://url.du.repertoire/'.$file, $desc, $date);
$rss->add($item);
}
closedir($handle);
}
print $rss->publish();
?>
Et voilà comment en moins de 20 lignes de codes ont contruit notre flux. Le travail du développeur se concentre sur la création des données à afficher, et non sur la gestion du format en lui même.
La création du flux se fait l’instanciation de la classe RSS prenant en paramètres comme indiqué dans l’exemple, un titre, une url, une description, et éventuellement la locale du flux, pratique pour la gestion des dates de publication.
Les éléments constituant le flux, se crées dans la classe Item. Elle se compose aussi d’un titre, d’une url, d’une description, et optionnellement d’une date de création. Une fois l’instance de d’Item créée, on l’ajoute dans notre objet RSS par la méthode add. Une fois tous les éléments ajoutés dans l’objet RSS, on affiche le retour de la méthode publish.
Et voila le tour est joué !
Lire la suite »
Catégories : Développement





