Environnement de bureau & Gestionnaire de fenêtres

Environnement de bureau & Gestionnaire de fenêtres

7 minute(s) de lecture

Comme indiqué dans mon dernier Édito @ gafam’blog , je vais donc commencer par définir ce que sont les environnements de bureau & les gestionnaires de fenêtres (merci Wikipedia):

Environnement de bureau :

En informatique, un environnement de bureau (de l’anglais desktop environment) est un logiciel (ensemble de programmes dédiés) qui permet de manipuler l’ordinateur à travers une interface utilisateur en mode graphique (graphical shell) et qui fait analogie à un bureau. Il s’agit d’un type d’environnement graphique ou le terme « environnement de bureau » provient de la métaphore du bureau sur laquelle sont basés ces produits.

De nombreux systèmes d’exploitation ont un environnement de bureau incorporé. À l’inverse, avec le système de fenêtrage X des systèmes d’exploitation Unix, plusieurs environnements de bureau sont disponibles.

La métaphore du bureau est apparue dans l’ordinateur Xerox Star, construit en 1981. L’idée sous-jacente est qu’utiliser un ordinateur est similaire au travail de bureau. Le contenu de l’ordinateur est alors représenté comme étant des documents et des classeurs, ainsi qu’une corbeille à papier et une calculatrice posées sur la surface d’un bureau2.

Un document peut être ouvert dans une fenêtre, qui affiche une page de ce document.

Les systèmes d’exploitation non compatibles avec Unix (par exemple Windows et MacOS) possèdent un environnement de bureau unique. L’avantage pour l’utilisateur est de retrouver partout un environnement standard et cohérent, et l’inconvénient de ne pas pouvoir l’améliorer à sa guise. Il existe cependant des variations des thèmes et aussi des logiciels tiers pouvant modifier certains éléments de l’interface graphique (comme les fenêtres, les boutons et les icônes) voire de changer complètement l’interface.

Sur les systèmes d’exploitation fonctionnant avec le système de fenêtrage X (compatibles avec Unix), l’environnement de bureau est plus souple pour deux raisons : décomposé en plusieurs éléments, il sépare le système de fenêtrage, le gestionnaire de fenêtres, l’environnement graphique et le gestionnaire de fichiers, chacun interchangeable et personnalisable.

Les principaux environnements de bureau sont fournis avec une configuration de base, et permettent de ce fait à l’utilisateur de travailler tout de suite sans avoir à effectuer de multiples réglages.

GNOME et KDE sont proposés par la plupart des “grandes” distributions. GNOME se fixe d’être simple d’emploi même au prix de ne pas permettre toutes les personnalisations possibles, KDE choisit au contraire de permettre un contrôle plus complet, avec la complexité afférente que cela peut entraîner.

Bien qu’ils utilisent des bibliothèques graphiques différentes, les applications écrites pour chacun des deux fonctionnent en général sur l’autre, les deux bibliothèques étant en ce cas chargées sans que l’utilisateur ait à s’en occuper.

MATE et Cinnamon possèdent un menu à deux niveaux semblable à celui de Windows. La légèreté d’Xfce l’a fait choisir comme environnement par défaut pour des distributions où l’utilisateur se consacrera surtout aux applications et attachera peu d’importance au bureau lui-même.

Pour aller plus loin :

Au fil des mois à venir, ce sont ces environnements que je vais vous présenter …

Gestionnaire de fenêtres :

En système de fenêtrage un « gestionnaire de fenêtres » (« window manager » en anglais) est un logiciel chargé de l’affichage et du placement des fenêtres d’applications. Les plus connus sont ceux utilisés par le système de fenêtrage X (sur les systèmes Unix, Linux et BSD). Il en existe aussi sous Windows (comme LiteStep) et sous OS/2 (le Presentation Manager pouvant être remplacé), mais ces cas sont beaucoup moins répandus du fait, entre autres, de la gratuité de X et de ses spécifications ouvertes. De plus, le découpage en couches de l’interface graphique est moins marqué sous Windows1.

Le gestionnaire de fenêtres constitue l’intermédiaire entre le système de fenêtrage et l’environnement graphique.

Cet article traite plus particulièrement des gestionnaires basés sur le système de fenêtrage X.

