Retour accueil UPMCPhoto1 UPMCPhoto2 UPMC
UE: Interfaces graphiques
Site permanent

L'unité d'enseignement « Interfaces graphiques » est une UE de niveau (300) spécialisation relevant de la licence d'informatique. Elle possède un volume de 6 ECTS et s'étend sur 12 semaines. Elle est placée sous la responsabilité de MORCRETTE, michelle.

Description

Ce module présente les concepts des interfaces graphiques à deux niveaux : la couche basse de gestion des événements et des requêtes concernant fenêtres et tracés en Xlib et la couche haute vue par Java-Swing et par Qt. On introduit le modèle MVC (Modèle, Vue, Contrôleur), la communication entre applications (sélection, glisser-déposer) ainsi qu'un environnement visuel de développement.

Ce module propose une initiation à la construction d'interfaces graphiques.

Orienté vers une pratique professionnelle intelligente, il présente les concepts et leur implémentation sous deux variantes, essentiellement Java-Swing avec une introduction à Xlib et à la boîte à outils Qt. Il introduit rapidement la couche basse (files d'événements et de requêtes, fenêtres, tracés) en Xlib. Il présente la programmation événementielle avec installation de réflexes, en Java, d'abord sur les événements souris-clavier. La partie centrale du module développe des interfaces avec les composants classiques, les gestionnaires de disposition et une notion généralisée d'événement. Les composants seront ceux de Swing-Java et secondairement ceux de Qt. Le module introduit le modèle MVC (Modèle, Vue, Contrôleur), repris ou adapté dans de nombreuses boîtes à outils : Observer/Observable, PropertyChangeListener en Java, signaux spécifiques en Qt. Enfin il présente la communication entre applications (sélection, glisser-déposer); on évoquera dans ce cadre les principaux formats d'échange de textes, images, sons. Le côté professionnalisant du module est renforcé par l'abord d'un second langage objet (C++) pour l'écriture d'applications avec la boîte à outils Qt, et par l'utilisation d'un environnement visuel de développement.

Préalables et buts pédagogiques

Contenu indicatif par semaine

  1. Introduction Xlib : événements souris-clavier, requêtes de création et affichage des fenêtres

  2. Requêtes de tracés, notion de contexte graphique : le tracé élastique autour d'un point

  3. Introduction couche haute en Java, widgets et matérialisation, réactions automatiques et notion de réflexes de l'application (groupés en listener) associés aux événements natifs, tracés 2D

  4. Notion de composants d'interface et événements revus par la couche haute. Composants associés à une fenêtre ("lourds", AWT) et composants dessinés ("légers", Swing)

  5. Paradigme MVC, Property et PropertyChangeListener, Observer/Observable en Java

  6. Composants Swing et l'adaptation Model - UI du paradigme MVC, gestionnaires de positionnement (LayoutManager)

  7. Composants Swing, suite

  8. Introduction à Qt : des composants similaires, une autre présentation des événements et des réflexes; et leur inévitable association

  9. Qt suite

  10. Utilisation des concepts présentés dans l'architecture d'un environnement visuel de développement

  11. Introduction à la communication entre applications : les événements, les différents formats offerts, les données transférées initialement ou sur demande

  12. Communication par Glisser-Déposer si possible dans les deux environnements QT et Java