Les Interface Graphiques



Historique

Les premières interfaces graphiques sont apparues avec l'invention de la souris (1967) et des écrans graphiques, c'est à dire capable d'afficher des images.

Avant cela les écrans d'ordinateur n'affichaient que du texte et ressemblait plutot à ceci:

800px-Linux_command-line._Bash._GNOME_Terminal._screenshot.png, 154kB

En 1973 apparait le premier ordinateur avec interface graphique : la station graphique Xerox Alto fabriquée en Californie, à Palo Alto, par la société Xerox (par ailleurs à l'origine de la machine à photocopier).

Xerox-Alto-2.jpg, 6,8kB
La station Xerox Alto

En 1983, cet ordinateur a inspiré le premier PC de Apple, le LISA ancêtre des Macintosh puis en 1985, le premier système Windows (Windows 1.0) de Microsoft.

LISA-3.jpg, 118kB
Le Lisa

C'est ainsi que son apparues les premiers systèmes d'exploitation munis d'interfaces graphiques dans lesquels les applications apparaissent sous forme de fenêtres ou d'icônes sur lesquels on peut agir grâce à la souris.

Interface du système

De manière générale, l' interface graphique d'un programme est la manière dont il se présente visuellement à l'écran lorsqu'il s'exécute.

Dans cette partie, nous décrivons plus particulièrement, l'interface graphique du système qui apparait au démarrage d'un ordinateur. Dans Windows par exemple, elle est constituée du bureau et d'une barre de tâche.

Interface-Graphique-Vista-AvecLibellés.jpg, 59kB

Le bureau contient des icônes de différents programmes. La barre des tâches donne accès (entre autre) au menu démarrer par l'intermédiaire duquel on peut accéder à différents composants du système, configurer l'ordinateur, arrêter l'ordinateur etc ...

Tout ceci constitue l'interface graphique du système d'exploitation.

Le curseur

On voit également apparaitre le curseur qui se présente généralement sous la forme d'une petite flèche. Le curseur permet d'indiquer sur quel élément de l'interface graphique on veut agir.

Lorsque l'utilisateur déplace la souris, il provoque une interruption gérée par le système d'exploitation. Le traitement par défaut de cette interruption consiste à déplacer le curseur.

Gestion du clic

Comme nous l'avons vu, un clic provoque une interruption qui est tout d'abord interceptée par le système d'exploitation. Le traitement de cette interruption dépendra de la position du curseur. Nous reviendrons la dessus plus en détails un peu plus loin.

Lorsque l'on clique sur l'icone d'un programme par exemple, le système le charge en mémoire et lance son exécution. L'interface graphique de ce programme s'affiche alors à l'écran.

Fenetre d'une application

L'interface graphique d'un programme se présente généralement sous la forme d'un rectangle appelé fenêtre dans laquelle apparaissent des composants ou contrôles. Les composants sont par exemple des menus, des barre d'outils, des zones de texte, ....

Voici par exemple une partie de l'interface graphique d'excel 2003:

IG-Excel2003-Avec-Libelles.jpg, 88kB

Les zones de texte sont des zones rectangulaires de l'écran dans lesquelles il est possible de taper du texte sur une ligne. Nous reviendrons plus en détail sur ce composant graphique.

A un moment donné, l'écran contient une (ou plusieurs) fenêtre(s) pour chaque application ouverte. Par exemple, une fenetre pour Internet Explorer, une fenêtre pour Word, une autre pour Photoshop, etc ... Mais parmis toutes ces fenêtre, il y a une seule fenêtre active: c'est la fenetre qui apparait en premier plan et qui contient le curseur.

Fenetre-Active.jpg, 13kB

Les évènements

Lorsqu'il se produit une interruption souris (déplacement de la souris ou clic) ou clavier (touche appuyée ou relachée), il y a deux possibilités:

  1. Il n'y a aucune fenêtre active. Dans ce cas, l'interruption est directement gèrée par le système. Sous Windows, c'est par exemple le cas lorsque vous cliquez sur le bureau.
  2. Il y a une fenêtre active. Dans ce cas, le système intercepte tout d'abord l'interruption, mais il ne la gère pas forcément entièrement. Une partie de la gestion de l'interruption est sous-traitée à l'application associée à cette fenêtre. Pour cela, il communique toutes les informations utiles à l'application sous la forme d'un évènement. Les parties d'une l'application qui interceptent les évènements et les gèrent sont appelés des gestionnaires d'évènement.
Evenement.jpg, 47kB

Un évènement est lié à un composant particulier de la fenêtre, que l'on pourrait appeler le composant actif : c'est le composant contenant le curseur au moment de l'évènement.

Une application pourra ainsi savoir sur quel composant l'utilisateur a cliqué ou quel était le composant actif lorsqu'il a appuyé sur telle touche du clavier.

Les zones de texte

Les interfaces graphiques sont généralement concues pour éviter au maximum de taper du texte. Mais il arrive que ce soit inévitable. Par exemple pour donner le nom d'un fichier, une adresse web, une recherche par mots clés, etc ...

Dans une interface graphique, la saisie de texte se fait par l'intermédiaire des zones de texte, zones rectangulaires dans lesquelles il est possible de "rentrer" du texte.

Pour cela l'utilisateur doit tout d'abord activer la zone de texte en cliquant dedans. Le curseur change alors de forme. En général il se transforme en une barre verticale clignotante, ce qui signifie que la zone de texte est active et prête à recevoir du texte.

Lorsqu'une zone de texte est active, les caractères frappés au clavier viennent s'afficher à l'écran à l'intérieur de celle-ci. On a ainsi l'impression que les caractères sont directement transférés du clavier vers l'écran. En réalité, il sont tout d'abord transférés en mémoire par le système d'exploitation.

En effet, à chaque zone de texte est associé une plage mémoire, appelée buffer, destinée à mémorisé les caractères frappés.

Supposons qu'une zone de texte soit active et que l'utilisateur appuie sur la touche 's'. Le système va alors transférer le caractère 's' dans le buffer associé à cette zone de texte, puis en un deuxième temps afficher le contenu du buffer à l'écran à l'intérieur de la zone de texte.

Zone-DeTexte-Et-Buffer.jpg, 47kB

S'il appuie ensuite sur la touche 't', le carcatère 't' va être rajouté dans le buffer après le 's', puis le buffer va être réaffiché.

Ce mécanisme est très important, car c'est essentiellement de cette manière que des données sont communiquées à un programme. Nous reviendrons la dessus lorsque nous parlerons de la lecture des données.