566 tutoriels disponibles
Chercher un tutoriel
Bienvenue
sur Shareannonce
 
Créer un flux RSS en PHP
Ecrit par: Shareannonce
Date création:  19-04-2011
Nombre de vues:  5240
Catégorie:  informatique > developpement > php
Note: 
 
   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&amp;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;

?>





Télécharger les sources de ce tutoriel

 
 
   Autres tutoriels de la même catégorie >
 
ShareAnnonce version 2.0 Tous droits reserves. | Condition d'utilisation | Contact