Vous êtes sur la page 1sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

Table des matires


1. Remerciements.............................................................................................................................2 2. Introduction..................................................................................................................................3 3. Prsentation du projet.................................................................................................................4 3.1. Contexte et objectifs...............................................................................................................4 3.2. Le concept d'entrept de donnes.........................................................................................4 4. Conception....................................................................................................................................7 4.1. Dfinition d'un format homogne............................................................................................7
4.1.a. Dialogue avec les membres du laboratoire...................................................................................7 4.1.b. Le format entrept ....................................................................................................................8

4.2. Les Cas d'utilisation................................................................................................................9


4.2.a. L'utilisateur et le chercheur..........................................................................................................10 4.2.b. L'administrateur............................................................................................................................11

4.3. Les mta-donnes................................................................................................................12 4.4. L'architecture initiale.............................................................................................................12 4.5. Les limites de la ralisation..................................................................................................14 5. Choix techniques.......................................................................................................................15 5.1. La programmation de l'interface...........................................................................................15 5.2. Le stockage des documents : utilisation de XML.................................................................15 5.3. Gestion du systme et du contenu : une base de donnes.................................................16 5.4. Prsentation du contenu de l'entrept : intgration de Cocoon 2........................................18 6. La ralisation..............................................................................................................................20 6.1. La gestion des corpus..........................................................................................................20 6.2. La gestion des rsultats........................................................................................................20 6.3. L'importation de corpus sous diffrentes mesures...............................................................21 6.4. Le lancement d'un outil.........................................................................................................21 6.5. L'intgrateur de fichier texte 10..............................................................................................22 7. Bilan.............................................................................................................................................23 7.1. Une maquette fonctionnelle..................................................................................................23 7.2. Contraintes / discussions......................................................................................................23
7.2.a. L'intgration des corpus...............................................................................................................23 7.2.b. Spcifications pour l'intgration de nouveaux outils....................................................................24

7.3. Perspectives.........................................................................................................................24
7.3.a. Amlioration de l'intgration des corpus......................................................................................24 7.3.b. Intgration des web services.......................................................................................................25

8. Conclusion..................................................................................................................................26 9. Annexes......................................................................................................................................27 9.1. Bibliographie et sites Internet...............................................................................................28 9.2. Le format entrept : schma XML..................................................................................29 9.3. Les DTD utilises.................................................................................................................32 9.4. Le paramtrage dynamique de Cocoon 2............................................................................33 9.5. L'intgrateur textuel - Quelques rsultats.............................................................................34 9.6. Prsentation des Web-services............................................................................................36

Mars 2002

1 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

1.Remerciements
Je tiens remercier les responsables de ce projet qui sont Nadine LUCAS et Bruno CREMILLEUX. Je remercie tout particulirement ce dernier qui tait mon interlocuteur privilgi, et qui a fait preuve d'une grande confiance mon gard en me laissant une grande autonomie dans mon travail et mes investigations. Je tiens galement remercier tous les membres du laboratoire qui ont bien voulu m'accorder du temps pour m'expliquer leur travail et leurs axes de recherche. Enfin, je remercie Christophe TURBOUT pour son aide lors de l'installation de Cocoon 2 sur mon ordinateur personnel.

Mars 2002

2 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

2.Introduction
Dans le cadre du DESS RADI, le projet annuel occupe une part trs importante de la formation. Il permet de mettre en application bon nombre de nos connaissances thoriques tout en obligeant acqurir des comptences avec lesquelles nous ne sommes pas forcement familiarises. Au del de l'application des comptences, le projet demande un esprit critique, une prise de recul pour bien analyser le sujet et un travail d'valuation notamment des choix effectus dans la conception et la ralisation. Le sujet que j'ai choisi a t propos par Bruno CREMILLEUX et co-encadr par Nadine LUCAS. Il se nomme Entrept de donnes textuelles et se rvle tre un sujet trs ouvert. En effet, contrairement aux projets que j'avais pus avoir traiter jusqu' prsent, l'objet et les objectifs du projet taient loin d'tre figs. Le projet tait large dans le sujet proprement dit mais aussi sur les choix matriels et techniques mettre en oeuvre. Aussi, au fil de l'tude du sujet, nous nous sommes rendus compte de l'tendue du projet et du fait que nous ne pourrions pas traiter le problme dans son intgralit. Le projet m'a demand un bon esprit de synthse tant donn le nombre d'informations que j'ai pu collect. De plus, il a fallu que je canalise mes ides ainsi que mes axes de dveloppement afin de ne pas me perdre dans une conception trop vaste. En outre, les encadrants du projet m'ont beaucoup aid dans cette tche, ceci tant facilit pour eux du fait qu'ils aient plus de recul que moi par rapport au projet. Dans la ralisation, le projet demandait d'agrger de nombreux concepts et technologies. Dans cette phase, l'intervention de Bruno et Nadine s'est moins fait sentir du fait qu'ils n'taient pas familiariss avec les techniques que je proposais. Toutefois, cela m'a oblig aller la rencontre de personnes travaillant avec les outils que je voulais mettre contribution. En outre, il faut noter que les questions concernant mes choix et le fait que je sois oblig d'expliquer les mcanismes que j'utilisais m'a oblig faire un important travail de synthse lors des entretiens concernant l'avancement du projet. De plus, les rflexions souleves par mes explications m'ont parfois fait changer de direction ou ont mitig mes choix. L'objet du projet tait de crer un rel systme qui puisse s'intgrer au sein du laboratoire de recherche. Pour ne tracer que les grandes lignes du sujet, le but est de crer un entrept qui permette de grer le stockage et un certain nombre de prtraitements des corpus de texte utiliss dans le cadre des recherches. Le systme devra offrir un accs ces derniers sous une forme qui permette de faciliter le travail des personnes qui veulent les exploiter. Je propose maintenant de dcrire le contexte et de prciser les grands objectifs du projet avant de dcrire le travail de conception et la maquette ralise.

Mars 2002

3 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

3.Prsentation du projet
3.1.Contexte et objectifs
Dans le cadre du travail de recherche en fouille de textes, les chercheurs du GREYC utilisent des corpus de textes. Ces vastes documents textuels doivent tre stocks, tout en restant la disposition des chercheurs. Ces derniers doivent faire subir des prtraitements aux corpus afin de les rendre exploitables par leurs outils de fouille de textes. L'objectif principal du projet est donc de concevoir un espace fdrateur du travail ralis au sein du laboratoire et notamment dans l'quipe DoDoLa1 . En effet, nous voulons concevoir un entrept de donnes textuelles qui permette de stocker les corpus utiliss par les diffrents chercheurs sous une forme homogne. Cette forme homogne, dfinir, est en relation directe avec les traitements appliqus sur les documents. Le deuxime objectif est de pouvoir stocker et utiliser les rsultats des outils de fouille de texte pour enrichir le contenu de l'entrept. Ce deuxime point est en relation avec le premier puisque la publication, par un chercheur, de ses rsultats permettra un change avec les autres utilisateurs de l'entrept et permettra une rflexion collective. Les pr-traitements, qui sont effectus, tiennent aussi bien de l'informatique que du traitement de la langue. Ceci tant, il se trouve que ces traitements sont souvent trs proches d'un utilisateur l'autre. Ils cherchent par exemple permettre de pouvoir dissocier le texte selon diffrentes mesures : paragraphe, phrase... En outre, pour le moment, chaque chercheur, chaque doctorant ou chaque tudiant en projet ou en stage de recherche r-implmente ses propres moulinettes pour mettre le texte dans un format en accord avec ses propres outils. Le but est donc bien de mettre en place une certaine standardisation dans les structures de donnes d'entre et de sortie des outils afin d'viter de toujours recrer des moulinettes qui font le mme travail. En outre, la standardisation facilitera l'change de donnes et de rsultats entre les diffrents membres du laboratoire. Pour faciliter cet change, une des contraintes du projet est de donner accs au systme via une interface web. Il semble que baser l'accs l'entrept sur un navigateur Internet lui confre une facilit d'accs et une capacit de dploiement plus importante que s'il s'agissait d'une interface ddie. En effet, de nos jours, la quasi totalit du parc informatique possde un navigateur web.

3.2.Le concept d'entrept de donnes


Un entrept de donnes est un vaste lieu de stockage d'information. Il ne s'agit pas uniquement d'une base de donnes. Pour constituer le contenu d'un entrept, il faut le plus souvent faire une mise en commun de donnes d'origine et de structures varies. Le rle de ce genre de systme est de centraliser les informations afin de permettre un stockage sous une reprsentation homogne globale. Ce concept correspond au format que nous voulons dfinir pour le stockage des corpus.
1 Donnes Document Langue Mars 2002 4 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

Architecture gnrale d'un entrept Il y a trois fonctions essentielles dans un entrept de donnes. Tout d'abord, il faut collecter ces donnes partir de sources existantes qui peuvent tre trs htrognes (partie intgrateur). La deuxime fonction est une gestion du contenu (base de donnes entrept). En effet, un entrept peut avoir un volume d'information qui crot trs rapidement. Aussi, il faut tre capable de grer la problmatique du stockage et du maintien de la cohrence des donnes. Enfin, un entrept doit offrir des possibilits d'analyse de son contenu (partie analyseur). Dans notre problmatique, il s'agit de pouvoir intgrer les outils de text-mining au sein du systme ou tout au moins leurs rsultats et ainsi proposer un systme fdrateur du travail ralis au laboratoire. Les trois fonctions cites prcdemment sous-entendent un certain nombre de choses. Tout d'abord, un systme de type entrept doit vraiment rendre accessible l'information et sous une forme adapte l'utilisateur. C'est la problmatique de prsentation de l'information. L'entrept doit rendre cohrent l'information et c'est l une des difficults de la cration de ce genre de systme. En effet, il faut dfinir une structure homogne pour le contenu. Toutefois, si l'on veut crer un outil viable, il faut que ce format soit assez souple et adaptable. L'entrept doit absolument pouvoir voluer dans le temps et pouvoir s'adapter de nouveaux types d'informations ou de nouveaux usages. Dans notre cas, il faut prendre en compte les axes de recherche mais aussi faire attention ne pas crer un format entrept trop rigide sous peine de crer un outil inutile. Enfin, un entrept de donnes peut devenir un systme cl dans une entreprise ou dans toute autre organisation. En outre, il peut contenir des informations de premier ordre que l'on peut mme qualifier de confidentielle. Aussi, il faut prendre en compte qu'il y a une problmatique de scurit mettre en oeuvre au sein de ce systme. Par exemple, dans le cadre de l'universit, l'utilisation et la publication de certains corpus sont soumises des droits. Le schma suivant illustre la problmatique du projet et montre les concepts d'entrept de donnes appliqus sur notre problme.

Mars 2002

5 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

Le cadre centrale en bleu reprsente le trou combler entre la rcupration des corpus et leur exploitation. Cette partie correspondra donc la base de donnes entrept avec la mise en place d'une reprsentation homogne des corpus. Le cadre marron correspond la rcupration des corpus. Il s'agira ici d'implanter des intgrateurs permettant d'alimenter le contenu de l'entrept avec des documents de type diffrents. Le cadre rose illustre la partie analyse de donnes. Il faut bien voir que cette partie ne fera pas forcement partie intgrante de l'entrept. Si les outils sont intgrs au sein du systme, cela sera le cas. Par contre, si l'on met en place seulement un systme d'envoi de rsultats, une partie des traitements se feront en dehors de l'entrept. On fera certainement le choix d'une solution hybride. Enfin, le cadre vert illustre le besoin d'interface et de prsentation des donnes de l'entrept. En outre, on se propose de pouvoir visualiser les corpus et tout le contenu de l'entrept. On voudrait aussi pouvoir tlcharger les corpus ainsi qu'avoir accs une forme imprimable de ces derniers.

Mars 2002

6 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

