Valid HTML 4.01!

Thèse previousnext

Chapitre II : L'édition de documents multimédias

1.Définition du processus de création d'un document multimédia

Le processus de création de documents multimédias est un processus complexe qui ne fait pas forcément intervenir un environnement auteur. On peut distinguer trois principales manières de créer un document multimédia (illustrées par la Figure II-1 ) :

1. Edition via un environnement auteur : l'outil offre un support à l'auteur via une interface graphique et un ensemble de services, par exemple : 2. Edition via un éditeur de texte: ce type d'édition est encore souvent utilisé car les auteurs ne trouvent pas d'environnement d'édition qui satisfassent pleinement leurs besoins.
3. Génération automatique de documents: dans ce type de processus, l'intervention de l'auteur est minime voire inexistante. La production du document se fait par génération à partir d'un programme. Ce sont par exemple :
CreationDocument

Figure II-1 : Les trois principaux modes de création de documents multimédias

Les générateurs de documents utilisent aujourd'hui la production automatique de documents. A partir d'un ensemble de données le générateur produit des informations de présentation pour permettre aux lecteurs de les visualiser. Ce mode de création n'est pas adapté à une édition interactive.

L'objectif de cette thèse est d'apporter une réponse pertinente au problème de l'édition interactive de documents multimédias en se plaçant dans le contexte d'un environnement auteur. Nous espérons ainsi éviter le plus possible l'écriture de documents multimédias par l'intermédiaire d'éditeurs textuels. En particulier, il convient de porter une attention particulière au fait qu'avec l'émergence d'XML, de nombreux langages apparaissent. Il est donc nécessaire d'imaginer des environnements auteur qui soient capables de gérer cette multiplicité de formats.

L'objectif de ce chapitre est tout d'abord d'identifier les besoins des auteurs de documents multimédias et de confronter ces besoins aux langages et outils existants. La difficulté de ce travail vient de l'interdépendance entre langages et outils comme nous le verrons dans l'analyse de ces différents éléments.

Je commencerai donc dans la section 2 de ce chapitre par identifier les différents besoins issus du processus de création d'un document multimédia. Le but est de les confronter dans les deux sections suivantes, d'une part aux différents types de langage qui existent (section 3) et d'autre part aux outils auteur les plus représentatifs du domaine (section 4). Enfin, en conclusion de ce chapitre, je ferai un bilan des différentes approches de spécification et d'édition de documents multimédias.
 

2. Analyse des besoins pour la création multimédia

Dans le cadre des environnements auteur, l'auteur manipule indirectement le langage de sauvegarde. La structure de donnée interne de l'application est une représentation de ce fichier, représentation dont le rôle est de simplifier la tâche d'édition de l'auteur. L'environnement auteur a pour rôle d'assister l'auteur dans cette édition.

Il m'a donc semblé judicieux de séparer au cours du processus d'édition :

2.1 Besoins de l'auteur couverts par les langages

Pour analyser les capacités des langages, nous allons définir un ensemble de propriétés que nous avons regroupées en deux grandes catégories :

2.1.1 Expressivité

Comparer formellement l'expressivité des langages multimédias nécessiterait d'être capable d'identifier des classes de documents (par exemple sous forme de classes d'automates) et de définir ensuite comment chaque langage permet de couvrir partiellement ou entièrement chaque classe. Sans vouloir effectuer cet important travail théorique qui sort des objectifs de cette thèse, nous allons présenter deux types de besoins nous permettant ensuite d'identifier trois classes de documents :

Spécification des médias, qui recouvre les besoins de l'auteur en termes de définition des composants élémentaires de son document.

Les comportements, qui permettent à l'auteur de modéliser l'enchaînement temporel et spatial du document ainsi que les actions autorisées au lecteur : Ces différentes classes de documents permettent à l'auteur d'écrire des documents multimédias très variés. On peut cependant les classer en trois grandes classes selon le type de comportements qu'elles permettent : Ces documents recouvrent les présentations de type diaporama ou présentation hypertexte classique. La navigation ne remet pas en cause le comportement des documents.
ScenarioIndeterministe

Figure II-2 : Exemple de scénario d'un document indéterministe

Nous verrons par la suite que la difficulté d'édition d'un document est liée en grande partie à la classe à laquelle il appartient.

2.1.2 Capacité de spécification

Les besoins de l'auteur lors de la spécification de documents multimédias peuvent être classés en quatre catégories : Nous allons maintenant détailler les deux derniers points.

Rapidité de spécification : c'est le besoin élémentaire qui permet, par exemple, à l'utilisateur novice de spécifier facilement un petit document en n'utilisant qu'une partie de l'environnement auteur. Sans faire un inventaire de toutes les instructions qu'aurait un langage de programmation, nous allons présenter les principales instructions utiles pour un auteur de documents :

Support pour la spécification de documents adaptables :cette catégorie de besoins est celle qui consiste à écrire des documents qui s'auto-adaptent au contexte de présentation. Par contexte de présentation, nous entendons les conditions liées au système ou à l'utilisateur. Ces différents paramètres sont [Layaida99] :

2.2 Besoins de l'auteur couverts par l'environnement d'édition

2.2.1 Le processus d'édition

L'auteur suit le même processus d'édition quel que soit le formalisme d'édition qui lui est offert. Nous allons donc dans un premier temps nous intéresser à la définition du cycle d'édition avant de définir, dans un deuxième temps, les besoins qui en découlent.

On peut définir le processus d'édition en cinq étapes (voir Figure II-3):

1. Ouverture du document, c'est la phase pendant laquelle l'auteur ouvre un document existant (transition 1), le système vérifie sa cohérence et le formate (transition 2) c'est-à-dire qu'il calcule les placements spatiaux et temporels de chaque objet pour l'afficher à l'écran (transition 3).
2. Perception du document et navigation : c'est la phase ou l'auteur visualise chacune des dimensions (spatiale, temporelle, logique, hypertexte) du document. La présentation de ces différentes informations et les mécanismes de navigation offerts à l'auteur à l'intérieur de ces informations sont donc essentiels.
3. Modification du document, parmi ces opérations on peut distinguer : 4. Vérification de la cohérence et formatage : cette dernière étape correspond à la réaction du système à l'opération d'édition faite par l'auteur (transition 5), c'est-à-dire que le système doit, dans un premier temps, vérifier la cohérence de cette opération, et appliquer les différents changements dans le document de manière à prendre en compte cette modification. Il doit alors afficher le résultat et le processus d'édition recommence à l'étape 2 (transition 3). C'est pour cela que l'on parle de processus d'édition cyclique.
5. Sauvegarde du document. L'environnement sauvegarde la représentation interne du document dans un fichier de sauvegarde (transitions 6 et 7).
CycleEdition

Figure II-3 : Définition du cycle d'édition d'un document multimédia

Du cycle d'édition défini précédemment, on dégage les quatre grandes fonctionnalités suivantes (voir Figure II-3):

2.2.2 Les besoins des auteurs suscités par le processus d'édition

Du processus d'édition on peut dégager cinq besoins qui sont liés : Visualisation/présentation : Fonction d'édition :Le système auteur doit permettre à l'auteur d'éditer le document en fonction de ses capacités. Il doit aussi faciliter autant que possible cette tâche. De plus, il doit permettre à l'auteur d'exprimer tout ce que le langage de restitution permet de spécifier. Ces fonctions peuvent être des fonctions élémentaires comme l'insertion d'un objet dans le document, ou des fonctions plus évoluées comme la copie d'attributs de présentation ou de synchronisation. Par exemple, on peut imaginer qu'un auteur définisse un ensemble d'attributs spatiaux et temporels pour trois objets de son document, et qu'il désire appliquer le même placement spatial et temporel à trois autres objets de son document.

