# Uzbl

Uzbl est un navigateur web sous licence GNU GPL, dont la particularité est d'être minimaliste et de respecter la philosophie Unix. Développé en C depuis 2009, le navigateur n'est actuellement toujours pas considéré par ses développeurs comme existant dans une version aboutie et stable.
Son nom est une contraction en langage lolcat de l'adjectif anglais usable (utilisable). Malgré le développement incomplet de ce navigateur, il est déjà reconnu comme l'un des meilleurs dans sa catégorie « minimaliste ».

## Conception

Uzbl est principalement développé en langage C, mais il bénéficie aussi d'autres langages de programmation, notamment le Python.
Uzbl est conforme aux principes d'Unix en matière de bonne programmation : « Un programme n'accomplit qu'une seule tâche, mais il l'accomplit bien. Les programmes fonctionnent en interaction. Un programme gère des flux de texte, parce que ces flux sont une interface universelle. » De fait, Uzbl ne se concentre que sur les fonctionnalités de base d'un navigateur web. Il ne comporte aucune des parties annexes comme des barres d'outils, onglets, des gestionnaires de marque-page, d'historique, des téléchargements ou encore des cookies. Ce sont des programmes ou des scripts tiers qui se chargent de ces fonctionnalités (comme uzbl_tabbed en ce qui concerne les onglets). Uzbl lit les entrées fournies par ceux-ci à travers le flux standard (pipe FIFO) ou via les sockets du domaine UNIX, ou encore délivre des fichiers de texte selon les spécifications du fichier de configuration. Ce dernier fichier peut être modifié et pris en compte sans devoir redémarrer Uzbl.

## Caractéristiques

Uzbl utilise les ressources de la bibliothèque logicielle de rendu de pages Web « WebKit », ce qui lui permet d'être conforme à la plupart des standards utilisés, dont HTML, XML, XPath, CSS, ECMAScript (JavaScript), DOM, et SVG. Le navigateur réussit ainsi à interpréter correctement les données du test Acid3.
Webkit supporte les plugins dans le style de Netscape, comme Adobe Flash Player et MPlayer.
Les points forts de Uzbl sont les raccourcis claviers, bien que d'autres dispositifs de pointage comme la souris sont possibles.
À l'instar de l'extension Vimperator de Firefox, Uzbl s'utilise à la base en mode textuel, comme vi ou Vim. Au lieu de diriger le pointeur de la souris sur un lien ou sur la zone d'affichage de l'adresse, l'utilisateur se sert d'un raccourci clavier pour passer en mode « commande ». Ce mode permet de sélectionner des liens dans le viewport par pression sur des touches (0 à 9 par défaut) ou en tapant directement le ou les mots du lien, modifier la configuration, en plus des fonctions habituelles d'un navigateur. La phase d'apprentissage de ce mode est un peu longue au départ, mais l'utilisateur peut ensuite naviguer plus vite et plus facilement qu'avec plusieurs autres navigateurs. Tous les raccourcis sont configurables.

## Histoire

L'idée de créer une nouvelle conception de navigateur web qui prendrait totalement en compte la philosophie d'Unix a pris forme sur le forum internet d'Arch Linux. Dieter Plaetinck commence à développer le prototype, suivi par d'autres développeurs enthousiastes de la communauté du logiciel libre. La toute première version est éditée le 21 avril 2009. Après seulement deux mois de programmation, la version devient utilisable. En plus des guides de compilation pour plusieurs distributions Linux et Mac OS X/Darwin (MacPorts), il existe des paquets binaires précompilés ; cependant aucune version n'est considérée comme officiellement stable.
Uzbl a été introduit dans les paquets ajoutés à ceux du système d'exploitation Debian le 21 septembre 2009 et a migré vers sa branche de test le 2 octobre de la même année.

## Développement

Le développement de Uzbl est encore en version alpha. Uzbl est écrit et conçu pour Arch Linux, mais peut être complilé pour d'autres distributions Linux/GNU. Des guides de compilation existent pour Gentoo Linux, Ubuntu, PLD Linux, MacPorts, et Nix package manager.