Dual Blog : DeFr's Weblog

Les flux de syndication sur ce blog | samedi 10 novembre 2007, 17h28

Mood: Goggle

Quelques changements en profondeur sont intervenus sur les différents moyens de syndications présents sur ce blog, voici en conséquence un petit billet sur ce qu'il s'est passé dans les coulisses, incluant notamment le pourquoi et le comment des différents changements ^^;

Des excuses

Tout d'abord, je m'excuse pour les différentes personnes qui suivaient éventuellement le flux RSS des posts de ce blog, cette dernière a disparu dans le courant de la semaine... J'ai fait en sorte que l'adresse du flux RSS retourne désormais le flux Atom, mais en conséquence, il est probable qu'il se produise l'une des deux choses suivantes:

J'aurais tendance à considérer que la deuxième solution reste la plus favorable, mais dans les deux cas, je suis désolé de l'inconvénient que cela a provoqué. Les lecteurs qui utilisaient le flux Atom n'ont, a priori, subi aucune perturbation lié au changement profond qui s'est opéré.

Ce qu'il s'est passé

Justement, que c'est-il-passé ? Je me suis tout simplement décidé à tester la flexibilité de ce que j'avais en place, en faisant en sorte que les flux de syndication présent sur ce blog soit généré avec exactement le même code que la version XHTML, en utilisant des fichiers de templates (donc, XML dans mon cas, les curieux peuvent aller jeter un coup d'oeil ). Ce mécanisme n'a pas posé de problème particulier pour pouvoir se conformer à la spécification Atom, grâce au large choix possibles pour le contenu des entrées: chacun de mes billets étant formé de XHTML valide, j'ai simplement choisi le type xhtml, et l'affaire était réglée. J'en ai profité pour ajouter la même possibilité aux pages de commentaires, permettant ainsi d'avoir un flux par billet...

L'affaire s'est corsée lorsque j'ai voulu migrer le flux RSS. Historiquement, j'avais souhaité implémenté les deux pour satisfaire le plus grand nombre, d'autant qu'Atom était encore un standard en cours de développement, mais aussi parce que dans la version précédente mélangeant logique et présentation, l'implémentation de l'un ou de l'autre était à peu près aussi triviale (une soixantaine de lignes en PHP...) J'ai commencé par gaiement reprendre les modèles d'Atom en les adaptant aux différentes spécifités de RSS (quelques changements de noms dans les balises, quelques champs en plus ou en moins), arrive rapidement à un résultat qui semble probant, et là, problème: le lecteur de flux détecte le titre, mais pas le contenu des billets.

Après un peu de recherche, je me rends compte que j'avais fait en sorte, dans la version précédente, d'entourer mes billets dans le flux RSS entre un <[CDATA[ et un ]]>, indiquant d'un point de vue conceptuel pour XML qu'il pouvait y avoir à peu près tout et n'importe quoi dans ces billets, valide ou non, voir du binaire du moment que les octets correspondant aux caractères ]]> n'y figurent pas. Je fronce alors les sourcils: avec un tel balisage, normalement l'ensemble des lecteurs de flux devraient en conséquence afficher les différents posts comme du texte brut... et ce n'est pourtant pas le cas.

Je décide alors de chercher un peu sur Internet pour voir ce que dit la norme, et je découvre dans l'article sur Wikipedia que ça ne va pas être aussi simple que cela, vu qu'il n'en existe pas une, mais plusieurs. Le résumé, cependant, est que le contenu de la balise <entry /> de RSS devrait contenir du texte ou du contenu HTML (mais pas XHTML). J'ai donc du récupérer "l'astuce" concernant le CDATA sur un des flux que j'avais visité. Cependant, si ajouter les balises correspondantes dans un modèle basé sur des echo ne présente pas de difficultés particulières, ce n'est pas exactement la même chose lorsque l'on sépare la logique de la présentation: pour faire simple, aller remplacer quelque chose située dans une balise CDATA à l'aide du DOM, de façon générique, ce n'est pas particulièrement amusant, et généralement pas très utile.

La décision

C'est alors que je me suis posé la question: pourquoi donc avais-je besoin d'Atom et de RSS, dans un monde où désormais tous les lecteurs de flux lisent les deux. N'ayant pas trouvé de réponse satisfaisante à cette question, j'ai pris la décision qui s'imposait: ne fournir un flux que d'un seul type sur ce blog... Je n'ai a priori pas vu de grands cris à la disparition du flux RSS, je suppose qu'en conséquence le raisonnement était fondé et qu'il s'agissait de la bonne décision ^^;

Et maintenant ?

Et bien, l'ensemble des pages de ce blog disposent d'un équivalent Atom. Je ne vois pourtant que le flux concernant les billets? me direz-vous, et vous aurez bien raison, pour une raison simple: je n'ai pas encore décidé de la façon dont je souhaitais présenter que soit construite l'url propre vers les flux atoms des différents billets... Inquiétude purement geek s'il en est, certes, mais que je prends à coeur ;-) Je pense que ce sera un /atom à la fin de l'adresse classique, mais ce n'est pas encore décidé... En attendant, si vous souhaitez sans plus attendre pouvoir accéder au flux Atom d'un billet ou d'un tag par exemple, il vous suffit d'ajouter ?outputType=atom à la fin de l'adresse.

DeFr à 20h04, le mercredi 14 novembre 2007
Petite mise à jour, c'est maintenant en ajoutant un ?atom à la fin de l'adresse qu'on peut accède au flux Atom d'une page, d'un tag et de bien d'autre encore, mais ce n'est toujours pas exposé dans le code parce que je ne suis toujours pas entièrement sur que ce sera de cette façon que je vais le vouloir de façon définitive ^^;

DeFr à 20h09, le mercredi 14 novembre 2007
Argh, en essayant de poster le commentaire ci-dessus je me suis rendu compte que j'avais méchamment merdouiller dans la dernière tentative que j'avais fait pour lutter contre le spam, en voulant m'assurer que les commentaires étaient postés depuis ce formulaire et ne provenait pas d'une requete en POST depuis un autre site (stratégie qui ne sera probablement pas très efficace à elle seule, mais qui combiné au reste devrait peut-être aidé...)

C'est en tout cas réparé maintenant ^^;

Asmodée à 23h30, le mercredi 21 novembre 2007
Mon chéri,
Je te laisse ce petit message pour t'encourager à continuer de poster sur ton blog même si je me doute qu'en ce moment avec ton stage à l'étrange qui nous éloigne l'un de l'autre, tu n'as pas trop la tête à cela ^^ Je t'aime très fort et je pense à toi ^^
Asmodée

lalie à 19h48, le dimanche 06 janvier 2008
Hum je pensais que t'avais réparé pour te motiver à poster ... Ta motivation elle est passée où encore??? Allez allez t'a pleins de choses intéressantes en plus à nous expliquer au boulot :D

Revenir au blog
Vous souhaitez ajouter un nouveau commentaire ? Faites donc, il vous suffit de remplir le petit formulaire ci-dessous.
Sites visités