INFO : Dix annees de XML
[email protected] Sun, 10 Feb 2008 08:53:00 +0100 (CET)
| Newsgroups | gmane.text.xml.french.general |
|---|---|
| Message-ID | <[email protected]> |
Dix annees de XML La recommandation XML 1.0 a ete publiee il y a exactement dix ans jour=20 pour jour. C'est l'occasion de revenir sur ce qu'a ete XML pour moi=20 pendant ces dix annees. Eric van der Vlist=A0 , Dyomedea ( [email protected] ). --------------- Retrouvez cet article en ligne (http://xmlfr.org/actualites/decid/080210-0001). Donnez votre avis ! mailto:[email protected]?subject=3DRe:%20INFO%20:%20Dix%20annees%20de%2= 0XML --------------- Decouverte de XML Au risque de vous decevoir; je dois avouer que la publication de la=20 recommandation XML 1.0 le 10 fevrier 1998 est passee totalement=20 inapercue pour moi et que je n'avais a l'epoque aucune idee de ce=20 qu'etait XML . J'etais responsable du support europeen de deuxieme niveau pour la=20 gamme des produits serveurs de Sybase et mon activite ne me donnait pas=20 beaucoup de raisons de m'interesser a XML . J'etais par contre un=20 fervent utilisateur du Web, en externe et surtout en interne : les=20 sites Intranet poussaient comme de la mauvaise herbe et le support=20 technique n'etait pas en reste. J'avais commence a developper mes premiers sites dynamiques en shell=20 script puis en Perl en CGI et a grand renfort de =AB print =BB de morceau= x=20 de HTML avant de me laisser tenter par Java . Pour eviter de lancer une machine virtuelle a chaque requete, j'avais=20 developpe quelque chose qui ressemble beaucoup a ce que nous appelons=20 maintenant un serveur de servlets : une machine virtuelle multithread=20 tournant en tache de fond et communiquant via des sockets TCP/IP . Et=20 pour eviter les =AB print =BB de fragments HTML , j'avais egalement=20 developpe une bibliotheque representant les elements HTML que=20 j'utilisais sous forme de classes Java : mon application creait un=20 modele du document a envoyer qui ressemblait fort a ce que nous=20 appelons un DOM et serialisait le tout avant de l'envoyer au client. Fort de cette boite a outils, j'avais ecrit plusieurs applications=20 s'interfacant avec la base de donnees de nos systemes de gestion des=20 incidents et des bugs et cela simplifiait la gestion de mon equipe et=20 la communication avec l'engineering et le support technique de premier=20 niveau. Tout cela m'avait donne suffisamment confiance en mes capacites de=20 developpeur Web pour lancer un site apres mon depart de Sybase . =AB Du cote de... [1] =BB etait un site de proximite qui voulait [2]=20 utiliser Internet pour rapprocher les habitants de mon quartier des=20 ressources locales. J'avais une nouvelle fois change de langage de=20 programmation pour utiliser PHP et troque Solaris que j'utilisais chez=20 Sybase contre Linux . Pour des raisons de couts, le site etait heberge chez un petit=20 hebergeur situe aux Etats-Unis et sa fiabilite n'etait pas toujours a=20 la hauteur de mes esperances. Pour mieux surveiller l'etat de mon=20 serveur, je lancais sur la liste de discussions =AB php-users =BB l'idee=20 d'un systeme communautaire et distribue utilisant les serveurs de ses=20 membres pour se surveiller mutuellement. Manuel Lemos=A0 se montra interesse et nous commencames a echanger des=20 messages pour definir l'architecture du projet baptise =AB Web Watchers=20 =BB. Mon premier message en esquissa les grandes lignes : "Je pense a un daemon ecrit en Perl tournant sur les machines=20 concernees et controle via des pages PH P3 (ce serait tres portable et=20 cela signifie probablement que l'on utiliserait des fichiers de=20 configuration plutot qu'une base de donnees quelconque)." C'est sa reponse qui me revela l'existence de XML , le 16 juin 1999 et=20 je lui en suis toujours reconnaissant : "Oui, si ces fichiers ne sont pas destines a etre modifies lors de=20 l'execution, nous pourrions utiliser des fichiers XML parce qu'ils sont=20 faciles a modifier a la main et a parser en PHP ." Peu convaincu par la facilite d'utilisation du parseur XP interface a=20 PHP3 , je developpais pour ce projet une bibliotheque PHP , xmltree.inc=20 [3] qui assurait le binding d'un document XML dans une structure=20 d'objets PHP creee dynamiquement. C'etait en quelque sorte un des=20 premiers systemes de binding entre XML et des objets. Cette classe eut un certain succes et fut adoptee par Rael Dornfest=A0=20 [4] pour l'agregateur de flux RSS =AB Meerkat [5] =BB qu'il avait develop= pe=20 pour O'Reilly . XML pour le Web Web Watchers ne vit jamais le jour faute de temps, mais mon interet=20 avait ete eveille. Du cote de... etait un site dynamique bati sur PostgreSQL (mon passe au=20 support technique chez Sybase m'avait fait rejeter comme un gadget=20 MySQL qui ne gerait pas la notion de transactions). Une base de donnees=20 SQL convenait tres bien pour gerer la plupart des fonctionnalites du=20 site, mais sa structure tres reguliere manquait de souplesse pour=20 personnaliser les pages que nous appelions les =AB vitrines [6] des=20 commercants =BB. Ces vitrines etaient vendues aux commercants du quartier et elles=20 cherchaient a etre a la fois homogenes pour que les visiteurs trouvent=20 facilement les informations communes a chaque vitrine et=20 personnalisees. Je prenais des photos des boutiques et avec l'aide de=20 chacun d'entre eux, je realisais un montage specifique destine a=20 traduire au mieux les particularites de leur commerces. La description de ces montages etait specifique a chaque vitrine et=20 c'est pour gerer cette diversite que j'utilisais mes competences XML=20 fraichement acquises. Je decidai donc d'ecrire la description de ces=20 vitrines en XML et de generer les pages PHP correspondantes a partir de=20 cette description. Et pour cette generation, plutot que d'utiliser un=20 langage generaliste, je decidai d'essayer XSLT qui etait encore en=20 cours de normalisation. Un peu plus tard, a l'automne 1999, j'entrepris egalement la migration=20 du site de ma societe [7] developpe avec NetObjects Fusion que je=20 trouvais trop contraignant et adoptais un mecanisme de generation de=20 pages statiques en XSLT a partir de leur description en XML . Lorsque fin 1999 j'ai du me rendre a l'evidence et admettre que Du cote=20 de... malgre le succes qu'il avait aupres de ses visiteurs ne serait=20 jamais economiquement viable, je maitrisais suffisamment bien les=20 quelques recommandations XML publiees a cette epoque ( XML , espaces de=20 noms, DOM niveau 1, XPath 1.0 et XSLT 1.0) pour pouvoir me positionner=20 comme expert XML et decidai de lancer XMLfr comme je l'ai deja explique=20 ailleurs [8] . Les choses s'enchainerent ensuite tres vite. La visibilite que me donna=20 XMLfr me permit de trouver des contrats de conseil et de formation qui=20 me permirent a leur tour d'accroitre mon experience dans la mise en=20 ?uvre des technologies XML . En parallele, XMLfr me donna un pretexte=20 pour faire, sous couvert de journalisme, beaucoup de veille=20 technologique et de conserver ainsi une bonne vision technique. Je ne vais pas decrire ici huit annees d'experience dont la majeure=20 partie est directement liee a XML mais plutot revenir sur deux moments=20 forts. RSS 1.0 Le premier est, entre juin et decembre 2000, ma participation aux=20 travaux qui aboutirent a la specification RSS 1.0. C'est Rael Dornfest=A0 qui m'entraina dans cette aventure en m'expliquant= =20 a quoi il utilisait ma bibliotheque PHP xmltree.inc dans son agregateur=20 de flux Meerkat . Meerkat est en quelque sorte l'ancetre des=20 agregateurs de flux tels que nous les connaissons aujourd'hui. A la=20 difference d'un Bloglines , Google Reader ou autre Netvibes , Meerkat=20 avait sa propre liste de flux RSS , tous relatifs a l'actualite du=20 developpement logiciel au sens large et classe en categories. Mi 2000,=20 cette application etait reellement innovante et faisait de Rael un des=20 pionniers de l'utilisation de RSS en tant que service =AB consommateur =BB= =20 de flux. Rael m'entraina sur la liste de discussion [email protected] [9]=20 sur laquelle il debattait des problemes lies a l'extension de RSS et je=20 defendis [10] l'idee de revenir a une utilisation de RDF en reponse a=20 une de ses propositions pour ajouter des fonctionnalites de gestion de=20 fils de discussions : "Cette fonctionalite est vraiment sympa, mais ne devrait-on pas=20 envisager d'utiliser RDF ? J'ai bien peur que nous ne reinventions le=20 triplet RDF ;=3D) !" Il fut bientot evident que l'evolution de RSS etait bloquee par la=20 volonte de Dave Winer=A0 oppose a la notion de modularite et etendant=20 conserver une specification monolithique sur laquelle il continuerait a=20 controler toute nouvelle fonctionnalite et mis au defi [11] de creer=20 une nouvelle branche, nous nous mirent au travail sur la liste de=20 discussion [email protected] [12] .Ce fut une aventure passionnante=20 que vous pouvez revivre sur les archives de cette liste de discussion.=20 Tout etait a creer. La specification bien entendu, mais egalement=20 l'equipe et les procedures avec lesquelles elle fonctionnerait. Travailler ainsi avec une dizaine de personnes que l'on a, pour la=20 plupart, jamais rencontre peut reserver des surprises. Un de nos=20 membres les plus actifs s'appelait Aaron Swartz=A0 [13] . Ses=20 contributions etaient generalement pleines de bon sens et j'etais=20 certain qu'elles traduisaient une longue experience en developpement=20 logiciel. Ce n'est que lorsque je lui demandais pourquoi il ne=20 viendrait pas a une des conferences a laquelle je participais et qu'il=20 me repondit que ses parents ne lui autoriseraient pas a manquer ses=20 cours que j'appris qu'il n'avait que quatorze ans! RSS 1.0 etait aussi une des premieres applications de RDF pouvant=20 toucher le grand public. Nous devions donc travailler a deux niveaux et=20 avec deux communautes utilisant des outils differents : d'un cote RSS=20 1.0 devait rester un vocabulaire XML aussi simple que possible et=20 facile a utiliser avec des outils XML et de l'autre il devait egalement=20 respecter la syntaxe de RDF et avoir un modele de donnees qui tienne la=20 route lorsque ses documents sont decoupes en triplets. Nous avions egalement parmi notre equipe les inventeurs de RSS et de=20 ses ancetres. C'est le cas de Ramanathan V. Guha=A0 [14] , qui avait=20 developpe chez Apple le format MCF (Meta Content Framework) avant de=20 rejoindre Netscape pour en deriver un format XML / RDF publie sous le=20 nom de RSS 0.9... Ce sont ces anciens qui insisterent pour que nous gardions le nom de=20 RSS lorsque ce delicat probleme commenca a se poser, ce qui fut sans=20 doute notre plus grosse erreur puisque RSS 1.0 apparut comme une=20 version obsolete lorsque Dave Winer=A0 decida de publier RSS 2.0. Nous etions tous convaincu du potentiel du concept de =AB syndication =BB= =20 et je me souviens que nous evoquions deja la possibilite d'utiliser nos=20 flux pour decrire des documents audio et video, pratique que nous=20 appelons maintenant podcast... C'est en discutant de ce type d'applications qui semblaient encore bien=20 lointaines que je pris conscience de la necessite de trouver le bon=20 niveau de detail lorsque l'on ecrit une specification. J'avais=20 auparavant tendance a penser qu'une bonne specification doit chercher a=20 tout decrire et mon experience dans le groupe de travail RSS 1.0 m'a=20 permis de comprendre que la =AB sur-specification =BB est aussi dangereus= e=20 que la =AB sous-specification =BB. La =AB sur-specification =BB conduit a des discussions interminables et=20 allonge le temps de developpement des specifications, mais ce n'est pas=20 son defaut le plus grave. J'ai ainsi cherche, pendant un moment, a definir ce qu'etait un =AB item=20 =BB RSS avant de prendre conscience que toute definition trop precise=20 risquait d'etre restrictive : specifier qu'un item etait une page web=20 interdisait d'utiliser un item pour decrire une photo ou un document=20 multimedia. Pour preserver l'avenir, il fallait donc qu'un item reste=20 quelque chose d'aussi vague que possible et nous avons au contraire=20 pris la precaution [15] de specifier qu'un item n'etait pas=20 necessairement ce que l'on avait l'habitude de voir dans un flux RSS : "Bien que ce soit generalement une nouvelle, compte tenu de=20 l'extensibilite de RSS 1.0, ce [NDT: un item] peut etre a peut pres=20 n'importe quoi : un message dans une discussion; une offre d'emploi, un=20 patch logiciel : n'importe quel objet qui a un URI ." Cette loi s'applique de maniere generale a la specification de modeles=20 ou de formats de donnees. Elle ne s'applique pas de la meme maniere a=20 la specification de langages de programmation tels que XSLT ou XPath ou=20 de schemas qui demandent au contraire une grande precision, mais c'est=20 une des grandes forces de la recommandation XML 1.0 elle meme de=20 laisser des zones d'ombres. Ce sont ces zones d'ombre qui ont permis d'une part de publier une=20 recommandation en un temps record (moins de deux ans) et d'autre part=20 d'utiliser XML de maniere large sans cantonner son utilisation a un=20 domaine d'application ou a un environnement particulier. DSDL Le deuxieme de ces moments forts est ma participation au groupe de=20 travail ISO - DSDL et plus particulierement les seances de travail de=20 mai 2002 a l'occasion de XML Europe [16] 2002 [17] . XML Europe 2002 reste pour moi le point culminant en matiere de=20 creativite technique dans les technologies XML et c'est la conference=20 pendant laquelle j'ai suivi le plus de sessions qui m'ont donne a=20 reflechir. La plupart des grandes specifications etant publiees, un=20 certain nombre de personnes ont pu avoir tendance a considerer que les=20 grands travaux autour de XML etaient termines et qu'ils pouvaient=20 passer a autre chose et delaisser ce type de conference. C'est en tout cas a XML Europe 2002 que j'ai pu rencontrer le groupe de=20 travail ISO - DSDL , veritable dream team XML dans laquelle se=20 trouvaient reunis James Clark=A0 [18] , Murata Makoto=A0 [19] et Rick=20 Jelliffe=A0 [20] sous la presidence de Charles Goldfarb=A0 [21] . Charles Golfarb=A0 est le =AB G =BB de GML et le principal createur de SG= ML .=20 Bien qu'il ait ete tres en retrait par rapport aux travaux techniques=20 de notre groupe de travail, il presidait encore le groupe =AB ISO / IEC=20 JTC 1/SC 34 WG 1 =BB auquel nous etions rattache. J'ai eu l'occasion de=20 dejeuner plusieurs fois avec lui et se fut toujours un plaisir de=20 discuter avec ce precurseur qui semblait comprendre a mi-mots les=20 problemes qui me passionnaient. De l'avis de Jon Bosak=A0 [22] qui a preside le groupe de travail XML ,=20 James Clark=A0 a ete le responsable technique de la recommandation XML=20 1.0. Il a ensuite redige les recommandations XPath et XSLT 1.0 avant de=20 s'interesser aux langages de schemas et de travailler sur TREX , RELAX=20 NG et NRL . Sa contribution aux technologies XML est reellement=20 capitale et je le tiens James pour le plus brillant des experts XML=20 avec lesquels j'ai pu travailler. Moins connu et moins mediatique que James Clark=A0 , Murata Makoto=A0 est= =20 l'auteur de RELAX ; un langage de schema qui a ete fusionne avec TREX=20 pour produire RELAX NG . Plus encore que James Clark=A0 , c'est lui qui=20 est a l'origine de la solide base mathematique de RELAX NG . James=20 Clark=A0 et Murata Makoto=A0 se sont completes de maniere admirable lors = de=20 la creation de RELAX NG et ont fourni des implementations utilisant=20 deux algorithmes differents demontrant ainsi que la plupart des=20 restrictions que s'imposent W3C XML Schema de crainte a etre=20 difficilement implementables ne sont pas justifiees. Moins theoricien et plus pragmatique, Rick Jelliffe=A0 est peut-etre le=20 plus innovant et imprevisible des trois. Trouvant toujours des manieres=20 innovantes et etonnantes d'utiliser des technologies existantes, c'est=20 l'inventeur de Schematron , un langage de schema simple qui exprime des=20 contraintes sous forme d'expressions XPath . Plutot que de reinventer=20 quelque chose de nouveau, Schematron est en quelque sorte une astuce=20 geniale qui permet d'utiliser XPath comme un langage de schemas. Ma contribution au groupe de travail DSDL ne s'est pas limitee aux=20 reunions que nous avons eu en marge de XML Europe 2002 mais ce fut la=20 principale occasion pendant laquelle l'equipe fut reunie physiquement=20 et la luminosite que degage encore ce souvenir n'est pas uniquement due=20 au soleil de Barcelone! Travailler avec eux fut d'autant plus un plaisir qu'ils sont toujours=20 restes tres ouverts aux critiques. Les occasions de ne pas etre=20 d'accord avec eux etaient rares, mais je me souviens notamment avoir=20 ete en desaccord avec James Clark=A0 sur l'utilisation de noms qualifies=20 par des prefixes d'espaces de noms dans des attributs de la syntaxe XML=20 de RELAX NG et avoir obtenu partiellement gain de cause puisqu'il est=20 possible d'utiliser RELAX NG sans utiliser ces noms qualifies. J'ai beaucoup appris de ces deux experiences complementaires et ces=20 experiences me sont encore precieuses lorsqu'il s'agit de concevoir et=20 de definir des vocabulaires XML ce qui represente une part importante=20 de mon activite de conseil. Recherche de perfection L'approche de James Clark=A0 et Murata Makoto=A0 qui ont cree RELAX NG en= =20 reponse aux imperfections de W3C XML Schema est particulierement=20 exemplaire puisqu'elle demontre que nous ne sommes pas condamnes a=20 utiliser des outils mediocres parce qu'ils sont standards mais qu'au=20 contraire, une certaine forme de recherche de perfection est possible. C'est d'autant plus important qu'a partir de 1999, un grand nombre de=20 specifications ont ete elaborees en tres peu de temps avec des niveaux=20 de qualite tres inegaux. C'est en exercant un regard critique que l'on=20 peut selectionner celles qui meritent de l'etre et chercher de=20 meilleures alternatives a celles qui ne le meritent pas. C'est cette recherche qui maintient mon interet pour les technologies=20 de base XML . Alors que beaucoup considerent que tout a ete dit sur le=20 sujet et qu'il faut passer a autre chose pour innover, je pense au=20 contraire qu'il reste encore beaucoup de choses a ameliorer y compris=20 meme aux niveaux les plus basiques. XML sur le Web Il serait d'ailleurs d'autant plus dommage de baisser les bras que=20 contrairement a ce que l'on pourrait penser, le succes de XML est=20 fragile et conteste. La situation est d'autant plus paradoxale que XML a ete concu pour =AB=20 mettre SGML sur le Web =BB et que c'est sur le Web qu'il est actuellement= =20 remis en cause et ce pour les deux types d'applications qui lui=20 semblaient acquis. Le premier de ces domaines est l'echange de donnees entre applications=20 ou XML est de plus en plus controverse et souvent remplace par JSON ,=20 au moins en ce qui concernent les applications Web 2.0 . Le second est=20 le format de publication des pages Web elles memes ou HTML 5 et son=20 format non XML vient fragiliser XHTML vraisemblablement condamne a=20 rester marginal sur le Web . Dans les deux cas, les detracteurs de XML s'appuient sur les defauts=20 des specifications complementaires a XML (notamment les espaces de=20 noms, le langage W3C XML Schema , l'API DOM , ...) beaucoup plus que=20 sur les defauts de XML en tant que tel. XML est donc victime d'un certain laxisme qui a conduit a accepter des=20 imperfections jugees mineures par ses defenseurs et qui sont autant de=20 prises pour ses detracteurs. Pourquoi ce rejet de XML ? Je pense qu'il peut etre pris a deux=20 niveaux. A un niveau superficiel, on peut ne rejeter que la syntaxe de XML .=20 C'est le cas lorsque l'on substitue simplement JSON , HTML ou tout=20 autre format a XML . Ce type de substitution ne remet pas en cause=20 l'architecture et il est toujours facile de convertir ces formats en=20 XML . XML est un etat d'esprit C'est en effet le grand paradoxe de XML que bien qu'il ne soit que=20 syntaxe (la recommandation XML 1.0 ne definit que la syntaxe des=20 documents XML ) sa syntaxe soit accessoire (il est facile de convertir=20 tout document structure en XML ). Edd Dumbill=A0 a donne a Planet XMLhack [23] un sous titre que je trouve=20 excellent : =AB Angle brackets are a way of life =BB que l'on peut tradui= te=20 un peu librement par =AB le balisage est une maniere de vivre =BB. Je pen= se=20 effectivement que XML est avant tout un etat d'esprit, une volonte=20 d'ouverture et que le point important est l'echange de documents sous=20 forme de formats ouverts et non la syntaxe de XML . Cet aspect =AB echange de documents =BB est lui meme violemment rejete pa= r=20 beaucoup de developpeurs. Il faut dire qu'il represente une remise en=20 cause profonde de l'architecture du systeme d'information. Alors que=20 l'on raisonne encore principalement en terme d'APIs synchrones=20 manipulees par des langages proceduraux, l'approche =AB orientee=20 documents =BB privilegie un couplage plus lache et souvent asynchrone=20 entre applications et les langages declaratifs lui sont souvent mieux=20 adaptes. Des changements de cette ampleur risquent d'autant plus d'etre rejetes=20 que si l'on confie leur mise en ?uvre a des equipes qui ne sont pas=20 motivees et experimentees dans ce domaine, on se heurte immanquablement=20 a des problemes techniques. Ces equipes ont ensuite toute latitude pour=20 expliquer que =AB cela ne marche pas =BB et qu'il faut revenir a une=20 approche d'APIs classiques. Ce scenario n'a malheureusement rien d'exceptionnel et n'epargne pas=20 les equipes de developpement les plus modernes. XML et mondialisation Face a de tels rejets, comment XML a t-il pu prendre l'importance que=20 nous lui connaissons? Je me souviens avoir suivi une presentation d'un vocabulaire XML au=20 cours de laquelle l'orateur expliquait pour introduire XML que XML=20 etait aux donnees ce que la standardisation des conteneurs avait ete au=20 commerce international. XML est effectivement un standard qui permet de transporter des donnees=20 dans des conteneurs standards et les forces qui ont assure le succes de=20 XML sont les memes que celles qui ont assure le succes du libre echange=20 des marchandises. Si des societes concurrentes ont decide il y a dix ans de preferer XML=20 aux formats proprietaires qu'elles utilisaient auparavant, c'est=20 qu'elles ont estime que l'ouverture qui en resulterait serait favorable=20 a leurs interets. Les consequences de ce libre echange de donnees sont d'ailleurs=20 similaires au libre echange de biens physiques et c'est ce qui explique=20 que Google soit aujourd'hui en mesure de dominer le marche de la=20 publicite sur Internet en France comme ailleurs. Je ne veux pas dire pour autant qu'il faille se recroqueviller sur soi=20 meme et combattre cette mondialisation des donnees qui est egalement un=20 formidable outil d'echange culturel, mais il me semble important=20 d'avoir conscience du fait que ce sont les formats ouverts en general=20 et XML en particulier qui en permettent la realisation technique. Ce mouvement de mondialisation est en train de franchir une nouvelle=20 etape avec ce que nous appelons maintenant SaaS (Software as a Service)=20 qui n'est rien de moins que la mondialisation des applications et qui=20 est elle aussi rendue possible par les formats ouverts et XML en=20 particulier. Cette etape semble desormais certaine et elle risque de trancher de=20 maniere brutale le debat entre architecture orientee documents et=20 architecture orientee API au sein des services de developpement=20 informatique. Les forces qui soutiennent l' =AB etat d'esprit XML =BB sont donc toujour= s=20 bien presentes! Je n'ai pas de boule de cristal pour predire ce que sera XML dans dix=20 ans, mais je suis certain que le domaine des formats de donnees ouverts=20 dans l'etat d'esprit XML (si ce n'est dans la forme que nous lui=20 connaissons aujourd'hui) nous promet encore des annees de travail=20 techniquement interessant et qu'il continuera a etre au c?ur des=20 changements qui bouleverseront l'informatique. XML au sens large n'est pas pret a ceder sa place d'observatoire des=20 revolutions de l'informatique! Copyright 2008, Eric van der Vlist . --------------------------------------------------------- References: [1] http://web.archive.org/web/19991128173719/http://ducotede.com/ [2] http://www.conferencevirtuelle.com/P926,CommuniquePresse.aspx [3]=20 http://www.koders.com/noncode/fid008B61BB8C173796EEDC4458B6F2E89AE0AE7F6C= .aspx [4] http://en.wikipedia.org/wiki/Rael_Dornfest [5]=20 http://web.archive.org/web/20000815061017/www.oreillynet.com/meerkat/ [6]=20 http://web.archive.org/web/20010124150900/dupleix.ducotede.com/grenier-de= mina/ [7] http://web.archive.org/web/19991104215703/http://www.dyomedea.com/ [8] http://xmlfr.org/actualites/xmlfr/080122-0001 [9] http://tech.groups.yahoo.com/group/syndication/ [10] http://tech.groups.yahoo.com/group/syndication/message/201 [11] http://xmlfr.org/actualites/tech/000628-0001 [12] http://tech.groups.yahoo.com/group/rss-dev/ [13] http://en.wikipedia.org/wiki/Aaron_Swartz [14] http://en.wikipedia.org/wiki/Ramanathan_V._Guha [15] http://web.resource.org/rss/1.0/spec#s5.5 [16] http://www.idealliance.org/papers/xmle02/slides/ [17] http://www.idealliance.org/papers/xmle02/slides/ [18] http://en.wikipedia.org/wiki/James_Clark_(XML_expert) [19] http://en.wikipedia.org/wiki/Murata_Makoto [20] http://en.wikipedia.org/wiki/Rick_Jelliffe [21] http://en.wikipedia.org/wiki/Charles_Goldfarb [22] http://en.wikipedia.org/wiki/Jon_Bosak [23] http://planet.xmlhack.com/ --------------------------------------------------------- Mail genere par FormatedTextOutputHandler pour XT=20 (http://4xt.org/downloads/examples/outputhandlers/formatedtext/).