Les squelettes par défaut de SPIP (les fichiers du répertoire dist/
) incluent un « backend ». Il s’agît de l’unique squelette de cette distribution générant un flux xml à partir d’un article du site. Il tend à respecter une norme : le format RSS, version 0.91
Quand on s’est amusé à faire le backend du forum spip, j’avais bricolé un ficher xsl qui pouvait transformer ce backend en contenu html évoquant une page « à la sage [1] ». Depuis, il y a ça.
Et cette nuit, en n’arrivant pas à m’endormir, je me suis dit, pendant que je tergiversai sur la publication rapide ou non de la seconde édition du squelette Spip-Clear, plus ou moins aboutie, que si ce backend acceptait un paramètre de fond ou de format (à l’instar de page.php3) on pourrait transformer un flux xml/rss en flux xml/atom ou autre, via xsl...
Avec cette astuce, il serait facile de distribuer/mettre à jour/transformer le flux xml par défaut de SPIP en à peu près n’importe quoi...
Bref, un chantier plein d’hypothèses... Je me demande si ça vaut le coup d’y réfléchir plus que ça... En tout cas, je dormirais mieux en tout cas, si je n’y pensais plus :-)
Messages
16 juillet 2005, 17:34, par Fil
My dear friend, c’est justement ce que tend à faire
spip_rss
: tu lui fournis un flux quelconque (au format RSS, ATOM etc.), il le convertir en tableau php ; tu lui fournis un tableau php, il va le convertir en RSS/ATOM etc.Ca fonctionne déjà pour le suivi des forums (depuis l’espace privé), et ça ne demande qu’à être étendu !
16 juillet 2005, 17:46, par Fil
Je suis allé un peu vite : spip_rss ne sait pour l’instant sortir que les formats RSS 0.91 et iCal ; mais pour ajouter un format c’est quasiment immédiat : ouvrir
ecrire/inc_rss.php
et créer la fonctionaffiche_rss_
mon_format( )
sur le modèle des deux autres.(La seule difficulté éventuelle sera de convertir la partie « enclosure » de certains feeds, mais ça peut être mis de côté pour commencer.)
17 juillet 2005, 16:22, par James
Certes, je n’en disconviens pas...
Toutefois, je précise :
<?xml-stylesheet type="text/xsl" href="#ENV{format}.xsl" media="screen"?>
(au reglage de sécu près) transforme le flux généré par le compilo localement.La fonction affiche_rss_format() aura son utilité, bien sur, mais pas dans le cas que j’évoquai...