Aide à l'auteur:

Cycle d'édition :le processus de création d'un document multimédia est un processus cyclique (voir Figure II-3). C'est-à-dire que l'auteur ne spécifie pas complètement son document avant de le présenter, mais construit plutôt petit à petit son document en utilisant à chaque étape les services de visualisation et de vérification offerts par l'environnement. De ce fait, le système doit prendre en compte le fait que l'édition n'est pas un processus linéaire et doit aider l'auteur au mieux dans ce processus. Les deux points qui nous semblent essentiels dans cette tâche d'édition sont : Cycle de vie du document :nous venons de voir les différents besoins de l'auteur lors de la spécification de son document. La vie du document ne s'arrête pas au moment où l'auteur a fini de l'écrire. Il est important que l'auteur puisse diffuser, échanger, modifier ou réutiliser tout ou partie de son document après sa spécification. Nous allons donc maintenant nous intéresser à ces différents besoins :

3. Les standards de documents multimédias

Comme nous l'avons dit en introduction, le document en cours d'édition est représenté par plusieurs entités physiques. Au cours de cette section nous allons nous intéresser aux langages de sauvegarde et nous les illustrerons au travers d'environnements auteur réels utilisant les formalismes du langage de sauvegarde comme formalisme d'édition.

Il existe aujourd'hui de nombreux langages pour décrire des documents multimédias, cependant ils peuvent tous se classer dans une ou dans une combinaison des quatre catégories suivantes :

Au cours de cette analyse, nous allons présenter chacune de ces approches en les illustrant par un ou plusieurs langages représentatifs. Pour chaque approche, nous dégagerons d'un part la façon dont les langages de description de documents multimédias répondent aux besoins auteurs liés au langage (section 2.1) et d'autre part comment un environnement d'édition répond aux besoins définis dans la section 2.2.

Dans un premier temps, nous présenterons l'approche absolue utilisée notamment dans Director qui est un des outils les plus utilisés pour concevoir des documents multimédias. Dans un deuxième temps, nous présenterons les approches à base de langages de programmation en les illustrant au travers du langage Java. Dans un troisième temps, nous présenterons un langage de description à base d'événements (MHEG [MHEG93]) qui a été développé par le groupe de standardisation ISO. Nous présenterons ensuite deux approches relationnelles : SMIL, qui est une recommandation du W3C pour spécifier le comportement temporel des documents et Madeus qui est un langage à base de contraintes développé au sein du projet OPERA. Une des difficultés de l'analyse ci-dessous vient du fait que les langages actuels mélangent les différentes approches.

3.1 L'approche absolue

La caractéristique essentielle de cette catégorie est que l'auteur spécifie de façon absolue le placement spatial et temporel des objets. Cela se traduit par le fait que les instants de début des objets sont placés par rapport au début du document, et que la position spatiale des objets est donnée par rapport à un point de référence de l'écran (par exemple en haut à gauche).

Aucun standard n'existant dans cette approche, les exemples décrits ci-dessous sont basés sur une syntaxe ad hoc.

Dans la Figure II-4 on peut voir un exemple de document décrit de façon absolue. Ce document est composé de cinq éléments textes qui s'affichent successivement dans le temps toutes les 10 secondes. Les cinq éléments disparaissent ensemble de l'écran à la cinquantième seconde du document. Spatialement, les objets sont affichés les uns en dessous des autres sur l'axe Y, et les uns à côté des autres sur l'axe X.
 
 

Temporel :

Objet Titre1 

Début = 0
Durée=50


Objet Titre2 

Début = 10
Durée=40
Objet Titre3 
Début = 20
Durée=30
Objet Titre4
Début = 30
Durée=20
Objet Titre5 
Début = 40
Durée=10
Spatial :

Objet Titre1 

X = 120
Y =  60
Texte = "Institut" 
Objet Titre2 
X = 180
Y=80
Texte = "National" 
Objet Titre3 
X = 240
Y=100
Texte = "de Recherche" 
Objet Titre4
X = 300
Y=120
Texte = "en Informatique"
Objet Titre5 
X = 360
Y=140
Texte = "et Automatique"

Figure II-4 : Description absolue du placement temporel et spatial

L'avantage de cette approche est la facilité de description de documents simples. L'écriture de petites animations, que ce soit par spécification directe dans un fichier textuel ou par manipulation dans une interface graphique, est relativement simple. En effet, il est très simple d'imaginer une interface basée sur une métaphore table de montage, où l'auteur place les objets sur un axe de temps absolu.

Les inconvénients majeurs de cette approche sont :

Les générateurs automatiques de documents ([Real99]) produisent souvent des documents sous une forme absolue. De ce fait les documents produits sont relativement peu modifiables et ne sont pas rééditables.

Un outil représentatif de cette approche est Director, il permet à l'auteur de spécifier le placement temporel et spatial de ses objets de manière absolue. Il compense la limitation d'expressivité par l'utilisation de scripts. Nous présenterons Director dans la section 4.3.1.

3.2 Les langages de programmation

Une approche plus générale pour concevoir des documents multimédias est l'utilisation d'un langage de programmation. Il existe deux grandes catégories de langages de programmation : Les langages les plus adaptés à cette tâche, de par la diversité des plates-formes de conception et de restitution sont les langages interprétés. Nous allons présenter un peu plus complètement le langage Java qui est un des langages permettant la conception de documents multimédias.

En effet, Java est un langage à objets développé au début des années 90, il intègre complètement la manipulation des médias (JMF [JMF00]), des protocoles réseau et de la sécurité. Il fournit aussi un ensemble de bibliothèques évoluées (Java 2D[Java2D00], Java 3D[Java3D00]) pour les manipulations des médias ou d'objets en deux et trois dimensions.

Nous pouvons voir dans l'exemple de la Figure II-5 le document de présentation de l'INRIA. Nous avons écrit deux versions de ce document. Dans le premier cas (scène1_absolue), nous avons utilisé une spécification absolue, nécessitant une description plus longue et moins facilement modifiable. Dans le deuxième cas (scène1_relative), nous avons utilisé une spécification par relation, plus souple lors de l'édition. Notons que cette spécification nécessite l'écriture d'un formateur temporel et spatial pour calculer le placement réel des médias.

Dans un programme de description d'un document multimédia, l'auteur doit gérer explicitement la manipulation de l'environnement de présentation du document en plus du placement temporel et spatial de son document. Par exemple, il doit gérer la création d'une fenêtre dans laquelle le document va être joué. De plus, la facilité de réutilisation et de manipulation du document lors des opérations d'édition dépend énormément de la façon dont le programme a été conçu.
 
 

public class DocumentINRIA

void CreerMenu() {
...
}

void Scene1_absolue() {

// le constructeur de Media text prend 5 paramètres : le texte à afficher,
// les coordonnées spatiales de l'objet, l'instant de début de l'objet,
// et l'instant de fin.

MediaText T1 = new MediaText("Institut",120,60,0,50);

//Valeur, X, Y, Début, Fin

MediaText T2 = new MediaText("National",180,80,10,50);
MediaText T3 = new MediaText("de Recherche",240,100,20,50);
MediaText T4 = new MediaText("en Informatique",300,120,30,50);
MediaText T5 = new MediaText("et Automatique",360,140,40,50);
T1.Start(); T2.Start();T3.Start(); T4.Start();T5.Start ();
}

