DEA Informatique, Système et Communication

Année 2002-2003

Proposition de projet

Titre : Couplage d'un langage de contrôle de formatage avec un système de formatage existant

Responsables : Cécile Roisin et Frédéric Bes

Email : {Cecile.Roisin | Frederic.Bes} @inrialpes.fr

Laboratoire et équipe :

Projet Opéra, INRIA Rhône-Alpes

655, avenue de l'Europe - Montbonnot

38334 St Ismier Cedex

Contexte :

L'évolution des techniques de traitement des documents a conduit à l'émergence de nombreux langages de présentation et d'outils de formatage associés (CSS, SVG, SMIL, XSL-FO). Malgré cette évolution vers des systèmes plus puissants et plus performants, les langages comme leurs formateurs sont restés très influencés par les méthodes de formatage de texte. Ils sont moins adaptés aux besoins des documents multimédia, restent très rigides dans leur fonctionnement et donnent peu de solutions face aux nouveaux besoins actuels d'adaptation. De documents statiques édités manuellement à l'unité, le monde de l'édition est en effet arrivé à des systèmes de génération de documents multimédia à partir de sources multiples pour des terminaux de restitution ayant des capacités très variées. Les concepteurs de tels systèmes de production documentaire ont donc besoin de langages de présentation puissants et de formateurs qui puissent générer des présentations adaptées à chaque situation de lecture.

A côté de cette évolution des systèmes traditionnels de formatage, de nouvelles techniques issues de travaux dans le domaine de la résolution de contraintes ont été mises au point. Le projet OPERA, qui s'intéresse à ces techniques et à leur intégration dans les environnements qu'il propose, cherche à répondre au besoin d'amélioration des services de formatage présentés ci-dessus. Il a notamment travaillé sur la réalisation d'un langage de présentation [2] qui intègre des éléments permettant aux auteurs de mieux contrôler le formatage de leurs documents multimédia : utilisation de priorité, de propriétés globales et de stratégies de repli. Ce langage a donné lieu à l'élaboration d'un formateur servant à expérimenter son expressivité et ses capacités de contrôle. Il est ainsi possible de contrôler le formatage d'une séquence temporelle d'un nombre quelconque d'éléments à partir de la définition de priorités sur les composants et de règles de repli.

Description du sujet :

Ce projet de DEA a pour objectif de proposer une architecture logicielle permettant le couplage de notre langage de présentation et des services de formatage associés avec des systèmes de formatage existants de langage standard comme SMIL [5] ou XSL-FO [l]. L'intérêt est de pouvoir ajouter à ces langages de présentation les capacités de contrôle du formatage offertes par notre langage. Le travail demandé s'inscrit donc à deux niveaux différents puisqu'il concerne d'une part le couplage au niveau des langages et d'autre part celui au niveau des traitements. Il conviendra donc de proposer des solutions cohérentes entre ces deux niveaux.

Il existe des moyens pour faire le lien entre deux langages. C'est le cas des espaces de noms [3] à l'intérieur d'un seul document, ou des expressions XPath [4] quand il s'agit de désigner des éléments d'un document depuis un document différent. La solution proposée dans l'architecture pourra s'en inspirer et devra tenir compte du fait que certains éléments pourront être exprimés dans les deux langages à la fois. Ce dernier point évoque notamment les problèmes de cohérence qui peuvent survenir entre les deux spécifications.

Au niveau des traitements, l'architecture aura comme challenge de proposer un système complet reprenant tous les aspects de chaque langage. La difficulté est d'arriver à tirer au maximum parti des traitements existants aussi bien d'un côté que l'autre, sans avoir à les ré-écrire. L'influence du langage de présentation utilisé doit notamment rester aussi faible que possible dans les choix de l'architecture pour que cette dernière soit réutilisable pour différents langages. Comme évoqué dans le point précédent, les traitements devront donc détecter et gérer correctement les problèmes de cohérence entre les langages.

Mots clés : Langages de présentation, Formatage de document, Architecture logicielle.

Références :

[1] Adler S., Berglund A., Caruso J., Deach S., Graham T., Grosso P., Gutentag E., Milowski A., Parnell S., Richman J. and Zilles S., Extensible Stylesheet Language (XSL) version 1.0, Recommandation W3C, octobre 2001.

[2] Bes F. et Roisin C., Quels langages pour mieux contrôler le formatage des documents multimédia ?, 5e Colloque International sur le Document Électronique (CIDE'5), Hammamet, Tunisie, 20-23 octobre 2002.

[3] Bray T., Hollander D. et Layman A., Namespaces in XML, Recommandation W3C, janvier 1999.

[4] Clark J. et DeRose S., XML Path Language (XPath) version 1.0, Recommandation W3C, novembre 1999.

[5] Groupe SYMM, Synchronized Multimedia Integration Language (SMIL 2.0), Recommandation W3C, août 2001.