Tutoriel N° 9e
Le principe ?
On appelle flux RSS un fichier qui contient les derniers contenus publiés, généralement les news.
Il utilise la technologie XML pour organisée les données.
Les données qui sont propagées peuvent êtres lues par quiconque via un agrégateur ou un lecteur RSS.
Elles peuvent même être affichés sur un autre site.
Exemple d'un résultat souhaité:
http://www.shareannonce.com/rss.php
Je vais vous donner le script de création d'un flux RSS dans ce tutorial
Allons y
Vous avez surement déjà vu sur le net le terme RSS.
On appelle flux RSS un fichier qui contient les derniers contenus publiés, généralement les news.
Il utilise la technologie XML pour organisée les données.
Les données qui sont propagées peuvent êtres lues par quiconque via un agrégateur ou un lecteur RSS.
Elles peuvent même être affichés sur un autre site.
Comment est structuré un fils RSS ?
Pour que tout le monde arrivent à lire votre flux RSS vous devez le structurer suivant une norme.
Ici je vais vous présenter la norme RSS 2.0.
Voici les différents éléments diffusables:
CHANNEL
title > Titre du channel
link > URL du site contenant le channel
description > Description du channel
language > Langue du channel
copyright > Info sur le copyright du channel
managingEditor > Mail de la personne responsable du contenu
webMaster > Mail du webmaster
pubDate > Date de publication
lastBuildDate > Date de la dernière publication
category > Catégorie à laquelle le channel appartient
generator > Programme utilisé pour générer le channel
docs > Lien vers la documentation du format utilisé dans le fichier RSS
cloud > Permet à un programme de s'enregistrer pour être notifié des modifications de ce channel
ttl > Time to live, avant le prochain rafraîchissement
image > Image affichée avec le channel
rating > note PICS
textInput > Ajouter une zone de saisie de texte
skipHours > Heures que les agrégateurs peuvent ignorer
skipDays > Jours que les agrégateurs peuvent ignorer
ITEM
title > Titre de l'item
link > URL de l'item
description > Description de l'item
author > Mail de l'auteur de l'item
category > Catégorie à laquelle l'item appartient
comments > Lien vers une page de ccommentaires sur l'item
enclosure > Objet media attaché à l'item
guid > Texte qui identifie de manière unique cet item
pubDate > Date de publication
source > Channel auquel l'item appartient
Exemple d'un résultat souhaité:
http://www.shareannonce.com/rss.php
Vous aurez besoin au minimum d'une base de données Mysql avec une table qui contiendra:
1/ un id
2/ un champ date
3/ un champ titre
4/ un champ description
Voici le script PHP à adapter à vos besoin:
<?php
// on détermine le type de document, ici du xml
header ( "Content-type: text/xml" ) ;
/*
Inclure ici votre script de connexion base de données
*/
$date = date ( "Y:m:d" ) ;
// On récupère la liste des news publiés et dont la date de publication est valable
// et on limite à 10 entrées
$requete_news = mysql_query ( "
SELECT
*
FROM
news
WHERE
actif=1
and date_debut <= '$date'
ORDER BY
date DESC
LIMIT 10
") or die ( mysql_error() ) ;
$rss = "<?xml version="1.0" encoding="iso-8859-1" ?>" ;
$rss .= "<rss version="2.0">" ;
$rss .= "<channel>" ;
$rss .= "<title>Nom de votre site"</title>" ;
$rss .= "<link>Lien de votre site</link>" ;
$rss .= "<description>Description de votre site</description>" ;
while ( $tab_news = mysql_fetch_array ( $requete_news ) ) {
// Récupère la date de publication de la news
$date_news= date ( "D, d M Y H:i:s" , strtotime( $tab_news[date] ) );
// On crée l'item avec ces données
$rss .= "<item>" ;
$rss .= "<title><![CDATA[".$tab_news['titre']."]]></title>";
$rss .= "<link>http://www.urldusite.com/index.php?rubrique=news&idnews=".$tab_news['id']."</link>" ;
$rss .= "<description><![CDATA[".$tab_news['description']."]]></description>" ;
$rss .= "<pubDate>".$date_news." GMT</pubDate>" ;
$rss .= "</item>" ;
}
$rss .= "</channel>" ;
$rss .= "</rss>" ;
// On affiche le contenu XML
echo $rss;
?>