L’évolution du drag-and-drop

Le mur-écran

   Le mur-écran (figure 1) est un nouveau dispositif d’affichage conçu pour mettre en pratique des techniques de visualisation et d’interaction innovantes. Le mur-écran se compose de :
• Une surface de projection – le mur – sur laquelle sont rétro-projetées des informations diverses susceptibles d’être utilisées à n’importe quel moment, et
• Un ou plusieurs écrans classiques servant plus particulièrement pour la tâche spécifique sur laquelle un utilisateur travaille. La surface de projection est de plus dotée d’un dispositif de pointage direct permettant aux utilisateurs d’interagir directement avec les éléments affichés sur la surface. Les principaux points forts du mur-écran sont :
• Une augmentation et une structuration de la surface d’affichage : avec le mur-écran l’espace d’affichage augmente de manière significative en taille en même temps qu’il change de nature et offre ainsi de nouvelles possibilités d’organisation pour l’espace de travail.
• La rapidité d’accès à l’information : les informations affichées sur le mur sont accessibles directement soit par le biais de dispositif de pointage direct sur le mur soit par l’utilisation plus classique d’une souris.
• La coopération et le partage des informations : l’espace d’affichage mural offre des possibilités de coopération qui peuvent difficilement être mises en oeuvre avec un affichage à l’écran. En effet, les informations affichées sur le mur sont susceptibles d’être utilisées, débattues, organisées par plusieurs utilisateurs soit de manière synchrone – lors de réunions s’appuyant sur des informations affichées à l’écran – soit de manière asynchrone – pour le partage d’informations importantes dans un groupe par exemple