void Scene1_relative() {

// le constructeur de Media text prend 5 paramètres : le texte à afficher,
// les coordonnées spatiales de l'objet, l'instant de début de l'objet,
// et l'instant de fin.

MediaText T1 = new MediaText("Institut",120,60,0,50);

//Valeur, X, Y, Début, Fin

MediaText T2 = new MediaText("National");

// les autres attributs ne sont pas spécifié

MediaText T3 = new MediaText("de Recherche");
MediaText T4 = new MediaText("en Informatique");
MediaText T5 = new MediaText("et Automatique");

DécaléSpatialement(T1,T2,20);
DécaléSpatialement(T2,T3,20);
DécaléSpatialement(T3,T4,20);
DécaléSpatialement(T4,T5,20);

// Dans ce cas, le programmeur doit implémenter un formateur temporel
// et spatial pour calculer les attributs sur tous les médias.

T1.Start(); T2.Start();T3.Start(); T4.Start();T5.Start ();

}

static public void main(String argV) {

CreerFenetreGraphique();
CreerMenu();
Scene1_relative(); // ou Scene1_absolue();

}

Figure II-5 : Spécification du document INRIA en Java

L'avantage majeur de ce type d'approche est que l'auteur peut décrire n'importe quel document multimédia, puisqu'il a à sa disposition le pouvoir d'expression d'un langage de programmation.

Les inconvénients des langages de programmation sont :

3.3 L'approche événementielle

Les approches dites événementielles permettent de définir des règles du type : événements/ conditions/ actions. La sémantique associée à ces règles est : si l'événement est déclenché et que les conditions sont vérifiées alors les actions sont effectuées. Les événements peuvent être associés à la fin, au début d'un objet, au changement de comportement (changement d'un des attributs caractérisant l'objet : couleur, position, ), ou encore à une action utilisateur (clic sur un objet).

Le langage de ce type le plus connu est MHEG où la description du comportement spatial et temporel se fait de cette manière. Par exemple, la description de la dimension temporelle se fait au moyen d'objets composites, de primitives de composition (qui permettent de donner un comportement temporel simple à tous les objets d'un composite) et de liens. Les liens ne sont pas de simples liens hypertextes, mais permettent de spécifier des événements temporels et spatiaux. Un lien est constitué d'une partie condition (LinkCondition) et d'une partie action (LinkEffect) qui correspond à une liste d'actions à effectuer sur une liste d'objets. Pour illustrer de manière plus précise cette approche, nous allons présenter MHML qui est une variante de MHEG dont la syntaxe a été mise sous forme XML. Nous ferons aussi le parallèle avec le modèle IMD [Vazirgianis98] qui permet de manipuler l'historique de lecture du document.

Les événements MHML

Le langage MHML [MHML98] est un langage événementiel qui utilise une syntaxe XML [XML99].

Un document MHML se compose de trois parties :

Ce comportement est composé d'un ensemble de comportements élémentaires. Un comportement élémentaire est défini par : La partie Behavior comporte un événement particulier, le Start_Link qui permet de définir les objets qui sont lancés au début de la présentation.

Dans l'exemple de la Figure II-6 nous présentons en MHML le même exemple de document que celui de la Figure II-3.
 
 

<?xml version="1.0"?><!DOCTYPE MHML PUBLIC "mhml.dtd" "mhml.dtd" >

<MHML>
<BODY>

<DIV y="0" x="0" width="640" height="480" id="Document"> <TXT y="0" x="0" width="100" height="100" id="INRIA"/> INRIA </TXT>

<DIV y="0" x="0" width="640" height="480" id="Groupe">
<TXT y="180" x="80" id="INRIA0"/> Institut </TXT>
<TXT y="240" x="100" id="INRIA1"/> National </TXT>
<TXT y="300" x="120" id="INRIA2"/> de Recherche </TXT>
<TXT y="360" x="140" id="INRIA3"/> en Informatique</TXT>
<TXT y="420" x="160" id="INRIA4"/> et Automatique </TXT>
</DIV>
</DIV>
</BODY>
<BEHAVIORS>
<START_LINK>
<ACTION>
<RUN propagation="true" target="Document"/>
</ACTION>
</START_LINK>

<LINK div="Document">

<RUN_EVENT target="Document" value="true"/>
<ACTION>
<RUN propagation="true" target="INRIA0"/>
</ACTION>
</LINK>

<-- Evénement exemple -->
<-- Définition d'un événement sur le composite groupe
Cet événement est un événement temporel qui sera déclenché  au début du document (time equal O). L'action associée à cet événement sera une action de présentation (run), qui aura pour effet de démarrer l'objet INRIA0. La valeur propagation = true, signifie que si l'objet INRIA0 est un objet composite, cet événement sera automatiquement propagé à ses fils. -->

<LINK div="Groupe">
<TIME_EVENT target="INRIA0" operator="equal" value="0" />

<ACTION>
<RUN propagation="true" target="INRIA1"/>
</ACTION>
</LINK>
<-- fin de l'événement exemple -->

<LINK div="Groupe">

<TIME_EVENT target="INRIA0" value="10" operator="equal"/>
<ACTION>
<RUN propagation="true" target="INRIA2"/>
</ACTION>
</LINK>
<LINK div="Groupe">
<TIME_EVENT target="INRIA0" value="20" operator="equal"/>
<ACTION>
<RUN propagation="true" target="INRIA3"/>
</ACTION>
</LINK>


<LINK div="Groupe">

<TIME_EVENT target="INRIA0" value="30" operator="equal"/>
<ACTION>
<RUN propagation="true" target="INRIA4"/>
</ACTION>
</LINK>
<LINK div="Groupe">
<TIME_EVENT target="INRIA0" value="40" operator="equal"/>
<ACTION>
<RUN propagation="true" target="INRIA5"/>
</ACTION>
</LINK>
<LINK div="Document">
<TIME_EVENT target="INRIA" value="50" operator="equal"/>
<ACTION>
<STOP propagation="true" target="INRIA"/>
<STOP propagation="true" target="INRIA0"/>
<STOP propagation="true" target="INRIA1"/>
<STOP propagation="true" target="INRIA2"/>
<STOP propagation="true" target="INRIA3"/>
<STOP propagation="true" target="INRIA4"/>
</ACTION>
</LINK>
</BEHAVIORS>
</MHML>

Figure II-6 : Spécification événementielle du document INRIA en MHML

On peut noter que le modèle IMD proposé par Varzigianis [Vazirgianis98] proche de MHML permet en plus de tester l'historique des événements. Un des intérêts est de pouvoir ainsi faire évoluer le document en fonction des actions précédentes de l'utilisateur. Cela se fait essentiellement par une extension de la partie condition sur les événements. Ces conditions sont une combinaison d'expressions booléennes et d'opérateurs sur les conditions de déclenchement des événements. Les opérateurs sont :

Synthèse sur l'approche événementielle

Les langages événementiels ont un pouvoir d'expression très important et permettent de décrire tous les types de documents.

La difficulté majeure de cette approche réside dans la maîtrise du comportement du document. En effet, avoir une vue globale du comportement est relativement difficile à cause de l'aspect imprédictif de certains événements et de par le grand nombre d'événements qu'il faut spécifier pour décrire le comportement de ce document.

Aujourd'hui peu de systèmes auteur permettent d'avoir une édition évoluée de tels langages, on se ramène souvent à de la programmation classique (voir Lingo de Director). Les facilités de spécifications de l'auteur sont relativement faibles. Nous verrons dans le Chapitre VI, avec la présentation de MHML-Editor, ce qu'il est possible de faire pour aider l'auteur avec ce type de langage en lui offrant notamment, un aperçu des différents comportements possibles de son document.

