SPIP ecureuil




Thème de ce forum :

Comportement "anarchique" du flux RSS sortant



narvic
Comportement "anarchique" du flux RSS sortant
24 avril 2008 12:01

Bonjour,

Voilà mon problème, j’espère que quelqu’un pourra m’aider ;-)

Le flux RSS sortant de mon site s’est mis à se comporter de manière étrange depuis quelque temps (sans que je comprenne ce qui a pu modifier ce comportement) : certains de mes abonnés reçoivent un flux "anarchique" : de vieux billets remontent en tête de liste, mélangés à des billets récents, tous les billets récents ne sont pas repris par le flux...

(le site, sous SPIP 1.9.1, est ici : http://novovision.fr ; le flux est celui-ci : http://novovision.free.fr/spip.php ?page=backend ; je n’ai pas modifié le fichier backend.html, qui est celui du squelette de la "dist")

Ce phénomène ne se produit pas chez tout le monde :
- problème rencontré par un abonné avec "NewsFox" de Firefox, un autre avec Netvibes et aussi avec le lecteur Flock
- pas de problème en consultant le flux avec mon propre lecteur de flux (Vienna pour Mac OSX), ou par le "widget" Spring Widget...

Je ne comprends pas du tout ce qui se passe, ni comment faire pour m’en sortir.

(j’ai vu dans les archives du forum que certains ont déjà rencontré ce problème, mais sans solution. Je me permets donc de reposter...)

Merci de votre aide.

Rechercher dans les forums:
 

denisb
24 avril 2008 17:02
Comportement "anarchique" du flux RSS sortant

plus précisemment :
ce sont les mêmes articles qui sortent mais pas dans le même ordre ?
ou bine des articles différents mais ordonnés pareil ?

en particulier, les <dc:date> ... </dc:date> correspondent-ils ?

pour ce qui me concerne, je reçois10 articles de 2007 :

<dc:date>2007-09-19T13:24:00Z</dc:date>
<dc:date>2007-09-13T13:24:32Z</dc:date>
<dc:date>2007-06-14T20:51:00Z</dc:date>
<dc:date>2007-06-13T13:25:00Z</dc:date>
<dc:date>2007-06-13T13:25:00Z</dc:date>
<dc:date>2007-06-13T13:25:00Z</dc:date>
<dc:date>2007-06-13T13:25:00Z</dc:date>
<dc:date>2007-06-15T20:51:00Z</dc:date>
<dc:date>2007-09-13T14:15:00Z</dc:date>
<dc:date>2007-06-13T13:25:00Z</dc:date>

puis 6 articles de 2008 :

<dc:date>2008-04-21T18:06:58Z</dc:date>
<dc:date>2008-04-23T08:11:24Z</dc:date>
<dc:date>2008-04-23T08:23:56Z</dc:date>
<dc:date>2008-04-23T08:37:43Z</dc:date>
<dc:date>2008-04-23T08:46:21Z</dc:date>
<dc:date>2008-04-23T10:10:00Z</dc:date>
narvic
24 avril 2008 21:47
Comportement "anarchique" du flux RSS sortant

Je ne comprends par la réapparition de ces articles de 2007 dans le flux, qui prennent la place, chez toi, des articles de 2008, par exemple ceux d’avril ;-)

D’autant que ce phénomène ne se produit pas chez tous les abonnés ! Moi je continue à recevoir mon propre flux de manière totalement habituelle : les derniers articles non relevés, en ordre chronologique inverse.

denisb
24 avril 2008 22:41
Comportement "anarchique" du flux RSS sortant

tu devrais faire un &var_profile sur ta page de backend.
ou un &var_mode=debug

narvic
25 avril 2008 00:21
Comportement "anarchique" du flux RSS sortant

Pardon denisb ?!? Merci d’être assez gentil pour t’intéresser à mon problème et essayer de m’aider. Mais j’ai pas compris ce que tu me suggères de faire...

Je ne sais pas ce que tu appelles ma "page de backend", du coup je suis un peu comme une poule qui a trouvé un couteau, quand tu me parles de "&var_profile" et de "&var_mode=debug"...

Mais dès que j’aurais compris ce que je dois essayer, je m’empresse de suivre ton conseil ;-)

(je suis pas très bordé techniquement avec SPIP en fait, plutôt artisan et expérimentateur que technicien)

Amicalement, et merci encore de ton aide ;-)

denisb
25 avril 2008 08:02
Comportement "anarchique" du flux RSS sortant

il te faut te logguer en tant qu’admin (dans l’espace privé donc) ;
puis te rendre à l’url :

http://ton_site/spip.php?page=backend

puis ajouter à l’url :

&var_profile

ce qui t’affichera toutes les requêtes sql de la page.

les deux qui nous interressent :

 SELECT articles.id_article,
        articles.id_rubrique,
        articles.lang
   FROM base_dev.spip_articles AS articles
  WHERE articles.statut = "publie"
