• Aucun résultat trouvé

7.2.1 Réduction de l’effort mental de mémorisation des structures

Les environnements de développement intégrés comme XML Spy proposent souvent une vue gra-phique d’une instance de document à transformer sous la forme d’un arbre qui peut être développé (par exemple un JTree Java). Cette représentation graphique est très importante car elle permet à l’utilisa-teur d’avoir sous les yeux en permanence un exemple des structures qu’il doit manipuler au cours des transformations qu’il spécifie. Peu d’environnements proposent un équivalent pour les DTD ou les autres langages de schéma. Il n’est en effet pas possible de les représenter au moyen de simples arbres comme les JTree, et les représentations proposées sont complexes et gourmandes en espace d’affichage (screen real-estate). La majeur partie de cet espace devant être allouée à la représentation de la transformation, il n’est donc pas possible dans ces environnements de représenter simultanément la DTD (ou le schéma) et la transformation. Grâce à la représentation permanente d’une instance source dans son espace de travail, l’utilisateur n’a pas à maintenir en mémoire une représentation abstraite de la structure du document, ce qui contribue à la réduction de l’effort mental qu’il doit fournir. Cependant, la représentation graphique des instances est assez éloignée de la représentation (qui reste textuelle) de la feuille de transformation XSLT. Nous avons donc voulu dans VXT expérimenter une approche permettant de réduire encore plus l’effort mental à fournir, en tirant parti du fait que la transformation est elle-même exprimée visuellement. Le premier moyen pour arriver à ce résultat est l’utilisation d’un formalisme de représentation unifié pour les instances de documents, les DTD, et les règles de transformation. Ce formalisme a été étudié

Aspects cognitifs 189

Near & Far Designer [149]. Ceci nous permet de proposer à l’utilisateur la visualisation de documents sources mais aussi des DTD décrivant ces documents. Les deux types de structures sont visualisés en utilisant la variante des treemaps décrite dans le chapitre 4. La structure de graphe des DTD due à leur récursivité potentielle est cassée dans notre représentation afin de pouvoir représenter la DTD comme un arbre. Le problème de cette cassure dans la représentation statique est résolu en ne définissant le contenu d’un élément donné qu’une seule fois, lors de sa première occurence. Ses autres occurences sont alors vides2mais pointent dynamiquement sur la définition initiale, c’est-à-dire la première occurence dans la structure.

Les DTD et instances de documents pouvant être de taille très importante (voir par exemple les DTD pour SVG, MathML ou XHTML, ou encore celle qui réunit les trois [154]), nous avons choisi d’utiliser les capacités de zoom continu de la XVTM pour leur représentation. Les fonctions de zoom sont rendues nécessaires par l’utilisation d’une variante des treemaps, qui, par nature, assignent des tailles très petites aux nœuds situés profondément dans la structure, rendant leur visualisation difficile voire impossible si l’environnement n’a pas de capacité d’agrandissement local. Mais combiné à des fonctions de navigation et de recherche faciles à utiliser, le zoom continu permet à l’utilisateur de se déplacer rapidement dans la structure sans effort. De plus, la combinaison d’une représentation à base de treemap avec des fonctions de zoom continu représente d’une certaine manière un moyen intuitif de filtrer l’information visuelle-ment : là où dans un JTree Java l’utilisateur devrait manuellevisuelle-ment développer et réduire une par une des parties de l’arbre pour n’afficher que le contenu des nœuds qui l’intéressent, il suffit dans VXT de chan-ger l’altitude d’observation de la caméra. Par exemple, lors d’un zoom arrière, les nœuds très profonds disparaissent automatiquement mais la représentation révèle plus d’information sur les nœuds frères du nœud au centre de la vue, c’est-à-dire sur son contexte. Au contraire, un zoom avant aura tendance à développer le contenu du nœud au centre de la vue, le contexte de ce nœud disparaissant petit à petit (là aussi, les capacités de zoom continu sont très importantes car elles permettent d’ajuster de manière fine la région observée en fonction des besoins).

Enfin, le troisième moyen utilise les vues multi-couches de la XVTM (section 5.2.2) pour expérimenter une nouvelle manière d’utiliser l’espace de représentation. Sachant que nous désirons offrir à l’utilisateur

1Nous basons cette affirmation sur notre observation des différents formalismes et sur des éléments plus concrets comme le fait que notre représentation a besoin d’un nombre plus limité d’objets graphiques additionnels pour les DTD par rapport aux instances (nous avons surtout essayé de jouer sur les attributs visuels des objets existants). Il s’agit néanmoins d’une évaluation subjective puisque nous n’avons pas défini de métrique permettant de mesurer cette distance.

2Ceci est rendu nécessaire du fait de la recursivité qui nous obligerait autrement à représenter une structure infinie. Notons que cela serait possible grâce aux fonctions de zoom dans le cadre d’une représentation dynamique.

