Grégoire, membre de la communauté de blogueurs JobProd.
« La simplicité est la sophistication suprême. »
Léonard de Vinci
Ce paradoxe apparent se ressent particulièrement dans le monde de l’informatique.
En effet, un ordinateur est un système complexe. Pour le rendre accessible au plus grand nombre, les interfaces graphiques se sont étoffées, passant du simple clavier à l’écran tactile.
Mais cette apparente simplicité pour l’utilisateur cache un travail titanesque des développeurs : la moindre action sur le système passe par une cascade de couches d’abstractions, handlers et autres jolis pop-ups.
Au final, les interfaces graphiques se trouvent alourdies par ces mécanismes, ce qui explique pourquoi elle nécessitent des machines de plus en plus performantes pour fonctionner.
D’autre part, la multitude de librairies utilisée pour les développer amène également son lot d’inconvénients : difficultés pour les faire évoluer ou potentielles failles de sécurité.
Partant de ce constat, des projets d’interfaces graphiques beaucoup plus légers sont nés, et ont rencontré un franc succès parmi les utilisateurs « aguerris », prêts à sacrifier un peu de confort pour une meilleure réactivité.
Contrairement aux GUI classiques, il ne s’agit pas de gestionnaires de bureaux, mais de gestionnaires de fenêtres. Concrètement, cela implique que ces logiciels ne s’occupent que de l’affichage des applications, et pas des tâches annexes (détection de clef USB, assistant de connexion wifi), qui restent donc à la charge de l’utilisateur.
Awesome Window Manager
Awesome WM [1] est l’un des gestionnaires de fenêtres les plus populaires à l’heure actuelle, bien qu’il soit relativement récent ; sa première release date de 2007.
Ses principales caractéristiques sont :
– Extensible en Lua [2] (c’est également l’occasion de découvrir un nouveau langage).
– Orienté Clavier (bien que la gestion de la souris soit très bien supportée).
– Gestionnaire de fenêtre de type « Tiler« .
En ce qui concerne le dernier point, cela signifie que les applications occupent des tiles (carreaux), découpés dans un écran partagé entre les fenêtres, comme le montre la capture ci-dessous.
Extensibilité:
Awesome WM se configure à l’aide d’un simple éditeur de texte. Le fichier de configuration se trouve par défaut dans $HOME/.config/awesome/rc.lua.
Il s’agit d’un script Lua, permettant de définir le type d’affichage ou les raccourcis clavier propres à chaque utilisateur du système. Le fichier $HOME/.config/awesome/themes/default/theme.lua est utilisé pour définir le thème par défaut et se configure très simplement.
Enfin, Awesome propose un ensemble de widgets et de librairies (notamment ‘beautiful’) que l’utilisateur peut ajouter à sa guise, facilitant la customisation de l’interface.
Orienté clavier :
Awesome complète parfaitement la panoplie du développeur « ratonophobe » : l’utilisation de la souris est réduite au strict minimum, notamment grâce à des raccourcis claviers bien agencés. La quasi totalité des commandes est préfixée par la touche Mod4 (également connue sous les noms Super ou Windows), pour se déplacer entre les fenêtres ou les tags (l’équivalent des bureaux virtuels).
Par exemple:
Mod4 + j
Afficher le tile suivant
Mod4 + k
Afficher le tile précédent
Mod4 + u
Afficher le tile marqué ‘urgent’ suite à une notification
Mod4 + 1-9
Afficher le tag 1-9
Il est donc possible de passer d’une application à l’autre très rapidement, en divisant les fenêtres en tiles, et en répartissant ces tiles sur différents tags suivant leur utilisation.
Comme tous les outils non destinés au grand public, l’utilisation d’un Tiling Manager tel qu’Awesome nécessite un temps d’adaptation. Mais la légereté de ces applications, et leur flexibilité les rendent vite indispensables.
Pour de nombreux développeurs, Awesome illustre parfaitement la phrase suivante :
« Il semble que la perfection soit atteinte non quand il n’y a plus rien à ajouter, mais quand il n’y a plus rien à retirer. »
Antoine de Saint-Exupéry
Envie de tester votre niveau technique ?
Cliquez ci-dessous !
Grégoire Juge
Tombé dans la marmite Linux depuis quelques années déjà, je m’intéresse au mouvement open-source dans son ensemble. Techniquement, j’apprécie les systèmes légers et flexibles qui me permettent de focaliser mon attention sur l’essentiel.
A mes heures perdues j’aime également travailler sur des plate-formes de type Raspberry Pi ou OpenMoko, qui sont une passerelle idéale pour découvrir un autre domaine passionnant: l’électronique embarquée.
En savoir +
Bonjour,
Juste une petite précision, les gestionnaires de fenêtres légers ont toujours existés (fvwm, twm, afterstep, …) et ne sont pas nés des loudeurs des gestionnaires de bureau. Par des gestionnaires de bureau légers comme xfce ou lxde sont eux nés de la lourdeur dont tu parles. Awesome et les autres tiling wm ‘descendent’ des gestionnaires de fenêtres avec pour but de ne plus avoir besoin de quitter les doigts du clavier, ceci pour gagner du temps, ou en tout cas éviter d’en perdre.
C’est tout de même amusant de lire quelqu’un reprocher aux DE classiques d’être lourds pour promouvoir un wm qui se configure par des programmes… ( oui, un fichier de configuration écrit en lua est bel et bien un programme. Pour ma part, en tant que développeur, j’ai autre chose à foutre qu’apprendre un langage de programmation pour configurer le moindre outil de mon bureau… )
J’ai fait un tour des wm bruts, et notamment des twm il y a presque 2 ans maintenant, et je garde toujours un œil sur les évolutions. J’ai préféré, et de très loin, adopter un twm qui n’impose pas d’apprendre à utiliser un Nième langage pour faire de la simple configuration..
La citation de Saint exuperi est très intéressante, d’ailleurs. Awesome sera plus proche de la perfection, le jour ou il n’aura pas besoin d’un interpréteur de scripts pour être configuré. Utiliser un langage de dev pour configurer un logiciel, c’est loin d’être simple, loin d’être fidèle à KISS, et surtout, surtout, loin d’être simple pour l’utilisateur final. Ca a sûrement son intérêt, je ne dis pas le contraire, et je descend awesome ici principalement pour contrebalancer le flot d’âneries qui, ici, le portent aux nues.
Comme dit par stéphane, nos twm ( tiling window manager, pour ceux qui se perdraient ici ) ne sont pas nés des lourdeurs des DE ( desktop environment ) classiques. car ce genre d’assertions seraient dans le même genre que dire que: « lisp est né des lourdeurs du C » list étant un langage fonctionnel et C un langage impératif. Le fonctionnel et l’impératif sont simplement 2 façons différentes de penser. Ca n’a aucun impact sur les performances.
Pour en revenir aux wm ( window manager ) on pourrait très bien avoir un twm qui se combine à un décorateur de fenêtres pour avoir de la transparence, des coins arrondis, des effets de flame etc etc. C’est juste que, chez les utilisateurs de twm, on a tendance à ne pas être intéressés par ces effets. Façon de penser différente, c’est tout.