Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

GENERATEUR DE FLUX RSS 2.0 A PARTIR DE DONNEES MYSQL


Information sur la source

Catégorie :Xml Niveau : Débutant Date de création : 14/05/2004 Vu / téléchargé: 16 340 / 2 349

Note :
7,82 / 10 - par 11 personnes
7,82 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (27)
Ajouter un commentaire et/ou une note

Description

Bonjour,
c'est ma première contribution php, :D Youpi !!!!
plutôt habitué de flash ou je viens de créer un agrégateur de flux RSS, je vous propose un script qui vous permettra de créer vos propres flux RSS 2.0 à partir de votre module de news par exemple enregistré dans une base MySQL : Les variables utilisées pour la création du flux sont :

datepubli : bigint(20)  --> Date de publication de la news (timestamp crée avec la fonction time(); ).
titre : varchar  --> Titre de la news
description : varchar  --> Description de la news
id : tinyint(3)  --> id de la news pour le lien, genre monsite.com/news.php?id=4

Je ne décrit pas l'utilité de tel ou tel balises XML, sachez que certaines sont obligatoires et d'autres optionnelles. Pour plus d'infos baladez vous ici :

http://www.stervinou.com/projets/rss/

Les prérequis pour utiliser cette source sont bien sur la connaissance du XML et de l'intêret du RSS comme fil d'information + les bases en PHP MySQL...

Vos avis sont les bienvenues .... TOUT est dans le ZIP

A+
aFaD
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de afad le 15/05/2004 19:45:06

les nouvelles technologies d'info ne semblen t pas vous inspirer, ça viendra :)

A+
aFaD

signaler à un administrateur
Commentaire de stailer le 17/05/2004 08:57:21

Salut,

Je m'intéresse bcp à ce type de techno avec php ou java.
Alors RSS c'est quoi exactement ?

Est-ce que ça va me permettre d'afficher les news de n'importe quelle site internet sur une page web PHP ou JSP ?
Ou alors je pourrais seulement utiliser des news provenant de sites proposant du RSS ?

C'est ça en fait que j'ai pas bien compris.

signaler à un administrateur
Commentaire de afad le 17/05/2004 09:43:55

Salut,

RSS est une norme de format de donnée basée sur la syntaxe XML (http://www.stervinou.com/projets/rss/) permettant vis à vis de sa portabilité d'être lu par n'importe quel langage (PHP, Javascript, ActionScript,C++). RSS est composé de balises structurant uniquement de l'information provenant par exemple de news (Titre, Description, Date de publication, Url de la news, Auteur.....).

Cette source n'est pas faites pour LIRE un flux RSS, mais pour en générer un par rapport à tes propres news, afin que le reste de la communautée internet puisse se connecter à tes informations depuis chez eux ou depuis leur site par le biais du fichier RSS.xml que tu creera avec ce générateur par rapport à tes données MySQL.

Pour lire un fichier RSS provenant d'un autre site, il faut te trouver un lecteur de flux RSS (genre programmé en PHP) qui va parser le fichier XML pour en ressortir l'information.

A+
aFaD

signaler à un administrateur
Commentaire de stailer le 17/05/2004 10:35:07

Ok, mais je ne parlais pas de ta source en fait, je parlais de la technologie utilisée.
Je me demandais si c'était avec RSS qu'on pouvait acquérir des news de diver sites internet.
Je t'explique pourquoi cette question : j'ai vu un portail (dev en java-jsp) qui te permettait de sélectionner une page web et de mettre les infos de cette page sur une page de ton profil dans le portail... J'ai trouvé ça extraordinaire et j'aimerais réussir à faire la même chose.
Donc en fait, je me demande si la techno utilisée dans ce portail ne serait pas RSS. Qu'en penses tu ?

un exemple : Je suis sur mon profil et j'ai envie d'avoir comme news une partie de cette page :
http://www.rueducommerce.fr/home/index.htm
Mais pas tout. Je sélectionne un rectangle de ce qui m'intéresse dans la page et hop ! en un clic voila ce bout de page dans mon profil et je peux consulter tous les jours les nouveautés. Tu vois le principe ?

signaler à un administrateur
Commentaire de afad le 17/05/2004 11:02:47

Le portail en question utilise surement RSS, il est censé le mettre à disposition des internautes exemple : http://www.jeuxvideo.com/jvxml.htm (Ce fichier est souvent détectable sur la page par un icone orange avec marqué dessus XML).

En fait le principal avantage de ce fichier est de dissocier le fond (informations textuelles) de la forme (design, CSS). Ainsi tu peux recevoir des infos de JDNet Solutions par exemple et les réafficher sur ton site avec ta propre Mise en page, seul le contenu est commun (il fait partit du fichier RSS), le contenant varie suivant le langage ou la plateforme utilisée.


Maintenant tu ne peux recevoir ce type d'infos uniquement si le site distant propose son propre Flux RSS remis à jour à chaque fois qu'il remet à jour ses news. C'est ce site qui a le choix du contenu du RSS, si il contient des infos sur l'économie et que tu veux des infos sur les jeux vidéos, il te sera inutile ....
En général Tous les gros sites d'infos proposent ce type de fichier resumant le contenu de leurs news (c'est une sorte de sommaire finalement, le titre, une description et la page en question).

