Enro le 09/02/2005 :

Merci :-) Je garde ça sous le coude...

darn le 12/02/2005 :

Vous avez écrit :
"rss_cache.inc, rss_fetch.inc, rss_parse.inc et rss_utils.inc dans le dossier où vous souhaitez installer votre page (/liens/ sur ce site)"

Un fichier a extension .inc n'est pas très sécurisé, il vaut mieux utiliser .inc.php
Le code du fichier .inc sera lisible par le browser. A moins, je pense, de configurer Apache pour que php parse les .inc

Mes 2 centimes.

ps: très beau design.

Play le 12/02/2005 :

Salut Titus !

Merci du billet ! ;-) Excellent.

David, biologeek le 12/02/2005 :

@darn : en effet, je vais corriger ça et mettre une version en .inc.php en téléchargement. D'un autre côté, le fait que le code soit lisible ne pose pas vraiment un problème étant donné qu'il est en libre téléchargement...

@Enro & Play : de rien :-)

@tous : ça vous emballe pas un planet.ubuntu-fr ? Bon c'est peut être que ce n'est pas très visible aussi, je vais faire un billet là-dessus !

darn le 12/02/2005 :

@titus : En effet, le code le code est libre, mais mes poils se dressent quand je vois ça.
Il faut garder de bonnes habitudes en ce qui concerne la sécurité. Supposons que tu modifies le code de ton .inc (libre ou pas) et que tu y mettes des informations sensibles.
A part ça, je ne connais pas Ubuntu, donc plus d'infos me donneront peut-être envie d'essayer.

David, biologeek le 13/02/2005 :

C'est maintenant réparé :)

Concernant Ubuntu, c'est une distribution de Linux qui est très appréciée en ce moment, pas seulement par effet de mode mais aussi en raison de ses atouts (stabilité, simplicité,...). Tu peux trouver des infos sur ubuntu-fr.org, notamment sur le forum très actif, je sais qu'une des personnes à qui j'ai conseillé cette distribution a été séduite par les remarques du forum.

Si tu veux plus d'infos, n'hésites pas à demander j'essayerai d'y répondre.

Play le 14/02/2005 :

Re Titus,

Ouaip ! Effectivement, je confirme : Ubuntu c'est que du bon ! :-) Ceci dit, il y a quand même un effet de mode... Comme avec toutes les nouvelles distributions. Je reproche à Ubuntu sont côté "trop light". Si tu n'as pas de connexion ADSL, tu peux oublier et retourner sous Windows. Il n'y a pas non plus de véritable "panneau de configuration". Certes, il y a les GNOME-Tools mais c'est vraiment du "light". Sinon, elle est très stable, très simple... Bref, elle est sympathique.

Un planet.ubuntu-fr ? Ouaip ! Pourquoi pas ! Ça serait cool.

Tiens-nous au courant.
A+

bistouri le 08/03/2005 :

Meci Titus pour ce joli code :)
Ca parait s'intégrer parfaitement dans Dotclear et le petit grain d'aléatoire ajoute du piment.

Bruno le 08/04/2005 :

Bonjour,

J'ai installé Magpierss selon vos instructions, ça fonctionne, mais je voudrais personnaliser l'affichage des news (couleur et taille des polices et des puces, ouverture du lien dans une nouvelle fenêtre). Pouvez-vous m'aider sachant que je suis loin d'être un pro HTML/PHP/CSS.

Autre chose : la date ne s'affiche pas !?

Merci de votre aide.
Bruno

David, biologeek le 08/04/2005 :

Bonjour Bruno,

Tu m'excuseras mais j'ai du modifier ton message qui était un peu long :)
J'ai mis le code sur le wiki pour que l'on puisse le modifier tous les deux, c'est plus pratique.

Concernant les problèmes rencontrés :
* pour l'affichage il faut modifier le style, essayes de me décrire ce que tu veux obtenir, je verrais ce que je peux faire.
* pour la date, il s'agit des fils RSS qui sont différents de ceux que j'ai eut à traiter jusque là, je vais essayer de voir s'il est possible de les récupérer sans tout modifier.

Avec plaisir :)

Misange le 06/05/2005 :

