L'utilisation des documents structurés apporte de nombreux avantages aux application de traitement de documents. Elle permet en particulier d'automatiser une partie des traitements effectués sur les documents. Les documents structurés ont également contribué à améliorer la portabilité en fournissant un formalisme commun pour la représentation de ces documents.
Les applications de documents structurés souffrent néanmoins de limites liées aux contraintes apportées par la description des structures par des grammaires hors-contexte. Ces contraintes portent principalement sur les fonctions d'édition qui doivent garantir la conservation de la conformité des documents après leur application. Une autre limite importante concerne la ré-utilisation de documents existants, qui doivent être adaptés lorsque leur structure générique d'origine est différente de celle exploitée par la nouvelle application.
L'objectif de ce travail de thèse est de répondre à ces limites par des techniques de transformation permettant d'adapter tout ou partie d'un document à une structure cible donnée. Les solutions proposées et les expérimentations réalisées dans ce travail ont pour cadre applicatif l'édition de document structurés.
La transformation de structure n'est pas une problématique récente dans le domaine des documents structurés, mais aucune réponse satisfaisante n'a été donnée par les travaux menés jusqu'à ce jour :
Notre objectif était donc de concevoir un système de transformation combinant ces deux approches pour profiter des avantages de chacune, tout en apportant une réponse à leurs limites. En termes de spécifications fonctionnelles, cet objectif se traduit par la nécessité de proposer un module de transformation permettant de :
Cette thèse a été effectuée selon une démarche comportant trois phases principales : étude des applications de traitement de documents et des besoins de transformation, évaluation et expérimentation des techniques de transformation existantes et enfin spécification et mise en oeuvre de nouvelle approche pour la transformation des documents structurés. Ces trois phases sont développées ci-dessous :
Pour réaliser nos objectifs nous avons commencé par faire une étude des applications traitant des documents pour identifier leurs besoins. Ce tour d'horizon nous à permis de situer le problème dans le contexte plus large de l'évolution du document tout au long de son existence. A l'issue de cette étude nous avons identifié les applications importantes de la transformation de structure pour l'édition de documents structurés.
Dans une seconde partie, nous avons classé et évalué les systèmes de transformation existants dans deux catégories de méthodes : les transformations explicites et les transformations automatiques fondées sur la similarité des structures génériques source et cible.
Pour chaque catégorie nous avons procédé en trois temps :
Cette analyse nous a permis d'isoler les filtres des transformations explicites. Nous avons également identifié deux approches algorithmiques de la transformation explicite : les transformations dirigées par la source et les transformations par requêtes.
Nous avons également présenté le système de types sur lequel s'appuient les techniques de transformation automatique.
Dans un troisième temps nous avons proposé une méthode de transformation originale répondant aux objectifs fixés dans la première partie et dont nous rappelons les principaux résultats ci-dessous.
Nous avons identifié dans le chapitre 3 les situations dans lesquelles la transformation de documents est utilisée pour :
L'évaluation des techniques de conversion nous a permis d'identifier quelles techniques adaptées à ces différentes tâches et éventuellement quelles adaptations doivent être apportées. La synthèse de cet état de l'art nous a permis de spécifier une méthode de transformation bénéficiant des avantages des deux approches de la transformation.
L'originalité de la méthode présentée dans le chapitre 6 est d'intégrer dans un même processus deux processus de transformation qui semblaient a priori totalement opposés. Cette combinaison d'approches permet de réaliser des transformations plus pertinentes que les transformations basées sur la comparaison des structures générique, tout en permettant une spécification plus aisée que celle requise par les systèmes explicites.
L'idée principale sur laquelle repose la méthode de transformation présentée est de réaliser une transformation automatique qui prend en compte la dimension syntaxique de la comparaison de documents. Notre expérience à montré que la dimension syntaxique n'est pas suffisante pour réaliser des transformations satisfaisantes. Avec les pré-couplages nous permettons d'introduire une part de sémantique pour diriger la transformation automatique.
Cette étude n'offrait un réel intérêt que si elle était concrétisée par des réalisations concrètes. La réalisation des systèmes de transformation dans les outils développés dans le projet Opéra ont permis de valider par la pratique les idées qui ont été proposées dans ce mémoire.
Ce travail à conduit au développement des systèmes de transformation aujourd'hui intégrés dans les logiciels du projet Opéra et du W3C :
Le problème de la transformation de documents est très vaste. Les méthodes de transformation sont diversifiées et leur pertinence est dépendante du domaine auquel elles sont appliquées. Par exemple, les filtres que nous avons présentés comme les systèmes les moins adaptables peuvent se révéler adéquats pour des applications précises comme la conversion de grandes quantités de documents. Ce travail nous a permis de prendre conscience qu'il n'existe pas de solution générale au problème de la transformation, mais plutôt différentes techniques adaptées à des situations particulières.
Parmi les applications de transformation de documents, le domaine des applications interactives est celui qui avait été le moins étudié et pour lequel les techniques de transformation existantes étaient les moins efficaces. C'est pourquoi nous avons concentré notre travail sur ce domaine. Les résultats obtenus sont également adpatés à d'autres applications et permettent de répondre à certaines limites des outils de transformation plus traditionnels principalement en évitant un mode de spécification des transformations exhaustif.
De part la diversité des besoins de transformation et des modèles de transformation, il est difficile de quantifier les apports d'une méthode de transformation par rapport à une autre. Si notre centre d'intérêt n'avait pas été l'édition de documents, mais l'interrogation de bases de données ou la gestion de fonds documentaires, l'évaluation des systèmes et les propositions que nous aurions formulées auraient certainement été très différentes.
L'évaluation de la pertinence des techniques que nous proposons est rendue difficile également par le fait que les transformations se déroulent dans un cadre interactif. De nombreux facteurs entrent en compte dans une telle évaluation : les types de documents en jeu, la complexité de l'instance source ainsi que le comportement de l'utilisateur (niveau de sélection, connaissance de la structure logique du document).
La contribution apportée dans ce travail peut être appliquée à de nombreux domaines. En particulier, la norme XML ouvre des champs d'application qui s'étendent au-delà du domaine de l'édition de documents. La méthode de transformation présentée dans le chapitre 6 demande également à être améliorée. Nous pouvons dégager les perspectives suivantes :
La méthode de transformation avec pré-couplage peut être améliorée sur deux points :
Nous pouvons envisager de nous appuyer sur de telles techniques pour permettre la détermination du type d'éléments du document source et de leur correspondance dans la structure cible.
Les techniques de transformation élaborées dans ce travail et les expérimentations sont liées à l'environement d'édition Thot. Une architecture à base de composants fondée sur les interfaces standards telles que DOM permettrait à de nombreuses applications d'intégrer un service de transformation de structure. Il existe un besoin réel de transformation dans les applications industrielles d'édition de documents, mais aussi pour toutes les applications manipulant des données structurées. Les actions industrielles menées en partenariat avec le projet Opéra en témoignent comme les collaborations avec les sociétés Dassault-Aviation et Aérospatiale.
Le travail de prospection mené durant cette thèse permet d'envisager d'autres méthodes de transformation permettant de mieux intégrer la processus de transformation dans l'édition de documents. Les travaux récents sur ce thème [Trombettoni 97] permettent d'envisager un système d'édition de documents structurés basé sur les contraintes. Pour cela les règles de structure des documents doivent être exprimées sous forme de contraintes. Ainsi, étant donné un ensemble d'éléments, un résolveur de contraintes pourrait donner un ensemble de structurations possibles de cet ensemble d'éléments en fonction du contexte dans lequel il se trouve.
La norme XML est très récente, l'implication de cette norme sur les applications informatiques de nombreux domaines est difficilement prévisible, notamment comme format de représentation de données structurées. On constate toutefois un grand intérêt de la part des concepteurs de bases de données pour cette nouvelle norme. Les techniques de conversion fournissent un moyen de composer le résultat des requêtes sur des bases des données ou sur des moteurs de recherche pour construire des documents homogènes.