GROUP BY articles.id_article
ORDER BY articles.date DESC
  LIMIT 0,10


 SELECT articles.id_article,
        articles.id_rubrique,
        articles.lang
   FROM base_dev.spip_articles AS articles
  WHERE (LEAST((UNIX_TIMESTAMP(now())-UNIX_TIMESTAMP(articles.date))/86400, TO_DAYS(now())-TO_DAYS(articles.date), DAYOFMONTH(now())-DAYOFMONTH(articles.date)+30.4368*(MONTH(now())-MONTH(articles.date))+365.2422*(YEAR(now())-YEAR(articles.date))) < '3')
    AND articles.statut = "publie"
GROUP BY articles.id_article
ORDER BY articles.date DESC

et surtout la seconde et sont critère WHERE

si, sur cette même page, tu ajoutes &var_mode=debug tu accèdes à l’interface de débugage de spip...

narvic
25 avril 2008 18:13
Comportement "anarchique" du flux RSS sortant

Re- bonjour ;-)

denisb, je n’ai pas réussi à accéder à la page backend par &var_profile. En revanche, avec &var_mode=debug je trouve ça dans le code de la BOUCLE article, ce qui me parait coller exactement avec la requête que tu mets dans ta réponse :

Sinon, je m’aperçois que l’affichage du flux est, en fait, plus cohérent que je ne le croyais dans son désordre ;-)

Le flux est bien le même pour tous les lecteurs, et les articles figurent dans le fichier backend dans l’ordre des dates que tu indiques : mais là où Firefox, par exemple, les affiche dans l’ordre du fichier backend, les lecteurs de flux de Safari ou Vienna font un tri et reclassent (ils n’affichent pas les vieux billets, et reclassent les billets récents dans l’ordre chronologique inverse).

Je comprends donc maintenant pourquoi le phénomène apparaît comme différent selon le lecteur, alors qu’il ne l’est pas. Le problème semble bien se situer dans la "fabrication" du fichier backend chez moi...

J’ai essayé de trouver un point commun entre ces dix "vieux" articles qui sont repris systématiquement dans le flux RSS de manière inexplicable, mais je n’en trouve aucun : ils appartiennent à des rubriques différentes, avec des dates et heures de publication différentes. Certains avec photo, d’autres non. Les mots-clés qui leur sont attachés sont aussi différents...

Merci de tes efforts, denisb, mais je ne vois toujours pas l’origine de mon problème...

denisb
25 avril 2008 19:23
Comportement "anarchique" du flux RSS sortant

est-ce que tu ne serais pas en multilangue ? (aucun article ou rubrique en estrange parladure ?)

narvic
25 avril 2008 19:33
Comportement "anarchique" du flux RSS sortant

Non, non, je n’ai jamais touché à ce paramètre. Le site est en monolangue français...

denisb
25 avril 2008 20:36
Comportement "anarchique" du flux RSS sortant

il faudrait que tu fasses tourner

<BOUCLE_10recents(ARTICLES) {lang ?} {branche ?} {id_mot ?} {par date} {inverse} {0,10} {unique}>
 #TITRE - #DATE <br />
</BOUCLE_10recents>

pour voir ce que ça retourne (pour comparer).

je m’interroge sur la transformation de l’inclure en boucle récursive...

narvic
25 avril 2008 21:38
Comportement "anarchique" du flux RSS sortant

J’essaye ;-)

6 mai 2008 14:41
Comportement "anarchique" du flux RSS sortant

Moi j’ai le même problème et j’ai essayé la solution du monsieur, deux messages plus haut.

J’ai modifié mon backend et, lorsuque je vais voir mon RSS ça me donne :

Erreur d'analyse XML : instruction de traitement XML ou texte pas au début d'une entité externe
Emplacement : http://www.lacheursdetemps.com/spip.php?page=backend&var_mode=recalcul
Numéro de ligne 2, Colonne 1 :<?xml version="1.0" encoding="utf-8"?>
^

donc il doit y avoir un bug...

denisb
6 mai 2008 15:01
Comportement "anarchique" du flux RSS sortant

n’aurais-tu pas égaré #HTTP_HEADER lors de tes modifications ?

6 mai 2008 16:02
Comportement "anarchique" du flux RSS sortant

En fait je ne pige pas... normalement il y a

c’est quand on le vire que ça plante... faut bien remplacer ça :

<BOUCLE_10recents(ARTICLES) {lang ?}{branche ?}{id_mot ?}
        {par date}{inverse}{0,10}{unique}>
<INCLURE{fond=inc-rss-item}{id_article}>
</BOUCLE_10recents>

 ???

Merci de votre aide

denisb
6 mai 2008 16:47
Comportement "anarchique" du flux RSS sortant

normalement il y a

il y a quoi ?

c’est quand on le vire que ça plante

quand on vire quoi ?
ça plante comment ? quoi ?

as-tu toi aussi des différences dans l’ordre d’affichage des articles ?
(ce qui est la question de ce fil)

NuP
7 mai 2008 17:53
Comportement "anarchique" du flux RSS sortant

Bon désolé pour ce message un peu bancal !!

Alors, moi aussi j’ai un comportement bizarre du RSS, je ne sait pas si ça a la même source, mais le problème de ce fil ressemble pas mal a ce que je pourrais avoir :