J'espère que ça t'éclaire un peu. Faut pas chercher très compliqué, c'est un vulgaire fichier texte mise en page d'une certaine manière...

A+
aFaD

signaler à un administrateur
Commentaire de afad le 17/05/2004 11:13:59

Vis à vis de la methode que tu recherches, cad faire une sorte de capture d'une partie d'une page web, ce n'est pas trop le principe du RSS, dans ton cas tu vas te retrouver avec la mise en page du site distant en plus de l'info alors que RSS ne donne que l'info, pas la mise en page.

Ensuite, contrairement à ta méthode il faut bien sur que le site distant met à disposition un flux RSS (fichier XML) sinon ça marche pas.

Maintenant par rapport à ta méthode, je ne sais pas s'il existe une solution. Moi je te propose celle du RSS.

A+
aFaD

signaler à un administrateur
Commentaire de stailer le 17/05/2004 11:14:44

Ouaip ça m'éclaire déjà davantage, je te remerci...

Au fait : bravo pour cette source, elle m'aidera pour comprendre la construction et l'utilisation de ce type de fichier.

signaler à un administrateur
Commentaire de greenskii le 09/06/2004 00:23:22

NUL....

Aucune gestion de la compatibilité du contendu de la base de donnée avec le format XML ! Ce script va plus planter a la gueule au premier '&' '`' etc. donc un conseil ne l'utilisez pas !

signaler à un administrateur
Commentaire de afad le 09/06/2004 09:46:25

De quoi tu parle ??? , les & sont parfaitement gêrer comme n'importe quel caractère.
Partant du principe que description et titre sont des valeurs provenant de champs de saisie, je vois mal un type taper ses accents '`' !!! Et le cas echeant en aucun cas cela fait planter le RSS.....

Je rappelle que le XML généré par ce code a été validé à plusieurs essais par des validateurs différents. Ya aucun souci.

A+
aFaD

signaler à un administrateur
Commentaire de stailer le 09/06/2004 10:12:56

Et voila une source originale et intéressante qui se retrouve à 4/10... Alors que d'autres qui font des pov' trucs se retrouvent à 8.

Si certains pouvaient REFLECHIR avant de cliquer sur VOTER ce serait vraiment pas mal.

signaler à un administrateur
Commentaire de greenskii le 09/06/2004 12:12:43

Mon cher afad tu ne sais apparement pas de quoi tu parles...

