Chawan, navigateur web TUI
(chawan.net)- Chawan est un nouveau navigateur web TUI fonctionnant dans un terminal en mode texte
- Cette version 0.2.0 inclut toutes les fonctionnalités essentielles de l’étape MVP et ne présente aucun bug critique connu
- Seules les bibliothèques libssh2, libbrotli et OpenSSL/LibreSSL sont indispensables, plusieurs dépendances des anciennes versions ayant été supprimées
- Une version binaire statique et un paquet .deb sont également proposés pour Linux amd64, ce qui facilite la distribution et l’installation
- La prochaine version visera une amélioration des performances du module de mise en page ainsi qu’une meilleure expérience UI
Présentation de Chawan 0.2.0
Chawan est un navigateur web léger basé sur une interface utilisateur en terminal (TUI), conçu comme un projet open source pour permettre de naviguer simplement sur le Web dans un environnement texte. Cette version 0.2.0 est la première version stabilisée à réunir toutes les fonctionnalités majeures de l’étape MVP (produit minimum viable), sans aucun bug critique signalé à ce jour.
Distribution et installation
- Une archive tarball de l’arborescence source est fournie, et il suffit de suivre les indications du README si vous souhaitez compiler vous-même
- Une distribution en binaire statique pour Linux amd64 est fournie, permettant une installation simple après extraction de l’archive avec la commande
make install- La suppression peut être effectuée avec
make uninstall
- La suppression peut être effectuée avec
- La même distribution est également proposée au format paquet .deb, pour une installation directe sur les systèmes basés sur Debian
Informations pour les gestionnaires de paquets
- Les dépendances d’exécution indispensables de Chawan sont les suivantes :
- libssh2
- libbrotli (y compris libbrotlicommon et libbrotlidec)
- OpenSSL (3.0 ou supérieur) ou LibreSSL (tests validés sur OpenBSD 7.7)
- Les bibliothèques zlib, libseccomp, termcap/ncurses, libcurl et autres utilisées dans les anciennes versions de développement ne sont plus nécessaires et ont donc été retirées des dépendances
- En cas de problème lors du packaging, il est recommandé de contacter d’abord le développeur avant d’appliquer un patch, car le problème pourra probablement être résolu directement en amont
Feuille de route
- Cette version 0.2.0 a demandé plus de temps que prévu, mais il s’agit de la version choisie pour une diffusion officielle maintenant que toutes les fonctionnalités MVP sont en place
- La branche v0.2 ne recevra désormais que des correctifs de bugs, tandis que l’ajout de nouvelles fonctionnalités se poursuivra sur la branche master
- La prochaine version se concentrera principalement sur l’amélioration des performances et de la précision du module de mise en page, ainsi que sur une meilleure convivialité de l’UI
Importance et avantages du projet
- Chawan est un navigateur web optimisé pour les environnements terminal, permettant d’accéder à des contenus web sur des serveurs et dans des environnements aux ressources limitées
- Contrairement aux navigateurs web textuels existants, il se distingue par la prise en charge de protocoles modernes de chiffrement et de compression, ainsi que par la réduction minimale des dépendances
- Son fonctionnement open source facilite les extensions supplémentaires et la personnalisation
1 commentaires
Avis Hacker News
J’ai toujours un petit plaisir à voir des projets écrits en nim. J’ai l’impression que nim est l’un des langages les plus intéressants, quelque part entre C/C++ et python. Vu la taille de la communauté nim, la productivité de ses utilisateurs semble très élevée, au point de me donner l’impression que mon intuition sur nim est juste même sans bien le connaître. C’est dommage qu’il n’ait pas réussi à se développer plus largement.
shiomiru, je me demande quelles sont les meilleures ressources pour apprendre les concepts liés au TTY. Recommandations bienvenues, gratuites ou payantes. Pour le TTY, je connais déjà l’introduction au TTY de linusakesson.net, mais elle a la limite de ne pas couvrir termcap/terminfo/curses. Un autre commentaire mentionne aussi le livre Termcap & Terminfo d’O'Reilly (consultable en ligne ici).
Je trouve toujours agréable d’avoir une nouvelle approche à essayer ponctuellement pour de la recherche, sans devoir encore utiliser un autre moteur basé sur Chrome. Ce qui a été présenté aujourd’hui me donne hâte de le tester moi-même après les cours. Comme alternative très sympa, surtout dans les environnements sans sixel, je recommande le port terminal de chromium : carbonyl. Son auteur d’origine ne peut plus vraiment le développer activement, donc les fonctionnalités sont très limitées et beaucoup de choses comme les raccourcis clavier ou l’enregistrement de fichiers ne sont pas encore prises en charge. Mais je trouve sa compatibilité Web et son originalité très impressionnantes. J’espère que quelqu’un ayant des compétences en rust reprendra le projet. Quand j’ai regardé il y a quelques mois, il n’y avait pas de fork populaire.
J’aime vraiment ce genre de projet. J’aimerais bien voir une liste de sites orientés texte. Mes deux préférés sont plaintextsports.com et lite.cnn.com.
Vraiment génial. Je l’ai compilé moi-même depuis les sources avec termux sur une Lenovo M8 4e génération, et il suffit d’installer nim. J’ai été impressionné par la propreté de l’installation, même sans utilisateur root.
Très belle réalisation. J’ai hâte de l’utiliser en conditions réelles pour plusieurs tâches et de voir jusqu’où on peut aller. Le site HN est très agréable à consulter.
J’ai toujours fait en sorte que mon site reste lisible même dans Links, et maintenant j’ai l’impression d’avoir un nouveau candidat. Avec une prise en charge partielle de CSS, il y a aussi davantage de choses à considérer, comme l’espacement entre les éléments. Dans Links, margin/padding étaient totalement ignorés, ce qui permettait d’aligner proprement un menu et d’autres éléments sur une seule ligne, mais maintenant la situation devient plus délicate.
Projet vraiment très cool, et bravo pour le fait que ce soit fait en nim. Quand je tape
cha example.com, je suis un peu perdu car je ne connais pas du tout les commandes de base (hjkl, etc.). Si j’appuie sur des chiffres, ils s’affichent en bas à gauche, mais à part ça rien ne réagit. Je l’ai compilé moi-même sur MacOS Sequoia 15.5 Apple Silicon avec Nim 2.24. Les pages Web se chargent bien, mais les commandes ne fonctionnent pas. Je me demande si j’ai raté quelque chose ou si c’est un bug.Je trouve intéressant qu’il n’utilise plus termcap/ncurses. Est-ce que cela signifie qu’il gère directement le terminal ?
J’ai été impressionné par la facilité de compilation sur macOS avec une seule commande
make. Ravi de voir apparaître un remplaçant moderne à elinks.