1 Introduction

L'édition de documents et la gestion de bases documentaires constituent une part importante des applications informatiques. Outre le gain de place apporté par le support électronique pour l'archivage de documents, l'édition et la publication sont grandement facilités par l'usage des techniques numériques. De nouveaux outils sont continuellement créés et permettent des traitements auparavant fastidieux ou impossibles (indexation automatique, navigation dans les hypertextes, diffusion instantanée à l'échelle planétaire, travail coopératif).

En conséquence, de nombreux documents sont aujourd'hui accessibles sous forme numérique, qu'ils aient été numérisés à partir d'épreuves papier ou produits à l'aide d'un éditeur. Pendant longtemps les formats disponibles ont été très variés, peu homogènes et le plus souvent spécifiques aux outils qui permettaient de les manipuler.

Pour répondre à ces contraintes, des normes ont été élaborées telles que SGML (Standard Generalized Mark-up Language [ISO 86]) ou plus récemment XML (eXtensible Mark-up Language [Bray 98a]). Ces normes ne se contentent pas d'offrir une représentation unifiée des documents indépendante des applications, mais elles introduisent aussi la notion de modèles génériques pour définir des classes de documents, on parle alors de documents structurés.

Ces normes sont un des facteurs à l'origine de la révolution des systèmes d'information, dont le World Wide Web est l'une des illustrations. Les applications utilisant les documents structurés permettent de partager plus aisément des documents entre systèmes mais font également émerger de nouveaux besoins dont la transformation de structure qui constitue l'objet de cette thèse.

1.1 Motivations et objectifs

Avec le développement du Web, l'échange et la ré-utilisation de documents sont devenues une préoccupation de premier plan. Si les documents structurés offrent une représentation unifiée des structures de document, l'organisation et les types des éléments de ces structures sont toujours spécifiques aux applications qui les manipulent. Le besoin de transformer les documents pour pouvoir les partager entre applications est donc devenu une préoccupation de premier plan pour la conception de systèmes utilisant les documents structurés.

Fondamentalement, le problème de la transformation de documents structurés peut être posé de la façon suivante :

Étant donné un document appartenant à une classe, elle-même définie par une grammaire hors-contexte (SGML, XML), par quel procédé est-il possible de transformer l'intégralité ou une partie de ce document pour le rendre compatible avec une autre classe, définie par une autre grammaire ?

Cet énoncé évoque plusieurs techniques algorithmiques classiques telles que l'analyse syntaxique, la réécriture d'arbres ou la transformation de programmes. Dans ce travail, nous étudierons l'adéquation de ces techniques pour leur application au domaine des documents structurés.

En 1988 déjà, [Furuta 88a] et [Furuta 88b] identifiaient le besoin de transformation pour la conception d'applications utilisant les documents structurés. Alors que l'approche structurée apporte des avantages certains dans la manipulation de la document, la description des structures de documents par des grammaires hors contexte est trop rigide pour permettre des opérations qui sont élémentaires dans les systèmes de manipulation de documents non structurés. Par exemple, la commande Coller consiste à insérer le contenu du presse-papier dans la structure du document. Cette opération ne peut pas toujours être réalisée car la grammaire définissant la classe du document ne permet la présence des éléments collés.

L'étude menée dans cette thèse distingue les deux approches principales de la transformation :

Ces deux approches comportent des inconvénients et des limites que nous identifierons au cours de cette étude. Nous évaluerons les avantages de chacune pour proposer une nouvelle méthode de transformation qui dépasse ces limites par une combinaison de ces deux approches.

Dans tout travail de recherche effectué dans un cadre applicatif (ici, l'édition de documents structurés), il est fondamental de confronter les propositions théoriques avec des applications réelles. C'est pourquoi, nous avons tenté de mener tout au long de cette thèse une activité équilibrée entre la réflexion théorique et la démarche expérimentale. Deux types de résultats sont donc attendus :

  1. Des résultats théoriques, sous la forme de langages de spécification de transformation qui prennent en compte les aspects liés à l'édition des documents : localité des transformations, simplicité et efficacité des mécanismes d'analyse du langage ; et des méthodes algorithmiques de transformation fondées sur le modèle de documents structurés pour l'approche automatique et pour l'interprétation des langages proposés.
  2. Des résultats pratiques, sous la forme de modules de transformation intégrés à des applications d'édition et permettant de spécifier et de réaliser des transformations de complexité significative.

1.2 Cadre de travail

Ce travail de thèse s'est déroulé au sein du projet Opéra de l'Inria Rhône-Alpes. Il a été mené dans le cadre du programme Génie de coopération entre l'Inria et la société Dassault-Aviation et dans le cadre de la coopération entre le projet Opéra et le consortium W3C.

Le programme GENIE est ainsi destiné à renforcer la capacité de diffusion des technologies de l'information adaptées à l'ingénierie concourante au sein de l'industrie. Ce programme vise à résoudre les problèmes documentaires rencontrés actuellement : la documentation structurée, l'hypertexte et la modélisation objet.

Le projet Opéra s'intéresse aux documents électroniques : documents structurés, hypertexte et multimédia. Le modèles de documents conçus intègrent la dimension logique, la présentation graphique, leur contenu et leur organisation temporelle. Plusieurs études sur les transformation de structures ont déjà été menées dans ce contexte ([Akpotsui 93], [Claves 95]). Le projet met au point des techniques d'édition qui s'appuient sur ces modèles. Le travail présenté dans cette thèse comporte une évaluation de ces études reposant sur leur intégration dans les outils développés dans le projet Opéra. Cette thèse présente également une technique de transformation originale permettant de répondre aux limitations de ces travaux.

La partie théorique de ce travail de thèse s'inscrit dans les activités de modélisation du projet.

Les actions de recherche du projet Opéra trouvent leur application dans les logiciels développés dans le projet :

Notre expérimentation s'intégrera également dans Amaya, un outil d'édition, de navigation et de publication sur le Web développé par le W3C.

Le travail effectué dans cette thèse à été intégré dans deux de ces systèmes : les logiciels Thot et Amaya. Les résultats se répercutent sur Byzance qui utilise les mêmes modalités d'édition qu'Amaya.

1.3 Démarche suivie

Nous pouvons décomposer ce travail en trois phases qui se reflètent dans la structure de ce manuscrit.

1.4 Plan de la thèse

Le plan de ce mémoire reprend la démarche suivie.

Chapitre II

Le chapitre 2 introduit les différentes représentations de documents électroniques, et en particulier le modèle de documents structurés. L'utilité de la représentation structurée des documents pour les applications documentaires est analysée. La seconde partie du chapitre traite de l'intérêt de la transformation de structure dans les applications de composition et de gestion de document. Nous concluons sur les objectifs que nous nous fixons pour le développement d'un service de transformation pour une application interactive d'édition de documents structurés.

Chapitre III

Le chapitre 3 présente un état de l'art des systèmes de transformation explicites. Cette étude consiste d'abord à identifier les classes de transformation explicites et leurs différences. Différents systèmes sont ensuite présentés et comparés à l'aide d'un exemple de transformation complet permettant d'évaluer leurs capacités. Nous présentons également le système de transformation développé pour l'éditeur Amaya au cours de ce travail. Les choix faits lors de la conception de ce système sont confrontés aux travaux similaires présentés dans l'état de l'art

Chapitre IV

Le chapitre IV est une étude théorique des systèmes de types des documents structuré. Cette étude a été effectuée à partir de travaux relatifs à d'autres domaines de l'informatique (compilation et analyse de types dans les langages de programmation). La spécification formelle d'un système de types pour les documents permet d'identifier un ensemble de relations entre les structures des documents sur lesquelles se fonde le système de transformation automatique. Nous présentons également d'autres méthodes de transformation qui exploitent la notion de système de types.

Chapitre V

Dans le chapitre V, nous détaillons la méthode de transformation automatique, fondée sur la recherche de relations entre les structures source et cible, utilisant sur le modèle de types proposé au chapitre précédent. Cette méthode était proposée dans [Akpotsui 93] et son expérimentation est décrite dans [Claves 95]. Nous proposons de généraliser l'algorithme de comparaison de structure essentiel pour la suite de notre travail. Nous proposons également des extensions de cet algorithme permettant de traiter des cas d'échec de la comparaison. Ce chapitre se conclut par une évaluation des avantages et des limites de l'approche automatique.

Chapitre VI

Dans le chapitre VI, nous proposons une méthode de transformation combinant les transformations automatiques avec des déclarations spécifiques. Cette méthode permet de résoudre l'ambiguïté liée au manque de sémantique disponible lors des comparaisons automatiques par un processus cyclique de spécifications et de comparaisons. Ce processus permet d'aboutir à une solution pertinente au problème de la transformation tout en nécessitant une spécification minimale de la part de l'utilisateur. Nous présentons également une application de cette méthode pour l'import de document XML dans l'éditeur Thot.

Chapitre VII

La conclusion résume l'apport essentiel de ce travail et propose des perspectives pour l'application des méthodes proposées durant ce travail.


[Section 2] [Table of contents]