Créer un flux RSS

De
Publié par

Créer un flux RSS

Publié le : jeudi 21 juillet 2011
Lecture(s) : 56
Nombre de pages : 12
Voir plus Voir moins
Wooshi Créer un flux RSS 22 juillet 2010
1Un flux RSS, c’est quoi?
1.1 Introduction
 Créer un flux RSS
De nos jours, les flux RSS sont devenus un élément indispensable pour tout site web qui se respecte. Mais comment sont-ils générés ? Quel langage utilisent-ils ? C'est ce que nous allons découvrir à travers ce tutoriel.
Au sens courant du terme, un flux RSS désigne un flux d'informations dynamiquement mis à jour (c'est-à-dire automatiquement). Ce flux est bien souvent utilisé sur les sites web d'actualités ou sur tout site ajoutant fréquemment du contenu. Le flux RSS permet alors à tout utilisateur de suivre aisément ce flux d'information, sans pour autant se rendre sur le site en question. Si cette notion vous échappe, ne vous inquiétez pas, nous allons y revenir plus tard.
Voici les différentes parties qui composeront ce tutoriel :
Découverte de l'utilité d'un flux RSS Comprendre la structure d'un flux RSS Apprendre à mettre en place un flux RSS pour son site
1.2 Un flux RSS, c'est quoi ?
Le flux RSS correspond à un service de syndication de contenu. Par définition, un contenu syndiqué doit pouvoir être pris en charge par un agrégateur de flux et inséré facilement sur d'autres sites Internet. Le flux RSS n'échappe pas à la règle et remplis parfaitement ce contrat.
Bien souvent le flux RSS (ou plus généralement la syndication de contenu) consiste à mettre en avant le début d'un article ou d'une actualité récemment mis en ligne par un site. Cet aperçu est également accompagné d'un lien vers l'actualité ou l'article en question pour permettre à l'utilisateur du flux d'en apprendre plus si le sujet l'intéresse.
Copyright Wooshi 2009 - 2010
Page | 1
Wooshi Créer un flux RSS 22 juillet 2010
Comme son nom l'indique, un flux RSS utilise le format RSS. Ce dernier correspond à une famille de formats utilisé, comme nous venons de le dire, pour la syndication de contenu.
Trois formats peuvent être désignés par les initiales RSS (sourceWikipédia) :
Rich Site Summary (RSS 0.91) RDF Site Summary (RSS 0.90 et 1.0) Really Simple Syndication (RSS 2.0)
Dans ce tutoriel, nous parlerons essentiellement du format RSS 2.0
Sur le plan technique, un flux RSS n'est rien d'autre qu'un vulgaire fichier XML. Rappelons que le format XML (eXtensible Markup Language) est - tout comme le HTML - un langage de balisage et est réputée pour sa fonction de transfert des données. En effet, le XML est un langage compris de tous utilisant une structure très souple (d'où la notion d'extensibilité) et recommandé par le W3C.
Copyright Wooshi 2009 - 2010
Page | 2
Wooshi Créer un flux RSS 22 juillet 2010
L'illustration ci-dessus schématise les avantages des flux RSS pour un internaute lambda. L'internaute n'ayant pas recours aux flux RSS devra constamment visiter l'ensemble des sites qu'il apprécie pour vérifier si ces derniers recensent de nouveaux articles. Cette technique peut être pénible et pesante, d'autant que rien ne garantit que les sites en question possèdent de nouveaux contenus.
L'utilisateur ayant recours aux flux RSS ne fera pas face à ce problème. Pour cela, il devra utiliser un lecteur de flux RSS, aussi connu sous le nom d'agrégateur. Il ne s'agit ni plus ni moins que d'un logiciel traitant, pour vous, le flux RSS, et récupérant automatiquement les dernières publications. De nos jours, de nombreux logiciels intègrent directement des agrégateurs. C'est notamment le cas des navigateurs Firefox et Opera ou du logiciel de messagerie Outlook. De même, plusieurs services en ligne reprennent ce principe, comme Netvibes par exemple.
Le flux RSS étant mis à jour dynamiquement, l'internaute recevra ainsi, sans consulter sa liste de sites favoris, les derniers articles mis en ligne. Pour les gros lecteurs, le gain de temps est considérable et les avantages nombreux :
Inutile de consulter tous ses sites, tout est rassemblé en un seul endroit. Vous êtes prévenu à chaque nouvel article mis en ligne. Vous pouvez consulter uniquement ce qui vous intéresse.
1.3 Structure d'un flux RSS
Comme je le disais plus haut, un flux RSS n'est autre qu'un fichier XML. Ce fichier XML va devoir contenir des informations d'une façon précise afin d'être traité et reconnu par l'ensemble des agrégateurs disponibles.
Voici à quoi ressemble un flux RSS :
Copyright Wooshi 2009 - 2010
Page | 3
Wooshi Créer un flux RSS 22 juillet 2010
Si vous avez pris deux minutes pour l'analyser, vous avez probablement déjà compris l'utilité de la plupart des balises présentes dans ce fichier XML. Nous allons toutefois toutes les analyser, et décrire leur utilité.
Tout d'abord, comme tout fichier XML, votre flux RSS devra commencer par l'en-tête xml. Cette première ligne permet de désigner la version du langage à utiliser et la norme d'encodage des caractères. Inutile de s'embêter dès maintenant, contentez-vous de reprendre la même ligne que celle ci-dessus.
La première balise de notre fichier devra obligatoirement êtreRSS. Elle permet tout simplement d'indiquer que le fichier XML correspondra à un flux RSS et permet également de spécifier la version RSS à utiliser. Comme dit plus haut, nous traiterons de la 2.0. Cette balise devra être suivie d'une balisechannelqui contiendra les métadonnées de votre flux.
La suite peut-être décomposée en deux parties :
la description du flux les éléments qui composent le flux (item)
Copyright Wooshi 2009 - 2010
Page | 4
Page | 5
La description du flux et composée de plusieurs balises identifiant le flux. Elle permettra à l'utilisateur de savoir rapidement à quel flux il a à faire. Voici un exemple avec le flux RSS de Wooshi.
Viennent ensuite les items. Chaque item correspond à un article sur votre site. Il regroupera lui-même un ensemble de balises permettant de définir les propriétés de votre article (donc de votre item). Parmi ses propriétés, on retrouve le plus souvent :
title : Titre de votre article link : Lien vers l'article description : Description de votre article pubDate : Date à laquelle l'article a été mis en ligne
En outre, on peut également retrouver :
Dans votre fichier, trois balises sont obligatoires pour décrire le flux :
guid : Définit l'article de manière unique author : Correspond à l'adresse mail de l'auteur category : Associe l'article à une catégorie comments : Url d'une page de commentaires associée à l'article Copyright Wooshi 2009 - 2010
D'autres balises, optionnelles, peuvent également être ajoutées :
title : Titre du flux ("Flux RSS Wooshi") description : décrit le flux ("Restez au courant des dernières news avec Wooshi") link : url du site correspondant au flux ("http://www.wooshi.fr")
Wooshi Créer un flux RSS 22 juillet 2010
pubDate : Définit la date de publication du flux lastBuildDate : Définit la date de dernière modification du flux image : Insère une image dans le flux language : Définit le langage du flux
Wooshi Créer un flux RSS 22 juillet 2010
Si vous respectez l'imbrication de ces différentes balises, alors votre flux RSS pourra être utilisé par l'ensemble des agrégateurs disponibles. La syntaxe est toute simple, il suffit simplement de reprendre la structure décrite ci-dessus.
2 Générer votre flux RSS
La théorie, c'est bien, mais il est maintenant temps de passer à la pratique. Dans la partie précédente, nous avons vu l'utilité d'un flux RSS ainsi que la structure du fichier XML le représentant. Mais vous vous en doutez bien, le fichier XML ne doit pas être écrit à la main. Il serait bien trop fastidieux de l'éditer à chaque fois que l'on ajoute un nouvel article sur son site.
Dans cette seconde partie, nous allons donc voir comment générer notre fichier XML. Pour cela, nous allons prendre l'exemple d'un site de news en PHP.
Pour suivre le tutoriel, vous pouvez récupérer les sources en cliquant sur l'image ci-dessous.
Si l'image n'apparait pas,cliquez ici.
Ceci fait, commençons par créer notre base.
2.2 La base de données
Chaque news écrite sera enregistrée dans une base de donnée mySQL (ou autre). Nous allons donc créer une base de données très simple ne contenant qu'une seule table nommée NEWS. Cette dernière comprendra les champs suivants :
idNews : Identifiant unique de la news titreNews : titre de la news contenuNews : contenu de la news datePublication : date de mise en ligne de la news
Voici le script SQL de création de la base, de la table NEWS, et de quelques insertions dans notre unique table.
Copyright Wooshi 2009 - 2010
Page | 6
Wooshi Créer un flux RSS 22 juillet 2010
Vous retrouverez également ce script dans l'archive à télécharger (partie 2.1), dans le fichier mabase.sql.
2.3 Le script PHP
Du côté de notre serveur, nous allons maintenant devoir récupérer nos dernières news, puis générer notre flux RSS. Pour cela, nous allons suivre les étapes suivantes :
Connexion à la base Création du fichier xml Ecriture de la partie statique du fichier (titre du flux, lien, ...) Récupération des dernières news Création d'un item pour chacune des news Finalisation du fichier XML et déconnexion de la base
Avant de commencer, sachez qu'il existe plusieurs librairies pour faciliter l'utilisation du XML en PHP. Dans ce tutoriel, nous n'en utiliseront aucune.
Connexion à la base
Première étape, la connexion à la base. Rien de sorcier, nous allons utiliser la fonction mysql_connect() associée à mysql_select_db() pour sélectionner notre base.
Les paramètres sont bien évidemment à adapter selon vos besoins. La fonction mysql_connect prend en paramètre le nom du serveur, ainsi que le nom et mot de passe de
Copyright Wooshi 2009 - 2010
Page | 7
Wooshi Créer un flux RSS 22 juillet 2010
l'utilisateur. La fonction mysql_select_db prend quant à elle uniquement le nom de la base à sélectionner.
Création du fichier XML
Pour créer un fichier en PHP, que ce soit un simple fichier texte ou un fichier XML, il faut utiliser la fonction fopen(). Cette dernière prend deux paramètres :
Le nom du fichier Le mode d'ouverture (lecture, écriture, ...)
Pour nos besoins, nous allons l'ouvrir en écriture ("w").
La variable $fichier contient le chemin vers le fichier xml qui contiendra votre flux. Si celui-ci n'existe pas, la fonction fopen() se chargera de le créer. Inutile donc de le créer à la main, contentez-vous d'indiquer un chemin correct.
Ecriture de la partie statique du fichier
Plutôt que d'écrire directement dans notre fichier, nous allons stocker l'ensemble de notre texte dans une variable $contenu. Lorsque nous aurons récupérés toutes les informations souhaitées, nous écrirons tout en une seule fois.
Pour commencer, nous allons écrire la partie statique du fichier, c'est-à-dire celle contenant l'en-tête, ainsi que les premières balises.
Rien de bien compliqué dans les quelques lignes ci-dessus, il s'agit simplement d'un ensemble de chaîne de caractères stockées dans une variable.
En procédant ainsi, toutes vos balises se trouveront les unes derrière les autres, et l'ensemble du fichier tiendra sur une seule ligne. Si vous souhaitez mettre en forme votre code, vous pouvez utiliser les caractères suivants :
Copyright Wooshi 2009 - 2010
Page | 8
Wooshi Créer un flux RSS 22 juillet 2010
/t pour faire une tabulation /n pour sauter une ligne
Ainsi, en exécutant la ligne de code suivante, notre balise chanel sera indentée d'une tabulation et deux lignes seront sautées après celle-ci.
Pour une question de lisibilité, ces caractères ne seront pas utilisés dans le reste du tutoriel.
Continuons en écrivant les informations statiques relatives à notre flux. Rappelez-vous, il s'agit du nom, de la description, d'un lien vers le site, etc.
Ceci fait, nous allons passer à la partie dynamique, c'est-à-dire la création d'un élémentitempour chaque news contenue dans notre base.
Récupération des dernières news
Pour notre exemple, nous allons récupérer les dix dernières news publiées. Rien de compliqué, une simple requête SELECT fait l'affaire.
Création d'un item pour chacune des news
Nos news sont dorénavant récupérées et stockées dans la variable $result. Prochaine étape : l'itération sur cette variable pour traiter chacune des news.
Copyright Wooshi 2009 - 2010
Page | 9
Wooshi Créer un flux RSS 22 juillet 2010
Reste alors à créer nos différents items en reprenant le même principe que l'écriture de la partie statique du fichier (Le code suivant est à placer à l'intérieur de la boucle while).
Comme je le disais dans la première partie de ce tutoriel, chaque item requiert quelques paramètres indispensables, à savoir title, link, pubDate, etc. Ainsi, dans le code ci-dessus, nous donnons à la balise title le titre de notre news, à la balise description le contenu de notre news, et à la balise pubDate la date de publication de notre news.
Pour le lien (link), nous partons du principe que la news est accessible via l'url www.monsite.fr/?p=[ID_de_la_news]. A vous d'adapter cette partie selon vos besoins.
De même, la balise description ne prend généralement qu'une partie de la news. Vous pouvez par exemple créer une fonction afin de n'écrire que les 200 premiers caractères du contenu de votre news.
Finalisation
A ce stade, le fichier XML est presque complet. Avant d'écrire le contenu de notre variable $contenu dans ledit fichier, n'oublions pas de fermer les balises channel et rss.
Enfin, nous allons pouvoir écrire la contenu de notre variable dans le fichier précédemment ouvert. Cela va se faire grâce à la fonction PHP fwrite(). Cette dernière prend en paramètre le fichier en question ainsi que le texte à y écrire.
Copyright Wooshi 2009 - 2010
Page | 10
Wooshi Créer un flux RSS 22 juillet 2010
Il suffit ensuite de fermer la base, et le tour est joué ! En exécutant votre page PHP, sous réserve d'avoir bien suivi ce tutoriel et d'avoir renseigné les bons paramètres (de connexion à la base par exemple), votre fichier RSS devrait se générer sans souci. Si c'est le cas, alors vous devriez obtenir un fichier semblable à celui-ci :
Copyright Wooshi 2009 - 2010
Page | 11
Soyez le premier à déposer un commentaire !

17/1000 caractères maximum.

Diffusez cette publication

Vous aimerez aussi

suivant