2 points par GN⁺ 2025-06-17 | 1 commentaires | Partager sur WhatsApp
  • Le navigateur web en terminal Chawan 0.2.0 a été publié et peut être installé via une archive source tarball, un binaire statique pour Linux amd64 ou un paquet .deb
  • Le 25 juin 2025, une version corrective 0.2.1 a également été proposée pour corriger certains problèmes spécifiques à certaines plateformes de cette version
  • Les mainteneurs de paquets peuvent désormais se limiter aux dépendances d’exécution essentielles centrées sur libssh2, libbrotli et OpenSSL ou LibreSSL
  • zlib, libseccomp, termcap/ncurses et libcurl ne sont plus nécessaires, et en cas de problème de packaging il est recommandé de contacter l’upstream plutôt que d’appliquer un patch temporaire
  • La branche v0.2 ne recevra que des correctifs de bugs, tandis que les nouvelles fonctionnalités continuent sur master, avec pour objectif pour la prochaine version d’améliorer les performances et la précision du moteur de mise en page ainsi que l’ergonomie de l’interface

Fichiers de distribution de Chawan 0.2.0

  • Chawan 0.2.0 a été publié
  • L’archive tarball de l’arborescence source est disponible ici : v0.2.0.tar.gz
    • Voir le fichier README pour les instructions de compilation
  • Une distribution de binaire statique pour Linux amd64 est également proposée
    • Distribution de binaire statique
    • Pour l’installer, extraire l’archive à l’emplacement souhaité puis exécuter make install avec les privilèges root
    • La désinstallation s’effectue avec make uninstall
  • Cette même distribution est également disponible sous forme de .deb

Version corrective 0.2.1

  • Dans une annonce complémentaire du 25 juin 2025, une version corrective corrigeant certains problèmes majeurs spécifiques à certaines plateformes de la 0.2.0 a été proposée
  • Cette version corrective est consultable ici : chawan-0-2-1.html

Dépendances pour les mainteneurs de paquets

  • Les dépendances d’exécution actuellement requises sont les suivantes
    • libssh2
    • libbrotli
      • Plus précisément libbrotlicommon et libbrotlidec
    • OpenSSL ou LibreSSL
      • OpenSSL 3.0 ou plus est recommandé
      • LibreSSL a été testé avec la version incluse dans OpenBSD 7.7
  • Les dépendances présentes dans les versions de développement précédentes ne s’appliquent plus et peuvent être supprimées
    • zlib
    • libseccomp
    • termcap/ncurses
    • libcurl
  • En cas de problème lors du packaging de Chawan, il est recommandé de prendre contact avant d’appliquer un patch temporaire
    • Il est possible que le problème puisse être résolu en amont

Gestion des branches et prochaines étapes

  • La 0.2.0 inclut toutes les fonctionnalités souhaitées pour le MVP et a été versionnée sans bug critique connu
  • La branche v0.2 de git ne recevra que des corrections de bugs
  • Le travail sur les nouvelles fonctionnalités continue sur la branche master
  • La prochaine version visera à améliorer les performances et la précision du module de mise en page, ainsi qu’à rendre l’interface un peu plus conviviale

