Accueil Boite à Outils Syndication de contenu Syndication de contenu - Archives Editer plusieurs fichiers de syndication 2/3

Publié le : 20 février 2006
Publication antérieure :
24 février 2005

Imprimer Imprimer cet article

Auteur :
Alain Sichel

Alain Sichel
Editer plusieurs fichiers de syndication 2/3
2) Explication du code

Cet article a été publié le 24 février 2005, il est actuellement dépassé et n’a plus qu’un intérêt "historique". Pour éditer des fichiers de syndication, je vous conseille plutôt de voir Editez vos flux avec Fil_LE 1/2 et 2/2.

Après le premier article pour présenter l’Editeur de fichiers de syndication [1] et permettre de l’utiliser tel quel, cette deuxième partie donne quelques explications sur son fonctionnement et son adaptation.

Le principe

Pour fonctionner, l’Editeur de fichiers de syndication utilise trois types de fichiers [2] :

- “maker.php" : ce fichier assure l’ensemble de la mise en forme, en utilisant les ressources des autres fichiers. Le code de la 1ère version (pour la réalisation d’un fichier RSS 0.91) a été présenté dans Un Editeur RSS pour votre site 2/2, la lecture de cet article est donc recommandée pour comprendre le fonctionnement. Le principe est le même pour réaliser plusieurs fichiers de syndication : on fait appel successivement à chaque "easyRSS_maker..." spécifique.

- Les fichiers "easyRSS_maker..." : ils indiquent à “maker.php" comment mettre en forme les informations pour chaque type de fichier de syndication. Ce sont donc eux qu’il faudra modifier pour changer la présentation d’un de ces fichiers :

- "easyRSS_reader_2.inc.php" ce fichier est celui de classe EasyRSS 1.5.1 pour lire et récupérer les données d’un fichier de syndication existant, modifié pour reconnaître <dc:date> plutôt que <date>, <dc:creator> plutôt que <webmaster> et en plus <category> ainsi que les balises spécifiques d’Atom : <feed> <entry> <issued> et <summary>.

Je pense qu’il serait trop lourd de reprendre la totalité du code de ces fichiers, déjà décrits dans une version proche dans d’autres articles [3], je vais donc me limiter à décrire quelques adaptations.

Adaptations simples de maker.php

Emplacement des autres fichiers :

Si "easyRSS_reader_2.inc.php" ou les fichiers "easyRSS_maker..." ne sont pas dans le même dossier que "maker.php", vous devez modifier dans ce dernier le chemin vers ces fichiers :
- ligne 62 pour "easyRSS_maker_3.inc.php",
- ligne 100 pour "easyRSS_maker_2.inc.php",
- ligne 145 pour "easyRSS_maker.inc.php",
- ligne 189 pour "easyRSS_maker_htm.inc.php",
- ligne 222 pour "easyRSS_maker_js.inc.php",
- ligne 255 pour "easyRSS_reader_2.inc.php",

URL du fichier RSS :

Afin de mettre l’adresse de votre fichier de syndication pour la récupération des données, il suffit de remplacer à la ligne 405 'http://www.mondomaine.org/rss2.xml' par l’URL de votre fichier. Il est préférable de choisir le format contenant le plus d’informations, c’est pourquoi je préconise que ce soit le fichier RSS 2.0.

Nom et emplacement des fichiers de syndication :

Si vous voulez donner un autre nom à un fichier ou un autre emplacement que la racine du site, vous devez modifier dans "maker.php" :
- la ligne 96 pour le fichier Atom 0.3,
- la ligne 141 pour le fichier RSS 2.0,
- la ligne 185 pour le fichier RSS 0.91,
- la ligne 218 pour le fichier HTML,
- la ligne 251 pour le fichier Javascript.

Ne pas éditer l’un des fichiers de syndication :