Notation UDP/C

   Dans l’objectif de caractériser les systèmes utilisant des pointeurs multiples, Lecolinet [2003b] a introduit la notation UDP/C. Bien que ces travaux s’intéressent essentiellement au partage des dispositifs d’entrée, les dispositifs de sortie sont également pris en compte car leur configuration peut influer sur l’utilisation des dispositifs d’entrée. La notation UDP/C utilise les abréviations suivantes : U pour utilisateur, C pour unité centrale (computer ), D pour dispositif d’affichage (display) et P pour pointeur. Ainsi, une configuration de bureau mono utilisateur classique sera notée 1-1-1/1 (un utilisateur ayant à sa disposition un écran et un pointeur sur cet écran et travaillant sur une unité centrale). Cette notation permet une caractérisation assez complète des différentes configurations que l’on peut rencontrer, qu’elles mettent en oeuvre plusieurs dispositifs d’entrée, plusieurs dispositifs de sortie ou encore plusieurs utilisateurs. Cependant, certains aspects fondamentaux n’apparaissent pas au travers de la notation UDP/C. Par exemple, si l’on place plusieurs configurations classiques telles que définies dans le paragraphe précédent (1-1-1/1) côte à côte, on obtient une configuration qu’il est possible de noter N-N-1/N (N utilisateurs utilisant N affichages, chaque affichage ne disposant que d’un seul pointeur. Le tout s’exécutant sur N unités centrales). On pourrait également dire qu’une telle configuration est la combinaison de N configurations de type 1-1-1/1. Ceci est un exemple d’une configuration pour laquelle il est difficile de choisir une notation UDP/C. Il est également fréquent de se confronter à ce genre de dilemme lorsqu’il faut opter pour une cardinalité N ou * pour une des composantes U, D, P ou C. En effet, dans un système N-N-1/N, si une des machines possède deux affichages, les N de D et de C deviennent différents. Faut-il alors utiliser la notation N-*-1/N ou N-N-1/*.

Multiplexage au niveau des dispositifs d’entrée

   On parle de multiplexage des entrées lorsque plusieurs dispositifs de saisie de même type agissent simultanément sur le même espace de travail. Les systèmes d’exploitation actuels ne permettent pas de gérer correctement plusieurs dispositifs de saisie de même type. En effet, lorsque plusieurs dispositifs de saisie sont connectés sur une machine disposant d’un système d’exploitation courant (Microsoft WindowsTM, MacOS X TMou Linux ), les évènements sont mélangés sans prendre en compte le dispositif qui a émis un évènement. Un exemple très courant est le cas d’un ordinateur portable disposant d’un pavé tactile et auquel on connecte une souris. Les deux systèmes de pointage commandent le même pointeur. Et, du point de vue d’un logiciel, il n’est pas possible de savoir de quel dispositif provient un évènement.

X-Window

   X-Window est un système de fenêtrage qui fournit les outils et un protocole standard pour construire des interfaces graphiques. Bien qu’il ait été originellement développé pour les systèmes Unix, pratiquement tous les systèmes d’exploitation actuels (Microsoft WindowsTM, MacOS X TM, Linux ) supportent X-Window. Il est basé sur un modèle client-serveur : Un serveur X s’exécute sur une machine qui dispose de dispositifs de saisie et d’au moins un dispositif d’affichage et communique avec un ensemble d’applications clientes. Le serveur accepte les requêtes d’affichage des clients et leur envoie les commandes de l’utilisateur (évènements souris et clavier). Le modèle client-serveur de X-Window peut paraître déconcertant du fait que le serveur s’exécute sur la machine de l’utilisateur et que le client peut s’exécuter sur une machine distante. C’est la situation contraire d’une interaction client-serveur classique. Le point fort de X-Window est de disposer d’un protocole de communication entre le client et le serveur qui soit transparent sur un réseau exemple sur la figure I.10. Il n’est cependant pas aisé de changer de serveur pour un client donné. C’est-à-dire qu’il n’est, a priori, pas possible pour une application cliente de se déconnecter d’un serveur X, puis de se reconnecter à un autre serveur X. La connexion entre le client et le serveur X se fait lors du lancement de l’application cliente et ne cesse qu’à l’arrêt de cette application. Les communications entre le serveur et les clients X ne se résument pas à des données bitmap. Un ensemble de primitives graphiques simples sont utilisées pour dessiner une interface utilisateur. Par exemple, l’affichage d’une ligne se traduit par l’appel de la primitive XDrawLine() par le client et l’exécution de cet primitive se fera sur le serveur X c’est à dire, la machine de l’utilisateur. X-Window met donc en place la redirection des entrées et des sorties. Les serveurs X classiques permettent, de la même manière que Microsoft Windows TMou MacOS X TM, d’utiliser plusieurs affichages connectés sur la machine exécutant le serveur X. X-Window permet donc la séparation des sorties.

VNC

   Virtual Network Computing ou VNC [Li et al., 2000; Richardson et al., 1998] est un protocole pour se connecter à un ordinateur distant. Il existe plusieurs systèmes utilisant ce protocole (RealVNC, TightVNC, etc.) qui se décomposent en deux parties : le client et le serveur. Le serveur est le programme sur la machine qui partage son affichage et le client est le programme qui regarde et interagit avec le serveur. VNC est un système de fenêtrage virtuel dont l’objectif est de prendre le contrôle d’une machine distante. VNC est un protocole simple basé sur le réaffichage d’un rectangle de pixels à une position (x, y) donnée. Le serveur envoie donc des petits rectangles au client via une communication TCP/IP. Pour éviter une trop grande utilisation de la bande passante, il existe plusieurs formes d’encodage. L’encodage le plus simple est le raw encoding où les pixels sont transmis de gauche à droite par ligne, et après le premier écran transféré en totalité, seuls les rectangles qui changent sont envoyés. Cette méthode fonctionne très bien si seulement une petite partie de l’interface change d’une image à l’autre exemple : un pointeur de souris qui se déplace. Cependant, le système atteint ses limites lorsque tout l’affichage est en mouvement une vidéo en plein écran par exemple. VNC permet donc la redirection des entrées et des sorties mais est limité dans ses capacités de multiplexage. En effet, les capacités d’interaction entre l’espace de travail répliqué et l’espace de travail local sont quasiment inexistantes. Cependant, la plupart des implémentations de VNC autorisent le partage du presse-papier entre les machines serveur et clientes. Il faut noter qu’au niveau des sorties, VNC ne fait pas seulement de la redirection mais plutôt de la réplication puisque l’interface utilisateur est affichée sur plusieurs machines : la machine serveur et la ou les machines clientes. On peut également citer ici collaborative VNC [Levitt] qui est une variante de VNC permettant à plusieurs utilisateurs d’agir sur un même espace de travail. Tous les utilisateurs disposent de la même vue. Cette vue peut être contrôlée à tour de rôle par chacun des utilisateurs. Ce contrôle à tour de rôle ne permet pas de classer collaborative VNC dans la catégorie des systèmes faisant du multiplexage des entrées.

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela chatpfe.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

Introduction
1 Le mur-écran
1.1 Contexte mono utilisateur
1.2 Contexte multi utilisateurs
2 Les interactions 
3 Objectifs 
4 Structure du mémoire 
I. Partage des dispositifs d’entrée et de sortie
I.1 Introduction 
I.2 Caractérisation des systèmes 
I.2.1 Notation UDP/C
I.2.2 Surfaces et instruments
I.2.3 Distributed display environments
I.2.4 Redirection et multiplexage
I.2.5 Granularité des communications
I.2.6 Bilan
I.3 Systèmes mono utilisateur
I.3.1 PointRight et Synergy
I.3.2 Extension de Whizz
I.3.3 Extensions de l’affichage
I.3.4 RemoteJFC
I.3.5 INDIGO
I.3.6 EasyLiving
I.3.7 X-Window
I.4 Systèmes multi utilisateur 
I.4.1 VNC
I.4.2 Wincuts
I.4.3 Le projet Augmented surface
I.4.4 Logiciels collaboratifs synchrones
I.4.5 Single display groupware
I.4.6 Systèmes complets
I.5 Conclusion 
I.5.1 Récapitulatif
I.5.2 Niveaux d’abstraction
I.5.3 Nos critères de caractérisation
I.5.4 Bilan
II. Nouvelles techniques d’interaction 
II.1 Drag-and-drop 
II.1.1 Historique
II.1.2 Définition
II.1.3 Quand le drag-and-drop atteint ses limites
II.2 Evolutions du drag-and-drop 
II.2.1 Pick-and-drop
II.2.2 Shuffie, Throw or take it
II.2.3 Hyperdragging
II.2.4 Drag-and-pop & Cie
II.2.5 Drag-and-throw & push-and-throw
II.2.6 Stitching
II.3 Comparaison 
III. Un modèle instrumental pour la manipulation directe
III.1 Comparaison des implémentations du drag-and-drop 
III.1.1 Les étapes
III.1.2 MacOS/Carbon
III.1.3 X-Window/GTK+
III.1.4 Windows/OLE
III.1.5 Java/Swing
III.1.6 Structures de données et protocoles de transfert
III.1.7 Discussion
III.2 Modèle d’interaction instrumentale pour le drag-and-drop et ses évolutions
III.2.1 Principes de l’interaction instrumentale
III.2.2 Modèle d’interaction
III.2.3 Instruments et objets du domaine
III.2.4 Actions, réactions et feedbacks
III.3 Comparaison des instruments 
III.3.1 Actions
III.3.2 Réactions
III.3.3 Feedbacks
III.4 Vers un modèle d’implémentation unifié 
III.4.1 Principes
III.4.2 Modèle d’architecture
III.4.3 Support des environnements distribués
III.5 Conclusion
IV. Etude des performances des nouvelles techniques d’interaction
IV.1 Etude des méthodes de lancer 
IV.1.1 Implémentation des méthodes de lancer
IV.1.2 Etude
IV.2 Etude complète
IV.2.1 Candidats
IV.2.2 Etude – première partie
IV.2.3 Etude – seconde partie
IV.2.4 Discussion
IV.3 Conclusion
IV.3.1 Bilan
IV.3.2 La technique ultime
IV.3.3 Vers une généralisation de ces techniques
V. PoIP : Une API pour la manipulation directe 
V.1 Objectifs 
V.2 Généralités sur l’implémentation
V.3 Partage de surfaces 
V.3.1 Serveur de surfaces partagées
V.3.2 Topologie
V.3.3 Surface partagée
V.4 Manipulation directe 
V.4.1 Implémentation du modèle
V.4.2 Implémentation des instruments
V.5 Discussion sur l’implémentation
V.6 Conclusion 
VI. Orchis : Manipulation collaborative de signets
VI.1 Bookies : constitution d’une base de données 
VI.1.1 Objectifs
VI.1.2 Utilisation d’une folksonomie
VI.1.3 Système de recommandations
VI.1.4 Bilan
VI.2 Orchis : visualisation interactive
VI.2.1 Objectifs
VI.2.2 Manipulation de graphes de signets
VI.2.3 Orchis, une application collaborative
VI.2.4 Implémentation
VI.2.5 Bilan
Conclusion
1 Contexte multi surface 
2 Modèle d’interaction et expérimentations
3 Modèle d’implémentation et modèle d’interaction instrumentale 
4 Réalisation 
5 Perspectives 
5.1 Partage
5.2 Topologie
5.3 Gestion du Focus
5.4 Déploiement
5.5 Redirection, intégration et séparation des sorties
Annexe A. Activation à distance
1 Les alternatives 
1.1 Le drag-and-pick
1.2 Frisbee
1.3 TractorBeam
2 Pointer à distance 
2.1 Cible-vers-pointeur
2.2 Pointeur-vers-cible
3 Le drag-and-click
3.1 Précision
3.2 Activation de la technique d’interaction
4 Conclusion
Annexe B. Questionnaire

Rapport PFE, mémoire et thèse PDFTélécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *