Architecture générale des interfaces graphiques. IHM: Fondements des Interfaces Graphiques. Plan. Plan. Applications

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

Initiation au dessin Bitmap

Paramètres d accessibilité des systèmes d exploitation Windows et Mac

Importation et exportation de contenu

Des interfaces textuelles aux interfaces graphiques

Support de formation Notebook

Silhouette Studio Leçon N 2

Optimiser pour les appareils mobiles

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

L espace de travail de Photoshop

Manuel du client de bureau distant de KDE

Utiliser le logiciel Photofiltre Sommaire

Les calques : techniques avancées

Comment sélectionner des sommets, des arêtes et des faces avec Blender?

Tutorial Terminal Server sous

WINDOWS 8. Windows 8 se distingue par la présence de 2 interfaces complémentaires :

l'ordinateur les bases

AVEC LIVE TRADER, VISEZ PLUS HAUT POUR VOS INVESTISSEMENTS

TBI-DIRECT. Bridgit. Pour le partage de votre bureau. Écrit par : TBI Direct.

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

Conservez la documentation à portée de main pour toute référence future. Le terme «pointeur» dans ce manuel désigne le pointeur interactif YA-P10.

Synoptique des icônes Interwrite Workspace

PRISE EN MAIN D ILLUSTRATOR

2013 Pearson France Adobe Illustrator CC Adobe Press

PAGE 1. L écran du logiciel d Open Office Draw. Barre de menu: Les commandes du logiciel

Vous allez le voir au cours de ce premier chapitre, 1. Découvrir l ipad

HP Color LaserJet Pro MFP M476dn

Installation et prise en main d UBUNTU

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

Utilisation du logiciel GALAAD

MEMENTO D'UTILISATION Du T.N.I. SmartBoard (Version )

SOMMAIRE. Présentation assistée sur ordinateur. Collège F.Rabelais 1/10

Indiquer l'espace libre sur le disque dur

INTERWRITE Workspace

SolidWorks edrawings et publications

COMMENCER AVEC VUE. Chapitre 1

L environnement de travail de Windows 8

LES TABLETTES : GÉNÉRALITÉS

VOCABULAIRE LIÉ AUX ORDINATEURS ET À INTERNET

Automatisation d'une Facture 4. Liste Déroulante Remises Case à cocher Calculs

Dossier 03 Périphériques d acquisition

PRISE EN MAIN D UN TABLEUR. Version OPEN OFFICE

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

Cours de numérisation sur Epson Perfection

Table des matières. F. Saint-Germain / S. Carasco Document réalisé avec OpenOffice.org Page 1/13

PRESENTATION DU LOGICIEL

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

Réalisation de cartes vectorielles avec Word

Séminaire d information MIGRATION WINDOWS 7 ET OFFICE 2010

Guide de l utilisateur. Faites connaissance avec la nouvelle plateforme interactive de

L écran du marais : Comment configurer le viewer OpensSim

Guide de l utilisateur Mikogo Version Windows

BUREAU VIRTUEL. Utilisation de l application sur ipad. Guide utilisateur. Sciences Po Utilisation du bureau virtuel sur ipad 1 / 6

Initiation à linfographie

Introduction à Windows 8

GUIDE DE DÉMARRAGE. SitagriPro Infinite FINANCEAGRI. Un service. c o r p o r a t e

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

Adobe Illustrator Logiciel de dessin vectoriel et de Cartographie Assistée par Ordinateur

Windows 7. Support utilisateurs

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

Mini_guide_Isis_v6.doc le 10/02/2005 Page 1/15

Foire aux questions sur Christie Brio

1. DÉMARRER UNE SESSION SÉCURISÉE SUR LE MACINTOSH SESSIONS DES APPLICATIONS CLIENTES SUR LE MACINTOSH... 5

Interface Homme-Machine 1

Mise en scène d un modèle dans l espace 3D

Bien travailler sur plusieurs écrans

Board (Tablette) Manuel de l utilisateur. Windows 7 / XP / Vista

Java 7 Les fondamentaux du langage Java

Virtual Universe aperçu numéro 1

Créer un premier document avec Pages

point On obtient ainsi le ou les points d inter- entre deux objets».