Un flux rss sert généralement pour linker des news qui sont sur un site. Mon script de news étant bien codé et pour respecter les recommendations du W3C, tous mes accents sont remplacés avant insertion dans la base de données par leur code HTML. Certes une fonction php existe pour les enlever, mais cela n'enleve pas le problème des quotes et du & qui s'ils sont inclus tel quel dans le fichier rss provoqueront une erreur de parsing !

Si tu ne me crois pas essaye donc de mettre un & dans un des titres ;)

De plus, je conseille a tous ceux qui souhterais creer un flux rss de creer une page dynamique dc de rajouter un htacccess fesant s'executer par le moteur php leur fichier rss si celui si n'a pas une extension php !

signaler à un administrateur
Commentaire de afad le 09/06/2004 12:47:58

Les quotes sont acceptés dans un fichier RSS. J'ai testé tes pseudo pb depuis un moment déja. j'exploite cette fonction dans un systême de news depuis 4 mois, aucun souci de parsing aussi bien sur le net en utilisant php, flash ou c++ que sur os, RSS Reader par exemple que ça soit pour les accents (que je ne remplace pas en html !) ou autres caractères spéciaux (revoi ta fonction parse!). Le seul à modifier est le caractère < qui peut être assimilé à un debut de balise.

Rappel sur la spécif RSS : http://www.stervinou.com/projets/rss/

Mais je suis sur que ta fonction est meilleure que la mienne c'est certain ;)

Aux autres, eviter les commentaires evasifs baser sur des opinions et non des faits et faites vous votre propre idée en testant par vous même... ça ira plus vite...

A+
aFaD

signaler à un administrateur
Commentaire de greenskii le 09/06/2004 20:03:26

Je ne suis pas ici par hasard, si j'ai testé ce script c'est parce que je n'ai pas envie d'en coder un ! Mon site a deja plus de 10 000 news et je peux t'assurer que j'ai des problèmes pour lire le flux rss de mon site avec ce script.

J'utilise le rss reader de firefox pour info...

Mais bon c'est pas grave je sais pourquoi ça plante je vais coder une fonction de conversion qui enleve les caractères interdits, pas grave.

signaler à un administrateur
Commentaire de afad le 22/06/2004 23:22:15

Hello,

effectivement le XML n'aime pas trop les caractêres < > & "
Appliquer cette fonction à vos variables MySQL et vous n'aurez plus de souci :