Sans avoir touché a rien, du jour au lendemain, mon beau flux RSS a pété les plombs :

J’ai les plus vieux articles qui apparaissent en premier en changeant de temps en temps. Quand je créée un nouvel article, il apparaît dans le flux RSS, a la position 10 puis disparaît au bout de quelques jours

Ce fil semble être approprié non ?

Fin voilà !

Merci de votre aide !

denisb
7 mai 2008 18:38
Comportement "anarchique" du flux RSS sortant

Ce fil semble être approprié non ?

voui. et la question plus claire...

il faudrait peut-être que tu joues sur les #CACHE{} de dist/backend.html et dist/inc-rss-item.html pour voir...
après avoir, bien sûr, vidé le cache

NuP
9 mai 2008 10:57
Comportement "anarchique" du flux RSS sortant

Salut !

Bon j’ai fait mumuse avec le cache (j’ai essayé 100 et 10 000, vu que je ne sais pas vraiment quoi mettre) et rien ne change.... (j’ai vidé le cache bien sur !!)

Il y a une valeur spécifique à faire ou un truc que j’ai loupé ?

Merci

NuP

denisb
9 mai 2008 11:42
Comportement "anarchique" du flux RSS sortant

tu utilises dist/backend.html et dist/inc-rss-item.html ou des fichiers modifés ?

tu peux donner une url pour voir ?

NuP
9 mai 2008 23:48
Comportement "anarchique" du flux RSS sortant

Salut !

Normalement c’est les fichiers d’origine .

Les seuls modifs sont les valeurs de caches...

denisb
10 mai 2008 10:48
Comportement "anarchique" du flux RSS sortant

je pense que c’est la conjonction (sur les boucles articles de backend.html) des critères {branche ?} et {id_mot ?}.

c’est une question de variabls présentes ou non dans l’environnement au moment de l’appel du rss.

quand le rss est appelé, suivant que un ou des mots-clefs sont rattachés ou non à l’article, le rss généré sera différent (condition : id_mot ?) ; idem pour branche ? selon que l’article est dans une rubrique qui possède des sous-rubriques ou non...

- pour que le rss retourne toujours les derniers articles publiés sur l’ensemble du site, il faudrait simplifier la boucle _10recents en :

<BOUCLE_10recents(ARTICLES) {lang ?} {par date} {inverse} {0,10} {unique}>
 ...

idem pour la boucle _tres_recents :

<BOUCLE_tres_recents(ARTICLES) {lang ?} {par date} {inverse} {age<3} {unique}>

- ces modifications rendent l’utilisation de backend.html moins générique , puisqu’il faudra faire d’autres boucles spécifiques si l’on veut donner la possibilité de ne syndiquer qu’une rubrique par exemple...

Mixx
10 mai 2008 23:43
Comportement "anarchique" du flux RSS sortant

Je rencontrais exactement le même problème qui est apparu comme par enchantement c’est ça qui est illogique...

En supprimant {id_mot ?} des 2 boucles en question dans le fichier backend, tout est rentré dans l’ordre....

Merci !

narvic
11 mai 2008 12:41
La solution

@ Mixx

Ça marche !

Je viens d’appliquer ta méthode en supprimant id_mot ? dans les deux boucles en question et tout semble rentré dans l’ordre maintenant en lisant mon flux avec Firefox et Netvibes et Flock, alors que ça posait problème avec les trois auparavant !

Je ne suis pas technicien de SPIP, donc je ne sais pas du tout où est le bug, mais il est clairement lié aux mots-clés.

L’apparition incompréhensible du problème est peut-être liée au nombre de mots-clés utilisés ?

En tout cas, encore merci à Mixx et denisb, pour leur intérêt pour mon problème et pour les efforts qu’ils ont fait pour m’en sortir.

 :-)

Mixx
11 mai 2008 13:33
Comportement "anarchique" du flux RSS sortant

Merci à denisb !!!!!!!!!!! Je n’ai fait qu’appliquer sa solution ! ! ! !

NuP
11 mai 2008 14:08
Comportement "anarchique" du flux RSS sortant

Tu es ma nouvelle religion DenisB !!

Ca marche d’enfer !

En effet j’ai rajouté un mot clé récemment (ce qui m’en fait 2...) donc le pétage de plomb du RSS coïncide bien...

narvic
11 mai 2008 15:13
Comportement "anarchique" du flux RSS sortant

Donc merci à tous et en particulier à denisb, notre dieu à tous :-))

narvic
11 mai 2008 23:17
Merci au forum SPIP : vous avez résolu mon problème :-)

Et un autre merci tout spécial à denisb sur mon blog, où mes lecteurs se félicitent que tu aies trouvé la solution à notre problème.

denisb
12 mai 2008 01:06
Comportement "anarchique" du flux RSS sortant

euh... c’est trés gentil, mais on se calme là...

ce sont tous ceux qui ont fait (depuis 2001) et qui font que spip fonctionne et s’améliore quotidiennement que tu dois remercier.

RSS






squelette