Le futur des boîtes à outils

Documents pareils
Architecture générale des interfaces graphiques. IHM: Fondements des Interfaces Graphiques. Applications. Outils de construction d interfaces

Cours. Cours 8 : Révisions. Importance. Interface homme-machine

Interface Humain-Machine

ACCUEIL / Introduction. Introduction. Présentation de StarBoard Software Éléments de l écran Guide de démarrage rapide

Placez vous au préalable à l endroit voulu dans l arborescence avant de cliquer sur l icône Nouveau Répertoire

MODE D EMPLOI DU GESTIONNAIRE DE L ESPACE PERSO DES MEMBRES DE LA SLIAI

AUVRAY Clément (168187) HOMBERGER Alexandre (186897) GLADE. Langages, outils et méthodes pour la programmation avancée Page 1 sur 12

CSI351 Systèmes d exploitation Instructions pour rouler Linux avec Virtual PC dans la salle de labo 2052

Interface Homme-Machine 1

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Introduction à Eclipse

Diagrammes de Package, de déploiement et de composants UML

PRISE EN MAIN D UN TABLEUR. Version OPEN OFFICE

Utiliser Freemind à l'école

Windows Internet Name Service (WINS)

Installation et paramétrage. Accès aux modèles, autotextes et clip- art partagés

INTRODUCTION GENERALE...1 LA CONNEXION ODBC :...1. CONNEXION AU TRAVERS D EXCEL(tm)...6. LOGICIEL QUANTUM GIS (Qgis)... 10

Utiliser un tableau de données

Introduction aux concepts d ez Publish

Votre premier projet Android

Vérifier la qualité de vos applications logicielle de manière continue

Ajouter un cache SSD à son ordinateur

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

GI81 : Réseaux & Travail Collaboratif Partie I : Travail Collaboratif

Tapez le titre de la page «BASTIA ville méditerranéenne», puis allez deux fois à la ligne à l aide de la touche Entrée.

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES

Projet Active Object

Conception des systèmes répartis

Importation et exportation de contenu

UNIVERSITE DE CONSTANTINE 1 FACULTE DES SIENCES DE LA TECHNOLOGIE DEPARTEMENT D ELECTRONIQUE 3 ème année LMD ELECTRONIQUE MEDICALE

Installer les Pilotes USB

EXCEL Les tableaux croisés dynamiques

Microsoft Windows XP. Movie Maker 2

Installation de GFI Network Server Monitor

Publier un Carnet Blanc

Iyad Alshabani SysCom - CReSTIC Université de Reims 17/02/2011 1

Crédit Agricole en ligne

Présentation du Framework BootstrapTwitter

Ouvrir le compte UQÀM

Navigation dans les fichiers de configuration 1

Table des matières Avant-propos... V Scripting Windows, pour quoi faire?... 1 Dans quel contexte?

Note Technique. 1. Objectif. 2. Prérequis. 3. Installation

EXEMPLE DE PAGE : FORMAT A4 (210X297)

Manuel d utilisation du site web de l ONRN

Comment accéder à d Internet Explorer

Partage avec collaboration Important : Ce type de partage exige la connexion à un serveur CmapServer.

Dossier I Découverte de Base d Open Office

ANGULAR JS AVEC GDE GOOGLE

Introduction à Expression Web 2

Programme ASI Développeur

ESPACE MULTIMEDIA DU CANTON DE ROCHESERVIERE

Plateforme takouine: Guide de l apprenant

Création d installateurs pour Windows avec InnoSetup

Support de TD ArcGIS Introduction à l automatisation et au développement avec ArcGIS 10.1 JEAN-MARC GILLIOT e année ingénieur

Manuel utilisateur «VisioJeunes»

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Activité 11 : Nuage de points ou diagramme de dispersion

Le meilleur de l'open source dans votre cyber cafe

Générer du code à partir d une description de haut niveau

Notes de mise à jour. 4D v11 SQL Release 2 (11.2) Notes de mise à jour

Utilisation du logiciel ModellingSpace

BIRT (Business Intelligence and Reporting Tools)

Créer un site Web : mode d emploi Sous SPIP, avec le squelette «établissement» de l académie de Versailles

Publier dans la Base Documentaire

TRAFFIC EXPERT. LA SOLUTION INTELLIGENTE POUR LES SYSTEMES DE GESTION DE TRAFFIC L expérience de STERIA à SINGAPOUR. Nabil DJEMAME (Steria)

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Emporter Windows XP sur une clé USB

Le Guide Pratique des Processus Métiers

ALERT NOTICE D UTILISATION DU DRIVER SIA

26 Centre de Sécurité et de

Formation tableur niveau 1 (Excel 2013)

PRÉSENTÉ PAR : NOVEMBRE 2007

Utiliser le service de messagerie électronique de Google : gmail (1)

Windows. Préparation. Windows

Les Enseignants de l Ere Technologique - Tunisie. Niveau 1

Avant-propos FICHES PRATIQUES EXERCICES DE PRISE EN MAIN CAS PRATIQUES

TRAAM STI Acquisition et exploitations pédagogiques des données sur un système pédagogique

INSCRIPTION EN LIGNE COMMENT ÇA MARCHE?

Utilisation de la carte d'identité électronique. Services en ligne de la Région wallonne.

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Découverte des applications de la suite

2 - VMWARE SERVER.doc

Concevoir des applications graphiques interactives distribuées avec INDIGO

Installation et compilation de gnurbs sous Windows

Introduction aux Bases de Données Relationnelles Conclusion - 1

< Atelier 1 /> Démarrer une application web

Dans la série LES TUTORIELS LIBRES présentés par le site FRAMASOFT. Compression - Décompression avec 7-Zip. Georges Silva

Logiciels E.Set, E.View et E.View+