4.Conception
4.1.Dfinition d'un format homogne 4.1.a.Dialogue avec les membres du laboratoire
Les rencontres avec une partie des membres du laboratoire se sont rvles tre un aspect trs intressant du projet. En effet, le dialogue avec les chercheurs et les thsards m'a permis de voir le travail effectu au sein de l'quipe et les axes de recherche. En outre, cela a renforc mon intrt pour les domaines que sont le text-mining et l'informatique linguistique. De ces diffrents entretiens, j'ai pu lister un certain nombre de besoins exprims par mes interlocuteurs concernant les corpus qu'ils utilisent. Il faut savoir que les diffrentes personnes qui m'ont reu travaillent sur des pistes de recherches diffrentes. Ces pistes sont par exemple la recherche de descripteurs pour caractriser des fautes d'anglais dans des articles scientifiques, ou la recherche de squences frquentes dans un texte. J'ai aussi eu l'occasion d'changer quelques mots avec un thsard travaillant sur la recherche de marques spatiales et temporelles dans les textes. On sent bien que les orientations sont assez diffrentes d'une personne l'autre. Cependant, ce qui fdre ces diffrents travaux, c'est que l'ensemble du groupe travaille sur des textes. Aussi, les besoins exprims par chacun sont assez proches. Nous avons essentiellement travaill sur un de ces besoins : les mesures de texte. On peut dfinir les mesures de texte comme des niveaux dans le document textuel. Chaque niveau correspond en fait une faon de segmenter le texte. On peut citer les mesures suivantes dans l'ordre de leur imbrication respective : la partie, la section, le paragraphe, la phrase, le virgulot2 . La liste n'est pas exhaustive puisque j'ai eu un change, avec Nadine LUCAS, concernant le double-point et le point-virgule3 qui sont des signes de ponctuation qui peuvent eux-mme dfinir de nouvelles mesures. On pourrait galement parler de tous les caractres typographiques du type tiret ou puce qui donnent une signification particulire au texte prcd par ces marques. Exemple :
[Au dbut des annes 1990, plus de quatre enfants sur dix sont d'origine ouvrire - en entendant par l le fait d'tre d'une famille dont le chef de mnage est ouvrier]. [Pourtant les ouvriers ne sont que le tiers de la population active; mais leurs familles sont plus nombreuses que celles des autres catgories sociales]. [Un enfant sur vingt est enfant d'agriculteur], [un sur douze d'artisan ou de commerant], [un sur neuf de cadre suprieur ou de membre des professions librales], [un sur six de cadre moyen], [un sur huit d'employ].

On a 2 phrases et 4 virgulots sachant que l'ensemble des virgulots forme une phrase. De mme, l'ensemble de l'exemple forme un paragraphe. Les chercheurs s'intressent ces mesures de texte car les descripteurs ou les
2 Cette mesure reprsente le texte contenu entre un point et une virgule ou entre deux virgules. 3 Cette mesure pourrait se nommer le point-virgulot par exemple. Mars 2002 7 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

marques spatiales et temporelles qu'ils essaient d'extraire n'ont pas la mme signification ou le mme impact selon qu'ils sont trouvs dans telle ou telle mesure. Aussi, l'entrept serait une rponse leur besoin s'il permettait d'occulter le problme de l'extraction des mesures de texte. Ainsi, les chercheurs pourraient se concentrer sur l'amlioration de leur recherche de descripteurs, sans avoir besoin de reprogrammer un script qui leur donne les parties de texte souhaites pour leurs travaux. Je vais illustrer cette problmatique par un exemple. Imaginons que je m'intresse la ngation en anglais et au not en particulier. Je veux rechercher si le not est prsent dans les phrases puis dans les virgulots d'un texte. L'entrept, pour offrir une relle plus-value dans le travail du chercheur, devrait fonctionner de la manire suivante. Je choisis mon texte puis je demande que le systme me fournisse toutes les phrases du texte : par exemple sous la forme d'un fichier texte avec une phrase par ligne. Ds lors que j'ai ce fichier, il serait alors trs facile de dire dans quelle phrase est prsent le descripteur recherch. Voici un exemple de ce que l'on pourrait obtenir :
Au dbut des annes 1990, plus de quatre enfants sur dix sont d'origine ouvrire - en entendant par l le fait d'tre d'une famille dont le chef de mnage est ouvrier \n Pourtant les ouvriers ne sont que le tiers de la population active ; mais leurs familles sont plus nombreuses que celles des autres catgories sociales \n Un enfant sur vingt est enfant d'agriculteur, un sur douze d'artisan ou de commerant, un sur neuf de cadre suprieur ou de membre des professions librales, un sur six de cadre moyen, un sur huit d'employ \n

Si l'on reprend l'exemple prcdent le systme pourrait, si on lui demandait d'exporter le corpus sous la mesure phrase, fournir un fichier texte de la forme ci-dessus (le \n correspondant au caractre de saut de ligne). Le fait de faciliter l'obtention des diffrentes mesures d'un corpus est donc une des contraintes fortes dans le projet. C'est d'ailleurs la principale. Toutefois, un certain nombre d'autres points sont prendre en compte. Il m'a t demand de penser des mcanismes permettant de retrouver facilement un document contenu dans l'entrept (par auteur ou par des mots cls).

4.1.b.Le format entrept


Comme cela a dj t dfini, il faut un format de document homogne pour que l'on puisse parler d'entrept de donnes. Le format que j'ai dfini se matrialise par un schma XML qui essaie de prendre en compte une partie des besoins exprims prcdemment. Il faut mentionner que l'utilisation de XML permettra de pouvoir faire voluer le format de l'entrept. Aussi, si l'volution du schma est correctement effectue les corpus dj insrs resteront compatibles avec un ventuel nouveau format. Je vais rpertorier les lments pris en compte dans la structuration de document choisie. Tout d'abord le schma dfinit comme racine du document XML un lment nomm document . Cette racine possde un certain nombre d'attributs qui permettent par exemple de dfinir le titre, la langue du document ou les auteurs...

Mars 2002

8 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

Ensuite, il prend en compte les diffrentes mesures dont nous avons parl prcdemment : la partie, la section, le paragraphe, la phrase, le double point , le point-virgulot , et le virgulot. Chacun de ces lments possde 1 attribut id qui est un entier et qui permet d'identifier de manire unique une mesure. On peut faire remarquer que la qualification des mesures par les attributs est ici minime. On se limite une cl . Toutefois, dans une volution de l'entrept, on pourrait penser ajouter un attribut qui permette de connatre la langue de chaque mesure et ceci pour faciliter les traitements multi-lingues Ce n'est qu'une piste d'volution parmi beaucoup d'autres. Le diagramme de classe UML suivant illustre le format entrept dfini :

On remarque la prsence d'un lment nomm inconnu : il s'expliquera lors de la prsentation du segmenteur de texte mais permet en fait de baliser des zones de texte que l'on n'arrive pas faire correspondre avec une mesure. Comme je l'ai dj mentionn, le format l'intrieur de l'entrept peut voluer. Aussi, celui que je propose est loin d'tre dfinitif. Je n'ai pas rencontr toutes les personnes qui pourraient avoir intrt utiliser le systme, et ces dernires pourraient avoir besoin d'autres informations ou marques l'intrieur des corpus.

4.2.Les Cas d'utilisation


Comme dans toute conception, la dfinition des cas d'utilisation ... passe par l'valuation des acteurs qui vont tre en relation avec le systme. Nous avons pu extraire trois acteurs principaux qui sont : - L'utilisateur - Le chercheur - L'administrateur

Mars 2002

9 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

4.2.a.L'utilisateur et le chercheur

L'utilisateur de l'entrept a seulement une capacit de consultation. Il devra donc pourvoir consulter le contenu de l'entrept. La consultation peut se dfinir tout d'abord par un affichage des documents sachant qu'un document peut tre un corpus original ou un corpus associ des rsultats. Les rsultats seront donc issus d'outils de text-mining, et seront sauvegards dans l'entrept. D'autre part, la consultation peut tre tendue par ce qu'on a appel Exporter les documents . Il s'agit en fait de donner la possibilit l'utilisateur de pouvoir rapatrier sa consultation et qu'il puisse ainsi travailler hors ligne. Le rapatriement devra pouvoir se matrialiser sous forme lectronique (tlchargement de fichier) ou sous forme d'une impression papier. Le chercheur hrite de l'utilisateur. Il possde un niveau d'utilisation suprieur puisqu'il a la possibilit de faire voluer le contenu de l'entrept. Pour cela, il doit pouvoir dposer des documents dans l'entrept et utiliser les outils ventuels qui y sont connects. Le dpt au sein du systme inclut un certain nombre de cas puisqu'il faut enregistrer les mta-donnes associes au document, re-formater le document pour qu'il s'intgre la reprsentation homogne de l'entrept et enfin sauvegarder le document sous sa forme originale. Les mta-donnes4 sont indispensables puisque d'une part elles permettent de qualifier le document mais en plus elles sont utiles pour la gestion de l'entrept : on pourra par exemple prciser l'auteur, le sujet d'un corpus et quelques mots cls, mais aussi la personne qui a insr le document dans l'entrept et la date d'insertion. Enfin, nous voulons pouvoir conserver le document sous sa forme originale. Ceci
4 Le dtail des mta-donnes est disponible en partie 4.3 Mars 2002 10 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

s'explique par le fait que d'une part, on veut donner la possibilit un utilisateur de rcuprer le corpus tel qu'il tait avant son insertion dans l'entrept. D'autre part, certains outils de text-mining ne peuvent s'appliquer que sur le format original. En effet, ds l'insertion d'un document dans le systme et notamment de sa mise au format homogne, on peut perdre une partie de l'information telle que la mise en forme. On fait ce choix car la majorit des outils travaillent sur le contenu textuel et les mesures de texte. Un cas d'utilisation dfinit le fait que le chercheur doit pouvoir obtenir le corpus de telle manire qu'il puisse facilement travailler sur les diffrentes mesures5. Le but est donc de pouvoir obtenir un fichier (de type texte ou XML, ou le fichier original) afin de pouvoir travailler sur ce dernier hors ligne. Ceci permettra de pouvoir travailler sur les corpus avec des outils non connects l'entrept. En outre, on pourra transmettre les rsultats de ces traitements toujours dans la problmatique d'enrichir le contenu du systme. En effet, nous voulons donner la possibilit aux utilisateurs de l'entrept, s'ils ont le niveau d'utilisation requis, de pouvoir transmettre leurs rsultats. Ceci pourra permettre d'associer des rsultats, qui ont t produits hors ligne, aux corpus correspondants.

4.2.b.L'administrateur
Nous avons dj dfini deux acteurs qui montrent des diffrences dans les possibilits d'utilisation du systme. Aussi, pour pouvoir grer et maintenir cet entrept de donnes, il est indispensable de prendre en compte, dans le travail de conception, un administrateur.

Ce troisime acteur a tout d'abord pour rle de grer les utilisateurs de l'entrept. Ce cas d'utilisation est l'image du rle d'un administrateur systme dans le cadre d'un
5 Se rfrer la partie Dialogue avec les membres du laboratoire Mars 2002 11 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

rseau informatique. Il doit pouvoir ajouter et supprimer des utilisateurs mais aussi leur dfinir un niveau d'utilisation : par exemple, un droit de consultation pour le simple utilisateur, et un droit un peu plus volu pour le chercheur (consultation, possibilit d'envoyer de nouveaux corpus et d'utiliser des outils). Le second rle de l'administrateur est de grer la connexion des outils de text-mining que l'on veut connecter au systme. L'administrateur doit pouvoir ajouter et supprimer des outils. Notre objectif est de faire que les rsultats des outils puissent enrichir le contenu documentaire du systme. Il faut noter que pour qu'un outil puisse tre intgr au systme, il faut qu'il soit dvelopp en fonction des spcifications du systme. Une seconde solution consiste ce que le concepteur de l'outil dveloppe des interfaces pour qu'il puisse se connecter l'entrept.

4.3.Les mta-donnes
La dfinition des mta-donnes est mon avis une tche importante dans la conception d'un entrept de donnes. Ce sont elles qui vont permettre de structurer le contenu de l'entrept et permettre la recherche d'informations. Elles font partie intgrante des fondations de l'entrept. Le terme mme de mta-donnes est une notion assez vague puisqu'elles peuvent correspondre des informations multiples. Aussi, il est important de rapidement les dfinir afin de ne pas se retrouver avec une liste interminable qui deviendrait sans intrt. Les mta-donnes que nous avons dfinies sont assez simples. Il est mon avis indniable que la liste pourrait tre complte6. Toutefois, nous nous sommes limits des informations qui permettront une navigation et une recherche au sein du contenu de l'entrept. Aussi nous avons dcid de grer les informations suivantes. On a tout d'abord dfini des mta donnes qui sont propres chaque corpus. Nous prenons en compte les auteurs, des mots cls et une description, ceci afin de permettre de savoir quoi correspond chaque corpus et afin de permettre des recherches en fonction de celles-ci. Il est important de faire remarquer que ces mta-donnes vont tre compltes par d'autres qui seront beaucoup plus lies au fonctionnement proprement dit de l'entrept. On peut dj penser que l'on grera les dates d'insertion des corpus dans le systme et leur localisation dans le systme de fichier (le path ).