Pourquoi ce cours? INTRODUCTION. Quelques définitions. Petit sondage. Avez-vous déjà conçu et développé une application interactive? pour éviter ca...

-1 - Postes de travail graphiques

pcon.planner 6 Préparer et présenter une implantation en toute simplicité

Windows 7 - Installation du client

COPY. Picture Style Editor Ver. 1.4 MODE D EMPLOI. Logiciel de création de fichiers de style d image. Contenu de ce mode d emploi

Service Informatique et Télématique (SITEL), Emile-Argand 11, 2009 Neuchâtel, Tél ,

Tutoriel. Votre site web en 30 minutes

Opérations de base sur ImageJ

Les PowerToys pour Windows XP

Correction des Travaux Pratiques Organiser son espace de travail


Découvrez Windows NetMeeting

GUIDE D UTILISATION DU TABLEAU BLANC INTERACTIF EBEAM EDGE

Le cas «BOURSE» annexe

HMI target Visu / PLC HMI. Pour réaliser une interface homme machine avec PLC control

Utilisation de l éditeur.

WINDEV MOBILE. ios SMARTPHONE SUPPORT: IOS, ANDROID, WINDOWS PHONE 8.

Intégrer des médias. Plateforme e-tourisme. demo.minisites.encharentemaritime.com

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

La programmation orientée objet et le langage C++

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

Comment utiliser FileMaker Pro avec Microsoft Office

WACOM MULTI-TOUCH : UTILISATION TACTILE DES PRODUITS WACOM

Gestion des différentes tailles d écran

Cours de D.A.O. Mécanique

Mes premiers diaporamas avec Open Office Impress?

DECOUVREZ Discover TYPE EDIT V12 Français

Les tablettes. Présentation tablettes Descriptif Fournisseurs Caractéristiques Comparatifs Conseils Perspectives Démonstration

Transcription:

Architecture générale des interfaces graphiques Applications IHM: Fondements des Interfaces Graphiques Outils de construction d interfaces Olivier Chapuis chapuis@lri.fr Bibliothèque graphique Système de fenêtrage Périphériques d entrée/sortie Système d exploitation IHM: Fondements des Interfaces Graphiques O. Chapuis 2/43 Plan Plan 1 Périphériques d entrée et de sortie 1 Périphériques d entrée et de sortie 2 Système de fenêtrage 2 Système de fenêtrage 3 Librairies graphiques 3 Librairies graphiques IHM: Fondements des Interfaces Graphiques O. Chapuis 3/43 IHM: Fondements des Interfaces Graphiques O. Chapuis 4/43

Périphériques de sortie Périphériques de sortie Ecrans bitmap Cathodique, LCD, Plasma, OLED. Taille exprimé en la dimenssion de la diagonal en pouce (1 pouce = 2.54 cm, 30 pouces 76cm) et le ratio largeur sur hauteur (e.g., 16/9). Résolution exprimé en pixel (e.g., 2560x1600). La taille plus cette résolution donne une densité exprimé en général en dpi : dot[pixel] per[par] inch[pouce] (typiquement 100 dpi 40 pixels par cm, c.à.d. 1 pixel 0.25 mm). Résolution en couleurs ( profondeur RGB[A]): 8 bits (256 couleurs), 16 bits (65536 couleurs) ou 24[32] bits (16 millions de couleurs [+256 niveaux de transluscence ]) Résolution temporelle exprimé en Hz qui est le nombre de trame [frame] par seconde que l écran peut afficher (typiquement 60 Hz). Exemple de bande passante: 60 img/s * 2560x1600 pixels * 3 octets/pixel 700 Mo/s videos/output/volumetric_coll.avi videos/output/2004-volumetricdisplay.mov videos/output/volumetric.flv IHM: Fondements des Interfaces Graphiques O. Chapuis 5/43 IHM: Fondements des Interfaces Graphiques O. Chapuis 6/43 Périphériques d entrée Entrée de texte: Le clavier claviers, boîtes à boutons potentiomètres (rotatifs, linéaires) souris, tablettes, joystick, trackball écrans tactiles, crayons optiques reconnaissance de la parole capteurs de position et de direction vision par ordinateur surfaces interactives dispositifs hybrides entrée/sortie Retour d effort Un problème: Optimisation de la position des touches Disposition Dvorak: 10 à 15% de gain de vitesse, réduction de la fatigue Clavier Logiciel: optimisation pointage Clavier avec des touches qui possèdent des écrans (oled) ou projection sur le clavier. videos//output/keyboard-dpy.mov videos/force/phantom.flv IHM: Fondements des Interfaces Graphiques O. Chapuis 7/43 IHM: Fondements des Interfaces Graphiques O. Chapuis 8/43

