Chapitre 3

Spécification du formatage spatial dans Madeus

1 Introduction

L'objectif de ce mémoire consiste à proposer et à mettre en oeuvre une solution pour le formatage spatial interactif dans Madeus. Le formatage des documents multimédia que nous considérons ici est essentiellement un problème de placement d'éléments et ne concerne pas les problèmes de mise en ligne ou de mise en page des documents. C'est pourquoi nous nous intéressons aux aspects liés au positionnement des éléments à l'intérieur du document plutôt qu'aux aspects liés à leur typographie (taille des caractères, coupures, etc). Nous parlerons d'ailleurs, par la suite, de placement spatial plutôt que de formatage spatial. Ce placement doit prendre en compte les spécificités des documents multimédia et doit être intégré dans le prototype Madeus.

La deuxième section de ce chapitre répertorie les contraintes du projet. La troisième section présente les types de relations spatiales à intégrer dans Madeus. La dernière section analyse les techniques de formatage possibles en regard des besoins.

2 Besoins à prendre en compte

2.1 Placement et dimension logique

Le placement spatial des documents multimédia s'apparente à celui des documents graphiques. Il s'exprime sous forme de relations entre les éléments, de manière équivalente selon l'axe horizontal et l'axe vertical. Par exemple, pour la présentation du document Inria-Opéra de la Fig 1 , on veut pouvoir spécifier que les éléments textuels Thot, Alliance et Madeus sont centrés par rapport à l'axe vertical, ou bien que les éléments Vidéo1 et Vidéo2 sont alignés sur leur bord supérieur et que l'élément Vidéo2 est à droite de l'élément Vidéo1.

Image Madeus_Presentation.gif

Fig 1. Présentation du document Inria-Opéra

Contrairement à ce qui est fait dans la majorité des éditeurs graphiques, nous ne voulons pas utiliser la notion de groupe dans Madeus, que ce soit pour la composition des éléments ou pour leur placement relatif. En effet, nous avons vu dans la section 0 que cette notion présentait certaines limitations. En particulier, les relations sont liées à l'existence d'un groupe, en supprimant le groupe, les relations ne sont plus maintenues. Dans Madeus, les relations spatiales doivent au contraire rester définies et vérifiées tant qu'elles n'ont pas été retirées explicitement. Un autre inconvénient de la notion de groupe est qu'elle crée une structure spécifique dans le document, or les documents Madeus reposent déjà sur une structure logique et nous ne voulons pas ajouter une structure supplémentaire pour le placement spatial.

2.2 Homogénéité des spécifications temporelles et spatiales

Considérant un document multimédia, un souci d'homogénéité est nécessaire entre la spécification du placement temporel et celle du placement spatial. Cette dernière doit donc reposer sur une approche relative où l'auteur spécifie la position d'un élément par rapport à un autre élément. Pour cela, la logique d'Allen définie pour les relations temporelles (section 0.0) peut nous servir de référence pour le placement spatial. En effet, il y a beaucoup de similitudes entre le fait de placer l'élément Video2 à droite de l'élément Vidéo1et le fait de présenter Vidéo2 après Vidéo1. Néanmoins, certaines relations spatiales que l'on veut exprimer, comme les relations de centrage par exemple, n'ont pas d'équivalent dans la logique d'Allen, et il faut envisager une spécification plus adaptée au problème du placement spatial.

2.3 Relations symétriques

La définition de relations spatiales est asymétrique, le placement d'un élément s'effectuant par rapport à un élément de référence. Mais par la suite, les relations sont symétriques et chacun des éléments participant à une relation possède un comportement identique. Par exemple, après avoir spécifié l'alignement de l'élément Vidéo2 sur le bord supérieur de l'élément Vidéo1, le déplacement de n'importe lequel de ces deux éléments produit le même résultat.

La symétrie des relations correspond à l'attente de l'auteur lors du déplacement des éléments. Par contre, pour la définition des relations, le choix d'un élément de référence est une démarche plus naturelle pour l'auteur.

2.4 Maintien de la solution et performances

Le placement des éléments dans un document Madeus est un processus incrémental qui s'effectue par ajouts et retraits successifs de relations entre les éléments, ou par modifications de la position de ceux-ci jusqu'à obtenir le résultat souhaité. Le retour visuel de chacune de ces opérations doit être le plus immédiat possible.

De plus, le déplacement des éléments à la souris doit être un déplacement continu. Dans la plupart des éditeurs comme Draw, Word, Xfig ou Thot (0.0), seul un cadre représentant l'élément à déplacer suit le mouvement de la souris, l'élément lui-même n'étant déplacé qu'à la fin du mouvement. Il n'y a pas de mise à jour "fine" des relations et donc du placement des éléments. Dans Madeus, les relations définies entre les éléments doivent être vérifiées à chaque mouvement de la souris. Le placement de l'élément sélectionné et de tous les éléments qui lui sont liés spatialement doit être mis à jour de façon continue, ce qui nécessite l'utilisation de techniques performantes pour assurer le maintien constant des relations existantes.

