GraffitiX Index du Forum

 
 Sujets suivisSujets suivis   FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres   Groupes d'utilisateursGroupes d'utilisateurs   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

Générer un flux RSS via PHP et MySQL

 
Poster un nouveau sujet   Répondre au sujet    GraffitiX Index du Forum -> Créer et gérer son site
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
jjardoino
Site Admin


Inscrit le: 14 Fév 2005
Messages: 3198
Localisation: Paris

MessagePosté le: Sam 18 Juin 2005 9:57    Sujet du message: Générer un flux RSS via PHP et MySQL Répondre en citant

Je ne vais pas décrire ici toutes les étapes pour générer un flux RSS à partir de son site. Grosso modo, certains lecteurs de RSS, ou bien des applications dédiées comme Feeder 1.1.2 offrent des moyens de composer le fichier xml qui constituera le "RSS" du site. Pour ma part, je n'ai utilisé aucune de ces solutions qui me semblent trop "manuelles". Comme GraffitiX est basé sur PHP et MySQL, je cherchais plutôt une solution proche de la méthode déjà utilisée sur mes pages : comment, en PHP, aller chercher les données de la base pour, cette fois, aboutir à un fichier au format xml.
J'aurais pu écrire le code en partant de rien. À force de réflexion et de travail, ce n'est certainement pas impossible. Mais je n'étais pas prêt à passer des journées à tenter de réinventer la roue. Autant trouver une méthode déjà élaborée. Et je trouve autant de plaisir à analyser la solution de quelqu'un d'autre, à la compléter suivant mes besoins, qu'à chercher la fierté d'avoir tout fait avec mes petites mains.
Je suis donc tombé sur la solution de Philippe Rodier, modifiée par Alain Sichel et Dominique Wojylac, et qui se nomme easyRSS 1.5.1. En effet, à partir d'un script PHP utilisable en include et un script d'exemple, je n'ai pas tardé à l'adapter à GraffitiX.
Le script en include génère le xml à partir d'une classe réunissant tous les éléments nécessaires, et l'autre script, celui qu'on exécute (ou bien dont on prend le code pour l'ajouter à un autre script si on préfère que ce soit tout automatique), consiste à collecter les données et faire les premiers calculs.
Puisque, sur GraffitiX, je suis relativement à l'aise avec le code PHP qui permet de sélectionner les bons articles pour une page, ou encore pour afficher la liste des dernières News sur la page d'accueil, le plus gros du travail est fait. En effet, pour générer le RSS de GraffitiX, il faut procéder de la même façon, collecter des titres avec leur description (premier paragraphe de l'article) et leur lien. Et c'est le script en include qui, après avoir reçu ces données de façon cohérente, se charge de générer un bon fichier XML...
Je n'ai donc eu qu'à appeler les données de la base MySQL pour les stocker dans des variables, comme je le fais d'habitude, traiter ces variables (générer un lien html en cobinant titre et URL, ou encore ne conserver que le premier paragraphe du texte...)... Comme je souhaitais que le flux tienne compte des dates des articles plutôt que de la date de création du flux lui-même, j'ai dû aussi modifier la classe pour lui ajouter des éléments mais c'est très simple, et le fait que la méthode utilise une classe est d'une grande aide pour que les neurones ne se dispersent pas...
Tout ça pour dire que je recommande cette solution. En effet, dès lors qu'on a été amené à manipuler du PHP et MySQL, la manipulation de deux petits scripts easyRSS est un jeu d'enfant, c'est juste le temps de les analyser... easyRSS était téléchargeable sur le site PHPSPIRIT mais celui-ci est fermé. Je prends donc la liberté de le mettre en téléchargement sur GraffitiX, tellement je le trouve essentiel. Bien entendu, je reste à la disposition des auteurs (que je tenterai de contacter) et je modifierai ma position suivant leur accord ou leur désaccord.

MAJ octobre 2005 : la situation ayant changé depuis (voir ici), et cette solution étant actuellement suivie sur le site de Dominique Wojylac, je n'ai plus de raison de maintenir le téléchargement d'une ancienne version.
_________________
Jean-Jacques Ardoino
Si vous voulez aider GraffitiX...
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Adresse AIM
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    GraffitiX Index du Forum -> Créer et gérer son site Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com