3.4 L'approche relationnelle

Les approches relationnelles visent à faciliter l'écriture des documents multimédias en permettant à l'auteur de spécifier des relations entre les objets, par exemple : L'auteur ne spécifie donc pas de manière absolue la position spatiale et temporelle de tous les objets, c'est le système qui, à partir de toutes les informations qu'il possède, calcule ce positionnement (étape de formatage). Les relations introduites peuvent être flexibles ou non.

Ce type de relation permet de définir un ensemble de placements possibles, les relations non flexibles permettent elles de définir des placements relatifs fixes. Par exemple, la relation during permet de spécifier qu'un objet A sera pendant un objet B, sans pour autant spécifier explicitement où se situent ces deux objets l'un par rapport à l'autre.

Le fait d'introduire des relations flexibles permet de modéliser des documents plus facilement adaptables.

Ces différents langages illustrant cette approche (CMIFed [Hardman93], ISIS [Kim95], TIEMPO [Wirag95]) permettent plus facilement à l'auteur de modifier le document : en effet, lors de l'ajout ou du retrait d'un objet, c'est le système qui s'occupe de calculer le nouveau placement de tous les objets. On peut noter dans ces approches deux catégories : la première basée sur des arbres d'opérateurs (SMIL, CMIF), permet à l'utilisateur de définir par exemple un arbre temporel où les noeuds représentent des relations et les feuilles des médias. Nous illustrerons cette approche par la présentation de SMIL (section 3.4.1). La deuxième catégorie d'approche, permet à l'auteur de définir des groupes d'objets ainsi que de définir des relations binaires entre les objets d'un même groupe (ISIS, TIEMPO, MADEUS [Layaïda97]). Nous présenterons Madeus (section 3.4.2) pour illustrer cette approche.

3.4.1. Les arbres d'opérateurs : SMIL

Nous allons illustrer cette approche à l'aide du langage SMIL [SMIL98].

SMIL est une recommandation du World Wide Web Consortium (W3C), sa version courante est la 1.0. Sa syntaxe est décrite par une DTD XML. La version 2.0 de SMIL est prévue pour février 2001 [SMIL2-00].

L'objectif de SMIL 1.0 est de faciliter l'intégration de médias de différents types en fournissant un moyen de spécifier à la fois les dimensions spatiale et temporelle du document.

Nous allons rapidement en présenter les principales caractéristiques : un fichier SMIL 1.0 (Figure II-7) est composé d'un élément head et d'un élément body. La partie head, qui correspond à l'en-tête du fichier permet de spécifier les informations non temporelles du document. Par exemple, le positionnement spatial des objets se fait au moyen de régions. Une région définit une zone d'affichage à l'écran. Cette zone d'écran peut être partagée par plusieurs objets multimédias. Dans l'exemple de la Figure II-7, la région "droite" est partagée par deux objets (une image et un texte) décrits dans la partie body.

La partie body, qui correspond au corps du document, contient la description de l'ensemble des objets manipulés dans le document, la description de leur organisation temporelle et la définition des liens hypertexte contenus dans le document.
 
 

<?xml version="1.0"?>

<smil>
<head>
<layout>

<region id="région1" top="180" left="80" width="100" height="40" />
<region id="région2" top="240" left="100" width="100" height="40" />
<region id="région3" top="300" left="120" width="100" height="40" />
<region id="région4" top="360" left="140" width="100" height="40" />
<region id="région5" top="420" left="160" width="100" height="40" />
</layout>
</head>

<body>
<switch id="Contentenu adaptatif">

<par dur="50" id="Document" system-bitrate="115200">
<text src="/home/Texte1.html" id="T1" region="region1"/>
<text src="/home/Texte2.html" id="T2" begin="10.0" region="region2"/>
<text src="/home/Texte3.html" id="T3" begin="20.0" region="region3"/>
<text src="/home/Texte4.html" id="T4" begin="30.0" region="region4"/>
<text src="/home/Texte5.html" id="T5" begin="40.0" region="region5"/>
</par>
<par dur="50" id="Document" system-bitrate="144000">
<sound src="/home/MusicINRIA.mp3" >
<text src="/home/Texte1.html" id="T1" region="region1"/>
<text src="/home/Texte2.html" id="T2" begin="10.0" region="region2"/>
<text src="/home/Texte3.html" id="T3" begin="20.0" region="region3"/>
<text src="/home/Texte4.html" id="T4" begin="30.0" region="region4"/>
<text src="/home/Texte5.html" id="T5" begin="40.0" region="region5"/>
</par>
</switch>
</body>
</smil>

Figure II-7 : Spécification relationnelle du document INRIA en SMIL

L'organisation de la partie body des documents SMIL est basée sur une structure hiérarchique dont les noeuds sont des opérateurs temporels et les feuilles des médias. L'opérateur temporel associé à un noeud décrit la façon dont s'enchaînent temporellement les fils du noeud. Les opérateurs peuvent être soit l'opérateur par, soit l'opérateur seq. L'opérateur par permet de décrire une exécution en parallèle des fils, l'opérateur seq permet de décrire une exécution en séquence des fils. Dans l'exemple de la Figure II-7 on peut voir un exemple d'utilisation de ces deux opérateurs.

