Je ne suis certainement pas le seul à commencer à jouer avec les nouvelles APIs de la Windows RSS Platform, un ensemble de services et d'APIs qui arriveront avec MSIE7 pour fournir des fonctionnalités avancées de support des fils d'information RSS et Atom à Windows.

Vous ne connaissez pas l'existance de la Windows RSS Platform ?

En quelques mots, voici ses caractéristiques :

  • Plate-forme de consommation de flux RSS et Atom globale, non limitée à son utilisation par MSIE7 (Common Feeds List)
  • Permet de souscrire simplement aux fils d'information, de lister les flux auxquels l'utilisateur a déjà souscrit
  • Accès simple aux propriétés classiques des flux, aux items pour un flux donné, et aux éventuelles "enclosures" associées à un item 
  • Gestion des souscriptions aux flux, organisation des souscriptions sous la forme de dossiers arborescents, à la façon des "Favoris" de MSIE
  • Modèle évènementiel par souscription sur différents évènements associés aux flux et aux dossiers de souscription
  • Utilisation de BITS pour le téléchargement transparent des "enclosures" en background

Voilà en très très résumé.

Question disponibilité, cette Windows RSS Platform arrivera avec MSIE7. Ca signifie que la disponibilité de cette RSS Platform ne sera pas limitée à Windows Vista. Elle sera disponible sur Windows XP SP2 à condition d'y installer MSIE7.

Les APIs proposées sont construites sur un modèle COM. La plate-forme fournit deux ensembles d'interfaces : IXFeedsManager et IFeedsManager. La première est plus particulièrement dédiée aux développements réalisés en C++ natif, tandis que la seconde est sur un modèle "Late Bound COM Automation" et se prète mieux à l'interop avec des applications en code .NET managé (C# et VB.NET par exemple). Les APIs ne fournissent pas de PIA (Primary Interop Assembly), mais il est enfantin de générer un wrapper managé en utilisant l'outil TLBIMP.

Au final, cette Windows RSS Platform vous permet d'ajouter des fonctionnalités RSS à n'importe laquelle de vos applications sous Windows : C++/MFC, applications Windows Forms, en mode console et même depuis des scripts Monad ;)

Le point d'entrée de la documentation MSDN sur la Windows RSS Platform est ici. La documentation en ligne est malheureusement encore incomplète. Du coup, il faut un minimum "hacker" pour comprendre comment utiliser ces APIs, en particulier au niveau des IFeedsEnum dont je n'ai pas trouvé l'utilisation très intuitive au premier abord. Cet article d'intro est recommandé en premier lieu.

A titre d'exercice, j'ai commencé hier par ré-écrire ma petite application Windows Forms de RSS Reader en utilisant ces APIs en lieu et place de la RSS Library que j'avais utilisé pour préparer ma démo utilisée pendant ma session Windows Forms 2.0 de la journée ISV Community Days.

Vous vous rendrez vite compte que dans la documentation MSDN, le lien vers l'application d'exemple qui est un Screensaver RSS est cassé. Donc impossible de télécharger ce sample a priori. Sauf qu'un membre de l'équipe RSS Platform de Microsoft Corp m'a transmis le lien correct ce matin. Je le partage donc avec vous : pour télécharger le code source du Windows RSS Platform Screensaver Sample, c'est par ici.

Have fun, et Happy Coding ;) et bien entendu, tout ceci sera présenté le 27 Avril pendant la journée Mix06 à Paris...

Initialement posté le 06/05/2006 à 10:39