Quelques éléments pour "l'autre" infrastructure de l'information sur internet (flux rss &co)

Prolégomènes: ceci a essentiellement démarré comme une note à moi-même pour m'éviter de rechercher certains liens étrangement  durs d'accès même avec de bons moteurs de recherche. Les  flux RSS (et leurs frères jumeaux Atom) sont omniprésents sur internet et permettent de récupérer facilement un résumé des dernières publications d'un site donné. De façon intéressante énormément de sites web publient ce genre de flux (les blogs évidemment mais aussi des sites comme twitter[en]) et de ce point de vue là ce format est clairement bien vivant. Mais du côté "consommateur" je suis assez déçu par l'offre. J'ai testé au fil du temps des applications de bureau (liferea, rssowl, thunderbird...) qui ont toutes fini par converger pour se synchroniser avec Google Reader. Ce dernier est donc devenu mon lecteur de nouvelles principal et il me semble clairement dominer tout ce qui se fait dans ce genre comme application internet ou application de bureau. Et il faut avouer qu'une domination aussi écrasante n'est pas tellement enthousiasmante ((un bref coup d'oeil à HackerNews permet de voir que des gens essaient régulièrement de réinventer le concept, il y a donc une lueur d'espoir)) J'aime bien plein de trucs dedans et en particulier sa bonne ergonomie (l'interface est très "clean", les raccourcis claviers, l'ensemble est assez réactif). Mais là où il pêche c'est qu'il ne m'aide vraiment pas pour faire le tri dans les centaines d'articles qu'il me récupère chaque jour ((Pire encore il utilise l'ensemble de mes abonnements pour me proposer des sources d'information additionnelles et me noyer encore plus, argf ! )). D'où l'idée de chercher des solutions alternatives ou éventuellement des briques de base pour faire un lecteur un peu personnalisé. Quelques briques "libres" et en Python retrouvées sur internet:
  • Atomisator par Tarek Ziadé: la bonne idée est écrite noir sur blanc (mais en anglais): utiliser une librairie de traitement du langage naturel pour trier les articles ((une bonne idée qui date de 2008 tout de même...))
  • pyf (sur bitbucket) se propose comme un framework Python de programmation orientée flux (dataflow programming), avec aussi une réimplementation de Yahoo Pipes (y compris l'interface graphique !).  Cerise sur le gâteau le site est joli avec pas mal de documentation et me donne bien envie de fouiller.
  • pypes (sur bitbucket) qui se propose de faire pareil que pyf, j'ai l'impression de mieux comprendre l'organisation de la lib et les exemples, mais il dépend d'une implémentation de python assez particulière (stackless), dommage ?
  • pipe2py ((si vous regardez bien, vous réaliserez que mon billet ressemble à un affreux plagiat de l'un des commentaires)) (sur github) qui convertit en code Python des chaînes configurées sur Yahoo Pipes et qui aurait pu me servir lors de mes expériences précédentes sur les flux.
Avec toutes ces briques (et encore je n'ai cherché que celle en Python) je me demande comment on peut ne pas avoir de meilleures solutions pour lire les flux de nouvelles :) Surtout si on ajoute à ça les bons conseils de Dave Winer, l'un des pères fondateurs de ce système de flux:
  • The RSS community wakes up avec 2 préconisations: rendre plus facile l'abonnement à travers une sorte de "bottin" centralisé" et une légère évolution de RSS (pour qu'il fonctionne aussi en push)
  • RSS is supposed to be really simple : définissant le lecteur RSS idéal comme ressemblant plus à Twitter avec un flux continu.
Je mettrais un bémol sur le dernier point, car pour moi l'intérêt d'utiliser un lecteur de nouvelles c'est aussi de ne pas louper les articles de certains sites, et même si pour d'autres sites (avec un plus gros volumes d'articles et parmi eux beaucoup de bruit) ça ne me dérangerait pas d'en louper. Aujourd'hui ces deux types de sources sont traitées de la même façon par les lecteurs de flux, c'est peut-être par là aussi qu'une amélioration est possible (et non je ne me ferais pas deux comptes Google séparés même maintenant que les comptes à pseudonymes sont autorisés :) ).