Si l’un des fichiers de syndication ne vous intéresse pas, on peut bien sûr supprimer les lignes spécifiques à ce fichier dans "maker.php", mais il y a plus élégant : vous pouvez placer /* au début du code à supprimer et */ à la fin, ainsi ce code n’est plus considéré comme du PHP mais comme un commentaire, et si vous voulez par la suite vous en servir, vous n’aurez qu’à retirer ces caractères. Voici où les placer :
- /* ligne 61, /* ligne 98 pour ne pas éditer le fichier Atom 0.3,
- /* ligne 99, /* ligne 143 pour ne pas éditer le fichier RSS 2.0,
- /* ligne 144, /* ligne 187 pour ne pas éditer le fichier RSS 0.91,
- /* ligne 188, /* ligne 220 pour ne pas éditer le fichier HTML,
- /* ligne 221, /* ligne 253 pour ne pas éditer le fichier Javascript.

Adaptations simples des fichiers RSS ou Atom

Nombre d’items dans le fichier :

Si vous voulez moins de 15 items dans votre fichier, voici le code à modifier :

- pour le fichier Atom 0.3 à la ligne 193 de "easyRSS_maker_3.inc.php", remplacez dans for($i = 1; $i <= $this -> itemcount; $i++) par $i <nombre désiré + 1; (par exemple pour 10 items, il faut mettre : for($i = 1; $i <11; $i++))

- pour le fichier RSS 2.0 à la ligne 387 de "easyRSS_maker_2.inc.php", remplacez dans for($i = 1; $i <= $this -> itemcount; $i++) par $i <nombre désiré + 1; (par exemple pour 10 items, il faut mettre : for($i = 1; $i <11; $i++))

- pour le fichier RSS 0.91 à la ligne 362 de "easyRSS_maker_2.inc.php", remplacez dans for($i = 1; $i <= $this -> itemcount; $i++) par $i <nombre désiré + 1; (par exemple pour 10 items, il faut mettre : for($i = 1; $i <11; $i++))

Suppression de certains éléments d’un fichier :

La suppression d’éléments non désirés dans un fichier n’est pas difficile, il suffit de supprimer dans les lignes de code celles sur l’élément non souhaité dans la partie du script sur la mise en forme du fichier :

- pour le fichier Atom 0.3 de la ligne 173 à la ligne 219 de "easyRSS_maker_3.inc.php",

- pour le fichier RSS 2.0 de la ligne 340 à la ligne 427 de "easyRSS_maker_2.inc.php",

- pour le fichier RSS 0.91 de la ligne 319 à la ligne 383 de "easyRSS_maker.inc.php".

Mise en forme des fichiers HTML et Javascript

Modification de l’apparence d’un fichier :

On peut modifier l’apparence d’un fichier en utilisant du code HTML (par exemple bgcolor="#ffffff" ou <font color="#ffff00">) ou CSS (par exemple class="bleu" ou <span class="gris">. Le code HTML s’impose pour celui qui veut afficher un de ces fichiers, alors qu’il peut jouer avec la feuille de style de la page où sera montré le fichier HTML ou Javascript pour le mettre au look de son choix.

Suppression de certains éléments d’un fichier :

Comme pour les fichiers RSS et Atom, la suppression d’éléments non désirés dans un fichier n’est pas difficile, il suffit de supprimer dans les lignes de code celles sur l’élément non souhaité dans la partie du script sur la mise en forme du fichier :

- pour le fichier HTML de la ligne 148 à la ligne 179 de "easyRSS_maker_htm.inc.php",

- pour le fichier Javascript de la ligne 112 à la ligne 130 de "easyRSS_maker_js.inc.php".

Ajouter un élément nouveau

Ajouter un élément nouveau (par exemple <comments>, <guid>, <source>, <pubDate>...) est plus ardu (mais c’est un bon exercice de PHP). Il faudra en effet modifier plusieurs fichiers :

- "easyRSS_reader_2.inc.php" pour qu’il reconnaisse l’élément souhaité,

- le ou les fichier(s) "easyRSS_maker..." correspondant(s) pour ajouter l’élément nouveau,

- “maker.php" pour ajouter l’élément nouveau :

Pour cela je recommande de bien regarder comment le code fonctionne pour un des éléments déjà présent et de vous en inspirer pour reproduire les mêmes opérations pour l’élément désiré.

Conclusion

Avec cette deuxième version, l’Editeur de fichiers de syndication est plus performant. Certes, il n’est pas automatique comme la syndication de SPIP, mais il est facile à mettre en œuvre et réalise des fichiers conformes aux spécifications RSS et Atom.

 


 

 

[1] Ce script a été mis au point pour le site du CYES.

[2] Tous ces fichiers sont contenus dans "editeur.zip" qui peut être téléchargé en bas du premier article.

[3] Voir :
- Utilisation de la classe easyRSS,
- Un Editeur RSS pour votre site 2/2
- Un lecteur RSS pour votre site 2/2.




Cliquez ici pour réagir à cet article

Imprimer Imprimer cet article


Réactions à l'article :