Entrée de texte: alternative au clavier classique Périphériques 3D, retour tactile et retour de force Périphériques 3D... bof, bof... Clavier à accords (chord keyboards): - Peu de touches (4 ou 5) - Utilisation de plusieurs touches simultanément - Saisie rapide avec une seule main Téléphone portable: - tape multiple - tape plus ou moins long - Système T9: un seul tape par lettre le système découvre le mot Retour tactile: vibrations et surface plus ou moins dur. Peu d exemples d applications, vibrations lors que l on passe sur certaines cibles, peut-on reproduire des vraies textures? IHM: Fondements des Interfaces Graphiques O. Chapuis 9/43 IHM: Fondements des Interfaces Graphiques O. Chapuis 10/43 Type de Contrôle et de Périphérique Une périphérique isotonique et élastique Ordre 0: déplacement du périphérique d entrée correspond à un déplacement d un objet Exemple: Couple souris - curseur RubberEdge (Casiez et al. 2007): réduction du débrayage en combinant un contrôle positionnel et élastique Ordre 1: le périphérique d entrée contrôle la vitesse d un objet Exemples: couple (i) joystick - curseur; (ii) souris - dessin d un vecteur vitesse Périphérique isotonique: Contrôle de position Ordre 0, débrayage pour les longues distances. Exemples: souris, touchpad, tablette Périphérique élastique: Possède un état stable avec retour élastique à cet état Ordre 1. Exemples: joystick (inclinaison vitesse) Centre du touchpad: position Bords du touchpad: un système élastique pour contrôler la vitesse de déplacement videos/pointing/rubber-edge.mov IHM: Fondements des Interfaces Graphiques O. Chapuis 11/43 IHM: Fondements des Interfaces Graphiques O. Chapuis 12/43

Périphériques d entrée: Control-Display Gain Résolution: nombre d impulsion que peut envoyer le periphérique d entrée pour une distance donné. Souvent expriment en dpi = dot[impulsion] per[par] inch[pouce]. 1 pouce = 2.54 cm Exemple pour une souris: entre 300dpi (lent), 600dpi (typique) et 2400dpi (max?), soit, respectivement une impulsion tous les 0.083, 0.042 et 0.01 mm Controle-Display Gain [Gain contrôle-écran]: Périphériques d entrée: Accélération Problème: Si le CDGain est trop grand il est difficile d être précis, mais si il est trop petit on est obligé de débrayer la souris pour parcourir de grande distance. Accélération: modification dynamique du CDGain en fonction de la vitesse de la souris. Plus on va vite, plus le CDGain devient grand. CDGain = Distance parcourue à l écran par le pointeur Distance parcourue par le périphérique d entrée Pointer Pointer Pointer Exemples. Ecran 100 dpi, souris 600 dpi et une impulsion souris un pixel: CDGain = 6. Tablette de meme taille que l écran avec contrôle direct tablette-écran: CDGain = 1. Souris CDGain Constant Souris X Window: Deux valeurs pour Souris Mac OS X et Windows: Changement progressif le CDGain du CDGain IHM: Fondements des Interfaces Graphiques O. Chapuis 13/43 IHM: Fondements des Interfaces Graphiques O. Chapuis 14/43 Pointage: Loi de Fitts Loi de Fitts et IHM D W TM = a + b.id où ID = log 2 ( D W + 1) Design d interface (clavier logiciel, interface adapté à différent type d utilisateurs,...) Technique de Pointage: reduire D ou agrandir W MT : Temps de Mouvement ID: Indice de Difficulté (de la tâche) a, b: constantes empiriques (qui dépendent des utilisateurs, du péripherique...etc.) Comparer les performances entre péripheriques d entrée (souris, touchpad, tablette...) TM TM TM ID ID ID La pente de la droite comme un indice de performance IHM: Fondements des Interfaces Graphiques O. Chapuis 15/43 IHM: Fondements des Interfaces Graphiques O. Chapuis 16/43

