lundi 16 novembre 2009

Quelle librairie utilisez vous pour generer vos flux Atom et RSS ?

Jusqu'à présent, j'utilisais Zend_Feed pour générer mes flux RSS et Atom. Tout allait très bien jusqu'à ce que je veuille publier un flux sur un hub PubSubHubbub.

Pour rappel, voici quelle tête doit avoir un flux Atom pour cette utilisation :

<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
...
<link rel="self" href="http://example.com/mon-flux.rss" />
<link rel="hub" href="http://pubsubhubbub.appspot.com" />
<link rel="hub" href="http://superfeedr.com/hubbub" />
...
</feed>

Comme vous pouvez le constater, il est nécessaire de définir un élément <link> supplémentaire avec l'attribut rel="hub" pour chaque hub que vous voulez utiliser.

En RSS, c'est le même principe en utilisant le namespace atom (cf le wiki pubsubhubbub) :

<?xml version="1.0"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<link>http://example.com/mon-flux.atom</link>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/>
<atom:link rel="hub" href="http://superfeedr.com/hubbub"/>
...
</channel>
</rss>

Le problème, c'est que je n'ai trouvé aucune librairie de génération de flux me permettant de faire cela. J'ai donc finalement utilisé la classe native php DOMDocument pour générer mes flux Atom et RSS. Je trouve cela dommage... d'où mon article.

Et vous, quelle librairie utilisez vous ? En connaissez vous une qui puisse gérer ce cas ?

6 commentaires:

lemoussel a dit…

Pour ma part j'utilise la librairie XmlWriter qui est simple d'utilisation.

Anonyme a dit…

:hello: Lemoussel. Je sais ce que je conseillerai pas: simplexml, trop lourd mais j'apprécie beaucoup DOM, pour ma part.

Unknown a dit…

Bonjour,
Le FrameWork Jelix permet l'ajout de liens dans les flux Atom mais malheureusement pas les namespaces pour le RSS.
Antoine

Damien a dit…

eZ Components [1] fournit un composant Feed que je trouve particulièrement bien fait pour générer des flux RSS/Atom.

[1] http://ezcomponents.org

Mat a dit…

Merci beaucoup pour vos réponses !

ro a dit…

J ai 3 blogs et l utilisation possible:).