L'auteur peut compléter/modifier l'information déduite des opérateurs en spécifiant des attributs sur les médias. Par exemple, l'attribut dur permet de spécifier explicitement la durée d'un objet, alors que par défaut les objets discrets ont une durée infinie. Les attributs begin et end permettent, eux, de spécifier de façon absolue ou relative (par rapport au début ou à la fin d'autres objets dans le document) le début ou la fin des objets. Le placement de ces attributs permet de définir des synchronisations temporelles plus fines entre les objets.
 
 

Exemple a :

<par> 

<img src="" id="A" dur="6s">
<img src="" id="B" dur="4s">
<img src="" id="C" dur="3s">
</par>
Begin smil

Figure II-8 : L'attribut dur de SMIL

Dans l'exemple de la Figure II-8, on peut voir un exemple de noeud par avec trois fils. Sur chacun de ses fils, l'attribut dur est spécifié de façon explicite, comme il n'y a pas d'attribut begin de spécifié, les trois objets commenceront en même temps. Cela signifie qu'on laisse aux trois objets le placement défini par défaut par le noeud par. Les trois objets vont se jouer en parallèle, ils commenceront en même temps, et ils se termineront quand leur durée respective sera écoulée.
 

Exemple b :

<par> 

<img src="" id="A" dur="6s" begin="3s">
<img src="" id="B" dur="4s">
<img src="" id="C" dur="3s" begin="end(B)">
</par>
Begin smil b

Figure II-9 : Les attributs begin et end de SMIL

Dans l'exemple de la Figure II-9, on peut voir trois manières de spécifier le début d'un objet :

Le comportement par défaut a été complètement modifié par la définition de l'attribut begin sur les objets A et C. Le début de l'objet A a été retardé de trois secondes par rapport au début du noeud par et l'objet C commence à la fin de l'objet B.

L'attribut endsync sur l'élément par, permet de lier la fin de l'élément composite à la fin d'un des objets qui le compose. Par exemple, la valeur first pour l'attribut endsync signifie que l'objet par se termine avec la fin du premier objet qui le compose. Dans le cas où les fils sont des objets déterministes cette valeur est connue statiquement, dans le cas d'objets indéterministes cette valeur ne sera connue que dynamiquement.

En résumé, la structure d'opérateurs permet à l'auteur de spécifier des comportements temporels basiques. Cependant, pour décrire des comportements temporels plus complexes, l'auteur doit manipuler les attributs begin et end sur les objets.

On peut noter que le langage SMIL offre un attribut pour permettre un certain type d'adaptation. L'attribut Switch, permet de définir une alternative en fonction des conditions de présentation du lecteur. Par exemple, cela permet de définir deux branches au document, une si l'utilisateur utilise un modem, l'autre s'il est sur un réseau local par exemple. Dans chacune des branches, on peut utiliser des médias différents et adaptés au contexte. Cet opérateur permet de définir une adaptation sommaire qui revient en partie à décrire statiquement les différents comportements possibles. On peut voir dans l'exemple de la Figure II-7 l'utilisation de cet élément. Dans le cas où le lecteur a un débit réseau supérieur à 144000 baud/s nous ajoutons un élément audio à la présentation.

Dans l'exemple de la Figure II-7, nous avons défini en SMIL le document INRIA en privilégiant l'utilisation de valeurs d'attribut relatives (nous avons défini que tous les objets finissaient en même temps par le positionnement de l'attribut dur sur le noeud Document). En effet, nous aurions pu construire le même document en n'utilisant que des valeurs absolues (positionnement des attributs dur sur tous les médias). L'avantage d'une spécification plus relative est qu'elle est plus facilement modifiable. Ainsi si nous voulons insérer un nouvel objet "INRIA", présent tout au long de la scène, nous avons juste à le spécifier (avec l'instant de début désiré) dans l'objet par. Nous n'avons alors pas à modifier la durée des objets, celle-ci étant définie de façon relative.

On peut noter aussi que l'approche à base d'arbres d'opérateurs n'est pas vraiment une approche relationnelle pure, puisqu'un objet ne peut être impliqué que dans une seule relation. De ce fait, lorsque l'on désire ajouter une relation, on est souvent amené à restructurer l'arbre d'opérateurs.

La difficulté majeure avec ce genre d'approche est de bien concevoir son document pour permettre des modifications futures. Cependant, d'une part, l'auteur ne peut prévoir a priori toutes les modifications futures qu'il voudra apporter à son document, d'autre part il arrive parfois qu'un bon document pour une modification ne le soit pas pour une autre modification. Pour toutes ces raisons les remises en cause de la structure de l'arbre d'un document SMIL sont fréquentes, et nous savons que restructurer un arbre n'est pas une chose simple [Quint87].

Cependant, un des avantages majeurs de cette approche est qu'elle permet de définir rapidement un comportement temporel simple.

On peut noter pour finir qu'un langage comme SMIL permet de définir des documents intégrant des médias indéterministes tout en gardant certaines synchronisations (attribut endsync).

3.4.2 Une approche à base de relations binaires : Madeus

Le langage Madeus [Layaïda97] a été développé au sein du projet Opéra. Les documents Madeus sont composés de 4 sections :
Relation d Allen

a) Les relations d'Allen


 
 
 
 

Operateurs causaux








b) Les relations causales

Figure II-10 : Les relations temporelles de Madeus

Si nous reprenons l'exemple de notre petite animation présentant l'INRIA (Figure II-11) dans le langage Madeus, on peut voir les trois parties du document : la description des médias, la description de la structure temporelle et spatiale. Dans ces deux structures, le positionnement des objets est défini par des relations entre les objets (comme Finishes, AlignéAGauche). La principale différence avec SMIL est que l'on a des groupes d'objets et non pas un arbre d'opérateurs. De ce fait si l'on désire changer le placement temporel des objets pour réaliser deux séquences en parallèle, il suffit de changer les relations entre les objets, et l'on n'a pas à changer la structure du document. Une limite du langage réside dans la localité des relations, une relation ne peut porter que sur des objets présents dans le même groupe. Cette limitation permet de conserver une localité à la spécification. L'auteur n'a ainsi pas à comprendre la structure complète de son document pour comprendre le comportement local de ses médias.
 
 

<Madeus> 

<Media> 

<text Id= "O1" value="Institut" >
<text Id= "O2" value="National" >
<text Id= "O3" value=" de Recherche " >
<text Id= "O4" value="en Informatique" >
<text Id= "O5" value="et Automatique" >
</Media>

<Spatial> 

<Groupe Id="Animation">
<Zone ID="z1" media="O1" X="60" Y="120">
<Zone ID="z2" media="O2">
<Zone ID="z3" media="O3">
<Zone ID="z4" media="O4" >
<Zone ID="z5" media="O5" >
<Relation>
<AligneAGauche param1="z1" param2="z2" delta="+60">
<AligneAGauche param1="z2" param2="z3" delta="+60">
<AligneAGauche param1="z3" param2="z4" delta="+60">
<AligneAGauche param1="z4" param2="z5" delta="+60">
<Under param1="z1" param2="z2" delta="+20">
<Under param1="z2" param2="z3" delta="+20">
<Under param1="z3" param2="z4" delta="+20">
<Under param1="z4" param2="z5" delta="+20">
</Relation>
</Groupe>
</Spatial> 

<Temporal> 

<Groupe Id="AnimationT" dur="50s">
<Zone ID="T1" X="60" Y="120" media="O1">
<Zone ID="T2" media="O2">
<Zone ID="T3" media="O3">
<Zone ID="T4" media="O4">
<Zone ID="T5" media="O5">
<Relation>
<finishes param1="z1" param2="z2" delay="10s">
<finishes param1="z2" param2="z3" delay="10s">
<finishes param1="z3" param2="z4" delay="10s">
<finishes param1="z4" param2="z5" delay="10s">
</Relation>
</Groupe>
</Temporel> 
</Madeus>

Figure II-11 : Spécification relationnelle du document INRIA en Madeus

Le langage Madeus ne permet de décrire que des documents prédictifs avec des liens de navigation. L'introduction des objets indéterministes lève de nouveaux problèmes pour le formatage ([Layaïda97]) non encore résolus de manière satisfaisante à ce jour.

Un des avantages majeurs de l'approche est qu'elle permet à l'auteur de décrire des relations flexibles. Par exemple, cela permet d'utiliser ces informations pour adapter automatiquement le document au contexte de présentation. Nous verrons au cours de la présentation du système Madeus (section 4.3.3), des travaux réalisés dans ce sens.

Un autre avantage est la facilité de modification due en partie aux intervalles de durées définis sur les objets. En effet, cela permet au système d'adapter la durée des objets au cours du processus d'édition (en fonction de l'intervalle donné par l'auteur) évitant ainsi à l'auteur de modifier la durée et le placement de ces objets lors de chaque modification de son document.

3.4.3 Synthèse sur les approches relationnelles

La principale limite dans les approches relationnelles actuelles est le pouvoir d'expression. C'est-à-dire qu'elles ne permettent pas de spécifier des interactions complexes entre l'utilisateur et le document, ou des enchaînements complexes comme des répétitions conditionnelles. Cependant, si l'on reste dans le cadre de documents prédictifs, l'extension de ces langages à une expressivité plus grande ne pose pas de problème. Dans ce cas, les langages relationnels ont le même pouvoir d'expression que des langages comme MHML (restreint à un comportement prédictif). L'avantage par rapport à des approches événementielles est la présence de relations de haut niveau qui permettent de définir des comportements entre les objets. Cela permet d'avoir une description du comportement plus concise. De plus la sémantique de la structuration du document est plus forte. On peut noter une différence entre l'approche de SMIL où la structuration est une structuration temporelle à base d'arbre d'opérateurs, et celle de Madeus où il existe une structure temporelle indépendante des relations temporelles à base de groupes. La structure à base d'arbre d'opérateurs peut être un avantage pour la description de documents simples [Bétrancourt99], cependant la structure de groupes permet une plus grande souplesse pour les modifications et l'évolution du document.