Étant lui-même un client sur serveur X, le gestionnaire de fenêtres offre des moyens pour déplacer, redimensionner et icônifier les fenêtres affichées par les autres clients. De plus, il ajoute une décoration aux fenêtres qui consiste souvent en un cadre et une barre de titre. La majorité des gestionnaires savent de plus gérer plusieurs bureaux virtuels ainsi que des raccourcis clavier.

Un gestionnaire permet d’offrir plusieurs fonctionnalités (selon le gestionnaire) :

  • des barres des tâches ou un dock d’applications ;
  • des menus, voir des menus fixables (pinnable menus en anglais) ;
  • des bureaux virtuels et donc un workspace manager (application qui permet de passer d’un bureau à l’autre ; il est parfois appelé pager) ;
  • des icônes et donc le support d’un format d’icône (comme le XPM) ;
  • le déplacement, le redimensionnement, l’iconification des fenêtres ;
  • la modification du fond d’écran, des couleurs des tous les éléments visibles, de l’habillage des fenêtres ;
  • une gestion de session qui permet de garder une trace des actions effectuées par un utilisateur.

Il existe deux grands types de gestionnaires de fenêtres :

  • gestionnaire de fenêtres flottant (qui tentent de simuler un bureau réel, les fenêtres représentant des feuilles de papier volantes que l’on place à sa guise, que cela laisse un espace du bureau visible ou que plusieurs d’entre elles se superposent. Il s’agit du paradigme le plus utilisé.);
  • gestionnaire de fenêtres en tuile, ou par pavage (qui visent l’utilisation optimale de l’espace écran. Pour cela, lorsqu’une application requiert une nouvelle fenêtre, le gestionnaire lui créée une place en redimensionnant les autres fenêtres.).

Cependant, rien n’empêche à un unique gestionnaire d’intégrer les deux paradigmes, à divers niveaux.

Pour aller plus loin :

Au fil des mois à venir, ce sont ces gestionnaires que je vais vous présenter …


Afin de mieux comprendre ces notions, je pense utile de vous apporter quelques définitions complémentaires :

Interface graphique :

En informatique, une interface graphique (en anglais GUI pour graphical user interface) ou un environnement graphique est un dispositif de dialogue homme-machine, dans lequel les objets à manipuler sont dessinés sous forme de pictogrammes à l’écran, de sorte que l’usager peut utiliser en imitant la manipulation physique de ces objets avec un dispositif de pointage, le plus souvent une souris.

Ce type d’interface a été créé par les ingénieurs du Xerox PARC à la fin des années 1970, pour remplacer les interfaces en ligne de commande, mis sur le marché avec le Star de Xerox et le Lisa d’Apple, puis popularisé par cette dernière firme avec l’ordinateur Macintosh, commercialisé en 1984.

Les interfaces graphiques sont mises en œuvre par un ensemble de logiciels souvent inclus dans les systèmes d’exploitation (Windows) ou fournis avec eux par les distributions (Linux). Ils sont devenus vers le milieu des années 1990 le standard des appareils informatiques, notamment ordinateurs, tablettes, téléphones, récepteurs GPS et guichets automatiques de billetterie (dont bancaires).

Système de fenêtrage :

Un système de fenêtrage est un logiciel qui permet à l’utilisateur d’un ordinateur d’interagir via un clavier et un dispositif de pointage comme une souris avec plusieurs applications graphiques visibles simultanément. Chaque application s’affiche dans une ou plusieurs fenêtres qui sont des zones rectangulaires de l’écran. Ces fenêtres peuvent se recouvrir les unes les autres. L’utilisateur peut déplacer et redimensionner les fenêtres, les fermer temporairement ou leur faire occuper tout l’écran.

Du point de vue du programmeur, un système de fenêtrage fournit des primitives graphiques telles que le rendu de polices de caractères, le tracé de lignes. Ces primitives sont de plus haut niveau que les abstractions fournies directement par le matériel graphique.

Certains systèmes de fenêtrage, tels que X, proposent la transparence réseau permettant à l’utilisateur de faire tourner l’application sur l’ordinateur distant. Cette application distante est donc cliente du serveur de fenêtrage qui est une application locale. Avec X, le protocole n’est pas dynamiquement extensible et est de bas niveau, nécessitant une bande passante importante. L’alternative, un serveur de fenêtrage programmable comme NeWS n’a pas rencontré de succès commercial.

Voilà, j’espère que ces quelques notions “techniques” vous permettent de mieux comprendre comment fonctionne l’interface “homme/machine”…