Techniques de Pointage Plan Battre la Loi de Fitts en réduisant D ou agrandissant W Prédiction de la position de la cible pour réduir D Agrandir la taille des cibles lorsque le curseur se trouve dessus (Mac OS X Doc) http://profs.logti.etsmtl.ca/mmcguffin/research/expandingtargets/ D W 1 Périphériques d entrée et de sortie 2 Système de fenêtrage Agrandir W dans l espace moteur [Blanch et al.] demos/semantic-pointing/ Bubble cursor [Grossman & Balakrishnan] videos/pointing/bubble-cursor.mov DynaSpot [Chapuis & al.] videos/pointing/chi09-dynaspot.mov 3 Librairies graphiques EW (a) Cursor Center W (b) (c) Activation Area Captured Target Uncaptured Target IHM: Fondements des Interfaces Graphiques O. Chapuis 17/43 IHM: Fondements des Interfaces Graphiques O. Chapuis 18/43 Système de fenêtrage Modèles de fenêtrage Système de fenêtrage. Bas niveau du rendu (lien avec le matériel), partage des ressources (sorties vidéos, entrées clavier-souris) grâce au concept de fenêtre Fenêtre. Une surface (rectangulaire) d affichage utilisée par une application pour réaliser les entrées/sorties. Les fenêtres permettent de partager la sortie vidéo entre les applications. Gestionnaire de fenêtres. Haut niveau, placement et ordre en Z des fenêtres (superposition des fenêtres), décorations des fenêtres, interactions avec l utilisateur (deplacement, redimensionnement, maximisation et iconification des fenêtres) Utilitaires de Gestion de fenêtres. Barre de Tâche, Gestionnaire de bureaux virtuels, notifications...etc. Interface Utilisateur Graphique. L intérieur des fenêtres, le niveau applicatif visible où se déroule l interaction Environnement de Bureau. Ensemble cohérent présenté à l utilisateur (gestionnaire de fenêtres + utilitaires de gestion de fenêtres + ensemble d applications) Pavage Arbre Recouvrement 4 écrans virtuels IHM: Fondements des Interfaces Graphiques O. Chapuis 19/43 IHM: Fondements des Interfaces Graphiques O. Chapuis 20/43

Modèles de fenêtrage: Dessin Modèles de fenêtrage: Entrées Gestion des entrées: le système passe les événements souris et clavier à une fenêtre (fenêtre qui à le focus). Dessin sur l écran: Réaffichage des parties cachées via un évènement du système de fenêtrage à l application. Mais, de plus en plus, on fait différement: on dessine out of screen fenêtre par fenêtre, puis on compose l écran avec les fenêtres. Permet, par exemple, des effets et des fenêtres semi-transparentes. Plus coûteux en mémoire, mais plus rapide et donne une interaction plus fluide... ceci n est plus un problème avec nos GPU acutels... Événements du système de fenêtrage aux applications: changement de focus, entrée-sortie de fenêtre Politique de changement de focus: Clique pour le Focus clique passé à l application ou non (non avec Mac OS X) Le Focus suit la souris possible avec X Window Y-a-t-il une politique meilleure que l autre? Problème connexe: ordre en z des fenêtres. videos/wm/chi07-copypaste.mov IHM: Fondements des Interfaces Graphiques O. Chapuis 21/43 IHM: Fondements des Interfaces Graphiques O. Chapuis 22/43 Le Système X Window Remote Desktop / VNC (Virtual Network Computing) X is a network-oriented windowing system with a Server-Client Model Display = Keyboard + mouse + screens Applications can run across the network X Window System architecture Xvnc renders the display in memory, making the desktop image available to vnc viewers (via the net). The vnc viewers forwards mouse and keyboard events to the Xvnc server. X is extensible (XInput, XRender, XRandr, XComposite, XDamage, MPX...) IHM: Fondements des Interfaces Graphiques O. Chapuis 23/43 IHM: Fondements des Interfaces Graphiques O. Chapuis 24/43