1 commentaires

 
GN⁺ 2025-06-17
Avis sur Hacker News
  • C’est toujours appréciable d’avoir un moyen de ne pas utiliser encore un autre moteur Blink pour une courte quête annexe d’investigation. Je vais le tester après les cours ;)
    Si cela n’a pas encore été mentionné, il existe carbonyl, un port de Chromium pour terminal, qui est un hack particulièrement intéressant dans les environnements sans sixel : https://github.com/fathyb/carbonyl
    Cela dit, comme le créateur original n’a plus le temps de s’en occuper, il en est à un état très basique, et il manque beaucoup de fonctions comme les raccourcis clavier ou l’enregistrement de fichiers. Mais le fait d’apporter une compatibilité web complète est vraiment génial, et j’aimerais qu’une personne sachant faire du Rust reprenne le projet. Quand j’ai regardé il y a quelques mois, aucun fork ne semblait avoir d’élan

    • Dans les discussions GitHub de carbonyl, peut-être parce que l’auteur original est palestinien, les gens continuent de demander des nouvelles de sa santé et de sa sécurité.
      J’espère qu’il va bien. Je voulais dire que son travail était vraiment excellent. Je déteste vraiment la guerre, de manière générale
  • @shiomiru
    Je me demande quelles sont, selon vous, les meilleures ressources pour apprendre ce type de concepts liés aux TTY. Peu importe qu’elles soient payantes ou gratuites
    Par exemple, je connais https://www.linusakesson.net/programming/tty/index.php, mais cela ne va pas jusqu’à termcap/terminfo/curses
    Un commentaire mentionnait http://www.amazon.com/termcap-terminfo-OReilly-Nutshell-Lind..., et on trouve aussi une version en ligne sur https://www.scribd.com/document/831486848/Termcap-and-Termin...

  • C’est vraiment bien fait. Je vais l’essayer sur une partie de mon travail quotidien pour voir jusqu’où ça peut aller. L’affichage de HN a l’air particulièrement réussi

    • Super. Il ne faut pas oublier de signaler les bugs que l’on trouve
  • Super cool ! C’est aussi agréable de voir que c’est écrit en Nim
    Quand j’exécute cha example.com, je ne vois pas comment utiliser les commandes du type hjkl. Les seules touches qui avaient un effet étaient les chiffres, qui s’affichent en bas à gauche. Je ne sais pas encore à quoi ils servent. Je me demande si j’ai raté quelque chose d’évident dans l’utilisation, ou si c’est peut-être un bug
    Je l’ai compilé depuis les sources avec Nim 2.24 sur MacOS Sequoia 15.5 Apple Silicon. Les pages se chargent correctement, mais les touches de commande ne fonctionnent pas

    • J’ai essayé avec Ghostty, iTerm2 et Terminal.app, et le comportement était le même partout
  • Je l’ai compilé depuis les sources sur une Lenovo M8 4e génération avec Termux, et il a suffi d’installer Nim. L’installation s’est faite proprement, même sans utilisateur root

  • En creusant un peu, il semble que Chrome et Safari ne réussissent désormais plus complètement Acid2 et Acid3

  • J’ai toujours veillé à ce que mon site web s’affiche bien aussi dans Links, et il semble maintenant y avoir un nouveau candidat
    La prise en charge d’une partie de CSS rend en fait les choses un peu plus difficiles. Avant, links ignorait complètement les marges et le padding, ce qui permettait d’afficher plus proprement des éléments de liste inline comme les menus ; maintenant, l’espacement entre les éléments pose problème

    • L’intention est simplement que « ça marche ». Je sais que ce n’est parfois pas le cas, et on peut considérer cela comme un bug :)
      Cela dit, si vous avez vraiment besoin de CSS personnalisé pour un affichage en grille, chawan prend en charge la fonctionnalité média standard grid : https://developer.mozilla.org/en-US/docs/Web/CSS/@media/grid
  • Je suis un utilisateur de longue date de w3m. Après essai, je pense que je pourrais l’apprécier. C’est très correct
    Je me demande si l’absence de fonction « ouvrir une URL », autrement dit de barre d’adresse, est un choix de conception volontaire

    • La barre d’adresse devrait s’ouvrir avec C-l, c’est-à-dire contrôle + L
  • Excellent
    Comme il semble ne plus utiliser termcap/ncurses, je me demande si le traitement du terminal est fait directement

    • En réalité, Chawan n’a jamais utilisé ncurses, seulement termcap. ncurses se trouve simplement implémenter aussi termcap
      Au début, j’ai commencé avec termcap parce que je le connaissais déjà via w3m. Mais termcap est une vieille interface, et elle ne permet pas de décrire le true color, la seule propriété vraiment utile sur les terminaux modernes. Son seul avantage était en gros « ça pourrait peut-être fonctionner par hasard sur des terminaux matériels des années 80 », ce qui est cool, mais pas au point d’accepter des modes d’échec supplémentaires
      Donc, au lieu de passer à terminfo, j’ai tout basculé vers un modèle basé sur des requêtes au terminal, dont j’avais de toute façon besoin pour d’autres raisons. Il existe encore une base de données de terminaux intégrée pour détecter les valeurs TERM connues comme non compatibles avec XTerm. Mais si un terminal répond correctement aux requêtes, il fonctionne directement même si sa valeur TERM n’est pas connue
  • Voir HN se charger du premier coup dans Termux m’a laissé bouche bée. Beau travail