Un autre avantage de ces approches est la définition des objets dans des intervalles de valeurs. Cela rend la spécification plus facilement adaptable, et permet d'automatiser le processus de formatage. Une proposition est faite par Kim [Song99] pour intégrer cette notion dans SMIL-2.0 après l'avoir intégrée dans MPEG 4.

L'approche relationnelle relativement récente n'a pas encore fait ses preuves, notamment pour des documents complexes. Cependant, du point de vue de l'édition, cette approche semble offrir de plus grands potentiels du fait du bon compromis qu'elle offre entre facilité de spécification (et de réédition) et pouvoir d'expression [Jourdan98c]. Parmi les outils mettant en oeuvre une telle approche, on peut citer Grins[Bulterman00] et Madeus que nous présenterons dans les sections 4.3.2 et 4.3.3. Elle a suscité de nombreux travaux de recherche ([Layaïda97], [Kim95], [Hardman93], [Wirag95]) du fait des nombreux aspects non encore résolus qu'elle soulève, comme le formatage efficace ou dynamique et la cohérence. En effet, à ce jour il n'existe pas de système auteur basé sur ce type d'approche offrant les services d'édition adaptés.

3.5 Synthèse sur les langages de documents multimédias

Nous venons de voir que l'auteur de documents multimédias dispose d'un ensemble de formalismes pour spécifier ses documents. Au cours de cette analyse, nous avons pu voir les différences qu'il existe entre ces approches en terme d'expressivité et d'utilisation : On peut noter que l'on peut combiner ces deux approches (voir Chapitre IV). Nous allons maintenant présenter les différents outils d'édition de documents en nous intéressant essentiellement aux formalismes proposés par ceux-ci. Ceci afin de voir comment ils répondent aux besoins définis dans la section 2.

4. Les outils d'édition

L'objectif est d'identifier les fonctions générales offertes par les environnements d'édition pour les confronter aux besoins vus en section 2.2. Cependant, cet exercice présente un certain nombre de limites du fait de la dépendance entre l'outil et le langage de sauvegarde utilisé.

Les outils d'édition de documents multimédias sont issus de plusieurs origines, les principales sont listées ci-dessous en fonction de la nature des données manipulées :

À partir de ces différentes origines nous avons choisi de classer les environnements en trois grandes catégories que nous présenterons ensuite :

4.1 Les environnements auteur à base de modèles prédéfinis

La première approche que nous allons présenter est celle qui utilise des schémas prédéfinis. L'idée générale de ces outils est de fournir à l'auteur des types de présentations prédéfinies, comme, par exemple, une succession d'images avec un fond sonore à partir duquel il n'a plus qu'à instancier les médias. L'intérêt de ces approches est de simplifier au maximum l'édition de documents multimédias en fournissant des modèles prédéfinis pour les principales classes de documents, en évitant ainsi à l'auteur d'avoir à manipuler un document multimédia dans toute sa complexité.

4.1.1 PowerPoint

Le premier exemple, sans doute le système le plus connu, combine une approche classique d'édition et une édition à base de schéma. Pour la création de transparents, le système offre à l'auteur un ensemble de transparents prédéfinis (Figure II-12). L'auteur n'a alors plus qu'à remplir les différents champs de son transparent. Le système permet à l'auteur de modifier la présentation de son transparent à souhait, en enlevant ou en rajoutant certains champs. Le schéma temporel entre les différents transparents reste élémentaire (séquence), cependant l'auteur peut obtenir un schéma temporel plus évolué à l'intérieur de ses transparents, en décrivant des comportements temporels simples (séquence, animation). Pour cela, il dispose d'un ensemble d'animations prédéfinies, ainsi que de la possibilité de décrire l'ordre d'apparition des objets.
PowerPoint

Figure II-12 : Le jeu de transparents prédéfini de PowerPoint

4.1.2 Smil Wizard

Le deuxième exemple d'outil à base de schémas prédéfinis est SMIL Wizard [Real99] (Figure II-13).
L'objectif de ce système est d'offrir un moyen simple d'écrire des documents SMIL pour des personnes n'ayant aucune connaissance du langage. Le système propose un ensemble de présentations prédéfinies : Karaoké, succession de transparents, présentation de photographies,
L'auteur choisit le type de présentation (Figure II-13a) qu'il désire, et ensuite il spécifie les informations sur la localisation des médias (Figure II-13b).
Le système génère ensuite un document SMIL présentant les informations comme l'auteur l'a souhaité.
L'inconvénient majeur de ce type d'environnement est qu'il ne permet pas de définir ses propres présentations ou de sortir légèrement de la présentation standard proposée par le système d'édition. Un autre inconvénient est la qualité du fichier produit. Le système produit lors de la génération automatique un fichier utilisant peu les possibilités du langage, notamment pour la structuration de l'information (le fichier produit est constitué d'un élément par, et tous les objets sont placés de manière absolue grâce à des attributs begin), de ce fait, il est difficilement rééditable par un auteur.
SMILWIZZARD

Figure II-13 : Les vues d'édition de Smil Wizard

4.1.3 RealSlideShow

Le dernier environnement que nous présentons est RealSlideShow [Real98], il permet de générer des présentations sous forme de transparents. Chaque transparent peut contenir une image et du texte. L'auteur peut choisir la durée de chacun de ces transparents, et de mettre un son pendant la présentation des transparents.

On peut voir, dans la Figure II-14 les deux vues de RealSlideShow :

Comme pour le système précédent, l'auteur est guidé lors de la conception de sa présentation, mais dans ce cas-ci, il peut modifier certains paramètres de la présentation, comme l'agencement spatial des objets.

RealSlideShow

Figure II-14 : Les vues d'édition de RealSlideShow

Le langage de sortie de RealSlideShow est un langage propriétaire qui ne peut être lu que par les outils de RealNetworks. C'est à dire que les médias utilisés sont dans un format propriétaire.

4.1.4. Synthèse sur les environnements à base de modèles de présentation prédéfinis

Les environnements d'édition à base de modèles prédéfinis permettent à l'auteur d'écrire facilement des documents multimédias. Du point de vue de l'édition, le système offre très peu de possibilités à l'auteur pour spécifier un placement qui n'est pas prédéfini. Les besoins en visualisation et en aide sont moins importants que dans le cadre d'un environnement classique : l'auteur ne peut pas ici spécifier de documents incohérents du fait des restrictions et des contraintes de manipulations permises à l'auteur. L'édition devient minimale. Le système d'édition réduit volontairement le pouvoir d'expression du langage sous-jacent pour simplifier la tâche de l'auteur. Dans le cas de PowerPoint, la seule possibilité de spécification d'un comportement non défini est d'utiliser un formalisme de placement absolu. Dans le cas des deux derniers outils, les possibilités de l'auteur sont tellement réduites qu'il n'a que peu de moyen pour modifier son document une fois le processus d'édition fini. En effet, le document de sauvegarde ne contient aucune des informations qui ont permis l'édition du document.

