La ville représentée et les procédés de représentation interne dans
Transcription
La ville représentée et les procédés de représentation interne dans
1 La ville représentée et les procédés de représentation interne dans un logiciel-auteur multimédia Comment représenter un sujet grâce aux possibilités offertes par un logiciel-auteur multimédia, donc comment utiliser au mieux les combinaisons offertes par les langages de script pour donner l’idée la plus riche possible du thème traité ? Cette adéquation de l’instrument et de l’expression suppose que le support informatique et le contenu s’adaptent mutuellement et qu’ils sont conçus ensemble par le même groupe de personnes. Le présent exposé s’appuie sur l’expérience d’une réalisation multimédia, le CD-ROM Georgian Cities / Villes en Grande-Bretagne au XVIIIe siècle , avec le logiciel Director.1 Ce CD-ROM vise à étudier le thème de la ville de manière à montrer les possibilités de l’hypermédia pour développer une vision transdisciplinaire d’un sujet :2 il traite de Bath, Edimbourg, Londres, et il contient des cartes menant à des vues de sites architecturaux, des sections sur la vie musicale accompagnés d’extraits sonores, des va-et-vient entre des textes et des illustrations, de telle façon que l’interface (liens, transitions) soit évocatrice du thème traité, ainsi pour les effets visuels d’animation qui accompagnent les illustrations des extraits littéraires selon leur rythme. DEFINITIONS 1 Sous la direction de Liliane Gallet-Blanchard, avec Françoise Deconinck-Brossard, Jacques Carré, MarieHéléne Thévenot-Totems (Centre Cultures Anglophones et Technologies de l’Information, Presses de l’Université de Paris-Sorbonne, http://perso.wanadoo.fr/catiweb). 2 Voir Liliane Gallet-Blanchard et Marie-Madeleine Martinet, « The Hyperspace of the Enlightenment: Design Issues of Structure, Interface and Navigation in the Creation of a Hypermedia CD-ROM on Georgian Cities “, Proceedings of the Conference Digital Resources in the Humanities 98 (London: Centre for Computing in the Humanities, 2000), et FDB Dublin. 2 Le logiciel-auteur comprend plusieurs types de fenêtres, la principale, dans laquelle se fait une grande partie du travail, s’appelant score (partition de musique) ; c’est une suite de colonnes dont chacune représente un écran du CD-ROM tel qu’il sera vu par l’utilisateur, les diverses cellules superposées dans cette colonne contenant chacune un élément – image, légende, …, avec pistes spéciales pour le son. En plus de cette intégration des divers documents, il convient de les relier entre eux grâce au langage de script nommé Lingo , qui permet soit d’aller d’un écran à un autre, soit de produire un événement dans un écran (par exemple faire apparaître un nouveau dessin en surimpression sur un schéma déjà existant, facsimile d’un texte côté de la transcription, ou miniature d’un bâtiment sur un plan surgissant quand la souris passe sur son nom). Les scripts Lingo se composent de trois éléments : (1) un début de gestionnaire tel que on enterFrame3 ou on mouseUp indiquant ce qui doit déclencher l’action souhaitée (par exemple, dans le deuxième cas, un clic de souris), (2) une instruction a rédiger selon le code Lingo (par exemple faire apparaître une image, qui se dira : set the visible of sprite [numéro de piste de cette image] to TRUE ), et (3) une conclusion qui est le mot end. Il peut y avoir des instructions conditionnelles fixant que l’instruction doit être exécutée seulement si une condition est remplie ; elle contient deux parties : if… then…, et une conclusion end if qui doit précéder la conclusion ordinaire end. Dans les scripts on peut combiner plusieurs composants, les écrans, et à l’intérieur les éléments comme images etc. Certains des ces éléments ont une caractéristique importante, ce sont les champs – textes qui sont en plus éditables c’est-à-dire dont le texte peut se 3 Les citations de scripts sont indiquées par un changement de police pour éviter les guillemets qui pourraient créer la confusion ; le lecteur pourrait croire qu’ils ne servent pas à séparer le texte de la citation, mais qu’ils en font partie et qu’il faut donc les reproduire ; or les guillemets dans un script ont un sens précis qu’il ne faut pas confondre (ils servent à introduire les repères d’écran ou les noms de cast members, exclusivement, et ne doivent pas être utilisés dans les exemples qui suivent sur des cas différents). 3 modifier, soit sur commande d’un script (contenant l’instruction que si telle condition est remplie le champ doit afficher tel texte…), soit parce que l’utilisateur écrit au clavier un texte qui apparaît dans le champ fait pour cela. Les scripts peuvent aussi faire référence aux propriétés – eg. la couleur d’arrière-plan : si on souhaite que le fond d’un mot se colore pour qu’il soit surligné selon certaine condition, on crée un script fixant dans quel cas la couleur d’arrière-plan du mot change ; dans le présent CD-Rom, les diverses sections ont un plan de site, contenant la table des matières de la section, et chaque fois que l’utilisateur y retourne, le titre du chapitre d’où il vient se surligne en couleur, lui permettant de se situer. Une autre propriété est la position verticale ou horizontale : un script peut faire référence à la position d’un objet (à partir du haut, et de la gauche) et la modifier. Un autre élément que les scripts peuvent utiliser est les fonctions – partie de code qui renvoie un nombre eg. the MouseV donnera la position de la souris à partir du haut en pixels. Dans le cas présent, un écran sur l’architecture montre un bâtiment de Bath avec les ordres d’architecture superposés, l’utilisateur pouvant cliquer à divers endroits de l’image pour faire apparaître à côté en gros plan le détail d’architecture sur lequel il clique ; cet effet est obtenu par un script faisant ainsi référence à la position de la souris sur la vue d’ensemble au moment du clic pour faire à chaque fois placer de façon correspondante les vues en gros plan. Enfin les scripts peuvent utiliser des éléments créés par nous nommés variables4; ce sont des mots que vous créez, qui ne sont pas préexistants en Lingo et que vous définissez d’après des mots déjà existants (eg. propriétés); elles représentent une notion qui peut s’appliquer à divers éléments d’une série, l’élément présent variant selon les cas et les substitutions d’éléments dans la variable étant commandées pas les scripts qui les modifient 4 Variable: A unit of storage that can be modified during program execution, usually by *asssignment or read operations. Assignment: A fundamental statement of all programming languages… that assigns a new value to a variable (définitions Oxford Dictionary of Computing). 4 selon une action spécifiée (clic de souris, déplacement etc) . Ces variables peuvent renvoyer à des éléments tels qu’un écran (dans le présent CR-ROM, le bouton Return to Map fonctionne avec un script dans lequel la référence au plan est une variable qui se modifie suivant le circuit, renvoyant toujours au plan visité en dernier). Les variables peuvent aussi, comme en algèbre, renvoyer à des nombres, et les scripts peuvent commander de faire des calculs sur elles. On combine ces divers éléments par des scripts : eg. une instruction et une variable (selon l’instruction, la variable se modifie), ou une fonction (position de souris) déterminant une propriété (position d’une image), ou une condition de fonction (intersection de deux éléments mobiles) commandant la modification d’un champ, ainsi dans un écran à propos d’un personnage de roman qui se promène dans Londres, où selon que l’icône le représentant est déplacée par l’utilisateur sur diverses zones du plan, la partie correspondante du texte apparaît dans des champs préparés pour recevoir ces phrases. QUELQUES MISES EN PRATIQUE DE COMBINAISONS ou : comment avec des codes et des calculs en coulisse, représenter sur scène toutes les activités possibles, par exemple l’escalade de la Fontaine de Trevi. On peut transposer des types de codes à partir d’un modèle, selon les analogies utiles. Comment se repérer sur la carte d’Afrique ? un exemple donné dans le manuel fait par l’auteur de Lingo est celui d’une carte d’Afrique, où un nouvel élément apparaît sur la carte générale quand on y retourne après avoir visité l’un des pays, pour indiquer la position de ce dernier : en fait cet élément remplit un champ éditable préparé à cette fin.5 C’est le procédé qui a été adapté pour la carte de site citée plus haut. 5 John Thompson ‘J.T.’ and Sam Gottlieb, Macromedia Director Lingo Workshop: The Complete Resource to the Lingo Scripting Language (Indianapolis: Hayden, 1995), Chapter 7 « Text Fields », 107 sq. 5 Comment escalader la Fontaine de Trevi ? l’exemple est pris dans le cdrom Rome baroque6 où l’utilisateur peut se situer à divers niveaux de la fontaine . C’est ce qui a été adapté pour l’écran des ordres d’architecture à Bath cité plus haut (fonction de la position de la souris et propriété d’objet, c’est-à-dire place verticale du détail) reliées par un calcul : Dans cette copie de l’écran de travail, on voit au-dessous l’écran tel que le voit l’utilisateur, et deux fenêtres de travail ouvertes : à droite le score défini plus haut, à gauche le script définissant l’opération précitée. 6 Hervé Loilier, Rome Renaissance et Baroque (Paris : Ecole Polytechnique, 1998). 6 Comment construire un pont en pente à Edimbourg ? C’est ici une combinaison de champs et d’un calcul : dans le champ ’’ level’’ l’utilisateur inscrit un nombre de son choix représentant la dénivellation, puis clique sur le bouton de calcul, faisant apparaître la distance correspondante à parcourir. On voit trois fenêtres superposées : le score, au-dessous le bouton de calcul, et encore au-dessous le script fixant que le nombre inscrit par l’utilisateur dans le champ ‘’level’’ doit être multiplié par 16 et le résultat inscrit dans le champ ‘’slope ‘’. 7 Les scripts fonctionnent par lignes de codes encastrées, comme dans cet exemple où le carrosse peut être traîné par l’utilisateur, ses positions verticales et horizontales successives apparaissant dans les cadres, ce qui est représenté par les lignes du milieu ; mais l’ensemble doit être encadré des lignes de code utilisées pour tous les écrans, on exitFrame go to the frame end (go to the frame étant nécessaire lorsqu’un élément est mobile). If rollOver (le numéro étant celui du carrosse, signifiant que le script doit être exécuté si l’utilisateur traîne le carrosse) doit être suivi de then et être rappelé en clôture par end if. Le script de répétition repeat qui suit le if doit de même être clos par end repeat qui 8 précède donc end if. Puis UpdateStage permet aux chiffres de s’inscrire immédiatement. Le script de contrainte plus bas oblige l’utilisateur à déplacer le carrosse uniquement dans la zone du tablier du pont. A l’intérieur de tout ceci se trouve la partie essentielle : la déclaration de variable set measure=the locH of sprite 17-62 (signifiant que l’on crée une variable nommée measure qui prendra toutes les valeurs successives de la position horizontale du carrosse mobile, moins 62 puisque le carrosse part d’une distance initiale de 62 pixels par rapport à la marge), puis le script commandant d’inscrire cette valeur dans un champ (après multiplication par 5/4 pour mettre à l’échelle les pieds par rapport aux pixels), et la valeur obtenue pour la dénivellation verticale (après multiplication par la pente) dans le deuxième champ. 9 on exitFrame if rollOver (17) then repeat while the mouseDown set measure=the locH of sprite 17- 62 put measure*5/4 into field "BridgeMeasure" put measure*5/64 into field "BridgeVert" updateStage end repeat end if set the constraint of sprite 17 to 13 go to the frame end Ainsi les analogies épistémologiques apparaissent : des effets visuels peuvent correspondre à du code s’appliquant à un champ texte, et des scripts imités d’ écrans de cartographie – la carte d’Afrique – se transposent ici pour une table des matières– le plan de site ; un modèle évoquant les flottements de la Rome baroque (l’animation de la fontaine de Trevi) sert de modèle pour un écran sur la grammaire des styles classiques, ces deux cas faisant appel à la fonction de position de la souris. Des rapports sont ainsi établis entre texte, image, calcul, l’élément qui les lie étant l’action de l’utilisateur. C’est par l’analogie des éléments de code Lingo que les modèles peuvent ainsi se transposer, en un échange triangulaire de l’exemple, du code et de l’imitation, mais des trois le code reste caché à l’utilisateur quand dans la Fontaine de Trevi se trouve l’inspiration pour l’analyse de Bath . Marie-Madeleine Martinet