Metisse Gestion des Fenêtres: Problématiques application X11 application X11 application X11 protocole X Xmetisse protocole Metisse FVWM Compositeur Metisse commandes d'affichage Fvwm Compositor Système de fenêtrage natif événements des périphériques d'entrée Xmetisse: a X server which does off-screen rendering per window FVWM + FvwmCompositor: On-screen rendering (compositing) in OpenGL (window = textured polygone), Window management and User interaction Les activités se multiplient traitement de texte, tableur, jeux, courrier électronique, Web, messagerie instantanée, édition d images, de sons et de vidéos, media players etc. De plus en plus de fenêtres! Exemples de Problèmes de recherches: Placement des fenêtres videos/wm/2000-dynamic-space.mp4 videos/wm/1996-elastic-windows.mov Pavage, recouvrement et tab videos/wm/2001-overlapping-windows.mov Passer d une fenêtre à l autre Window Switching Problem et correspondance tâche ensemble de fenêtres videos/wm/2004-scalablefabric.mov videos/wm/2000-task-gallery.mpg videos/wm/uist05-metisse.mov / videos/wm/uist06-facades.mov IHM: Fondements des Interfaces Graphiques O. Chapuis 25/43 IHM: Fondements des Interfaces Graphiques O. Chapuis 26/43 Plan Librairies graphiques 1 Périphériques d entrée et de sortie 2 Système de fenêtrage 3 Librairies graphiques Modèle de dessin Dessin direct (modèle du peintre) Dessin structuré : description structuré (e.g., via avec du xml) Définition d objets graphiques primitives graphiques lignes, courbes (splines, bezier), Polygones (triangles, rectangles, etc.), arcs, cercles, ellipses, textes, images bitmap,... etc. Géométrie: taille et position Attributs graphiques: couleur, épaisseur des lignes, fonte, texture, gradient, transparence, éclairage... etc. Librairies/Modèles graphiques Dessin direct: Xlib (X Window), Java2D, OpenGL Dessin structuré: PDF, SVG, Cario IHM: Fondements des Interfaces Graphiques O. Chapuis 27/43 IHM: Fondements des Interfaces Graphiques O. Chapuis 28/43

Librairies graphiques: Autres Fonctions Librairies graphiques: Systèmes de coordonnées Clipping (dessin limité à une partie de l écran) par masque bitmap ou région rectiligne (horizontales et verticales uniquement), polygonale, définie par des lignes et courbes (ex : PostScript) Anti-aliasing, gestion de la transparence Conversions entre espaces de couleur (RGB, HSV, CMY, etc.) Structures de données pour l affichage (graphe de scène) Coordonnées liées au périphérique unité = pixel coordonnées écran ou fenêtre? quelle orientation et origine? Coordonnées physiques unité = cm, pouces, etc. système indépendant du périphérique mais lié à la technique de présentation utilisée Coordonnées du modèle unité = m, km, etc. Indépendant de l application IHM: Fondements des Interfaces Graphiques O. Chapuis 29/43 IHM: Fondements des Interfaces Graphiques O. Chapuis 30/43 Librairies graphiques: Événements tantque non fini faire attendre jusqu à file non vide ev := tête de file cible := cherchercible(ev) si cible NIL alors cible.traiter(ev) fin tantque // attente passive // extraire événement Outils de construction d interfaces (boîtes à outils) Objectifs visés : étendre le vocabulaire, faciliter l apprentissage et la réutilisation de code Abstraction atomique: 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 Style très différent de la programmation algorithmique Application = arbre de widgets Noeuds : conteneurs (barre de menus, boîte de dialogue,...) Feuilles : widgets simples (boutons, barres de défilement,...) IHM: Fondements des Interfaces Graphiques O. Chapuis 31/43 IHM: Fondements des Interfaces Graphiques O. Chapuis 32/43