2.5 Intégration avec les autres dimensions

L'organisation spatiale d'un document multimédia doit s'adapter aux autres dimensions du document et en particulier à la dimension temporelle. Un exemple de problème qui peut survenir entre ces deux dimensions concerne la définition de relations spatiales entre des éléments qui ne sont pas présents aux mêmes instants. Dans notre exemple de la Fig 1 , l'élément Vidéo2 est présenté après l'élément Vidéo1. Si Vidéo1 termine sa présentation et disparaît de l'écran avant le début de Vidéo2, il faut pouvoir spécifier à travers l'interface de Madeus une relation spatiale entre ces deux éléments. Un autre problème concernant l'aspect "spatio-temporel" des documents multimédia consiste en la définition de relations spatiales sur des éléments qui peuvent se déplacer sur l'écran. En effet, un attribut particulier de Madeus, appelé MotionStyle, permet de définir un déplacement initial de l'élément sur lequel il s'applique. Si un élément ayant un tel attribut participe à une relation spatiale, alors il faut définir si cette relation s'applique uniquement à la position finale de l'élément ou si au contraire elle s'applique à chacune des positions intermédiaires prises pendant son déplacement.

3 Spécification des relations spatiales

Les besoins concernant le placement relatif et l'homogénéité des spécifications de placement temporel et spatial ont amené à considérer la logique d'Allen pour le placement spatial relatif des éléments. Mais cela induit certaines difficultés.

D'abord, le fait de considérer deux axes de placement multiplie les relations spatiales, et certains auteurs proposent une spécification spatiale composée de 169 relations possibles, qui correspond à la combinaison de 13 relations sur chacun des axes .

De plus, nous avons vu que certains types de relations spatiales, comme les relations de centrage par exemple n'ont pas d'équivalent dans la logique d'Allen. Il convient donc d'avoir une approche plus spécifique.

Pour le choix des relations spatiales à définir dans Madeus, nous avons retenu un sous-ensemble des relations définies dans la logique d'Allen augmenté de certaines relations usuelles dans les éditeurs graphiques et plus spécialement adaptées au problème du placement spatial. L'ensemble des relations de placement à prendre en compte dans Madeus est constitué par :

Le placement spatial que l'on veut mettre en oeuvre dans Madeus doit respecter l'organisation logique hiérarchique des documents. Il concerne le positionnement relatif d'éléments à l'intérieur d'un même élément composite.

4 Conclusion

Dans le chapitre , nous avons étudié les techniques de formatage utilisées dans le cadre de documents textuels ou graphiques en vue de leur application pour les documents multimédia.

Concernant les documents textuels structurés, nous avons vu que l'organisation logique du document induit son organisation spatiale. Or ceci n'est pas le cas pour les documents Madeus car leur organisation logique n'est pas utilisée pour déterminer leur présentation. De plus, les techniques de formatage pour les documents textuels repose sur le fait que les deux dimensions ne sont pas équivalentes (la dimension verticale concerne la mise en page du document tandis que la dimension horizontale concerne sa mise en ligne) alors qu'elles le sont pour les documents multimédia.

Du point de vue spatial, un document multimédia se rapproche d'un document graphique, mais la technique de groupe utilisée dans la plupart des éditeurs graphiques n'est pas complètement satisfaisante pour notre problème.

Les approches existantes pour le formatage des documents ne peuvent donc pas être facilement adaptées dans le cadre des documents multimédia et d'autres approches doivent être envisagées. Parmi les travaux récents, une approche qui semble prometteuse est l'approche par contraintes. En effet, la problématique du placement spatial que nous venons de présenter peut se ramener à un problème de résolution de contraintes pour lequel la programmation par contraintes est une technique bien connue. Elle repose en outre sur une approche déclarative qui est à rapprocher de celle utilisée dans les documents structurés. De plus, la programmation par contraintes est déjà utilisée dans différents types d'applications et notamment dans le domaine des interfaces graphiques interactives qui, du point de vue du placement spatial, peuvent nous servir de références.

Ceci explique notre intérêt pour l'étude et l'expérimentation dans un cadre réel de nouvelles méthodes de résolution de contraintes afin d'en apprécier l'utilité non seulement pour le placement spatial des documents multimédia mais également pour d'autres types d'applications (documents graphiques, typographie des éléments, etc.).

Dans le prochain chapitre, nous nous proposons de présenter brièvement la programmation par contraintes. Nous exposerons d'abord la notion de contraintes, puis ses caractéristiques et certains domaines d'applications, notamment le domaine des interfaces graphiques interactives.