Après la technique de programmation évoquée au précédent billet, un dernier point est indispensable à maitriser avant de pouvoir se lancer dans l’écriture d’un programme correspondant à mon projet. En effet, le programme requête chez Google toute une série d’informations relatives aux abonnements de l’utilisateur connecté (qu’il faut d’abord authentifier), les choses étant plus complexes qu’un simple affichage brut (sans traitement) des données reçues.
Celles-ci peuvent être organisées ou stockées de plusieurs manières, il peut s’agir d’une base de données si le volume concerné est important, ou de fichiers textes pour des volumes plus faibles, et dans le cadre du programme, c’est ce dernier format qui est utilisée. Mais encore faut-il pour qu’il soit exploitable que ce fichier soit structuré d’une manière précise qui permette de retrouver l’information voulue. Concrètement, toutes les données stockées chez Google pour le service Reader peuvent être récupérées ou adaptées au format XML.
Mais qu’est-ce que le XML ?
XML (entendez eXtensible Markup Language et traduisez Langage à balises étendu, ou Langage à balises extensible) est en quelque sorte un langage HTML amélioré permettant de définir de nouvelles balises. Il s’agit effectivement d’un langage permettant de mettre en forme des documents grâce à des balises (markup).
Les balises XML décrivent le contenu plutôt que la présentation (contrairement à HTML). Ainsi, XML permet de séparer le contenu de la présentation, ce qui permet par exemple d’afficher un même document sur des applications ou des périphériques différents sans pour autant nécessiter de créer autant de versions du document que l’on nécessite de représentations.
Voici un exemple de fichier XML :
<BIBLIO SUBJECT="XML"> <BOOK ISBN="9782212090819" LANG="fr" SUBJECT="applications"> <AUTHOR> <FIRSTNAME>Jean-Christophe</FIRSTNAME> <LASTNAME>Bernadac</LASTNAME> </AUTHOR> <AUTHOR> <FIRSTNAME>François</FIRSTNAME> <LASTNAME>Knab</LASTNAME> </AUTHOR> <TITLE>Construire une application XML</TITLE> <PUBLISHER> <NAME>Eyrolles</NAME> <PLACE>Paris</PLACE> </PUBLISHER> <DATEPUB>1999</DATEPUB> </BOOK> </BIBLIO>
Celui-ci définit le contenu d’une bibliothèque (<biblio>) avec un livre (<book>), écrit par 2 auteurs (présence de deux balises <author>), son titre (<title>), son éditeur (<publisher>) et sa date de publication (<datepub>). Il n’y a qu’un seul livre dans cet exemple simple, mais l’intérêt est évidemment de gérer plusieurs exemplaires dans un même fichier.
L’accès aux données est relativement simple, ainsi si l’on veut connaitre le nom de l’éditeur il faut parcourir la structure des données de cette façon : biblio -> book -> publisher -> name. Ce qui est facile à coder dans les principaux environnements de développement qui gèrent nativement ce format de données. Par exemple en VB.Net on écrira, après avoir récupéré le contenu des données XML dans la variable ObjXml :
ObjXml.DocumentElement.SelectSingleNode(« /biblio/book/publisher/name »).InnerText
La propriété InnerText récupère l’information demandée au format textuel, qui est « Eyrolles » dans le cas présenté.
Et voilà pour cette rapide présentation de ce format, nous avons maintenant tous les éléments qui permettront de traiter les données en provenance de Google Reader. Dans un prochain billet je commencerai à évoquer concrètement le fonctionnement du programme en abordant la récupération des données de Reader que l’on veut traiter. Stay tuned !