Outils de construction d interfaces (boîtes à outils) Il existe de nombreuses boîtes à outils Xt, Motif, GTK (C) sous Linux MFC (C++) et ses dérivés sous Window Carbon (C), Cocoa (Objective-C) sous OS X Tk (Tcl, Python, Perl et autres), Qt (C++) et Swing (Java) sur toutes les plate-formes Exemples de services : placement des widgets, liens widgets - application, squelettes d application, générateur de code Ces boîtes à outils présentent deux limitations majeures: la programmation est fastidieuse l interaction se limite le plus souvent aux widgets pré-existants Exemple d interaction simple qui reste difficile à programmer : le drag-and-drop Exemple de Widgets Exemple : les widgets de base du Macintosh (1984) bouton (button) et label menu déroulant (pull-down menu) case à cocher (checkbox), bouton radio (radio button) potentiomètre (slider), champ texte (text field) boîte de dialogue pour les fichiers (file open/save dialog) D autres exemples: Barre de Progression Bulle d aide (Tooltips) Arbre d Icones Haut Niveau: Sélecteur de Fonte et de Couleur, Calendar http://www.digitalfanatics.org/e8johan/projects/widgets/ http://library.gnome.org/devel/gtk/unstable/ch02.html IHM: Fondements des Interfaces Graphiques O. Chapuis 33/43 IHM: Fondements des Interfaces Graphiques O. Chapuis 34/43 Exemple de service : Placement des widgets Facettes d un widget Interface/Application = arbre de widgets 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. Placement dynamique Présentation Apparence graphique Plus ou moins Paramétrable (e.g. Look and Feel Java) Comportement Réaction aux actions de l utilisateur Peu ou pas paramétrable Interface d application (Liens widgets - application) fonctions de rappel (callbacks) valeurs actives envoi de message videos/toolkit/artistic-resizing.mov IHM: Fondements des Interfaces Graphiques O. Chapuis 35/43 IHM: Fondements des Interfaces Graphiques O. Chapuis 36/43

Interface d application : fonctions de rappel (callbacks) 1. Enregistrement lors de la création du widget 2. Appel lors de l activation du widget DoSave (...)... Interface d application : valeurs actives Une valeur active établit un lien bi-directionnel entre une variable d état d un ou plusieurs widget(s) et une variable du noyau fonctionnel 0 DoSave (...)... Problème : spaghetti des callbacks Partage d état entre plusieurs call-backs par variables globales global string filename; i := 12 26 12 DoSetFile () filename =... DoSave () SaveTo(filename) Problèmes: Limité aux types simples (e.g., entier), Lien de retour peut être coûteux Avantages: Vues multiples IHM: Fondements des Interfaces Graphiques O. Chapuis 37/43 IHM: Fondements des Interfaces Graphiques O. Chapuis 38/43 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 1. Un objet est associé au widget au moment de sa création btnhandler 2. Des méthodes de cet objet seront appelées par le widget Avantage : permet une bonne encapsulation des données btnhandler.handleclick(...); savedialog { string filename } savedialog.editfield(event) Exemple de service : squelettes d application Principe : Application à trous Code d une application incomplète, à compléter Contient ce que l on ne peut pas mettre dans une toolkit Structure globale de l application Fonctionnalités globales (historique, copier-coller,...) Interactions non widgets (drag-and-drop) Trahit l inadéquation des langages de programmation Exemple : MacApp (Apple, 1986) Notion de document (contenu d une fenêtre) Notion d action (que l on peut faire, défaire) savedialog.ok(event) IHM: Fondements des Interfaces Graphiques O. Chapuis 39/43 IHM: Fondements des Interfaces Graphiques O. Chapuis 40/43

Générateurs d interface But : aider (automatiser?) la mise en oeuvre d interfaces placer les widgets, modifier leurs attributs (couleur, etc.) les connecter à l application tester leur comportement Générateurs d interface Inconvénients : What You See Is All You Get solutions partielles il reste tout de même du code à écrire... le code généré est souvent difficile à modifier De nombreux noms pour une même famille de systèmes user interface management systems (UIMS) user interface builder user interface development environment Exemples : Visual* sous Windows, Interface Builder sous OS X Interface Builder: http://www.youtube.com/watch?v=vixd-n6cbdy MaggLite: videos/toolkit/magglitepuzzle.avi http://www.emn.fr/x-info/magglite IHM: Fondements des Interfaces Graphiques O. Chapuis 41/43 IHM: Fondements des Interfaces Graphiques O. Chapuis 42/43 A LIRE doc/notes-cours2.pdf doc/notes-cours3.pdf et toujours: doc/dui-chapter1.pdf IHM: Fondements des Interfaces Graphiques O. Chapuis 43/43