Quelques logiciels qui sonnent sioux

Posté par  (site web personnel) . Édité par Nÿco, Lucas Bonnet, NeoX et Benoît Sibaud. Modéré par Malicia.
Étiquettes :
21
25
jan.
2012
Communauté

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

  • Hiawata, le serveur web
  • Jumanji et Zathura, le client web et le lecteur de PDF
  • Libgirara, bibliothèque d'interface mixte

NdM : merci à Sygne pour son journal.

Sommaire

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 été 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 existants, et inquiet quant à leurs sécurités, 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 frameworks 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 requête. 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 requérant durant un certain temps, histoire de ralentir ses ardeurs. Cette mise au ban d'IP est étendue à différentes situations, telles des requêtes trop nombreuses, mal formées, trop grosses, 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 requête, 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 1200 Ko en fait un logiciel léger, bien plus léger que lighttpd, qui, avec ses 3520 Ko 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 sur GTK. Mais à la différence des autres logiciels utilisant GTK, l'usage de la bibliothèque 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 petits, 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 resonance.

Aller plus loin

  • # Sioux plaît...

    Posté par  . Évalué à 5.

    Sioux, Apache, Cherokee... kif-kif.

    Les sioux sont regroupés en trois tribus: les Lakota, les Nakota et les Dakota. Les noms Apache, Cherokee et Hiawatha sonneraient plutôt Amérindien.

  • # Juste pour signaler…

    Posté par  . Évalué à 2.

    Dans le même genre que Jumanji, il y a luakit, navigateur minimal basé sur GTK et Webkit et contrôlé à la vim.

    C'est original mais la prise en main demande un certain effort ; pareil pour Zathura (je suis pourtant adepte de vim).

    Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

    • [^] # Re: Juste pour signaler…

      Posté par  (site web personnel) . Évalué à 1.

      Un jour de grande frustration, j'ai voulu abandonner le mastodonte Firefox et essayer ces logiciels : uzbl, jumanji, luakit.

      Après de trop rapides essais, chacun a planté, perdant ainsi les pages web sur lesquelles j'étais. Du coup je me suis résigné à favoriser la stabilité face à la légèreté et l'originalité.

      Dommage, pourtant j'adorais le mode de fonctionnement d'uzbl, avec les scripts externes dans le langage de son choix, la conf en plain/text, la communication au choix via des sockets ou des fifos...

    • [^] # Re: Juste pour signaler…

      Posté par  (site web personnel) . Évalué à 1.

      Pour moi, la prise en main de zathura est vite vue: j, k, +, -, :info, Tab, et parfois f, pour suivre un lien. Le reste, je ne m'en sers pour ainsi dire jamais.

      Quant à Jumanji je le trouve étonnamment stable, plus que midori que j'utilisais il y a cinq ou six mois. Mais je me souviens qu'une option de configuration concernant flash ou les plugins externes le rendait instable.

Suivre le flux des commentaires

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