SPIP Blog

Du logiciel libre et de la tendresse

Accueil > Développement > ToDo > Un seul backend et plein de formats

Un seul backend et plein de formats

jeudi 14 juillet 2005, par James

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 :-)


[1Un lecteur de flux RSS sous forme d’extension pour le navigateur FireFox, cf. http://sage.mozdev.org/

Messages

  • 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 !

  • 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 fonction affiche_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.)

  • 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...

Un message, un commentaire ?

Qui êtes-vous ?
Se connecter
Votre message

Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.