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/).