[spip-dev] Un seul flux RSS pour breves et articles ?

Bonjour,

Je souhaiterait que mon site exporte un fil RSS (ou Atom, vu que tous les aggregators se débrouillent derrière) qui pointe aussi bien les breves que articles.

Je ne me suis pas intéressé au format de ces fichiers, aussi je distingue 2 cas :
- RSS (ou Atom) n'a pas besoin d'un tri par date des infos que le fichier contient. Le newsreader s'en charge pour nous, pour les rares cas où ce n'est pas le cas. Il suffit donc d'une boucle sur les articles qui ont moins d'une semaine, et d'une autre sur les breves qui ont moins d'une semaine. Oh, parfait, mais est-ce le cas ? (je profite un peu de la présence possible de gens qui connaissent mieux le format que moi là, et puis je doit pas être le premier a y penser).
- Il faut trier par date les infos dans le flux RSS. Dans ce cas, comment faire pour que dans une boucle SPIP, on puisse mélanger des breves et des articles ? (et même si RSS et Atom le permettent, ce serait probablement une fonctionnalité intéressante a intégrer, n'est-il pas ?)

Ensuite, dans mon newsreader, j'ai inclu plusieurs sites réalisés en
SPIP (bravo, il est populaire ce CMS !). Il n'est pas a exclure que certains fournissent le flux RSS a moitié à l'insu de leur plein gré (le squelette était là, et il n'y ont pas retouché, faute de savoir a quoi il servait, ou faute d'intérêt a la syndication, mais opposé a ce que des gens s'en servent vu que le fichier trainait). Or donc pour avoir aussi bien les breves que les articles, j'ai du inclure 2 fichiers.
Ne serait-il pas possible de proposer, par défaut, un flux gérant le mélange articles+breves, en plus de celui qui gère les articles, et celui qui gère les breves ?
(c'est la raison pour laquelle je poste ici).

Maxime

Maxime Ritter wrote:

Je souhaiterait que mon site exporte un fil RSS (ou Atom, vu que tous les aggregators se débrouillent derrière) qui pointe aussi bien les breves que articles.

Je ne me suis pas intéressé au format de ces fichiers, aussi je distingue 2 cas :
- RSS (ou Atom) n'a pas besoin d'un tri par date des infos que le fichier contient. Le newsreader s'en charge pour nous, pour les rares cas où ce n'est pas le cas. Il suffit donc d'une boucle sur les articles qui ont moins d'une semaine, et d'une autre sur les breves qui ont moins d'une semaine. Oh, parfait, mais est-ce le cas ? (je profite un peu de la présence possible de gens qui connaissent mieux le format que moi là, et puis je doit pas être le premier a y penser).

Si le format n'y pas explicitement opposé, la pratique veux que cela le soit... Donc ca ne marche pas comme ça.

- Il faut trier par date les infos dans le flux RSS. Dans ce cas, comment faire pour que dans une boucle SPIP, on puisse mélanger des breves et des articles ?

Oh, mais oui !
<BOUCLE2(BREVES){tout}{par date}{inverse}{0,10}>
<BOUCLE_art2(ARTICLES){tout}{par date}{inverse}{age_relatif><0}{unique}>

Et voilà comment mélanger les infos ! On suppose que les breves sont plus nombreuses que les articles (ce qui est le cas chez moi), et on ne tiens pas a avoir une longueur fixe pour le flux. Comme ça on affiche minimum 10 brèves, et les articles qui ont été écrit pendant le laps de temps qui sépare ces 10 brèves. Bon, évidemment pour un site qui écrit peu de brèves, ca marchera pas. Autre inconvénient : ca fait pleins de requêtes SQL ! Mais ca fonctionne.
Du coup, pour ceux que ca intéresse, voilà le squelette que j'ai écrit (je me suis inspiré de ce qui était livré avec SPIP 1.7 ou 1.6, et j'ai l'impression qu'il était pas tout a fait valide, mais comme il fonctionne) : http://maxime.ritter.eu.org/backend.html

Ensuite, dans mon newsreader, j'ai inclu plusieurs sites réalisés en
SPIP (bravo, il est populaire ce CMS !). Il n'est pas a exclure que certains fournissent le flux RSS a moitié à l'insu de leur plein gré (le squelette était là, et il n'y ont pas retouché, faute de savoir a quoi il servait, ou faute d'intérêt a la syndication, mais opposé a ce que des gens s'en servent vu que le fichier trainait). Or donc pour avoir aussi bien les breves que les articles, j'ai du inclure 2 fichiers.
Ne serait-il pas possible de proposer, par défaut, un flux gérant le mélange articles+breves, en plus de celui qui gère les articles, et celui qui gère les breves ?
(c'est la raison pour laquelle je poste ici).

Ca reste toujours valable comme proposition. L'idéal serait en fait d'avoir 3 fichiers pour la syndication :
backend.php : articles+breves
backend-articles.php: articles
backend-breves.php: breves uniquement

Si vous voulez vous servir de ce que j'ai fait (pas grand chose en fait), pas de problème.

Maxime.