Comment installer un lecteur de flux RSS

Attention, depuis PHP 5.5.0, certaines extensions SQL sans doute utilisées dans ce tutoriel peuvent être obsolètes et seront supprimées dans le futur, vous devez donc adapter les codes! Exemples ici.

Pour afficher un flux RSS sur votre site, il vous faut un lecteur de flux RSS sinon dit un agrégateur RSS. Dans ce tuto nous allons utiliser le script Magpierss.
Dans un 1er temps, récuperer le zip Magpierss que vous décomprèsser sur votre ordinateur. Dans cette exemple le dossier se nome "magpierss. Uploader ce dossier sur votre site (à la racine pour faire simple) .
Dans un second temps, il faut créer la fonction qui va permettre de formater les élements du flux RSS. Nous allons donc créer un fichier PHP nommé feedparser.php qui contient le code suivant :

fichier feedparser.php

<?php
// on inclut la classe magpierss
require_once("magpierss/rss_fetch.inc");
 
// la fonction FeedParser() va extraire le contenu pour l'afficher
// elle prend en paramètre $url_feed, l'url du flux RSS et $nb_items_affiches, le 
nombre d'éléments (items) à afficher
function FeedParser($url_feed, $nb_items_affiches) {   // lecture du fichier distant (flux XML) $rss = fetch_rss($url_feed);   // si le parcours du fichier se passe bien, on lit les élements (items) if (is_array($rss->items)) {   // on ne garde que les $nb_items_affiches premiers éléments (items),
nombre défini dans l'en-tête de la fonction
$items = array_slice($rss->items, 0, $nb_items_affiches);   // on peut récupérer les informations sur le site proposant le flux (optionnel) $site_titre = $rss->channel["title"]; // titre du site $site_lien = $rss->channel["link"]; // lien du site $site_description = $rss->channel["description"]; // description du site   // à présent on stocke les données dans $html, variable à afficher   // titre sous forme de lien $html .= "<a href=\"$site_lien\" title=\"$site_description\" target=\"_blank\">
$site_titre</a><br />\n"
;   // on affiche la description du site proposant le flux $html .= "<span>$site_description</span><br clear=\"left\" target=\"_blank\">
<br />\n"
; // le clear="left" renvoie à la ligne même s'il y a une image   // on fait une boucle sur les informations : pour chaque item, récupérer
$titre... et afficher
foreach($items as $item) {   // on mémorise les informations de chaque item dans des variables $titre = $item["title"]; $lien = $item["link"]; $description = $item["description"];     // la date utilisée pour les flux RSS est au format timestamp, il faut
donc formater la date
// conversion au format jj/mm/aa. pour plus d'informations, vous conférer
au tutorial sur les timestamp
$date = date("d/m/y",strtotime($item["pubdate"]));   // on affiche le titre de chaque item $html .= "<a href=\"".$lien."\" title=\"".$titre."\" target=\"_blank\">
"
.$titre."</a><br>\n";   // puis la date et la description $html .= "<span>$date - $description</span><br clear=\"left\"><br />\n"; } // fin de la boucle   // on retourne la variable $html au programme (elle contient le code HTML
pour l'affichage du flux)
return $html; } // fin du traitement du fichier } // fin de la fonction FeedParser() ?>

Une fois cette nouvelle page créée, uploader la sur votre site ( toujours à la racine ).
A ce stade, vous avez donc un dossier "magpierss" et un fichier PHP  "feedparser.php".
Il nous faut maintenant une fonction permettant de récupérer l'url de flux RSS et de l'afficher.

Sur une page de votre site dont l'extention est en php, insérer ce code à l'endroit ou vous souhaitez voir apparaitre le flux rss:

<?php
require_once("feedparser.php");
echo
FeedParser("http://creer-un-site.fr/rss.xml", 10);
?>

require_once("feedparser.php"); est la fonction qui appelle le fichier feedparser.php qui contient les éléments formatés.
FeedParser("http://creer-un-site.fr/rss.xml", 10); indique l'url du flux RSS à lire et le nombre "10" est le nombre d'éléments à afficher.

A savoir:
Le dossier magpierss contient un fichier nomé "rss_cache.inc" qui permet de règler la régénération du flux rss qui est par defaut à 3600 (3600 secondes). C'est à dire que meme si un changement/ajout dans le flux rss à été éffectué, celui-ci serat visible que lors de la re-génération du cache. Vous pouvez modifier ce temps si vous le souhaitez à la ligne :

...
{
    var $BASE_CACHE = './cache';    // where the cache files are stored
    var $MAX_AGE    = 3600;

Il faut également savoir qu'un dossier nomé "cache"  va être créé automatiquement à la racine de votre site. C'est dans ce dossier qu'est stocké la mise en cahe du flux rss.
Voila, c'est finit :). A vous d'arranger/modifier l'affichage de votre flux RSS en intervenant dans le fichier feedparser.php .

Voir/déposer un commentaire (18) | Signaler un problème