4.4.L'architecture initiale
Le diagramme de dploiement suivant reprsente l'architecture initiale dfinie. Nous verrons par la suite que son implantation telle quelle serait trop complexe. Aussi, le fonctionnement du systme a d tre adapt.

6 Une dfinition exhaustive des mta-donnes ainsi que leur gestion pourrait tre un projet part entire vu l'tendue du problme Mars 2002 12 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

Pour ce qui est de l'entrept en lui-mme, on y retrouve diffrents composants. On a tout d'abord un composant intgrateur. Il s'agit en fait d'un module logiciel qui va permettre d'adapter les documents, que l'on souhaite ajouter au systme, au format homogne de l'entrept. Je peux dj mentionner que nous avons opt pour un formalisme XML au sein de l'entrept. A noter, que l'on pourrait parler de plusieurs intgrateurs puisque le traitement est diffrent selon que l'on expdie un document au format texte ou au format XML. Ensuite, on voit apparatre l'analyseur qui correspond en fait aux outils de text-mining directement connect l'entrept. Le fait d'intgrer ces outils, au sein de l'entrept, tait une hypothse de dpart. Cependant, le mcanisme implant dans la ralisation est un peu diffrent. En effet, les outils tant trs disparates notamment en ce qui concerne les langages utiliss la cration des interfaces pour les ajouter au systme peut se rvler complexe, d'autant que certains peuvent avoir des temps de traitement assez longs. Aussi, la piste concernant les outils n'a pas t approfondie et l'on a prfr grer un mcanisme qui permet l'envoi de rsultats de ces outils. Au sein de l'entrept, on retrouve une base de donnes. Celle-ci est mon avis un des points cls du projet puisque c'est elle qui va permettre de grer toutes les informations permettant le fonctionnement du systme. Elle va contenir une partie des mta-donnes propres chaque corpus mais surtout fournir toutes les informations permettant d'avoir une interface WEB qui puisse s'adapter au contenu de l'entrept. L'interface WEB est matrialise par l'entit site WEB sur le schma. Ce composant sera le point d'accs pour l'utilisation de l'entrept de donnes textuelles. En outre, le site WEB associ la base de donnes permettra d'offrir une interface dynamique. C'est cette interface dynamique qui permettra de donner accs au contenu du systme et de mettre en relation ce contenu avec les diffrentes fonctionnalits disponibles.
Mars 2002 13 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

Enfin, on retrouve sur le diagramme la machine cliente. Celle-ci contient le navigateur WEB, lment qui faisait partie du cahier des charges du projet. Le navigateur sera le mode d'accs l'entrept pour tout utilisateur, ce qui peut confrer une facilit de dploiement du systme.

4.5.Les limites de la ralisation


Je l'ai mentionn au dbut de ce rapport, le sujet du projet tait trs vaste. Aussi, au fil de la conception, nous avons eu une vision plus prcise de ce quoi nous voulions aboutir. Je me propose dans cette partie de fixer les objectifs que nous voulons atteindre dans la ralisation et ainsi borner le projet. Tout d'abord, nous avons fait le choix de ne traiter que l'intgration des corpus de type XML et texte pur. Nous ne traitons pas la gestion des corpus de type HTML car ceci aurait demand un temps de dveloppement trop important, d'autant plus que la segmentation de corpus et l'identification des mesures ne sont le sujet central du projet. Pour ce qui est du stockage, nous stockons les corpus mais aussi ce que l'on va appeler les rsultats. Les rsultats sont aussi des documents qui correspondent en fait la sortie des outils de text-mining. En outre, nous voulons tre capable d'associer rsultat et corpus auxquel ils correspondent notamment lors de leur affichage. A noter que les rsultats et les corpus devront pouvoir tre envoys l'entrept par les chercheurs. Leur intgration au sein du contenu devra tre gre par le systme. Nous voulons donner la possibilit au chercheur qui utilise l'entrept de pouvoir obtenir les corpus dont il a besoin sous diffrentes formes. En outre, il devra pouvoir tlcharger le corpus sous sa forme originale, au format de l'entrept ou sous diffrentes mesures. Ce dernier choix doit permettre au chercheur d'obtenir un fichier o la segmentation selon la mesure choisie est dj effectue. Initialement, nous avions pens intgrer les outils de text-mining directement au sein de l'entrept. Les langages utiliss pour dvelopper ces outils sont multiples. On retrouve aussi bien du perl que du php ou du C, sans compter les outils spcifiques qui demandent par exemple un format binaire en entre, pour pouvoir les utiliser (MVminer de Franois RIOULT par exemple). De plus, les temps de traitement qu'ils impliquent peuvent tre de l'ordre de plusieurs heures. Aussi, l'ide de vouloir intgrer les outils est inconcevable dans un premier temps. Toutefois, mme si la piste n'a pas t approfondie, j'ai dcid d'essayer d'en connecter un. Aussi, cet essai d'intgration m'a permis de dvelopper quelques pistes d'volution pour l'entrept (cf. partie concernant les volutions).

Mars 2002

14 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

5.Choix techniques
5.1.La programmation de l'interface
Un des objectifs initials tait d'offrir un accs l'entrept via une interface web. Aussi, je pense que 2 alternatives s'offraient nous pour la programmation de l'interface. On pouvait axer le dveloppement ou sur php ou sur une technologie java de type servlets et jsp sur la base d'un serveur tomcat. Mon choix s'est port vers php. Il n'est pas cacher que j'ai t influenc par mon exprience dans l'utilisation de ce langage bien que j'ai dj utilis java dans le pass. Toutefois, d'autres points ont motiv mon choix. De mon point de vue, la maquette raliser, devait faire appel des techniques simples. La complexit du travail rsidait dans le fait qu'il y avait beaucoup de petits modules dvelopper et faire collaborer. Aussi, je pense que php est un trs bon outil de prototypage qui permet de faire des choses rapidement sans avoir forcment besoin de se proccuper de la collaboration des objets. De plus, si l'on programme en java, il est mon avis indispensable d'tre en adquation avec les standards de SUN ce qui aurait t une contrainte supplmentaire. Enfin, on peut dire que php est tout de mme beaucoup moins gourmand en terme de ressources systme. En utilisant php, on utilise Sablotron, le processeur XSLT intgr au langage, et on peut dire que celui-ci n'est certainement pas le plus performant du march. Toutefois, il faut relativiser cela puisque les traitements XSLT effectus par php dans la ralisation sont assez simples. Pour tous les traitement complexes et notamment ceux qui concernent l'affichage, nous avons dcid d'intgrer le framework Cocoon 2 (cf. ci-aprs). Un autre point manque Sablotron : il s'agit de la validation de documents par une DTD ou un XML schma. Ces fonctions sont effectivement disponibles en java ; toutefois il faut prciser que les parseurs disponibles sont trs peu performants et souvent complexes adapter des utilisations spcifiques. En outre, il y en a trs peu actuellement qui offrent une validation d'un document par un schma. Aussi, dans la ralisation, nous avons fait le choix d'utiliser un parseur validateur externe qui est excut et instanci partir de php. Cela nous a oblig passer de transformer notre schma en une DTD, ce qui se rvle une faible contrainte.

5.2.Le stockage des documents : utilisation de XML


Plusieurs raisons m'ont pouss utiliser XML pour le stockage des corpus. Tout d'abord, il n'est pas dmontrer que XML est tout fait adapt pour le stockage du texte. Il permet une trs bonne structuration des donnes et cela sans ambigut par l'utilisation d'une DTD ou d'un schma XML. De plus, ce langage n'a pas de limite pour ce qui est de l'volution du balisage. En effet, XML ne dfinit que la faon de crer ses propres balises et ainsi ne fige pas les possibilits de reprsentation. Enfin, XML permet de faire une totale sparation entre contenu et prsentation et offre des mcanismes pour avoir un affichage des donnes trs adaptable. Le travail du laboratoire se focalise essentiellement sur le contenu textuel et plus
Mars 2002 15 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

prcisment sur des analyses de mesures de texte. En outre, utiliser XML avec une structuration adapte aux problmatiques des chercheurs devrait permettre de faciliter leur travail notamment pour la slection des mesures de texte dans les corpus. L'entrept doit vraiment s'imposer comme un outil qui puisse faire partie intgrante de la recherche et pas seulement un espace de stockage. Dans la ralisation du projet, on utilise XML pour le stockage des corpus et des rsultats d'outils de text-mining que l'on peut transmettre l'entrept. Initialement, nous voulions stocker les rsultats de la faon suivante : on voulait intgrer les rsultats dans les corpus, sur la mesure de texte laquelle ils correspondent, puis sauvegarder le nouveau fichier. Ceci n'tait pas un bon choix car nous allions avoir une redondance d'information dont on peut s'abstenir en XML. En effet, avec ce choix si on a un corpus de C Mo, l'espace de stockage pour les rsultats allait tre de C x N, avec N le nombre de rsultats. Autant dire que nous allions vers de gros problmes de gestion d'espace de stockage. Aussi, le choix a t fait d'identifier chaque lment XML d'un corpus par un identifiant. Ainsi, dans les rsultats, on ne stocke plus l'intgralit des corpus mais seulement le contenu des rsultats eux-mmes associs l'identifiant. Avec l'utilisation d'XML, on peut ainsi faire une jointure de documents entre corpus et rsultats associs. Voici une illustration qui montre le mcanisme de jointure : Fichier de rsultats Corpus
<paragraphe id="9"> ... <phrase id="73"> <virgulot id="154">Most</virgulot>...</phrase> <phrase id="74"><virgulot id="158"> In the steady state</virgulot>...</phrase> <phrase id="75"><virgulot id="160"> This data has been used as direct evidence that Nef enhances the rate of CD4 endocytosis [31]</virgulot></phrase> <phrase id="76"><virgulot id="161"> However</virgulot><virgulot id="162"> the percent of CD4 internalized per unit time is not a rate and reflects the significantly lower total CD4 levels on the cell surface found in the steady state of Nef expressing cells</virgulot></phrase> ... </paragraphe>

<?xml version="1.0" .....> <resultats> ... <phrase not="1" id="73"/> <phrase not="0" id="74"/> <phrase not="0" id="75"/> <phrase not="1" id="76"/> <phrase not="1" id="77"/> ... </resultats>

Jointure XML par une feuille de transformation XSLT