Merci pour toutes les explications sur RSS et sur le code ci-dessus. Impec. Juste un petit souci : les logos ne s'affichent pas chez moi. Faut-il les récupérer auparavant sur les sites ou sont-ils générés par ceux-ci ?

David, biologeek le 06/05/2005 :

Les logos ont été générés à la main, c'est beaucoup moins évident à faire en automatique, malheureusement.

Alpha le 18/05/2005 :

Bonjour

Je suis le webmaster d'un site utilisant magpie RSS afin de proposer différents fils d'informations regroupés par catégories. Informatique, jeu vidéo, actualité généraliste, webmastering, ect ...

Tout fonctionne parfaitement, mais j'aimerais aller un peut plus loin en proposant sur la page principale, les dernières news des sites syndiqués sur mon site. Je viens de tester votre script php qui fonctionne très bien, je me demmandais si il était possible d'y ajouter une fonction premettant l'affichage des liens en fonction des dates de parutions.

David, biologeek le 18/05/2005 :

Dans ce cas là, essaye de te tourner vers lilina : lilina.sourceforge.net/

C'est basé sur Magpie et c'est plutôt bien fait :)

Vincent le 11/06/2005 :

Bonjour,

Très bon article et surtout beaucoup plus de précisions que dans l'article publié en 2004 par Webrankinfo :
www.webrankinfo.com/analy...
J'ai également utilisé MagpieRSS sur mon site web mais je m'interroge : à votre avis, relayer des informations publiées par d'autres et les afficher sur son propre site, est-ce respectueux des droits d'auteur ? Qu'en pensez vous ?

David, biologeek le 11/06/2005 :

Bonjour et merci pour vos compliments,

Il est vrai que le fait de réaliser un aggrégateur en ligne pose un problème de droits d'auteur, je préconise donc l'aggrégation de fils étant sous licence permettant une telle réutilisation des écrits (copyleft par exemple). Après il peut y avoir des ententes entre parties, il suffit de communiquer avec l'auteur en question je pense.

jayjay le 19/07/2005 :

bonjour, j ai lu tous ce que je pouvais lire sur le net concernant magpie et je n'y arrive toujours pas.

Rien ne s'affiche sur ma page web !!!

anne onim le 16/01/2006 :

Bonjour,
Attention, commun des mortels qui expérimente... et voic ile resultat :

Warning: main(magpierss/rss_fetch.inc.php): failed to open stream: No such file or directory in /home/anne/www/rss/index.php on line 2

Fatal error: main(): Failed opening required 'magpierss/rss_fetch.inc.php' (include_path='.:/usr/local/lib/php') in /home/anne/www/rss/index.php on line 2

Peut-être quelqu'un pourra t il nous donner un coup de pouce ?

Bien à vous et merci d'avance

David, biologeek le 16/01/2006 :

Salut,

Es-tu bien sûr que ton dossier magpierss est à l'adresse : /home/anne/www/rss/magpierss ? Au pire essaye en mettant un chemin absolu pour voir si ça vient de là...

anne onim le 16/01/2006 :

Après vérification, il est bien dans
/www/rss/magpierss/
J'ai changé le index.php par le chemin absolu
http://www.anne-onim.net/rss/magpierss/rss_fetch.inc.php dans index.php
Ya t il un autre changement à faire quelque part ?
Encore merci pour d'un nice intéressé par la fonction...

anne onim le 17/01/2006 :

J'ai mis en dur comme suggéré dans la page index.php la ligne suivante :
require_once('http://www.anne-onim.net/rss/magpierss/rss_fetch.inc.php')

Voici la nouvelle erreur
Warning: main(/home/anne/www/rss/magpierss/rss_parse.inc): failed to open stream: No such file or directory in /home/anne/www/rss/magpierss/rss_fetch.inc.php on line 30

Fatal error: main(): Failed opening required '/home/anne/www/rss/magpierss/rss_parse.inc' (include_path='.:/usr/local/lib/php') in /home/anne/www/rss/magpierss/rss_fetch.inc.php on line 30

Encore une suggestion ?

Merci d'avance ;-)

Fatal error: Call to undefined function: fetch_rss() in /home/anne/www/rss/index.php on line 11