function conf_XML($text)
{
$text = str_replace("&","&",$text);
$text = str_replace("<","<",$text);
$text = str_replace(">",">",$text);
$text = str_replace("\"",""",$text);

return $text;
}

Désolé green, cette fonction etait déja présente plus en amont dans le systême de news et faite par une autre personne, le RSS a été accroché par la suite. Forcément je n'ai pas eu de bugs ;)

Bref moi je vous donne le patch.

A+
aFaD

signaler à un administrateur
Commentaire de dandy54 le 07/07/2004 15:17:29

Script assez simple, bien commenté, moi qui sébute en php j'ai tt compris ! Et vachement utile comme script !

signaler à un administrateur
Commentaire de Magidev le 10/09/2004 01:41:55

Le RSS est très utile, g découvert ca ya qq jours par curiosité et avec un programme comme NewzCrawler (Shareware) vous pouvez recevoir les dépêches de vos sites favoris. C'est comme les logiciels professionels des agences de presse mais ici c'est gratuit et les sources sont tres diversifiées. Super comme truc et la mise en place de feeders sur les sites est facile

Pour retrouver l'index de tous les Feeders RSS je vous conseille ce site : http://www.newsisfree.com/

et moi j'utilise NewzCrawler (payant) mais tres efficace avec un bandeau pour les infos.

signaler à un administrateur
Commentaire de Magidev le 19/09/2004 01:20:30

Je rencontre un problème avec les Feeder RSS, j'ai du code provenant de ma base dans lequel il y a des balises du genre &agrave pour les accents, mais le generateur plante a cet endroit, cmt y remédier ?

signaler à un administrateur
Commentaire de Magidev le 19/09/2004 01:29:05

Magidev voici la réponse à ta question au niveau des accents (LOL)

Il suffit de changer l entete par celle-ci

<?xml version="1.0" encoding="UTF-8"?>

signaler à un administrateur
Commentaire de afad le 21/09/2004 13:13:41

LOL, pas de problème, tu fais comme chez toi :)

Si tu veux voir un exemple d'utilisation de ce script, c'est le système de news de http://www.progforum.net

A+
aFaD

signaler à un administrateur
Commentaire de scullder le 06/11/2004 18:40:39

salut
j'ai regardé ton script, c'est assez intéressant pour ceux qui ne connaissent pas.
J'ai juste une petite remarque, le fichier xml généré n'aura aucune indentation ni passage de ligne, ça fera un gros bloc et c'est pas très lisible pour quelqu'un qui voudrait comprendre le format rss en partant du fichier généré.
Sinon, ta source est très pratique :)

signaler à un administrateur
Commentaire de BananaTree le 16/01/2005 14:43:07

slt afad.

la source ne m'interresse pas pour le moment (trop de taf, plus tard surement)
mais rien que pour ça :
http://www.stervinou.com/projets/rss/
je te dis un grand merci.
ça va me faire économiser pas mal d'heure de recherche sur la toile.

@+

signaler à un administrateur
Commentaire de fser le 20/02/2005 15:42:54

salut a tous,
je voudrais connaitre l'interet de creer un ficher xml :
si l'on crée une page php ( meme si ça semble bête )
qui affiche les balises xml, ça ne suffirai pas ?

signaler à un administrateur
Commentaire de marius120 le 09/04/2005 14:22:57

salut. Oui mais ca existe ca? Une page php qui affiche tes balises xml de ta page?

signaler à un administrateur
Commentaire de marius120 le 09/04/2005 14:40:25

Roolalala moi ca fonctionne pas.

Question: Le code il faut le copier dans un bloc php? Ou il faut mettre le fichier convenablement configuré sur notre FTP et le lancer?

Parce que c'est ce que j'ai fait et ca ne fonctionne pas...

http://www.francefootball.org/gen_RSS.php
http://www.francefootball.org/rss.xml

signaler à un administrateur
Commentaire de spyro666 le 09/04/2006 12:05:14

->Greenskill : C'est normal que ce script plante chez toi! Si tu relisais le descriptif deux fois plutot qu'une tu verras qu'il est noté que l'id est limité à 3 caractères, or pour gérer tes 10'000 news il te faudrait au moins 5-6 caractère !!!

signaler à un administrateur
Commentaire de spyro666 le 09/04/2006 12:07:06

->Greenskill : C'est normal que ce script plante chez toi! Si tu relisais le descriptif deux fois plutot qu'une tu verras qu'il est noté que l'id est limité à 3 caractères, or pour gérer tes 10'000 news il te faudrait au moins 5-6 caractère !!!

signaler à un administrateur
Commentaire de dead man le 14/05/2006 18:30:30

Excélent, fonctionne parfaite et très adaptatif.
Seules deux petites remarques :
1) Pour des bases de données dont les noms des table est forme d'espace, il faut modifier la ligne suivante :
$res=mysql_query("select * from `$nom_de_la_table` order by `Date` desc limit $Limitation");// = la date
2) Il faut modifier le format de la date "pubDate" pour la rendre conforme à la RFC suivante :
http://www.feedvalidator.org/docs/error/InvalidRFC2822Date.html
$datephp=date("D, d M Y H:i:s +0100", strtotime($madate));

En tous les cas merci pour le travail que tu as réalisé cela ma permis d'être encore plus rapide dans la mise en place de mon flux RSS.

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version


HTC G1

Entre 449€ et 449€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,312 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.