Projet Webmaster PHP
Portail PHP




Agrégateur de Flux

 
  
 

L'Agrégation consiste à lire un flux de syndication.
Il existe plusieurs possibilité en fonction des outils dont on dispose.

  • L'internaute pourra lire le flux avec un agrégateur RSS indépendant du web (programme client ou client mail avancé tel que Mozilla ThunderBirdMail par exemple)
  • Le webmaster va proposer sur son site l'affichage du flux permettant de proposer en ligne les 5 ou 10 derniers articles d'un site tiers ou de son propre site

Ce que l'agrégateur RSS externe fait en natif, le webmaster doit pouvoir le faire avec un script spécifique et qui pourrait se résumer au simple appel d'une fonction avec comme arguments le nom du flux et le nombre d'éléments retournés.

Exemple de MagpieRSS

MagpieRSS est une application complète dont le script permet de parser les flux xml préalablement générés lors de l'article sur les flux de syndication Ce script permet de disposer d'une fonction se chargeant de lire le flux xml, et de mettre en cache le contenu ainsi lu.
L'installation de MagpieRSS est simple, il suffit de télécharger le script et de l'installer dans un répertoire à la racine du site Des scripts sont ensuite fournis pour permettre de réaliser sa fonction, elle pourrait être de la forme suivante :

<?php

require_once("magpierss/rss_fetch.inc");

function Lire_Flux($url_feed, $num_items )
{
// lire le flux
$rss = fetch_rss($url_feed);

if (is_array($rss->items))
{
$items = array_slice($rss->items, 0, $num_items);

$page = $rss->channel['title'] ."<ul>";

// boucle
foreach ($items as $item)
{
$href = $item['link'];
$title = $item['title'];
$page .= "<li><a href=$href>$title</a></li>";

}
$page .= "</ul>";
}

return $page;
}
?>

D'autres exemples sont fournis avec MagpieRSS pour, par exemple, faire de la syndication de flux avec uniquement les éléments les plus récents à une date donnée.