De plus, les documents produits sont de qualité relativement pauvre, et peuvent être difficilement réutilisés dans un autre contexte. L'utilisation de modèles logiques de documents multimédias (structuration du document indépendamment de sa présentation), de par l'expérience acquise dans l'édition de documents textuels semble une voie à explorer, voie qui à ce jour est complètement inexploitée par les outils actuels qui se contentent d'offrir des modèles de présentation.

4.2 Les environnements de programmation

Nous avons vu dans la section précédente que les langages de programmation permettaient à l'auteur un grand pouvoir d'expression ; la contrepartie est liée aux compétences en informatique nécessaires : Cependant des techniques existent pour réduire ces difficultés, on peut citer, par exemple, la programmation visuelle (section 4.2.1) et la programmation par démonstration (section 4.2.2).

4.2.1 Les langages de programmation visuelle

Des travaux ont été réalisés pour faciliter l'accès à la programmation à des non-informaticiens. L'objectif de la programmation visuelle est de fournir une interface pour décrire de façon simple et plus conviviale des programmes. On peut citer comme exemples d'environnements Venn [DelBimbo96] et dans le cadre des documents multimédias Icon Author [AimTech96]. Dans l'exemple de la Figure II-15, on peut voir un exemple de spécification de document. L'auteur a défini une boucle avec une succession de calculs puis un affichage d'objets qui sera interrompue par un clic de l'utilisateur. L'auteur édite son document au travers de palettes d'opérateurs, et pour chaque opérateur, il a la possibilité de définir un certain nombre de paramètres.

Cependant on peut noter qu'en facilitant la tâche de l'auteur, ces méthodes limitent l'expressivité du langage et le pouvoir de l'auteur. En effet, on peut difficilement spécifier de gros programmes et/ou des programmes complexes par ce biais du fait des difficultés de perception liées à l'affichage et au volume d'information que l'on peut visualiser.

Icon author

Figure II-15 : Logigramme d'un programme réalisé avec IconAuthor

Les limitations des environnements de programmation visuelle sont du même ordre que pour les programmes classiques :

4.2.2 La programmation par démonstration

L'objectif de la programmation par démonstration est de faciliter la spécification de comportements complexes ou répétitifs. Par exemple, l'auteur exécute une fois la tâche, et le système automatise la tâche par le biais de macros. L'utilisateur, quand il aura besoin d'exécuter une autre fois la tâche, fera appel à la macro. Dans le cadre de Toolbook [Asymetrix99] l'utilisateur peut montrer un déplacement d'objet à l'écran à l'aide de la souris, et le système écrit pour l'auteur le code correspondant dans les langages de scripts de Toolbook.
Actuellement, la programmation par démonstration vise donc à aider l'auteur dans l'écriture de scripts. Elle pourrait être, par exemple, utilisée pour l'aider à spécifier le comportement temporel de son document. Par exemple, dans Director, pour spécifier un déplacement complexe, l'auteur peut dessiner à l'aide de fonctions prédéfinies le déplacement de son objet, le système en déduira le placement de l'objet réel à chaque instant.
Ces techniques fournissent des idées pour la phase de visualisation ainsi que sur les modes d'action pour l'édition. Ces méthodes sont souvent utilisées en complément dans des outils plus complets (Toolbook).

4.2.3. Synthèse sur les environnements de programmation

Les environnements de programmation sont encore réservés aux informaticiens. L'utilisation d'outils utilisant des métaphores graphiques ou des méthodes de programmation par démonstration, facilite l'accès des non-informaticiens à de tels outils. Cependant, pour atteindre cet objectif, ces outils réduisent le pouvoir d'expression de l'auteur. De plus, un autre inconvénient de ces approches est qu'il n'existe pas d'aide pour l'auteur de documents multimédias (librairies, modèles, classes, ).

Cependant, on peut imaginer des améliorations possibles de ces techniques en fournissant à l'auteur un ensemble de classes permettant de définir des fragments de documents. De plus, on pourrait imaginer une extension des techniques de programmation par démonstration, de manière à permettre au système de déduire des relations à la place de simplement noter des propriétés absolues sur les médias. Ces extensions peuvent s'inspirer des techniques développées dans Garnet [Sannella92] qui reposent sur des mécanismes à base de contraintes pour reconnaître des propriétés. Cela faciliterait la relecture des programmes produits et rendrait le document généré plus flexible.

4.3 Les environnements auteur complets

La troisième catégorie de systèmes auteur laisse plus de latitude à l'auteur, tout en offrant des moyens de l'aider dans la tâche complexe qu'est la création de documents. Ces outils sont dits complets, car ils permettent à l'auteur de spécifier toutes les caractéristiques du document à toutes les étapes du processus d'édition. Ces outils mélangent le plus souvent les formalismes d'édition, pour permettre différents moyens de spécification.

4.3.1 Director

Director est un des premiers outils dédié à l'édition de documents multimédias. Il est apparu à la fin des années 80 et ne cesse de changer pour intégrer les évolutions des documents et améliorer la phase d'édition.

La phase d'édition dans Director est basée sur quatre étapes :

Director temporel
Figure II-16 : Vue temporelle de Director
Director spatial
Figure II-17 : : Vue de présentation de Director
----------------------------------------------------------------------------------
-- Attente 
-- Ce script permet de garder affiché la scène courante, pendant Howlong secondes.
----------------------------------------------------------------------------------

property howLong, currentTime --déclaration des variables
  on prepareFrame -- événement associé à la création de la scène 
  currentTime = the timer
end 

on exitFrame --événement associé à la fin de la scène
  repeat while the timer < currentTime + howlong
    nothing
  end repeat
end

