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.
Salut Titus !
Merci du billet ! ;-) Excellent.
@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 !
@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.
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.
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+
Meci Titus pour ce joli code :)
Ca parait s'intégrer parfaitement dans Dotclear et le petit grain d'aléatoire ajoute du piment.
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
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 :)
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 ?
Les logos ont été générés à la main, c'est beaucoup moins évident à faire en automatique, malheureusement.
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.
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 :)
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 ?
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.
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 !!!
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
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à...
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...
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
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
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 :)
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
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 ?
> 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 :-).
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
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.
hello,
un grand merci à toi pour ces explications qui m'ont permis de réaliser mon petit projet.
encore bravo !
Thanks for the tutorial. Was a little bit hard to understand since my french isn't the best anymore ;-)
I'm glad to help you phrench :-).
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
Il n'y a pas d'erreur à ma connaissance, c'est le code que j'utilise.
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
Dur,dur, de trouver quelque chose qui marche bien avec l'hebergeur ovh. Je suis preneur.
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!
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 ?
@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 !
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.
absolument genial !!!
un grand grand merci a toi et a ton code , et chapeau bas pour cette explication , une merveille ....
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.
Salut Quentin,
Normalement le cache devrait être rafraîchi toutes les 2 minutes avec cette configuration. Il n'est vraiment jamais mis à jour ?
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.
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
@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)
Vraiment simpa cet article concernant l'intégration de flux rss sur son site... je vais essayer cela, merci :)
Bonjour
j'ai exactement le même soucis avec la récupération d'un flux rss et un blog wordpress ..
Marche nikel! merci :)
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
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
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");
?>
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 ?
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 ".
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.
Super ! Merci beaucoup pour cette aide précieuse, je l'ai installé sur plusieurs des sites dont je m'occupe ! Merci beaucoup !!!
Merci :-) Je garde ça sous le coude...