Aspects cognitifs 191 la représentation simultanée de la structure source et des règles de transformation, nous avons tenté de les combiner dans le même espace sur des couches différentes (idée de calques (layers)). La fenêtre VPMEs de la figure 7.1 illustre notre approche : une instance de document XML mail est représentée dans la couche inférieure (structure en niveaux de gris), alors que la couche supérieure contient l’ensemble des VPMEs composant la transformation (structures bleues). Ainsi, au lieu d’assigner deux fenêtres diffé-rentes pour la représentation de la structure source et de la transformation, nous proposons une approche différente du problème de représentation des transformations : l’espace de travail n’est plus décomposé en fonction des entités manipulées, à savoir les documents sources et les règles de transformation, mais en fonction des opérations à accomplir, c’est-à-dire le filtrage d’une structure source (sélection et extrac-tion de données) et la producextrac-tion d’un résultat. Nous allons maintenant voir comment cette représentaextrac-tion est mise à profit, au-delà de la réduction de l’effort mental de l’utilisateur, pour soutenir la métaphore des filtres visuels.

7.2.2 Métaphore des filtres visuels

Le modèle mental associé aux règles de transformation consiste en l’application sur un arbre de filtres dont la tâche est de sélectionner des parties de cet arbre en fonction de contraintes principalement structu-rales et d’extraire des données par rapport aux éléments sélectionnés. Ces données sont alors réorganisées et enrichies afin de produire les fragments d’une structure qui, une fois combinés, représentent l’arbre du document résultat de la transformation.

Nous avons essayé dans VXT d’utiliser des métaphores proches de ce modèle. La séparation de l’es-pace de travail en fonction des différentes opérations (filtrage et production) nous permet d’adapter la représentation pour ces métaphores. Nous nous concentrons ici sur la partie filtrage, spécifiée dans la fenêtre VPMEs (figure 7.1). Cette fenêtre est composée de deux couches dans lesquelles l’utilisateur peut naviguer de manière indépendante (i.e. un déplacement ou un zoom dans une couche n’entraîne pas de déplacement ou de zoom dans l’autre couche). La couche inférieure contient la représentation sous forme de treemap d’une instance de document source ou de la DTD correspondante. L’utilisateur peut aussi décider de ne rien afficher dans cette couche, puisque la présence d’une structure source n’est pas nécessaire pour la spécification de la transformation. La représentation de l’instance ou de la DTD dans la couche inférieure peut donc s’apparenter à un fond d’écran (background) dynamique qui assiste l’uti-lisateur dans sa tâche en l’affranchissant du poids cognitif lié à la représentation mentale de la structure à transformer.

Toutes les VPMEs (Visual Pattern-Matching Expression) composant la transformation sont regroupées dans la couche supérieure. Grâce à notre formalisme unifié pour la représentation des documents et des règles de transformation, les VPMEs sont visuellement proches des structures qu’elles sélectionnent, et même parfois identiques. Cette propriété, combinée à notre méthode d’affichage en couches superposées, invite alors l’utilisateur à considérer les VPMEs comme des filtres (ou masques) visuels qu’il applique sur une structure. Il peut en effet sélectionner une VPME particulière et la déplacer au-dessus de la structure source. Elle donne alors l’impression de s’adapter à certaines parties de la structure, qui correspondent à ce que la VPME va effectivement sélectionner dans le document (figure 7.2).

FIG. 7.2 : Filtrage visuel analogique : superposition d’un filtre et d’une instance

La représentation en couches superposées pose cependant le problème de l’interférence visuelle qui peut se produire entre les deux représentations (difficulté de différentiation, sur le plan visuel, des objets des différentes couches, voir section 3.1.2). A. Blackwell propose avec SWYN [26] un environnement dans lequel une expression régulière textuelle est représentée au-dessus du texte sur lequel elle est appli-quée. L’expression régulière utilise des couleurs vives alors que le texte source est noir. Cette technique permet de différencier assez facilement les deux entités. Nous proposons ici de minimiser encore plus l’interférence visuelle en appliquant le principe des contrastes minimaux de Tufte [211] : les objets de la couche active sont représentés au moyen de couleurs vives très contrastées alors que ceux de la couche inactive (à l’arrière-plan) utilisent des tons de gris peu contrastés. La figure 7.2 illustre ce principe : lors de l’édition des filtres, les VPMEs (dans la couche active) utilisent des tons de bleu vifs, alors que le document source est représenté par des niveaux de gris discernables mais assez peu contrastés pour ne pas interférer avec les structures au premier plan (foreground). Si l’utilisateur passe en mode de navi-gation dans le document source, celui-ci est rendu avec des couleurs plus contrastées, les VPMEs étant soit cachées soit rendues avec un contraste minimal (elles restent cependant dans ce cas dans la couche supérieure). Cette technique contribue de manière importante à la minimisation du phénomène d’inter-férence visuelle. D’autre part, la possibilité de naviguer dans les couches de manière indépendante et à tout moment3offre une autre manière de différencier les structures appartenant aux deux couches.

7.3 Édition des règles