-- mise à jour des propriétés et initialisation du vérificateur de propriétés.
on getPropertyDescriptionList
  propertyDescriptionList = [ ¬
  #howLong: [ #comment: "durée d'attente (1/60e seconde):"
  #format: #integer,
  #default: 10
  return propertyDescriptionList
end

on getBehaviorDescription
  return "garde la scène présente à l'écran en fonction de la durée spécifiée." 
End

Figure II-18 : Exemple de script dans Director
À tout moment de l'édition, l'auteur peut visualiser les objets présents dans son document (Figure II-19). De plus lors des opérations d'édition, le système donne des informations complémentaires à l'auteur : par exemple dans la Figure II-17, lorsque l'auteur manipule un objet dans la vue de présentation, le système affiche des informations : coordonnées absolues de l'objet ainsi qu'un conseil pour réaliser une opération.

Director Objet

Figure II-19 : Vue objet de Director

Director est un environnement d'édition complet, qui, à partir des informations auteur, génère un fichier compilé, qui servira de support à l'exécution du document. Ce fichier contient des informations spécifiques au système d'exploitation pour lequel il est destiné. Cette approche limite donc la portabilité du document produit. Ce qui dans le cas de Director limite la diffusion du document, étant donné qu'il n'existe pas de machine de présentation sur tous les systèmes d'exploitation. On peut noter que l'environnement ne fournit aucun moyen d'accéder aux informations liées aux périphériques de présentation. Il est donc impossible à l'auteur de faire des documents adaptables sans intervention du lecteur.

Par rapport aux différents formalismes présentés précédemment, Director offre donc à la fois une édition via un formalisme absolu et via un formalisme à base d'un langage de programmation. Cette double combinaison est intéressante du point de vue de l'expressivité, néanmoins dans les deux cas, elle rend difficile la maintenance du document au cours du cycle d'édition.

Du point de vue du cycle d'édition, l'aspect important dans Director est la présence d'une vue temporelle qui permet à l'auteur d'avoir une idée des enchaînements de son document.

4.3.2 Grins

Grins est un éditeur de documents SMIL qui est issu des travaux menés par l'équipe du CWI d'Amsterdam autour de CMIFed [Hardman93]. Il est en cours de commercialisation par la société Oratrix. Grins permet à l'auteur de spécifier de manière indépendante les informations spatiales et temporelles.

Cet éditeur est composé de quatre vues :

Grins regions
Figure II-20 : Grins : vue hiérarchique et vue des régions

L'édition au sein de Grins se fait essentiellement en 3 étapes :

Grins temporel
Figure II-21 : Grins, vue temporelle
Grins permet de spécifier un document de façon relative, avec la possibilité de définir des événements entre les objets (dans la limite de ce que permet SMIL 1.0).

Par exemple, l'édition temporelle qui est basée sur une structure d'arbre d'opérateurs se fait dans une vue hiérarchique, le placement temporel résultant sera ensuite visualisé dans une vue temporelle qui représente sur des axes horizontaux le placement des objets. L'auteur peut à ce moment raffiner sa spécification à l'aide d'arcs de synchronisation. Ils permettent de lier le début ou la fin d'un objet au début ou à la fin d'un autre objet (c'est équivalent au placement d'attribut begin et end relatif).

Du point de vue de l'auteur, on ne peut pas manipuler la vue temporelle pour ajuster directement le placement des objets en modifiant ainsi interactivement les arcs de synchronisation et la valeur des attributs begin et end. Notons que Grins n'offre pas de service d'aide au formatage, l'auteur doit donc spécifier explicitement les durées sur les objets.

On peut aussi remarquer que le formalisme d'édition de Grins est complètement lié à celui du langage SMIL, ce qui par exemple, pour la dimension spatiale, limite beaucoup les facilités d'édition de l'auteur qui est, dans ce cas, obligé de placer les objets de manière absolue.

Les deux aspects importants de l'édition offert par Grins sont la visualisation de la structure d'opérateurs combinée avec une visualisation des informations temporelles dans la vue hiérarchique, ainsi que l'édition des attributs spatiaux par manipulation directe.

4.3.3 Madeus-97

Madeus, éditeur développé au sein du projet Opéra, permet d'éditer des documents multimédias spécifiés à l'aide de relations spatiales et temporelles entre les objets. La première version de Madeus (en 1997) a été réalisée par Nabil Layaïda et Loay Sabry au cours de leurs thèses [Layaïda97, Sabry99]. Depuis, ce prototype ne cesse d'évoluer et nous en présenterons une version récente qui inclue les travaux de cette thèse dans le chapitre VI.

Nous allons présenter dans cette section la version de Madeus au début de cette thèse. L'environnement auteur se compose essentiellement d'une vue présentation (Figure II-22 a) et de palettes (Figure II-22 b et Figure II-22 c), qui permettent à l'auteur de spécifier des relations temporelles ou spatiales entre les objets du document, après les avoir sélectionnés dans la vue de présentation. La vue de présentation est à la fois une vue dans laquelle l'auteur peut jouer son document et aussi une vue d'édition puisque l'auteur peut définir le placement des objets en déplaçant ceux-ci directement à l'écran.

Madeus
Figure II-22 : Les différentes vues de l'environnement Madeus-97

L'objectif était d'intégrer le WYSIWYG le plus possible tout au long du processus d'édition. L'environnement auteur de Madeus est une des premières réalisations d'un environnement d'édition /présentation intégré.

Dans la version Madeus-97, les principales lacunes du point de vue de l'édition sont :

Nous verrons que nous apporterons par la suite une réponse aux deux premiers points.

4.4 Synthèse sur les environnements d'édition

Dans cette section, nous avons pu voir qu'il existait aujourd'hui de nombreux outils auteur de documents multimédias. Cependant ces outils ne permettent pas de fournir un bon compromis entre : pouvoir d'expression et simplicité d'édition, même si un outil comme Grins offre des services d'édition avec des services de visualisation d'informations temporelles qui semblent intéressants et prometteurs. Parmi les systèmes d'édition, l'auteur a aujourd'hui le choix entre :

5 Conclusion

5.1 Bilan des approches de spécification et d'édition

On s'aperçoit aujourd'hui qu'il existe un lien très fort entre le formalisme d'édition et les facilités offertes à l'auteur. L'auteur a le choix entre : De l'étude des sections précédentes, on peut en conclure le récapitulatif de la Figure II-23. La partie édition des formalismes a été obtenue en se basant sur un environnement (fictif ou réel), manipulant directement les concepts de l'approche. Par exemple une édition basée sur une vue hiérarchique, dans le cas d'arbre d'opérateurs, ou une édition via une vue temporelle pour les approches absolues,

De cette figure, on peut noter les éléments suivants :

Les parties grisées sont les parties qui nous semblent les plus significatives.
 
Besoins
Approches
 
Formalismes
Outils
 
Absolu
Progr.
Evén.
Relation
Director
Smil Wizard
Grins
Madeus-97
Expressivité                
Médias
+
++
++
++
++
+
+
+
Interactions
-
++
++
+
++
-
+
+
Simplicité                
Instructions
-
++
++
+
++
-
+
-
Structure
-
+
+
++
-
-
+
++
Adaptation
-
++
++
++
-
-
+
++
Modification
-
-
-
++
-
-
-
+
Edition                
Visualisation
++
-
-
+
+
+
+
+
Fonction d'édition
-
-
+
++
-
+
+
+
Présentation
+
+
+
++
+
+
+
+
Cohérence
++
-
-
++
++
++
+
++
Cycle d'édition
-
-
-
++
-
-
+
++
Vie du document
-
-
+
++
-
-
-
-

Figure II-23 : Récapitulatif de la satisfaction des différents besoins


5.2 Choix d'un formalisme d'édition

Aujourd'hui, tous les formalismes de spécification de documents multimédias permettent de définir des langages avec à peu près le même pouvoir d'expression si l'on considère que tous les objets sont déterministes.

On peut en effet, spécifier tous les documents sous une forme absolue avec des liens. Pour cela, on explicite toutes les exécutions possibles, exécutions qu'on relie par des liens. On peut noter que de tels documents contiennent plusieurs présentations possibles suivant les liens parcourus. De ce fait le critère de pouvoir d'expression est peu discriminant dans la réalisation d'un environnement auteur si l'on considère des documents indéterministes avec navigation. L'aspect important est donc la facilité de description du comportement temporel et spatial.

Au cours de cette thèse, nous nous intéresserons essentiellement aux documents déterministes avec de la navigation (section 2.1.1). Au cours des chapitres suivants nous étudierons l'édition et les services que peut fournir un système d'édition pour aider l'auteur dans ce contexte. Nous ferons à la fin de la thèse des propositions pour généraliser les travaux réalisés aux documents contenant de l'indéterminisme.

5.3 Bilan des besoins non satisfaits

Parmi les besoins peu satisfaits à l'heure actuelle, ceux qui nous semblent les plus importants dans un processus d'édition complet, sont la facilité de modification du document et la visualisation des informations contenues dans le document. Les approches relationnelles semblent offrir aujourd'hui les meilleures capacités pour répondre à ces besoins, de par la flexibilité intrinsèque de ces approches. Cependant les outils actuels n'offrent pas de facilité d'édition pour exploiter cette souplesse. Par exemple, aucun système auteur n'offre une édition par manipulation directe avec maintien des relations.

De plus, les outils actuels sont souvent des éditeurs de langage sans être réellement des outils auteur, car ils n'offrent que peu d'aide à l'auteur et qu'ils n'automatisent que peu de tâches (formatage, détection des incohérences).