En fait, la feuille de transformation va permettre la mise en correspondance des lments XML contenus dans le fichier rsultats et le corpus (par l'intermdiaire de la cl qui identifie chaque lment). On combine ainsi les informations des deux fichiers. Le mcanisme est l'image de l'opration de jointure existante en SQL.

Mars 2002

16 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

5.3.Gestion du systme et du contenu : une base de donnes


Un entrept de donnes doit possder tout un mcanisme de gestion de son contenu mais il doit aussi prendre en compte toute la problmatique de fonctionnement gnral. J'entends par cela que mme si l'entrept est capable de localiser un corpus dans le systme de fichier, il doit aussi pouvoir le mettre en relation avec les fonctionnalits de l'entrept. Aussi, il faut une entit qui permette d'offrir toutes les briques pour des fonctionnalits telles que la gestion du contenu comme nous l'avons dj mentionn mais aussi la gestion des utilisateurs par exemple. Le choix s'est port vers un SGBD. Il peut s'expliquer par le fait que l'on ait bas l'interface sur un navigateur et le langage php. Aussi, on retrouve le duo langage de script et base de donnes pour offrir une interface web dynamique. La base de donnes est donc une entit trs importante dans le systme. On a fait le choix ici d'utiliser un SGBD traditionnel. On s'est tourn vers mysql ; toutefois, il est important de prciser que l'on n'utilise pas les spcificits de ce systme, ce qui fait que l'entrept pourrait utiliser un autre SGBD (PostgreSQL par exemple). On peut sparer le contenu de la base de donnes en deux parties. Elle contient d'une part des donnes propres aux corpus et aux rsultats contenus dans l'entrept (ce sont en fait des mtadonnes). D'autre part, des donnes que l'on peut qualifier de systme et qui sont prsentes pour faire fonctionner l'entrept. Les donnes propres au contenu sont utiles tout d'abord pour pouvoir le qualifier. On stocke par exemple pour chaque corpus un nom et une description, ainsi que des informations telles que l'auteur, ou des mots cls en rapport avec ce dernier. On stocke le mme genre d'informations pour les rsultats mais pour ces deux types de documents, on a besoin aussi de pouvoir les localiser dans le systme de fichier. Aussi, pour chaque rsultat et chaque corpus, il est ncessaire d'enregistrement le chemin o est enregistr le fichier afin de pouvoir le localiser. Toutes les informations pour pouvoir localiser les fichiers sont entre autre indispensables pour avoir une interface dynamique et donner la possibilit de pouvoir faire des traitements sur les fichiers la vole. La seconde partie du contenu de la base de donnes correspond des informations propres au fonctionnement du systme. Il s'agit tout d'abord de tables qui permettent une gestion des utilisateurs, ce qui permet un contrle d'accs l'entrept. On stocke ensuite des informations concernant les outils inscrits l'entrept. Nous avons dj signal que nous n'avions pas approfondi l'intgration directe des outils de text-mining au systme. Toutefois, lors de l'envoi d'un rsultat par un chercheur, il faut pouvoir savoir quel outil correspond celui-ci. En outre, on a un mcanisme qui permet d'associer rsultats et corpus par l'intermdiaire d'une feuille de transformation. Pour chaque outil, on a la possibilit d'utiliser une feuille standard ou de proposer sa propre feuille de transformation. La localisation de cette feuille est enregistre dans la base de donnes. Pour cette seconde partie, on peut enfin citer que certaines tables sont le fruit de nos investigations concernant l'intgration d'outils au sein du systme. En effet, mme si nous n'avons pas approfondi, la base de donnes contient une table traitement qui avait pour objectif d'enregistrer des associations entre outils et corpus afin que ces traitements soient effectus en diffr. De mme, une table mesure s'associe aux informations

Mars 2002

17 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

concernant les outils afin de pouvoir dire sur quel type de mesure peut s'appliquer un outil. Voici une partie des lments qui composent la base de donnes

5.4.Prsentation du contenu de l'entrept : intgration de Cocoon 2


Cocoon est utilis dans la maquette essentiellement pour la partie prsentation. En effet, ce n'est pas cette servlet qui fait la transformation d'un corpus XML, auquel on associe une feuille de transformation XSLT, lors de son envoi. La raison est que Cocoon est au dpart prvu pour faire de la prsentation au niveau des interfaces. Initialement, je n'avais pas prvu d'intgrer le framework Cocoon 2. D'une part, je ne connaissais pas les possibilits de paramtrage de cette version et en plus je pensais que cela me demanderai un temps que je n'avais pas ma disposition. Les travaux pratiques initis par Christophe Turbout, m'ont fait changer d'avis puisqu'il a montr qu'en 3 heures il tait tout fait possible d'installer tout l'environnement pour faire fonctionner cette servlet et l'exploiter un peu. En outre, je le remercie, puisqu'il m'a apport son aide pour l'installer sur ma machine personnelle. Ce framework n'est exploit que pour la prsentation du contenu car le Serialiseur standard que l'on a en sortie offre un flux pour l'affichage dans un navigateur par exemple. Lorsque j'envoie un corpus l'entrept, mon but est de copier ce document dans le systme de fichier. Pour effectuer cela avec Cocoon, il aurait fallu que je drive le Serialiseur pour l'adapter mon utilisation. Une autre piste aurait peut-tre t d'utiliser des outils tels que des documents XSP ou des fonctions comme les actions dans le sitemap 7. Ceci m'aurait mon avis demand trop de temps de dveloppement, aussi je n'ai pas approfondi la question. Toutefois, mme si je n'utilise le framework que dans son fonctionnement standard, cela m'a tout de mme demand un travail sur le fichier sitemap.xmap . Sitemap est un langage qui permet de configurer cocoon. Mieux, il permet de configurer dynamiquement la chane de production de l'information. Par l'intermdiaire de ce fichier, j'ai donc cr plusieurs pipelines paramtrables. Cela me permet de faire des transformations de documents XML, notamment des jointures entre les fichiers XML, et cela de manire par l'envoi de paramtres sans avoir besoin de connatre les noms de fichier l'avance. La partie de code source qui suit est issue du fichier sitemap.xmap implant dans le projet. Elle permet de faire la jointure de deux documents XML et d'obtenir le rsultat sous la forme d'une page HTML. En fait, dans le fonctionnement de l'entrept, c'est cette implantation qui permet d'associer un des documents un fichier rsultat lui correspondant. On peut ainsi obtenir une visualisation des rsultats d'un outil de textmining directement dans le corpus. Extrait du fichier sitemap.xmap :
<map:match pattern="resultat.html"> 7 Pour une description des XSP et des actions, se rfrer au tutoriel de Christophe Turbout : http://www.info.unicaen.fr/~turbout/ Mars 2002 18 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

<map:act type="request"> <map:parameter name="parameters" value="true"/> <map:generate src="/var/www/html/projet/{doc}"/> <map:transform src="/var/www/html/projet/style/{style}"> <map:parameter name="use-request-parameters" value="true"/> <map:parameter name="fichier_resultat" value="/var/www/html/projet/resultats/{res}"/> </map:transform> <map:serialize type="html"/> </map:act> </map:match>

Lorsque l'on fait appel la page resultat.html sur le serveur tomcat, cette requte doit tre suivie de trois paramtres8 :

doc : correspond au document XML style : correspond la feuille XSL qui correspond l'outil res : correspond au document XML correspondant aux rsultats que l'on veut afficher

Remarque : pour avoir les dtails de configuration du fichier sitemap.xmap qui permettent de pouvoir utiliser des paramtres dans celui-ci, se rfrer aux annexes.

8 Ils doivent tre transmis en mthode GET Mars 2002 19 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

6.La ralisation
6.1.La gestion des corpus
L'entrept, dans son implantation actuelle, peut recevoir deux types de corpus. On peut lui transmettre des corpus au format texte pur ou au format XML. Il peut intgrer deux types de documents au format XML. Tout d'abord, on peut lui transmettre un document qui est dj au format entrept et qui peut ainsi tre directement intgr au contenu. En outre, l'arrive du fichier, on valide celui-ci afin de s'assurer qu'il est conforme la DTD. Il est important de faire remarquer que dans la ralisation nous avons utilis des DTD pour toutes les validations de documents XML. Ceci peut paratre en contradiction avec la conception qui a t faite sur la base d'un schma XML. Ce revirement s'explique par le fait qu'il y a peu d'outils actuellement qui permettent une validation par un schma XML et que ces derniers taient difficilement intgrables dans notre maquette. La seconde possibilit est d'envoyer un document XML avec une structure diffrente de la reprsentation homogne de document, mais de fournir une feuille de transformation XSLT. Cette feuille qui doit tre ralise par la personne voulant ajouter un corpus doit permettre de transposer le document au format de l'entrept. De mme que dans le cas prcdent, le document obtenu aprs transformation sera valid. Il faut prciser que l'on conserve toujours les documents dans leur format original en plus du nouveau document cr au sein du systme. Enfin, on peut transmettre un document de type texte pur. Le fichier transmis subit alors un traitement travers un intgrateur qui va le baliser en XML 9. En outre, le fichier produit doit aussi tre en concordance avec le format entrept. Toutefois, le segmenteur tant tudi pour produire des documents au formalisme du systme, on peut s'abstenir de la validation. Tous les corpus qui sont intgrs l'entrept peuvent faire l'objet d'une visualisation. C'est alors tomcat et la servlet Cocoon qui permettent de transformer le document XML en un flux HTML consultable par le navigateur. On peut aussi faire produire du pdf Cocoon afin d'avoir une version imprimable. Il est important de faire remarquer que dans la maquette j'ai dfini des feuilles de transformation qui produisent un affichage trs simple. On pourrait bien videmment affiner ses feuille afin d'obtenir une visualisation plus travaille.

6.2.La gestion des rsultats


Le choix a t fait de ne pas approfondir la piste de l'intgration des outils directement au sein de l'entrept. Ceci tant nous avons conserv l'ide de pouvoir associer les rsultats des outils aux corpus auxquels ils correspondent. En outre, la maquette possde des fonctionnalits qui permettent de recevoir ces rsultats. Le mcanisme d'envoi est similaire celui d'un corpus de type XML puisque le fichier doit tre valid par une DTD qui est disponible en annexe. La structure du
9 Description de l'intgrateur implant ci-aprs Mars 2002 20 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

document rsultat a t labore de telle manire qu'il soit facile de faire une jointure de document entre ce dernier et le corpus duquel il est issue. De mme que les corpus, les rsultats disponibles, au sein de l'entrept, sont visualisables. Toutefois, on ne prsente pas simplement les fichiers rsultat puisque le systme permet d'associer les rsultats aux corpus. Pour cela, on utilise Cocoon 2 qui permet de faire une jointure de documents XML. Ainsi, on obtient un affichage des rsultats directement avec la mesure laquelle ils correspondent.

6.3.L'importation de corpus sous diffrentes mesures


L'importation sous diffrentes mesures a t dfinie comme un cas d'utilisation associ l'acteur chercheur. Cette fonctionnalit de l'entrept a pour but de faciliter l'exploitation d'un corpus par un chercheur. En effet, un utilisateur peut, aprs avoir slectionn un corpus, demander d'obtenir celui sous la mesure qu'il souhaite. Cet import se matrialise par la possibilit d'obtenir un fichier texte ou un fichier XML. Pour ce qui est de l'importation sous la forme d'un fichier texte, celui-ci contient en fait chaque mesure prcde de la valeur de l'identifiant de la mesure. Voici un extrait d'un fichier texte obtenu par l'importation d'un corpus sous la mesure phrase :
15 Mouse models also highlight the contribution of nef to HIV-1 pathogenicity 16 HIV-1 infection of SCID-hu mice transplanted with human thymus leads to the massive depletion of double positive thymocytes [6] 17 In this system viruses with an intact nef ORF replicate faster achieve a higher titer and deplete thymocytes better than a nef deleted counterpart [7] 18 Recent work suggests that Nef's pathogenic effects in the SCID-hu system are independent of enhanced viral replication [8]

Pour ce qui est de l'importation dans un formalisme XML, on cre un fichier XML bien form et validable par une DTD. Le fichier contient en fait les mesures balises telles quelles le sont dans le corpus original.

Mars 2002

21 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

En outre, si le chercheur adapte ses outils de telle manire qu'ils puissent utiliser directement les fichiers imports, il peut faire abstraction du problme de la segmentation de texte.

6.4.Le lancement d'un outil


Lorsque j'ai fix les objectifs de ralisation, j'ai mentionn que nous n'avions pas approfondi la piste d'intgration des outils. Toutefois, ce problme tant un de nos axes de dpart, j'ai tout de mme travaill sur ce problme d'invocation. Aussi, un mcanisme permet d'intgrer des outils, trs simples, dans le systme. Ainsi, la premire direction pour rsoudre ce problme pourrait tre de se dire que nous allions lancer un thread lors de l'invocation de l'outil. Ainsi, le traitement se serait effectu en arrire plan. Ceci aurait t une possibilit si le langage choisi n'avait pas t php qui n'offre pas la possibilit d'utiliser des threads proprement dit. J'ai donc implant un mcanisme plus en adquation avec notre systme et notamment l'architecture de la base de donnes. J'utilise une table traitement comme une liste des tches effectuer. En outre, la table mentionne si un traitement est effectu ou non et c'est alors un script lanc intervalle rgulier avec la commande UNIX cron qui vient chercher les traitements faire et qui invoque les diffrents outils. Toutefois, il faut souligner que ce mode de fonctionnement trouve trs vite ses limites puisque le script est en php et il est complexe d'essayer de lancer des outils dans un autre langage que php. De plus, il se pose le problme du time-out configur dans le module d'interprtation php. En effet, un temps limite, pour l'excution des scripts, est dfini dans la configuration de l'interprteur. Aussi, le mcanisme implant ne peut fonctionner que pour des outils qui ont un temps d'excution court.

6.5.L'intgrateur de fichier texte 10


C'est le premier travail de dveloppement sur lequel je me suis attard. Il s'agissait de concevoir et de programmer un module logiciel qui soit capable de baliser en XML un fichier texte basique. Le balisage XML a pour objectif de donner la possibilit de rcuprer les diffrentes mesures de texte d'un corpus. Si dissocier dans un texte les phrases, les paragraphes et les parties peut paratre simple pour le cerveau humain, il n'en va pas de mme pour l'ordinateur. En effet, si l'on prend le cas de la phrase, le sparateur entre deux mesures est le point. Toutefois, il est courant d'utiliser cette marque typographique une utilisation autre que pour dfinir la fin de cette mesure. On l'utilise frquemment dans les titres aprs les numros de chapitre. Le but du projet n'tait pas de crer un intgrateur textuel optimis. C'est un projet par entire. Cependant, pour crer une maquette raliste de l'entrept, j'ai dvelopp un prototype de segmenteur de texte qui permet de dtecter la majeure partie des mesures
10 Quelques rsultats de segmentation de texte en annexe Mars 2002 22 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

suivantes : le paragraphe, la phrase et le virgulot . De plus, il compte les mesures dtectes et ajoute un attribut aux lments XML permettant ainsi d'identifier chaque mesure par un numro. Cet attribut, que l'on peut considrer comme une cl, a un rle jouer dans le fonctionnement de l'entrept. Il sera dcrit dans la suite de ce rapport. Comme je l'ai dj mentionn, crer un intgrateur avec une finesse de dtection accrue aurait fait l'objet d'un projet part entire11. Aussi, mon prototype ne fait que des dtections trs simples. C'est pourquoi il bute sur des choses telles que les abrviations. Voici un exemple :
Le numro de tl. est le 0662579222. sera traduit en deux phrases. <phrase id= 1 >Le numro de tl</phrase><phrase id= 2 >est le 0662579222 </phrase>

Cependant, j'ai essay d'intgrer quelques mcanismes afin de diminuer le nombre d'erreurs. En outre, si le texte contient une table des matires avec un formalisme 1. Introduction , mon intgrateur balisera cette zone comme une zone non-reconnue (<inconnu></inconnu>). Il reste tout de mme un gros travail faire sur cette entit qui a un grand rle jouer dans le fonctionnement de mon systme. En effet, c'est bien la finesse de l'intgrateur et sa capacit pouvoir identifier les mesures de texte dans la plus grande partie des documents qui va conditionner l'intrt du systme.

11 On peut se rfrer la partie Problmes et contraintes du systme pour plus de dtails Mars 2002 23 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

7.Bilan
7.1.Une maquette fonctionnelle
Pour faire un bilan concernant la ralisation, on peut tout d'abord dire que l'on a une maquette tout fait fonctionnelle. Cette partie contient des captures d'crans qui permettent d'avoir un aperu du systme mme si elles ne peuvent pas montrer toute la logique implante en arrire plan. On voit sur cette premire capture le menu principal.

L'cran suivant montre le menu qui permet de voir la liste des documents contenus dans l'entrept et de les afficher. A travers ces illustrations, on voit bien qu'il s'agit d'une maquette : on n'affiche pas par exemple la langue ou la description du corpus bien que ces informations soient contenues dans la base de donnes.

La capture qui suit montre les traitements effectus ou en cours. En fait, les traitements correspondent un envoi de rsultats par un chercheur ou l'invocation d'un

Mars 2002

24 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

outil en ligne. En outre, la premire ligne, de la liste ci-dessous, montre une invocation d'outil en ligne qui n'a pas encore t trait.

Sur la capture prcdente, on peut observer en bout de ligne un lien nomm Voir les rsultats . Il permet d'obtenir l'cran suivant qui correspond en fait au rsultat d'une jointure XML entre un corpus et des rsultats associs. Pour que cela soit plus visuel, on transforme la jointure XML en HTML. Par exemple ici cela permet de faire apparatre en rouge les phrases qui contiennent la ngation not .

Enfin, le dernier cran que je prsente correspond au menu permettant d'importer un corpus sous une mesure particulire. On peut observer que l'on choisi un document, la
Mars 2002 25 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

mesure et enfin le format de l'export (texte simple ou XML).

Ces diffrentes captures ne reprsente que la partie apparente du travail de dveloppement. Toutefois, elles permettent de montrer l'interface utilisateur dveloppe pour l'accs l'entrept.

7.2.Contraintes / discussions 7.2.a.L'intgration des corpus


La finesse d'intgration des corpus est une importante problmatique de ce projet. Pour les corpus qui sont l'origine au format XML, le problme ne se pose pas vraiment puisqu'ils sont dj au format de l'entrept ou alors l'metteur du document fournit une feuille XSLT pour qu'ils soient adapts. Par contre, ce n'est pas le cas des corpus au format texte ou HTML. Pour ces corpus, il faut faire appel ce que j'ai appel un intgrateur. L'intgrateur a pour but de transformer un document de telle faon qu'il puisse intgrer le systme. Pour un fichier texte, il s'agit de dtecter automatiquement les mesures, et d'ajouter un balisage XML conformment au schma XML dfini. Comme je l'ai dj mentionn dans la partie ralisation, l'implmentation d'un tel outil est un travail complexe qui n'tait pas l'objet du projet. Toutefois, il est important de mentionner que c'est la finesse du segmenteur qui va conditionner l'intrt de cet entrept de donnes textuelles. Aussi, il est indniable que le prototype d'intgrateur textuel que j'ai ralis devra tre grandement amlior, voire mme faire l'objet d'un projet part entire. En effet, ma ralisation se contente de dtecter les
Mars 2002 26 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

paragraphes, les phrases et les virgulots , et cela de manire non optimale. Pour ce qui du cas des corpus HTML, le problme n'est pas trait dans la maquette. On pourrait toutefois russir insrer des documents au format XHTML bien forms, avec une feuille de transformation, de la mme manire qu'un corpus de type XML. Pour des corpus baliss dans une version antrieure de HTML la majorit de ce que l'on trouve sur Internet on peut dire que la mise en forme du texte dans une page web peut fortement aider la dtection de mesures telles que les parties d'un document. En outre, cette mesure se rvle beaucoup plus complexe identifier dans un simple fichier texte, les indices tant moindres. Pour approfondir le sujet de la segmentation des pages HTML, on peut se rfrer aux travaux de Jacques Vergne qui a tudi sur le sujet.

7.2.b.Spcifications pour l'intgration de nouveaux outils


L'utilisation de l'entrept peut faciliter le travail de ces utilisateurs. Toutefois, il faut bien voir, que si l'on veut qu'il devienne un rel espace fdrateur du travail du laboratoire, il faut prendre en compte ses spcifications dans les dveloppements futurs. En effet, le systme propose une structuration pour les documents et notamment pour les rsultats. Si un utilisateur veut intgrer sa production au contenu de l'entrept, il faut absolument que ses documents rsultat soient en adquation avec la DTD correspondante. En outre, cela implique que ses outils doivent produire du XML bien form et validable par la DTD rsultats de l'entrept. Ceci se rvle toutefois une petite contrainte puisque l'adaptation de l'outil ne devrait pas demander un travail trs important. De mme, si un utilisateur veut utiliser les exports de corpus sous diffrentes mesures, il devra dvelopper son outil pour que ce dernier puisse directement exploiter ceux-ci, sinon la plus-value engendre par l'utilisation du systme risque d'tre faible. Enfin, il y a une feuille de style standard pour la jointure entre corpus et rsultats pour la visualisation de ces derniers. Ceci tant, le mode d'affichage standard propos par l'entrept ne sera peut tre pas au got du chercheur. Aussi, on peut donner la possibilit l'auteur d'un outil de fournir sa propre feuille de transformation pour qu'il puisse dfinir la faon dont il veut prsenter ses rsultats. Si l'utilisateur veut pouvoir profiter de cette possibilit, il doit se familiariser avec le langage XSLT afin de pouvoir produire sa propre feuille de transformation. A noter, que je n'ai pas parl ici de l'intgration directe des outils de text-mining au sein de l'entrept. Nous n'avons pas approfondi cette piste. Toutefois, si le projet voluait, il est indniable que des spcifications serait dfinies au niveau de l'entrept. Aussi, si une personne voulait donner accs son outil en ligne, c'est elle qu'incomberait la ralisation de l'interface entre son outil et l'entrept. La ralisation de cette interface devrait tre alors en adquation avec les spcifications de l'entrept.

Mars 2002

27 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

7.3.Perspectives 7.3.a.Amlioration de l'intgration des corpus


C'est bien videmment la premire piste d'volution que je propose. Cela s'explique par le fait que la qualit de l'intgration est en relation directe avec l'intrt d'utiliser l'entrept. En effet, si les corpus sont mal segments ou que trs peu de mesures sont identifies, le chercheur prfrera faire le travail de segmentation lui-mme. Par contre, si le systme peut intgrer les corpus et cela de manire fine alors il se fera une place dans le travail du laboratoire. Cette piste ne concerne que les intgrateurs qui ne traitent pas du XML. Pour le moment, mise part les documents XML, on ne peut ajouter que des corpus de type texte pur. Tout d'abord, il serait bon d'amliorer le segmenteur texte que j'ai dvelopp mais il faudrait aussi donner la possibilit d'ajouter d'autre types de fichier l'entrept. Je pense tout particulirement des fichiers HTML dont j'ai parl prcdemment dans la partie concernant l'intgration des corpus - ou des fichiers de type RTF.

7.3.b.Intgration des web services


L'invocation des outils de text-mining directement partir de l'interface par l'intermdiaire de fonctions natives en php se rvle trs complexe. Je l'ai dj mentionn prcdemment mais cela est surtout d au fait que les outils sont dvelopps dans des langages trs htrognes. La rponse se trouve peut tre par une intgration de web services12 qui est l'outil idal pour faire collaborer des services programms dans des langages htrognes. En effet, les web services sont des systmes dont l'origine se trouve dans l'informatique distribu. En outre, ils sont plus rcents et offrent une plus grande facilit d'implantation que leurs ans tel que CORBA pour ne citer que le plus connu. Aussi, il existe un certain nombre de classes qui ont t implmentes en php et qui permettent de les utiliser. De plus, la prochaine version de php (PHP 5) devrait les intgrer en natif. Cependant, cela implique une adaptation des outils de text-mining puisqu'il doit y avoir une interface de type service web ct entrept mais aussi ct outils que l'on veut mettre disposition. Ceci implique donc toujours un travail d'adaptation pour l'auteur de l'outil. Toutefois, il s'agit ici d'une perspective trs novatrice et qui pourrait faire l'objet d'un projet part entire.

12 Se rfrer aux annexes pour une description des web services Mars 2002 28 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

8.Conclusion
Il est difficile de conclure un tel projet. Comme je l'ai dit dans l'introduction, le projet tait trs ouvert et c'est moi qu'a incomb en partie le fait de cadrer le sujet. Les objectifs que je me suis fixs ainsi que mes investigations ont bien sr t choisis en adquation avec les encadrants. Toutefois, la grande autonomie qu'ils m'ont laiss fait que le projet pris une grande importance pour moi. En effet, la confiance qui m'a t donne fait que je me suis senti responsable de ce projet dont l'objet tait vraiment de crer un outil qui puisse tre utilis par le laboratoire. Pour ce qui est de la ralisation, il est indniable que la maquette ralise demande tre amliore. En outre, si le systme devait tre dploy, il y aurait certainement de nombreuses amliorations apporter notamment sur toutes les questions de scurit et notamment les droits d'accs au rpertoire. Cependant, il faut souligner que la ralisation reprsente un outil fonctionnel mme s'il n'est pas entirement optimis. En effet, ce prototype d'entrept propose toutes les fonctionnalits que nous avions dfinies l'issue du travail de conception. En outre, il permet de recevoir des corpus de trois types : texte pur, xml au format entrept et xml transformer. La maquette permet de recevoir des rsultats issus d'outils de fouille de texte. Aussi, elle permet une visualisation du contenu de l'entrept et notamment une association entre les rsultats et les corpus dont ils sont issus. Enfin, pour obtenir les rsultats, il faut appliquer un outil sur un corpus. L'entrept permet une mise disposition des corpus sous diffrentes mesures. La structure des fichiers que l'on peut importer permet de faciliter l'exploitation des documents, du fait que le chercheur peut faire abstraction du problme de l'identification des mesures. Pour faire un bilan plus personnel, ce projet aura t riche en exprience pour moi. Tout d'abord le dialogue avec les membres du laboratoire m'a beaucoup apport. J'ai pu apprhender le travail de recherche effectu en fouilles de textes et cela m'a mme donn le got de la recherche. La conception m'a demand un gros travail de synthse afin de pouvoir mettre contribution toutes les informations recueillies auparavant. En outre, le fait que je sois la tte du projet du module systme d'informations du DESS m'a beaucoup aid. Enfin, la ralisation est une phase qui parat toujours trs courte. La maquette produite est fonde sur un certain nombre de comptences que je possdait dj mais cette ralisation m'a surtout permis d'en acqurir d'autres. J'ai d renforcer mes connaissances dans les technologies XML et la mise en place et l'exploitation d'un framework tel que Cocoon 2 n'a pas t une tche anodine. Pour finir, mes seuls regrets seront de ne pas avoir pu approfondir toutes les pistes que j'avais souleves notamment pour des questions de temps. Aussi, ayant l'objectif de reprendre un DEA l'anne prochaine, j'espre avoir l'occasion de pouvoir prolonger le travail effectu dans le cadre de ce projet.

Mars 2002

29 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

9.Annexes

Mars 2002

30 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

9.1.Bibliographie et sites Internet


Introduction XML, O'REILLY, de Erik T. Ray Initiation XML, Eyrolles (WROX), de D. Hunter HTML4 XML XHTML, Micro Application, de Daniel KOCH, Olivier KURTEN et Forian Harms PHP4 & MySQL, Micro Application, de G.A. LELERER et R. STOLL PostgreSQL Services Web avec PostgreSQL et PHP/XML, Eyrolles, de Stphane MARIEL UML en action 2me Edition, Eyrolles, de Pascal ROQUES Concevoir et dployer un data warehouse Guide de conduite de projet, Eyrolles, de Ralph KIMBALL, Laura REEVER, Margy ROSS et Warren THORNTHWAITE Les documentations de l'universit de Caen : http://doc.info.unicaen.fr Sites de scripts en php : http://www.comscripts.com/ http://www.phpscripts-fr.net/ Site de logiciels pour utiliser XML : http://xmlsoftware.com/ Documentation de Cocoon 2 : http://xml.apache.org/cocoon/

Mars 2002

31 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

9.2.Le format entrept : schma XML


Il faut bien voir que ce schma XML prend en compte l'ensemble des mesures de texte utilises actuellement au laboratoire. Comme je l'ai mentionn dans le corps du rapport, nous ne pouvions pas l'utiliser pour valider les documents cause des choix techniques effectus. Nous l'avons donc transform en DTD (cf. annexe suivante).
<?xml version="1.0" encoding="ISO-8859-1" ?> <xsd:schema targetNamespace='http://users.info.unicaen.fr/~sparfour/projet/site/' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns='http://users.info.unicaen.fr/~sparfour/datawarehouse/' elementFormDefault='qualified' version='1.0'>

<xsd:annotation> <xsd:appinfo>datawarehouse.xsd v1.0 2003-01</xsd:appinfo> <xsd:documentation xml:lang="fr"> Schma destin la description des documents du datawarehouse. </xsd:documentation> </xsd:annotation>

<xsd:element name="corpus"> <xsd:complexType> <xsd:choice minOccurs="1" maxOccurs="unbounded"> <xsd:element name="paragraphe" type="typeParagraphe"/> <xsd:element name="parties" type="typePartie"/> <xsd:element name="inconnu" type="xsd:string"/> </xsd:choice> <xsd:attribute name="titre" type="xsd:string" use="required"/> <xsd:attribute name="multilang" type="xsd:boolean" use="requiredl" default="false"/> <xsd:attribute name="lang" type="typeLangue" use="optional" default="fr"/> <xsd:attribute name="origine" type="typeOrigine" use="required"/> <xsd:attribute name="auteurs" type="xsd:string" use="optional"/> <xsd:attribute name="coauteurs" type="xsd:string" use="optional"/> </xsd:complexType> </xsd:element>

<xsd:simpleType name="typeLangue"> <xsd:restriction base="xsd:string"> Mars 2002 32 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

<xsd:enumeration value="fr"/> <xsd:enumeration value="en"/> <xsd:enumeration value="es"/> </xsd:restriction> </xsd:simpleType>

<xsd:simpleType name="typeOrigine"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="xml"/> <xsd:enumeration value="txt"/> <xsd:enumeration value="html"/> <xsd:enumeration value="rtf"/> </xsd:restriction> </xsd:simpleType>

<xsd:complexType name="typePartie"> <xsd:choice minOccurs="1" maxOccurs="unbounded"> <xsd:element name="phrase" type="typePhrase" maxOccurs="unbounded"/> <xsd:element name="doublepoint" type="typeDoublepoint" maxOccurs="unbounded"/> <xsd:element name="pointvirgulot" type="typePointvirgulot" maxOccurs="unbounded"/> <xsd:element name="paragraphe" type="typeParagraphe"/> </xsd:choice> <xsd:attribute name="id" type="xsd:decimal" use="required"/> </xsd:complexType>

<xsd:complexType name="typeParagraphe"> <xsd:choice minOccurs="1" maxOccurs="unbounded"> <xsd:element name="phrase" type="typePhrase" maxOccurs="unbounded"/> <xsd:element name="doublepoint" type="typeDoublepoint" maxOccurs="unbounded"/> <xsd:element name="pointvirgulot" type="typePointvirgulot" maxOccurs="unbounded"/> </xsd:choice> <xsd:attribute name="nbphrases" type="xsd:decimal" use="required"/> <xsd:attribute name="id" type="xsd:decimal" use="required"/> </xsd:complexType>

Mars 2002

33 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

<xsd:complexType name="typePhrase"> <xsd:sequence> <xsd:element name="virgulot" type="typeVirgulot" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="nbvirgulot" type="xsd:decimal" use="required"/> <xsd:attribute name="id" type="xsd:decimal" use="required"/> </xsd:complexType>

<xsd:complexType name="typeDoublepoint"> <xsd:sequence> <xsd:element name="virgulot" type="typeVirgulot" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="nbvirgulot" type="xsd:decimal" use="required"/> <xsd:attribute name="id" type="xsd:decimal" use="required"/> </xsd:complexType>

<xsd:complexType name="Pointvirgulot"> <xsd:sequence> <xsd:element name="virgulot" type="typeVirgulot" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="nbvirgulot" type="xsd:decimal" use="required"/> <xsd:attribute name="id" type="xsd:decimal" use="required"/> </xsd:complexType>

<xsd:complexType name="typeVirgulot" mixed="true"> <xsd:sequence> <xsd:element ref="em" type="xsd:string"/> </xsd:sequence> <xsd:attribute name="id" type="xsd:decimal" use="optional"/> </xsd:complexType>

</xsd:schema>

Mars 2002

34 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

9.3.Les DTD utilises


Voici la DTD qui valide les documents que l'on veut ajouter l'entrept :
<!ELEMENT document (partie|paragraphe|inconnu)*> <!ELEMENT partie (section|paragraphe)*> <!ELEMENT section (paragraphe)*> <!ELEMENT paragraphe (phrase|doublepoint|pointvirgulot)*> <!ELEMENT phrase (virgulot+)> <!ELEMENT doublepoint (virgulot+)> <!ELEMENT pointvirgulot (virgulot+)> <!ELEMENT inconnu (#PCDATA)> <!ELEMENT virgulot (#PCDATA)> <!ATTLIST document titre PCDATA #OPTIONAL> <!ATTLIST document langue PCDATA #OPTIONAL> <!ATTLIST document auteur PCDATA #OPTIONAL> <!ATTLIST partie id CDATA #REQUIRED> <!ATTLIST section id CDATA #REQUIRED> <!ATTLIST paragraphe id CDATA #REQUIRED> <!ATTLIST phrase id CDATA #REQUIRED> <!ATTLIST doublepoint id CDATA #REQUIRED> <!ATTLIST pointvirgulot id CDATA #REQUIRED> <!ATTLIST virgulot id CDATA #REQUIRED>

Voici une DTD dfinissant la structure d'un fichier rsultats :


<!ELEMENT resultats (phrase+|virgulot+)> <!ELEMENT phrase (#PCDATA)> <!ELEMENT virgulot (#PCDATA)> <!ATTLIST resultats mesure PCDATA #OPTIONAL> <!ATTLIST resultats date PCDATA #OPTIONAL> <!ATTLIST phrase id CDATA #REQUIRED> <!ATTLIST phrase not CDATA #REQUIRED> <!ATTLIST virgulot id CDATA #REQUIRED> <!ATTLIST virgulot not CDATA #REQUIRED>

Cette DTD correspond la structure des fichiers rsultats de l'outil intgr la maquette. Cet outil permet de compter le nombre d'occurrences de la ngation not dans les phrases ou les virgulots d'un document.

Mars 2002

35 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

Mars 2002

36 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

Voici la DTD dfinissant la structure des fichiers obtenus lors de l'importation d'un corpus partir de l'entrept :
<!ELEMENT importation (partie+|section+|paragraphe+|phrase+|doublepoint+| pointvirgulot+|virgulot+)> <!ELEMENT partie (#PCDATA)> <!ELEMENT section (#PCDATA)> <!ELEMENT paragraphe (#PCDATA)> <!ELEMENT phrase (#PCDATA)> <!ELEMENT doublepoint (#PCDATA)> <!ELEMENT pointvirgulot (#PCDATA)> <!ELEMENT virgulot (#PCDATA)> <!ATTLIST importation mesure PCDATA #OPTIONAL> <!ATTLIST importation date PCDATA #OPTIONAL> <!ATTLIST partie id CDATA #REQUIRED> <!ATTLIST section id CDATA #REQUIRED> <!ATTLIST paragraphe id CDATA #REQUIRED> <!ATTLIST phrase id CDATA #REQUIRED> <!ATTLIST doublepoint id CDATA #REQUIRED> <!ATTLIST pointvirgulot id CDATA #REQUIRED> <!ATTLIST virgulot id CDATA #REQUIRED>

Mars 2002

37 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

9.4.Le paramtrage dynamique de Cocoon 2


Pour que Cocoon puisse accepter les paramtres, un certain nombre de choses sont ajouter dans le fichier sitemap.xmap :
Tout d'abord dans la partie components : <map:components>

...
<map:actions default="request"> <map:action name="request" src="org.apache.cocoon.acting.RequestParamAction"/> </map:actions> ... </map:components>

Ensuite dans la partie pipeline : ... <map:pipeline> <map:match pattern="resultat.html"> <map:act type="request"> <map:parameter name="parameters" value="true"/> <map:generate src="/var/www/html/projet/{doc}"/> <map:transform src="/var/www/html/projet/style/{style}"> <map:parameter name="use-request-parameters" value="true"/> <map:parameter name="fichier_resultat" value="/var/www/html/projet/resultats/{res}"/> </map:transform> <map:serialize type="html"/> </map:act> </map:match> ... </map:pipeline>

La partie de code en rouge pour les passages de paramtres au sitemap.xmap. La partie de code en bleu si l'on veut passer des paramtres la feuille de transformation xslt

Pour plus de dtails se rfrer : http://www.cocooncenter.org

Mars 2002

38 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

9.5.L'intgrateur textuel - Quelques rsultats


Un exemple optimiste de rsultat issu de l'Atlas de la France scolaire Le passage original
Au dbut des annes 1990, plus de quatre enfants sur dix sont d'origine ouvrire - en entendant par l le fait d'tre d'une famille dont le chef de mnage est ouvrier. Pourtant les ouvriers ne sont que le tiers de la population active; mais leurs familles sont plus nombreuses que celles des autres catgories sociales. Un enfant sur vingt est enfant d'agriculteur, un sur douze d'artisan ou de commerant, un sur neuf de cadre suprieur ou de membre des professions librales, un sur six de cadre moyen, un sur huit d'employ.

Le rsultat aprs passage dans l'intgrateur textuel


<paragraphe> <phrase><virgulot>Au dbut des annes 1990</virgulot> <virgulot> plus de quatre enfants sur dix sont d'origine ouvrire - en entendant par l le fait d'tre d'une famille dont le chef de mnage est ouvrier</virgulot></phrase> <phrase> Pourtant les ouvriers ne sont que le tiers de la population active; mais leurs familles sont plus nombreuses que celles des autres catgories sociales</phrase> <phrase><virgulot> Un enfant sur vingt est enfant d'agriculteur</virgulot> <virgulot> un sur douze d'artisan ou de commerant</virgulot> <virgulot> un sur neuf de cadre suprieur ou de membre des professions librales</virgulot> <virgulot> un sur six de cadre moyen</virgulot> <virgulot> un sur huit d'employ</virgulot></phrase> </paragraphe>

Deux passages posant des problmes passage original


Chapitre 1. Les permanences et les mutations 1.1. Les structures administratives 1.2. Les trois degrs de l'enseignement 21 21 22 26

1.3. Depuis le milieu des annes 1980, une profonde mutation 1.4. Recruter des enseignants Chapitre 2. Un Franais sur quatre l'cole 2.1. La population scolaire 2.2. En trente ans, des changements considrables 2.3.Population scolaire et socit 48 32 37 37 40

Le rsultat aprs passage dans l'intgrateur textuel


<inconnu>Chapitre 1. Les permanences et les mutations <inconnu>1.1. Les structures administratives <inconnu>1.2. Les trois degrs de l'enseignement 21</inconnu> 22</inconnu> 26</inconnu> 21</inconnu>

<inconnu>1.3. Depuis le milieu des annes 1980, une profonde mutation <inconnu>1.4. Recruter des enseignants Mars 2002 32</inconnu>

39 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

passage original
Tableaux de bord de l'ducation nationale. Notes d'information. Statistiques des enseignements. Tableaux statistiques. Documents de travail. ducation et formation.

Le rsultat aprs passage dans l'intgrateur textuel


<paragraphe id="580"> <phrase id="1835"><virgulot id="5770">Tableaux de bord de l'ducation nationale</virgulot></phrase> </paragraphe> <paragraphe id="581"> <phrase id="1836"><virgulot id="5771">Notes d'information</virgulot></phrase> </paragraphe> <paragraphe id="582"> <phrase id="1837"><virgulot id="5772">Statistiques des enseignements</virgulot></phrase> </paragraphe> <paragraphe id="583"> <phrase id="1838"><virgulot id="5773">Tableaux statistiques</virgulot></phrase> </paragraphe> <paragraphe id="584"> <phrase id="1839"><virgulot id="5774">Documents de travail</virgulot></phrase> </paragraphe> <paragraphe id="585"> <phrase id="1840"><virgulot id="5775">ducation et formation</virgulot></phrase> </paragraphe>

Les deux passages qui posent des problmes correspondent d'une part la table des matires et d'autre part une zone d'numration. Le premier passage est qualifi d'inconnu, puisque rien de permet de dire de quelle mesure il s'agit. Par contre, pour le second, l'intgrateur fait une erreur car chaque lment de l'numration se termine par un point. Aussi, il identifie chaque ligne comme un paragraphe avec une seule phrase contenant un virgulot unique. On voit l les premires limites de l'intgrateur dvelopp. Je rappelle toutefois que l'objet du projet n'tait pas la segmentation de texte.

Mars 2002

40 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

9.6.Prsentation des Web-services


Cette prsentation correspond au travail de veille, effectu pour la ralisation de l'expos, dans le cadre de l'option applications documentaires du DESS.

Les Web services ou une volution du concept d'interroprabilit Le domaine des Web Services est devenu le nouveau sujet la mode des chroniques de la presse spcialise. Mais que sont-ils vraiment ? Pour bien faire comprendre le potentiel de cette nouvelle vogue, je vais prendre un exemple certainement trs optimiste mme utopique mais qui montre bien l'enjeu conomique. Imaginons l'exemple que vous tes un jeune cadre dynamique et que vous deviez partir en sminaire l'autre bout de la France. Vous allez sur le site de la SNCF ou d'une agence de voyage qui vous fait les propositions appropries. Comme vous tes un voyageur rgulier, vous avez un profil de rservation sur votre ordinateur qui est transmis lors de vos demandes. Ainsi, l'agence de voyage sait qu'elle doit vous proposer une place non fumeur par exemple. Les systmes de rservation qui existent actuellement permettent un mcanisme proche de celui-ci mais il faut s'tre auparavant inscrit sur le site et ceci implique que l'on s'adresse toujours la mme agence de voyage. Le but des web services est de donner la possibilit de grer votre profil en local et, quelque soit l'interlocuteur que vous ayez, qu'il puisse comprendre ce profil lorsque vous lui envoyez. Il y a une vaste problmatique de standardisation des changes. On peut aller plus loin et se dire que lorsque vous avez valid votre rservation, le systme permette de mettre jour automatiquement votre agenda personnel et professionnel. De mme, en extrapolant, on peut se dire que l'intgralit de votre carnet d'adresses soit prvenu de votre absence aux dates indiqus par l'envoi automatique d'email. Bien sr, l'exemple est trs caricatural, mais le mouvement en faveur des web services pense pouvoir appliquer ce genre de philosophie au sein des rseaux entreprises, dans un premier temps. L'objectif terme est de permettre de faciliter le travail entre les entreprises et promouvoir le B2B (Business to Business) notamment pour rationaliser les cots. Les plus prcurseurs pensent dj appliquer cela sur le march du B2C (Business to Customer) et offrir une personnalisation accrue dans les services.

Origine des services web L'origine des services web peut tre relie l'informatique distribue et l'explosion de l'Internet. En effet, le but de l'informatique distribue est de permettre de faire collaborer des applications distantes. On veut par exemple qu'une application puisse utiliser une fonction d'une autre application sur un site distant et cela de manire transparente. On peut dire que trois grands standards existant dans le domaine de l'informatique distribue sont : CORBA/IIOP (Common Object Request Broker Architecture / Internet Inter-ORB Protocol) DCOM (Distributed Component Object Model) RMI ( Remote Method Invocation)

Ces standards sont trs complexes dans leur utilisation et sont difficilement interroprables entre eux. De plus, il est important de noter que ces systmes sont peu compatibles avec les firewalls du fait qu'ils utilisent des ports spciaux. Le cheminement des messages entre des agents CORBA, par exemple, ne peut passer par le port 80 rserv au HTTP. Toutes ces raisons font que ces 3 standards restent le plus souvent confins l'intrieur d'entreprises dans des intranets et ne peuvent tre dploys sur un rseau de type public (Internet). Les services web sont donc une alternative qui s'est dveloppe avec le dploiement du haut dbit Mars 2002 41 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI sur les rseaux, le standard XML qui permet une fine structuration des donnes et enfin le besoin d'intrroprabilit des systmes. Une entreprise qui possde des succursales travers le monde ne veut plus seulement changer des donnes (de type email, ou fichier via ftp...) ou consulter de l'information (http), elle veut pouvoir utiliser ses applications mtiers travers le web et que celles-ci collaborent travers les rseaux. La premire socit a avoir introduit un produit qui rponde ce genre de service est HewlettPackard avec e-Speak. Le produit est sorti en 1999 et possdait de solides aptitudes de scurit dans les changes avec un systme reposant sur SPKI (Simple Public Key Infrastructure). Il faut toutefois faire remarquer qu'aujourd'hui ce produit se rvle tre un chec (a priori une technologie trop propritaire). Cependant les autres acteurs du march (IBM, Microsoft, Lotus, Intel...) se sont lancs au dveloppement de solutions qui sont en passe de devenir des standards et ceci pour un soucis de transparence dans la collaboration d'applications. On peut citer le trio SOAP, WSDL et UDDI qui sera dcrit dans la partie suivante.

Prsentation des services web Un service Web peut tre dfini de la manire suivante. Il s'agit en fait d'un simple change de documents entre deux URL13. Cela peut paratre simple mais en fait la problmatique de standardisation des changes est norme vu la diversit des langages et des applications. En outre, un tel concept n'a pu merger qu'avec des normes telles que SGML et maintenant XML. C'est une modification gnrale du concept de l'Internet : Internet est en train de passer de l're du client/serveur celle de l'application application Marc Gardette. Pour pouvoir arriver ce fonctionnement de type application application , on a besoin d'un certain nombre de composants et de modules qui puissent comprendre les messages envoys. Ces modules sont des analyseurs qui vont faire l'interface entre le rseau et vos applications. Ceci tant, peu importe votre systme d'exploitation ou votre type de programmation (C, Java, PHP, Pearl...). Du fait que les web services s'appuient sur les langages standards du web, il peuvent priori s'appliquer partout. Les lives motives des web services sont l'intrroprabilit et la r-utilisabilit des composants. L'intrroprabilit a dj t explicite prcdemment. Pour ce qui est de la r-utilisabilit, en fait, cela peut se rsumer : pourquoi recrer un service, qu'un concurrent propose dj et qu'il connat, alors que l'on peut faire un partenariat avec lui et externaliser ce service. C'est le concept d'ASP : Application Service Provider. On externalise certains services, en devenant client d'applications qui sont hberges chez des socits partenaires, voir des socits concurrentes. Autant dire qu'il faudra une rvolution dans les mentalits des dcideurs et des chefs d'entreprises.

Composants des Web Services Remarque : Les composants dcrits dans ce qui suit reprsentent les trois couches standards du concept de web services, mais la liste n'est pas exhaustive, d'autant plus que le march est en pleine explosion.

SOAP (Simple Object Access Protocol) SOAP correspond en fait aux spcifications des messages changs dans le cadre des web services. Il est apparut 1998 et a t trs largement dvelopp par Microsoft, mais on notera tout de mme que, trs vite, de nombreuses socits se sont greffes au projet : IBM, Lotus, Intel... SOAP est une recommandation du W3C14, mais qui est dj considre comme un standard. En effet, de nombreux produits de e-bussiness se basent dj sur SOAP et la messagerie XML.

13 Uniform Ressource Locator 14 World Wide Web Consortium Mars 2002 42 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI SOAP se base sur les protocoles dj existants du web15 ce qui fait sa force mais ne spcifie qu'un protocole lger d'change de messages, pour le dialogue entre les applications distantes. SOAP est fond sur XML, ce qui lui confre une simplicit XML n'est que du texte en fait et un pouvoir de structuration des changes .

Le protocole SOAP Le protocole SOAP peut tre dcompos en trois parties principales. Il faut savoir que ces parties sont indpendantes. La premire concerne l'enveloppe SOAP et dfinit en fait l'ensemble de la structuration du message travers une DTD ou plus rcemment un schma XML. La deuxime partie correspond des rgles d'encodages. L'objet est de dfinir l'ordonnancement des changes de donnes entre diffrentes applications. Enfin, la dernire partie correspond la dfinition d'une convention pour standardiser les appels de procdure et leurs rponses. Il s'agit de SOAP RPC (Remote Procedure Call).

Message SOAP Un message SOAP est constitu de deux parties : une en-tte et un corps. L'en-tte est l'image d'une trame IP. Elle contient une partie qui permet de spcifier que le message possde des lments enfants afin d'ajouter des extensions au protocole SOAP. Par exemple, du fait que le protocole SOAP est trs simple, la scurit n'est pas prise en compte. Des lments enfants, spcifis dans l'entte, peuvent permettre de combler ce manque. Le corps du message contient les spcifications du service web que l'on veut appeler, notamment la faon d'effectuer les appels de procdure distance (RPC) et la faon d'invoquer l'application distante ainsi que les paramtres lui fournir. En fait, le corps du message contient les informations attendues par le destinataire afin qu'il puisse rendre le service voulu.

Exemples de messages (ils sont issus d'une prsentation de Marc Lemercier)


sur HTTP :

POST/UttExemple1 HTTP/1.1 Host : coraill.utt.fr Content-Type: text/html; charset= utf-8 Content-Length: 145 SOAPAction: <SOAP-ENV:Enveloppe xmlns:SOAP-ENV= http://schemas.xmlsoap.org/soap/envelope/ SOAP-ENV:encodingStyle= http://schemas.xmlsoap.org/soap/encoding/ >

<SOAP-ENV:Body> <m:GetPrix xmlns:m= urn:utt.cite.bibliotheque > <livre>Troyes</livre> </m:GetPrix> 15 HTTP, FTP, SMTP... Mars 2002 43 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI </SOAP-ENV:Body> </SOAP-ENV:Envelope>

SOAP-ENV et m reprsentent respectivement les namespaces de l'enveloppe SOAP et du message SOAP.


sur SMTP :

From: marc.lemercier.utt.fr To: reservation@travelcompany.example.org Subject: Message SOAP Message-Id: <GEKJHEFJHEJ65247365876537DHEV@pluton.utt.fr> <?xml version = 1.0 ?> <SOAP-ENV:Envelope xmlns:SOAP-ENV= http://schemas.xmlsoap.org/soap/envelope/ SOAP-ENV:encodingStyle= http://schemas.org/soap/encoding/ > <SOAP-ENV:Body> <m:GetPrix xmlns:m= urn:utt.cite.bibliotheque > <livre>Troyes</livre> </m:GetPrix> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Remarque : il existe des projets qui essaient d'implmenter bien plus que des messageries SOAP. Ces projets veulent modliser des commutateurs SOAP (dispatcheur). On peut faire l'analogie avec les switchs au sein des rseaux locaux.

WSDL (Web Service Description Language) WSDL est un langage qui a t dvelopp en majorit par IBM et Microsoft. C'est pour le moment un document de travail du W3C. WSDL a pour but de dcrire les interfaces des services web leur utilisation afin qu'elles soient invocables par des messages SOAP. Ce langage est un driv de XML et permet donc par exemple de spcifier les protocoles utiliser pour se connecter un tel service : HTTP GET ou POST, SMTP via MIME... On peut faire l'analogie entre ce langage de description et l'entte d'un programme ou les spcifications d'une classe dans un langage objet. Le but de WSDL est vident. Il s'agit de faciliter la communication entre celui qui a besoin du service et celui qui le fournit. Les perspectives sont de pouvoir invoquer dynamiquement des services.

Exemple de document WSDL :

<?xml version= 1.0 ?> Mars 2002 44 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI <definitions name= WSbiliotheque targetNamespace= http://corail.utt.fr:8080/ws/WSbiblio.wsdl xmlns:xsd= http://www.w3.org/1999/XMLSchema xmlns:soap= http://schemas.xmlsoap.org/wsdl/soap/ xmlns= http://schemas.xmlsoap.org/wsdl >

<message name= getPrixRequest > <part name= livre type= xsd:string /> </message> <message name= getPrixResponse > <part name= return type= xsd:float /> </message> On a ici l'invoquation d'une mthode avec deux messages : une requte et une rponse. C'est en fait une dclaration de paramtres pour la mthode. <portType name= WSbiblioPortType > <operation name= getPrix > <input message= getPrixRequest name= getPrix /> <ouput mesage= getPrixResponse name= getPrixServeur /> </operation> </portType> Le porType dfinit ici une squence de 2 messages pour l'opration getPrix <binding name= WSbiblioBinding type= WSbiblioPortType > <soap:binding style= rpc transport= http://shemas.xmlsoap.org/soap/http /> <operation name= getPrix > <soap:operation soapAction= /> <input> <sopa:body use= encoded namspace= urn:cite_biblio /> </input> <output> <soap:body use= encoded namespace= urn:cite_biblio /> </output> </operation> </binding> Binding spcifie les protocoles utiliss : ici c'est le protocole RPC sur du HTTP <service name = WSBibliotheque > <documentation>Prix d'un livre</documentation> <port name = WSbibliothequeType binding= WSbiblioBinding >

Mars 2002

45 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI <soap:adress location= http://corail.utt.fr:8080/soap /> </port> </service> Enfin on dfinit une URL pour pouvoir localiser le service en question. </definition> UDDI (Universal Description Discovery and Integration) UDDI n'est pas un composant en tant que tel dans les services puisqu'il s'appuie lui mme sur les services web et notamment sur le protocole de transport SOAP. UDDI est un systme d'annuaire qui a t initi par IBM, Ariba et Microsoft. L'objectif de UDDI est de proposer un systme d'annuaire mondial qui permette de trouver le service web dont on a besoin. Cette annuaire est matrialis par des fichiers XML, hbergs par des oprateurs UDDI, qui proposent une description des entreprises inscrites, ainsi que les spcifications des services web que ces dernires proposent. C'est l'accs ces spcifications qui doivent contribuer au dploiement des services web. En outre, ces annuaires donneront l'opportunit de faire dialoguer des applications entre elles. Il se pose alors le problme de mise jour de ces annuaires, ainsi que de la scurit des informations hberges. C'est l'objet de la version 2.0 de UDDI qui implmente notamment le principe que toute information publie sur un annuaire ne peut tre modifie que sur ce mme annuaire. Il instaure galement des principes scuritaires tels que des authentifications par accs jeton. Il est bien vident que les autorits de certification telles que Verisign et Equifax joueront un rle majeur dans le dploiement de ce type d'annuaire. La version 3.0 s'est toffe d'une gestion d'annuaires distribus trs utile pour les entreprises ainsi que d'un support de WSDL amlior. On notera galement une volution de l'interface d'abonnement et une gestion de la signature lectronique. En outre, UDDI 3.0 utilise les XML Schma du W3C pour la modlisation des structures de donnes. Architecture d'un fournisseur de services Sur le diagramme suivant, on peut observer l'architecture typique du systme d'un fournisseur de services, avec le trio SOAP,WSDL et UDDI.

Mars 2002

46 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI

L'annuaire UDDI a pour rle la publication des services qui sont offerts par le fournisseur. WSDL propose une description de ces services afin que le client puisse s'interfacer correctement. Enfin, on retrouve SOAP pour le dialogue entre les applications qui veulent collaborer.

Avantages et dsavantages L'utilisation des webs services engendre de nombreux avantages mais implique aussi une grosse contrepartie lie notamment aux possibilits des algorithmes et la capacit des machines utilises.

Les atouts Il n'est pas dmontrer que l'utilisation de cette technologie permet une rduction des cots de dveloppement. En effet, du fait que ces services reposent sur des protocoles et des standards dj existants, il est inutile de refondre les infrastructures matrielles et logiciels. La nature ouverte des services web fait que les changes deviennent indpendants du langage de programmation ou du type de client (navigateur WEB, tlphone mobile avec le WAP). Les webs services peuvent se greffer trs facilement sur les systmes existants. Si toutes les interfaces du systme sont bases sur ce type de service, donc standardises et auto-descriptives (XML, WSDL), on gagne ainsi une facilit d'intgration de nouvelles applications et de nouveaux outils. Enfin, tout le travail de maintenance et d'exploitation est facilit du fait de la standardisation du systme. Un deuxime avantage correspond des intrts conomiques. Les changes sont standardiss car il repose sur un formalisme bas sur SOAP. Ce standard permet le dveloppement d'un nouveau modle conomique qui permet par exemple de faciliter la facturation16 notamment lors d'changes entre diffrentes entreprises partenaires. L'utilisation de tels standards permet la mise en place d'changes de type Business to Business (B2B) et Business to Customer (B2C).

16 Se rfrer l'exemple de la partie prcedante Mars 2002 47 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI Les dsavantages On peut citer un certain nombre de dsavantages mais il est important de souligner, avant toute chose, que les web services sont encore jeunes. Tout d'abord, la jeunesse de ses systmes fait que les technologies utilises ne sont pas encore standardises. En outre, cela peut tre une limite au dploiement de ces technologies. Le deuxime inconvnient repose sur un des points forts du concept des services webs. En effet, l'utilisation de XML permet de standardiser les changes mais le pliage et le dpliage des messages SOAP demandent un temps et des ressources CPU importantes. Enfin, du fait que SOAP est un protocole que l'on peut qualifier de simple , il lui manque un certain nombre de fonctionnalits telles que les transactions et la scurit.

Evolutions Les volutions des services web seront nombreuses mais on peut dj en citer un certain nombre. Pour ce qui est de SOAP on peut s'attendre voir se dvelopper du routage de message SOAP. De plus, il semble qu'un gros travail sera ralis sur la qualit de service (QoS) et notamment sur la fiabilit des remises de messages. Nous l'avons dj cit mais une orientation sera certainement sur la gestion des transactions ainsi que sur la scurit (confidentialit, non rpudiation, non altration). Les web services voient apparatre de nouvelles spcifications telles que Xlang (Microsoft), WSFL (Web Service Flow Language - IBM) et WSCL (Web Service Conversation Language HP). Ces trois langage ont pour objectif de pouvoir spcifier l'enchanement des messages dans les cooprations entre applications. Ce concept va se rvler trs utile dans les applications transactionnelles - les services bancaires par exemple qui ont une certaine orchestration dans leur mode de fonctionnement. Enfin, on voit apparatre des normes de description pour le BtoB. Ces normes ont la vocation de crer des langages d'changes pour des applications mtier. On peut citer ebXML pour le commerce lectronique, RossettaNet pour les professionnels de l'informatique et l'lectronique, ou encore ChemXML pour le secteur de la chimie. La liste n'est bien sr que partielle tant donn l'engouement actuel.

Produit 17 L'implmentation des services webs se retrouve dans de nombreux produits. On observe leur intgration tout d'abord dans les serveurs d'applications commerciaux tels que Websphere (IBM) et Weblogic (BEA). On peut citer Axis,18 un produit open source de Apache, qui est un servlet qui peut tre utilis avec Tomcat. GLUE de The Mind Electronic est bas sur un concept propritaire mais simple. Son dploiement est a priori ultra rapide. Il existe sous la forme d'un servlet et possde des parseurs XML propritaires mais simples et rapides. Enfin, on peut noter le module php-soap qui se rvle tre un bon outil de prototypage.

Domaines d'utilisations A l'image des volutions cites prcdemment, les domaines d'application sont nombreux du fait des concepts d'intrroprabilit et de r-utilisabilit qu'ils implmentent. Ces caractristiques leurs confrent une facilit d'intgration qui n'existe pas avec CORBA. Les web services sont donc destins toute personne ayant besoin de faire dialoguer des applications distantes autant dire la majeure partie du march de l'informatique vu l'explosion des rseaux 17 N'ayant pas eu le temps de faire une analyse approfondie des produits je me base sur une prsentation de Maurice Szmurlo 18 Produit repris dans Websphere par IBM Mars 2002 48 sur 49

Entrept de donnes textuelles Samuel PARFOURU - DESS RADI et les personnes qui veulent offrir des services et ce de manire transparente . Ce sont toutes les socits qui veulent faire de la location d'applications ou plus souvent appel Application Service Provider. Ce domaine n'est pas trs rpendu pour le moment. Pour ce second domaine, il semble qu'il y ait une certaine rticense des socits de vouloir externaliser des services. Aussi, l'ASP n'est pas encore un modle conomique trs en vogue. Par contre, l'aspect collaboration d'applications est parfaitement en adquation avec les modles conomiques BtoB et BtoC. A noter qu'il s'intgre bien videmment dans les politiques d'EAI 19 qui sont mises en place par les grandes socits.

Conclusion D'aprs le rel engouement des diffrents acteurs du march de l'informatique en gnral et des systmes d'informations, il est indniable que les web services devraient s'imposer comme un standard incontournable. Il faut toutefois bien noter qu'il reste un important travail dans le domaine de la scurit des changes et la gestion des transactions, qui seront des composants essentiels pour de nombreux domaines. Ceci tant, il est, je pense, incorrect de dire que les web services vont rvolutionner le mode de fonctionnement des systmes d'informations. En effet, ils puisent leurs origines dans l'informatique distribue et ne sont qu'une volution du concept. Leur force est de se baser sur des standards du web, ce qui permet de les intgrer facilement sur l'existant. Il faut noter un grand absent dans le travail de dveloppement de ces futurs standards : Sun. En fait, la socit SUN adopte les web services dans ses produits, mais ne s'est que peu implique dans le travail de standardisation en cours. Il faut bien avouer que ces services sont en concurrence direct avec CORBA. Enfin, on peut noter la stratgie peu comprhensible de Microsoft, un des instigateurs de SOAP. La technologie .NET , directement lie aux services web, se veut open source. En effet, c'est une tape majeure dans l'histoire de Microsoft mais un passage oblig pour tre dans le concept mme des web services. Cependant, on remarque que l'diteur de Windows est en train de dposer un brevet sur sa technologie .NET : un vrai paradoxe en somme par rapport au concept ouvert des web services.

Liens Panorama sur les Web Services Didier DONSEZ http://www-adele.imag.fr/~donsez/cours/webservices.pdf Dfinition des services-web - Christophe NICOLLE http://www.iai-france.org/projets/batinterop/RT_Nicolle_0210_c.pdf Les Web-Services Marc Lemercier http://www-rp.lip6.fr/dmac/lemercier.pdf Les Services Web: un phnomne de mode ou un outil de dialogue incontournable ? http://www-sop.inria.fr/oasis/Intech/ Confrence Orange RADI Maurice Szmurlo (Octobre2002) http://infodoc.info.unicaen.fr/RADI/MauriceSzmurlo.pdf Plusieurs articles de ce journal en ligne

http://solutions.journaldunet.com/

19 Enterprise Application Integration Mars 2002 49 sur 49