This is an archive copy of wikilivres.ca as of 18 February 2017 (from the WikiTeam dump). The original site is closed.

Page:Swinnen - Apprendre Python, 2010.djvu/108

Free texts and images.
Jump to navigation Jump to search
This page has been proofread


86
Chapitre 8 — Utilisation de fenêtres et de graphismes


Figure 1 bis
Figure 1 bis

Dans un programme « en mode texte », ces trois phases sont simplement organisées suivant un schéma linéaire comme dans l'illustration ci-contre. En conséquence, ces programmes se caractérisent par une interactivité très limitée avec l’utilisateur. Celui-ci ne dispose pratiquement d’aucune liberté : il lui est demandé de temps à autre d’entrer des données au clavier, mais toujours dans un ordre prédéterminé correspondant à la séquence d’instructions du programme.

Dans le cas d’un programme qui utilise une interface graphique, par contre, l’organisation interne est différente. On dit d’un tel programme qu’il est piloté par les événements. Après sa phase d’initialisation, un programme de ce type se met en quelque sorte « en attente », et passe la main à un autre logiciel, lequel est plus ou moins intimement intégré au système d’exploitation de l’ordinateur et « tourne » en permanence.

Ce réceptionnaire d’événements scrute sans cesse tous les périphériques (clavier, souris, horloge, modem, ete.) et réagit immédiatement lorsqu’un événement y est détecté.

Un tel événement peut être une action quelconque de l’utilisateur : déplacement de la souris, appui sur une touche, ete., mais aussi un événement externe ou un automatisme (top d’horloge, par exemple).

Figure 2
Figure 2

Lorsqu’il détecte un événement, le réceptionnaire envoie un message spécifique au programme[1], lequel doit être conçu pour réagir en conséquence.

  1. ↑ Ces messages sont souvent notés WM (Window messages) dans un environnement graphique constitué de fenêtres (avec de nombreuses zones réactives : boutons, cases à cocher, menus déroulants, etc.). Dans la description des algorithmes, il arrive fréquemment aussi qu'on confonde ces messages avec les événements eux-mêmes.