Programmation Objet - Cours II

Les données d un jeu sous Shadow Manager

Utilisation d une tablette numérique

Introduction 2 - Précaution 2 - Caractéristiques techniques 2 - Contenu 3

Travaux pratiques Détermination de la capacité de stockage des données

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

11 Février 2014 Paris nidays.fr. ni.com

Syfadis. > Configuration du poste client. Nous vous aidons à réussir. REFERENCE : Syfadis LMS - 20/06/2007. AUTEUR : Equipe technique Syfadis

Guide du Pilote d Imprimante Universel

Styler un document sous OpenOffice 4.0

eurobraille VOYONS ENSEMBLE MANUEL D'UTILISATION WIFI iris 40, 20 iris-s 32, 20 iris-kb 40,20 VERSION 1.82

Manuel de System Monitor

Transcription:

Le futur des boîtes à outils Atelier IHM - Anglet Michel Beaudouin-Lafon mbl@lri.fr - insitu.lri.fr Pourquoi des boîtes à outils? Instrument de la recherche en IHM Besoin d outils pour expérimenter Objet de recherche Réification des concepts d architecture logicielle Vecteur de transfert Faciliter l usage de nouvelles techniques d IHM dans les produits commerciaux 1

La France en pointe France Xtv Whizz Ubit ICON MaggLite Infovis tk HsmTk IntuiKit Metisse SwingStates... Reste du monde Xt Garnet Amulet SubArctic GroupKit Swing Jazz Qt Prefuse d.tools... Quels types de boîtes à outils? Boîtes à outils d interface graphique Les plus répandues Toujours pas matures Boîtes à outils pour la visualisation Boîtes à outils pour le collecticiel Boîtes à outils pour le Web (AJAX...)... Intergiciels de communication 2

Couches logicielles d une appli. graphique Application Squelette d application Boîte à outils d interface Système de fenêtrage Librairie graphique Système d exploitation Drivers périphériques Programmation dirigée par les événements tantque non fini faire attendre jusquà file non vide // attente passive ev := tête de file // extraire événement cible := cherchercible(ev) si cible NIL alors cible.traiter(ev) fin tantque Style très différent de la programmation algorithmique 3

Le modèle prédominant du widget Abstraction : le widget Objet interactif, Composant logiciel Bouton, menu, barre de défilement, boîte de dialogue, Un widget = trois facettes Présentation - Comportement - Interface d application Interface = arbre de widgets Nœuds : conteneurs (barre de menus, boîte de dialogue, ) Feuilles : widgets simples (boutons, barres de défilement, ) Les trois facettes d un widget Présentation Apparence graphique Paramétrable («ressources») Comportement Réaction aux actions de l utilisateur Peu ou pas paramétrable Interface d application Notification des changements d état 4

Placement des widgets Règles générales Imbrication géométrique d un widget fils dans son parent Contrôle par le parent du placement de ses fils Algorithme de placement Taille naturelle de chaque fils Taille et position finales imposées par le parent Contraintes : Grille, formulaire, etc. file file Cancel OK Placement dynamique Cancel OK Facettes d un widget Présentation Apparence graphique Paramétrable («ressources») Comportement Réaction aux actions de l utilisateur Peu ou pas paramétrable Interface d application Notification des changements d état 5

Interface d application : fonctions de rappel 1. Enregistrement lors de la création du widget 2. Appel lors de l activation du widget DoSave ( ) { } DoSave ( ) { } Problème : «spaghetti» des call-backs Partage d état entre plusieurs call-backs par variables globales global string filename; DoSetFile () {filename = } DoSave () { SaveTo(filename) } Interface d application : valeurs actives Lien bi-directionnel entre une variable d état du widget et une variable de l application 0 i 26 i i := 12 12 i Problèmes Avantages Limité aux types simples Vues multiples Lien de retour peut être coûteux 6

Interface d application : envoi de message Association d un objet à un widget et de méthodes de l objet aux changements d état du widget savedialog savedialog.clicked(event) Meilleure encapsulation savedialog { string filename } savedialog.editfield(event) { this.filename := } savedialog.ok(event) { DoSave (this.filename) } Générateurs d interface Description (textuelle ou graphique) d une partie de l interface Génération de la partie exécutable Editeur Noyau fonctionnel Module d exécution du générateur édition de liens description de l interface chargement à l exécution Application interactive 7

Générateurs d interface Génération de l application finale compilation Noyau fonctionnel Module d exécution du générateur Interface compilée édition de liens Application interactive Générateurs d interface Interface Builder (NeXT, puis Apple) 8

Limites des boîtes à widgets Avantages de ces outils Diminuer les coûts de développement et de maintenance Faciliter le respect des règles ergonomiques Inconvénients de ces outils Styles d interaction stéréotypés (pas de drag-and-drop!) Peu extensibles Coûteux de programmer des interactions non standards Problèmes de recherche Sortir du modèle des widgets Définir des langages / environnements plus adaptés Quels nouveaux défis? Personnalisation / adaptation profonde des interfaces modèle conceptuel externalisable Interfaces réparties client-serveur Web collecticiel Client Client Client (réseau) Serveur Ubicomp / Pervasive / Ambient computing Interaction multi-surfaces Interfaces tangibles 9

Nouveaux concepts, nouvelles idées? Graphes de scènes / Graphes d interaction Jazz, MaggLite, IntuiKit,... Séparation of concerns skin vs. interaction (IntuiKit, INDIGO,...) Réifier l interaction non localisée (non-widget) DPI (document-presentation-interaction) Interaction vs. programmation scripting, end-user programming, etc. Questions ouvertes Evaluation des boîtes à outils simple things are simple, complex things are possible valider par l usage benchmarks Mutualisation des efforts distribution des logiciels interopérabilité plate-forme 10