anne onim le 18/01/2006 :

On avance...
Il me reste plus q'une ligne d'erreur

Fatal error: Call to undefined function: fetch_rss() in /home/anne/www/rss/index.php on line 11

La ligne 11 c'est
$rss = fetch_rss( $url );

Qu'est ce je pourrais modifier pour lui faire plaisir ?

Un peti coup de pouce, je sens ça approche SVP

David, biologeek le 18/01/2006 :

Bon alors reprennons :)

Vérification de base : ne pas se tromper entre les .inc et les .inc.php (j'ai l'impression que ça pourrait être le cas là...)

Ensuite, Call to undefined function: fetch_rss() ça signifie qu'il n'arrive pas à charger la fonction qui doit se trouver dans magpierss/rss_fetch.inc.php qui est appelé lors de la ligne :

require_once('magpierss/rss_fetch.inc.php');

Donc en gros, vérifier que ça appelle le bon fichier (au pire mettre un echo "toto"; dans le fichier en question), que celui-ci est accessible en lecture/execution mais ça n'a pas l'air de poser problème ici ça.

Petite précision : anne-onim.net est hébergé sur /home/anne/www/ ? Si non, il vaut mieux tout tester en local quitte à mettre des chemins absolus du style require_once('/home/anne/www/rss/rss_fetch.inc.php');

Bon courage :)

anne onim le 19/01/2006 :

Enervant quand on maîtrise pas ;-)
Du coup je suis allé chercher des solutions en ligne et j'ai trouvé ça :
www.webrankinfo.com/analy...
www.webrankinfo.com/forum...

Et ça fonctionne à merveille !

Merci à ceux qui ont répondu... et tant pis pour cette explication trop technique pour un naze du RSS ;-)
Merci

Chipos le 28/05/2006 :

Bonjour,
Merci pour ce tutorial, car l'info en français sur magpie est rare !

Une petite question, comment ouvrir chaque lien dans une nouvelle fenêtre?

Allez une autre, si ça vous embête pas, est ce possible de mélanger les news de plusieurs fils et de les classer chronologiquement ?

Une petite dernière, vous êtes bien sympathique ;-) !!
Je cherche à disposer plusieurs fils de manière indépendante sur une même page car je veux les placer à des endroits différents et les configurer de manière différente mais quand je met ce script 2 fois à des endroits différents dans le même index.php, ça ne fonctionne pas, où est la solution ?

David, biologeek le 28/05/2006 :

> comment ouvrir chaque lien dans une nouvelle fenêtre?

C'est déconseillé pour des raisons d'accessibilité et d'ergonomie de navigation mais un attribut target="_blank" dans les liens permet d'ouvrir une nouvelle fenêtre du navigateur.

> est ce possible de mélanger les news de plusieurs fils et de les classer chronologiquement ?

Tout est possible ;-). Tout dépend du temps que l'on veut passer dessus. Actuellement le script ne permet pas un tel classement mais c'est tout à fait possible.

> Je cherche à disposer plusieurs fils de manière indépendante sur une même page [...] ?

Je n'ai pas testé mais a priori il suffit de créer deux tableaux distincts $tab_rss et $tab_rss2 par exemple et de boucler une fois sur l'un et une fois sur l'autre.

Bon courage :-).

maje le 24/08/2006 :

Bonjour,

Une alternative à MagpieRSS (qui n'a pas bougé depuis fin 2005) : SimplePie, simplepie.org/
Les deux développeurs sont plutôt réactifs, leur API marche aussi bien voire mieux que MagpieRSS.
Beaucoup de projets basés sur Magpie passent à SimplePie (dont moi ;-)

(Le billet est un peu ancien, mais on sait jamais, ça peut servir à certains qui passent par là)

Sinon, je découvre ton blog, sympa !

a+
maje

math le 09/12/2006 :

Bonjour,

je comprend pas trop car quand je mais le liens du flux, ça ne marche pas car ce n'est pas les méme bloc, il faut que je change les nom des bloc dans le code php.

fabrice le 04/01/2007 :

hello,
un grand merci à toi pour ces explications qui m'ont permis de réaliser mon petit projet.
encore bravo !

phrench le 20/06/2007 :

Thanks for the tutorial. Was a little bit hard to understand since my french isn't the best anymore ;-)

David, biologeek le 20/06/2007 :

I'm glad to help you phrench :-).

pascal le 29/07/2007 :

J'ai essayé ton code en faisant un copier coller : il me semble qu'il y a des erreurs, non ? La coloration syntaxique sous html kit semble l'indiquer et comme je n'y connais pas grand chose en php je ne sais d'où vient l'erreur!!!
Pourrais-tu vérifier ? merci car je cherche à afficher une part d'article comme tu le fais mais sans succès!!
pascal

David, biologeek le 29/07/2007 :

Il n'y a pas d'erreur à ma connaissance, c'est le code que j'utilise.

Herve le 08/08/2007 :

Bonjour,

je viens de créer un site internet il y a tout juste 2 mois. Je voudrais bien integrer la fonction Rss, mais je suis encore débutant. Pouvez vous m'aider SVP ?
Cordialement Herve

Mathias le 22/08/2007 :

Dur,dur, de trouver quelque chose qui marche bien avec l'hebergeur ovh. Je suis preneur.

Yako le 05/11/2007 :

Salut,

Le code marche parfaitement; par contre, en cas d'erreurs, j'obtiens l'affichage du message d'erreur de magpierss et de celui que j'ai configure dans "else".
Le FAQ de magpierss parle de rajouter "ini_set('display_errors', 0);". Ou faut-il ajouter cette ligne? J'ai fais plusieurs tests, ca ne semble pas fonctionner :-(

D'avance merci!

testor le 18/01/2008 :

MERCI David, c'est sympa de nous mâcher le travail, tu m'évites 3 heures de prise de tête : vive les blogs, et vive les geeks !

Ca marche Nickel.

Mon seul soucis c'est que le code n'a apparemment pas été mis à jour depuis ~2005... j'ai toujours une petit méfiance avec les open source pas mis à jour en terme de failles de hacks ... Quelqu'un a entendu parler de soucis de sécurité avec Magpie RSS ?

David, biologeek le 18/01/2008 :

@Yako : il me semble que j'ai aussi le même problème, je n'ai pas cherché plus loin depuis remarque.

@testor : excellente question, si tu trouves des réponses n'hésite pas à nous en faire part !

Gino le 04/03/2008 :

anne onim a tout a fait raison c'est beaucoup plus facile sur webrankinfo.com.
Il y a moins de détail et pour quelqu'un qui connait pas grand chose en code c'est le top.
Bravo quand même.

gandja le 28/03/2008 :

absolument genial !!!

un grand grand merci a toi et a ton code , et chapeau bas pour cette explication , une merveille ....

Quentin le 25/04/2008 :

Salut !
Tout d'abord merci pour ce tuto très clair !

Je l'ai utilisé pour afficher un flux rss sur une page de test, tout fonctionne très bien du premier coup, mais je n'ai pas de rafraichissement des infos rss. J'ai pourtant mis $MAX_AGE = 120 dans rss_cache.inc. Si je supprime le contenu du fichier de cache, il se regénère avec les infos mises à jour correctement. Une idée ? Je suis sous windows xp, avec easyphp 2.0.0.0.

David, biologeek le 25/04/2008 :

Salut Quentin,

Normalement le cache devrait être rafraîchi toutes les 2 minutes avec cette configuration. Il n'est vraiment jamais mis à jour ?

Quentin le 25/04/2008 :

Non, jamais. J'ai trouvé une solution sur un forum: j'ai changé define('MAGPIE_CACHE_ON', false); dans rss_fetch.inc et ça fonctionne.

Philippe le 25/05/2008 :

Bonjour;
J'ai fais l'installation de Magpierss pour afficher le flux d'un blog sous WP sur la page actu de mon site web qui ne tourne pas sous WP.
J'ai mis le code ci-dessous:

<?php
require_once('http://www.climbing-trips.com/magpierss/rss_fetch.inc');

$url = "http://www.climbing-trips.com/wp-includes/feed-rss.php";
$rss = fetch_rss($url);
$it = 0;
echo "
<ul>";
foreach ($rss->items as $item )
{
$title = $item[title];
$url = $item[link];
$it++;
if ($it<11) echo "<li style='font-size: 8pt; padding: 0px'><a href='".$url."' style='font-size: 8pt' target='_blank'>$title</a></li>";
}
echo "</ul>
<a href='http://www.escalades.fr' target='_blank'>Escalades.fr</a>";
?>

J'ai le message d'erreur suivant:

Warning: MagpieRSS: Failed to parse RSS file. (junk after document element at line 2, column 0) in http://www.climbing-trips.com/magpierss/rss_fetch.inc on line 238

Warning: Invalid argument supplied for foreach() in /home/escaladeK/www/actus/index.php on line 146

J'avais fais cette même installation de Magpierss pour afficher un flux rss (code perso)sur un autre site qui lui ne tourne pas sous WP et je n'ai eu aucun soucis.

Je ne sais pas si il y a un rapport mais je suis coincé.
Si quelqu'un peut m'aider je le remercie mille fois d'avance !!!
Philippe

David, biologeek le 27/05/2008 :

@Philippe : est-ce que le flux rss est valide ? http://feedvalidator.org/ Est-ce que c'est vraiment cette url publique pour récupérer le flux ? (j'en doute)

Sun Location le 15/10/2008 :

Vraiment simpa cet article concernant l'intégration de flux rss sur son site... je vais essayer cela, merci :)

Blog des filles le 21/10/2008 :

Bonjour

j'ai exactement le même soucis avec la récupération d'un flux rss et un blog wordpress ..

antho le 28/10/2008 :

Marche nikel! merci :)

Stibbons le 28/10/2008 :

Est ce que vous pourriez décrire vos modifications concernant UTF-8, j'ai un probleme avec la gestion des accents, je pense que le parser ne génère pas en UTF-8, et mes tentative pour modifier $encoding ou autre variable dans le fichier rss_parse.inc.php sont resté infructueuses.

Merci

abcd le 01/07/2009 :

Bonjour,

Existe-t-il un moyen, selon vous et en utisant feedparser.php, pour éviter l'affichage des messages de pub dans la description des items ?

Si oui, ce serait à mon avis utile de (me) le faire savoir.

Bon mois

Sunflower le 15/07/2009 :

Merci beaucoup, ca fonctionne à merveille.. sauf que j'ai pas opté pour les extensions en PHP car ça ne fonctionne pas et je n'ai pas trouvé pourquoi.

Pour info, j'ai copié/collé ton code dans un fichier avec l'extension php (ex: rssfeed.php) et fais un appel dans ma page comme ceci :
<?php
require_once("rssfeed.php");
?>

salutvlalenoob le 13/11/2009 :

J'obtient ces erreurs a trois reprise :

Notice: Undefined index: dc in /home/monftp/public_html/rss/test.php on line 34

Notice: Undefined index: dc in /home/monftp/public_html/rss/test.php on line 35

Notice: Undefined index: dc in /home/monftp/public_html/rss/test.php on line 36

Notice: Undefined index: dc in /home/monftp/public_html/rss/test.php on line 37

Notice: Undefined index: content in /home/monftp/public_html/rss/test.php on line 40

J'ai bien mis tout les .inc en .inc.php et cette erreur ce produit avec tout les flux rss. Comment résoudre ce probleme ?

Sébastien le 02/12/2009 :

Attention aux failles de sécurité.
Mon site vient d'être hacké.

Le fichier du répartoire extlib "Snoopy.class.inc.php" a été modifié (détecté comme virus) sur mon serveur pour que les hackeurs puissent lancer un FTP pirate " N3tShell v. Emp3ror Undetectable ".

Scal le 25/01/2010 :

Bonjour,

Merci tout d'abord, le tuto est clair et ça a marcher de suite, touefois je cherche à filtrer le flux par mots clés, du style n'affiche que les flux dont le titre comprends le mot "neige".
Je pense que ça se passe en php.
Si quelqu'un a une réponse, un début ou une piste.
Merci.

Laurent le 14/07/2011 :

Super ! Merci beaucoup pour cette aide précieuse, je l'ai installé sur plusieurs des sites dont je m'occupe ! Merci beaucoup !!!