Journal Quelques logiciels qui sonnent sioux.

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
26
24
jan.
2012

Sommaire

Ces logiciels sont présentés ici sans autres raisons que la consonance.

Hiawata, le serveur web

Licence: GPL v2.
Site: http://www.hiawatha-webserver.org/
Auteur principal: Hugo Leisink.

Les noms sioux sont à la mode chez les serveurs web. Vous connaissez Apache, peut-être aussi Cherokee, mais qu'en est-il de Hiawata?

Hiawata est un serveur http dont le développement a démarré en 2002 par Hugo Leisink, alors étudiant intéressé par la sécurité informatique. Rebuté par la syntaxe des fichiers de configuration des serveurs existant, et inquiet quant à leur sécurité, il a décidé d'écrire son propre serveur. Depuis, il est heureux d'avoir son propre projet libre.

La syntaxe des fichiers de configurations est donc sensée être simple. Elle est décrite dans le manuel. Il y a quatre fichiers de configurations globaux: hiawata.conf, cgi-wrapper.conf, mimetype.conf, php-fcgi.conf et un fichier local: .hiawata. Ils utilisent la même tructure « set clef = valeur », qui peut être incluse dans des sections « section { ... } ». J'ai compté une centaine de clefs. À vrai dire, plus que la syntaxe, c'est la qualité de la documentation qui est frappante. La page de manuel est auto-suffisante, et, autre exemple, une page du site propose des règles de ré-écriture d'url pour les framework web les plus connus.

Mais surtout, Hiawata a été écrit pour mettre au point une nouvelle approche de la sécurité des sites web. Vous croyez certainement que se protéger d'une injection sql est le devoir des scripts cgi et du framework. Hiawata considère que ce travail est aussi le sien, car après tout, c'est lui qui reçoit le premier la requette. Il en profite alors pour l'analyser, et tente de repérer si elle est saine. Si elle ne l'est pas, il peut bannir l'ip du recquérant durant un certain temps, histoire de ralentir ses ardeurs. Cette mise au ban d'ip est étendue à différentes situations, telles des requettes trop nombreuses, mal-formées, trop larges, ou parce que le mot de passe est mauvais. Hiawata peut aussi restreindre le nombre de connexions par ip, le nombre total de connexions qu'il accepte, il peut adapter son comportement en fonction du referer d'une requette, il sait aussi tuer un script cgi qui est trop long à répondre, en plus des habituelles techniques utilisées par les autres serveurs.

Son archive de 1200kb en fait un logiciel léger, bien plus léger que lighttpd, qui, avec ses 3520kb fait figure d'obèse (cf. wikipedia).

Jumanji et Zathura, le client web et le lecteur de pdf

Licence: dérivée de BSD.
site: http://pwmt.org/projects/
Auteur: communauté pwmt.

L'acronyme pwmt, « programm with movie title », est le nom que s'est choisie une communauté de développeurs. Certes, les noms jumanji et zathura sont bel et bien des noms de films, mais avant cela, ce sont des noms de livres dessinés de Chris Van Allsburg, et encore avant cela, ce sont des mots qui sonnent sioux, ce qui justifie que j'en parle ici.

Jumanji et zathura sont basés gtk. Mais à la différence des autres logiciels utilisant gtk, l'usage de la bibliothèqe graphique est totalement invisible pour l'utilisateur. Car la communauté pwmt est adepte de ces interfaces graphiques épurées qui ne montrent aucun bouton, et qui se pilotent au clavier. Ce genre d'interfaces a déjà une petite histoire derrière elle, et il n'est pas étonnant qu'on puisse en estimer l'origine dans un navigateur web. En effet, c'est avec ce qu'affiche le navigateur que l'on dialogue, avant de dialoguer avec le navigateur lui-même. Dès lors, on apprécie que les boutons se fassent petit, voire disparaissent complètement pour laisser la place au contenu. Ajoutez à cela une certaine habitude à utiliser vim, et vous obtenez Vimperator. Vimpérator a fait des émules, et n'est peut-être pas pour rien dans l'écriture d'Uzbl, qui, outre le pilotage à la vim, décide de respecter la philosophie Unix. Jumanji et Zathura s'inscrivent dans cette histoire. Par exemple, plus accessible qu'Uzbl, Jumanji reste bien plus léger que Vimperator.

Ces logiciels se contentent d'afficher deux petites barres de texte encadrant le contenu. Celle du haut se comporte comme une suite d'onglets, celle du bas indique le nom du document consulté, ainsi que la situation de la partie visible dans le document. La souris n'est pas bannie, elle peut servir à cliquer sur les liens mais, comme avec vim, la navigation dans la page se fait au moyen des touches h, j, k, l et quelques autres. Comme avec vim, il est possible d'entrer des commandes en tapant « : ». Une gestion minimale des fonctions habituelles à ce genre de logiciels est proposée: les téléchargements se font via un terminal appelant wget pour Jumanji, la touche « Tab » affiche la table des matières du pdf pour Zathura. La configuration se fait via un fichier texte, comme il se doit.

Comme ces logiciels font appel à des moteurs de rendu performant (webkit pour Jumanji, poppler pour Zathura), la qualité visuelle est excellente. Comme ils font le minimum, la réactivité est, elle-aussi, excellente. C'est probablement la raison principale qui pousse à leur adoption. Voir son navigateur s'afficher instantanément quand firefox met, sur la même machine, près de dix secondes change la vie.

Libgirara, bibliothèque d'interface mixte

Licence: dérivée de BSD.
site: http://pwmt.org/projects/libgirara
Auteur: communauté pwmt.

Il commence à exister plusieurs logiciels dont l'interface graphique se pilote exclusivement au clavier. Ces logiciels ont toujours les mêmes caractéristiques: ils sont légers, ils respectent autant que faire se peut la philosophie Unix et se configurent via un fichier texte. Autrement dit, entre les interfaces qui exploitent les performances des machines actuelles et se pilotent majoritairement à la souris et les logiciels en ligne de commande, il semble s'ouvrir un espace qui tente de conserver le meilleur des deux mondes: confort visuel, et manipulation symbolique. Ce genre de logiciels est apparu tardivement, vraisemblablement en réaction aux excès des interfaces graphiques actuelles, trop gourmandes en ressources, ce qui a alimenté une certaine forme de nostalgie pour les interfaces textuelles.

Ce genre d'interfaces mixtes pourrait avoir un bel avenir, si les différents logiciels s'accordent sur les raccourcis claviers (ceux de vim semblent s'imposer pour des raisons historiques), de sorte que l'utilisateur ait un ensemble d'outils homogènes. Il faudrait aussi qu'elles n'hésitent pas à exploiter plus qu'elles ne le font actuellement les potentialités des commandes textuelles pour dialoguer avec le contenu visuel, de sorte que la ligne de commande qu'elles incorporent ait la puissance d'un vrai shell, un shell textuel à effet graphique. Nous en sommes encore loin, mais cet avenir semble prévisible si la niche des interfaces mixtes venait à être exploitée.

Développer cet avenir est, en un sens, le but du projet Libgirara. Libgirara est une bibliothèque d'interface mixte encore en cours d'écriture. Elle est destinée à servir pour Jumanji et Zathura. Il y a bon espoir qu'une fois que la bibliothèque existera, elle servira à créer d'autres logiciels, et permettra ainsi l'extension des interfaces mixtes, élégantes et agiles à la fois, à l'image des sioux, avec lesquels elles entrent en consonance.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.