Insérer des billets de blogs dans une page

La plupart des blogs publient un flux d'information RSS; il s'agit d'un fichier au format XML qui contient les billets du blog sous une forme structurée. Safari et d'autres logiciels plus ou moins spécialisés savent lire ces données pour les présenter de manière synthétique. S'agissant d'un format de type textuel, on peut imaginer d'autres moyens de lire et retraiter ces données, par exemple un script qui permettrait ensuite de reporter ces informations dans une page d'un site.
En lisant le forum RapidWeaver, j'ai trouvé une information à propos d'un module en scripts PHP qui permet de réaliser cette prouesse.

L'installation de ce module est très simple, mais elle requiert de modifier la page modèle du thème utilisé dans le projet RW. Le site de l'éditeur donne toutes les indications (en anglais) pour faire cette installation. Je vais essayer de donner quelques indications en français.

Tout d'abord, il faut télécharger l'archive zip, puis après décompression, il faut poser le package quelque part sur votre serveur d'hébergement. Ce package est composé de deux dossiers : rssbox est l'outil qui insère les données dans une page; simplepie est un outil d'analyse de flux RSS écrit en PHP. Attention : il faut veiller à ce que les droits sur le dossier cache dans rssbox soient suffisants (lecture, écriture et exécution pour tout le monde, soit 777 pour les adeptes d'unix).

Il y a un bout de code à insérer dans la section HEAD de votre page (onglet "Header" dans l'inspecteur de page)

<link rel="stylesheet" type="text/css" href="rssbox/rssdisplaybox.css">
<script type="text/javascript" src="rssbox/virtualpaginate.js">
</script>
<script type="text/javascript" src="rssbox/rssdisplaybox.js">
//*********************************************** //* RSS Display Boxes- © Dynamic Drive DHTML code library (www.dynamicdrive.com) //* This notice MUST stay intact for legal use //* Visit Dynamic Drive at http://www.dynamicdrive.com/ for this script and 100s more //*********************************************** </script>


Dans le code ci-dessus, vous devrez éventuellement adapter le chemin d'accès aux fichiers du dossier rssbox; ici, il suppose que ce dossier est au même niveau que votre page web.

L'étape suivante consiste à modifier le fichier rssdisplaybox.js dans le dossier rssbox. Par défaut, la variable rssoutputscript définit une chemin relatif. Vous pouvez par exemple la remplacer par :

var rssoutputscript="http://"+window.location.hostname+"/rssbox/main.php"


en complétant le chemin vers le fichier main.php.

Enfin, il faut modifier le fichier main.php, également dans le dossier rssbox. Dans ce fichier, une variable définit le tableau des flux RSS que vous voulez ensuite récupérer dans votre page. Le module est fourni avec quelques exemples et une page de test. Il vous suffit de remplacer ceux-là par les vôtres et vous pouvez en ajouter à votre guise. Vous pouvez très bien mettre une liste aussi complète que possible dans ce fichier et n'en utiliser qu'un dans une page et tel autre dans une autre page.

L'installation du module est maintenant terminée.

Maintenant, nous allons insérer un bout de code pour appeler une fonction du module avec pour résultat l'insertion de tout ou partie du flux RSS dans votre page :

<script type="text/javascript">
var box=new rssdisplaybox("flux", "fluxid", "classe") box.set_items_shown(10) //show 10 entries from feed box.set_template("default");
box.start() //Required: start script </script>


On initialise d'abord une variable "box" (peu importe son nom) en appelant la fonction rssdisplaybox. Le premier argument "flux" est le nom de l'élément du tableau que vous avez défini dans le fichier main.php. Le deuxième et le troisième argument sont les identifiant et le nom de la classe CSS qui seront assignés à la div qui affichera les données. Cela vous permet de gérer la présentation avec des CSS personnalisés. Faites simplement attention à ne pas donner le même identifiant si vous appelez cette fonction à un autre endroit de votre page.

La fonction suivante permet de choisir le nombre de billets (parmi les plus récents) qui seront affichés.

La fonction suivante est appelée pour choisir un modèle de présentation. Ces modèles sont définis dans le fichier outputbody.php du dossier rssbox. On peut choisir de n'afficher que le titre, le titre et la date, avec ou sans la catégorie, etc. Ce fichier peut être complété selon vos besoins.

Le résultat peut être observé ici, ou là encore
|