Journal Offpunk 1.8

18
10
déc.
2022

Hello,

Je suis heureux de publier la version 1.8 d’Offpunk

Offpunk, c’est un navigateur/lecteur RSS:

  • en ligne de commande
  • déconnecté
  • qui supporte les protocoles http/gemini/gopher/spartan/finger

Le site: https://sr.ht/~lioploum/offpunk/

L’annonce de la 1.8: https://lists.sr.ht/~lioploum/offpunk-users/%3C167070910507.7.12922629714643750438.82968646%40ploum.eu%3E

En ligne de commande ?

En ligne de commande signifie qu’il tourne dans le terminal et qu’on interagit avec le navigateur en tapant des commandes. Ça parait cryptique mais une fois qu’on y prend goût, ça peut être très rapide. La consultation des pages se fait dans less. Et l’édition des listes de favoris se fait dans $VISUAL (donc vim, emacs, nano ou votre éditeur favori).

Pour les utilisateurs qui aiment la ligne de commande et leur éditeur, c’est très efficace: les pages peuvent être ajoutées à des listes, ces listes peuvent
être modifiées/annottées dans vim.

Mon conseil est d’utiliser le terminal kitty pour voir directement les images dans le terminal.

Voir la news pour la 1.0 : https://linuxfr.org/news/offpunk-1-0-un-navigateur-deconnecte-pour-le-smolnet

Déconnecté ?

Déconnecté signifie qu’il est possible de ne naviguer que dans le cache avec la commande "offline". Toute nouvelle requête sera marquée comme devant être accomplie lors de la prochaine connexion. (ce que permet la commande offpunk --sync).

Mais comment ne pas oublier qu’on voulait consulter une page?

C’est très simple: les pages demandées sont, lorsqu’elles sont téléchargées, ajoutées au "tour", une liste spéciale qui se parcourt avec la commande "t". Une liste FIFO de pages à visiter. Admettons que sur la page "gemini://ploum.net" vous souhaitiez lire les liens 3,4,5 et 7 ? Il suffit de taper "t 3-5 7" puis enter. Les pages sont dans le tour, vous les visiterez successivement avec la commande "t".

Http/gopher/gemini/spartan/finger?

Oui, tous ces protocoles sont supportés de manière transparente. Suivez les liens gemini vers le web sans même vous en rendre compte.

Ah oui, sur le web, les pages html sont, par défaut, réduite avec la librairie "readability" pour tenter d’extraire le contenu pertinent. L’algorithme est parfois un peu trop aggressif et vous pouvez toujours regarder la page complète avec "view full" ou "v full" ("v normal" pour revenir à la version simplifiée).

Sur une page html, "v feed" ou "v feeds" vous permet de voir les flux RSS associés avec cette page (s’il y’en a)

RSS? Abonnement?

Il est aussi possible de s’abonner à des RSS ou à n’importe quelle page avec la commande "suscribe".

Tout nouveau lien apparaissant dans une page à laquelle vous êtes abonné sera automatiquement ajoutée à votre tour.

Sourcehut

Cette release est assez spéciale car c’est la première release où sourcehut a été utilisé pour le développement. Et autant dire que cette plateforme a été un grand succès pour offpunk. Des contributeurs sont spontanément apparus, des utilisateurs ont commencé à discuter sur la liste de discussion associée et même les packagers ont demandé une liste dédiée. Bref, n’hésitez pas à rejoindre la liste pour poser vos questions.

https://lists.sr.ht/~lioploum/offpunk-users

  • # bien vu pour l'usage de variables d'environnement

    Posté par  (site web personnel, Mastodon) . Évalué à 1. Dernière modification le 11 décembre 2022 à 23:51.

    Dans le même esprit que pour $VISUAL, il faut utiliser $PAGER si ce n'est pas déjà le cas.

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

    • [^] # Re: bien vu pour l'usage de variables d'environnement

      Posté par  (site web personnel, Mastodon) . Évalué à 2.

      Ce n’est pas le cas car Offpunk utilise à fond pas mal de fonctionnalités spécifiques à less et je n’ai pas réussi à trouver une personne qui n’utilise pas less!

      Du coup, je suis preneur de toute expérience de quelqu’un qui n’utilise pas less et aimerait qu’Offpunk utiliser plutôt son pager préféré.

      (j’ai même mis un warning dans le code demandant de m’envoyer un email si less n’est pas installé, je n’ai jamais reçu d’email)

      Mes livres CC By-SA : https://ploum.net/livres.html

      • [^] # Re: bien vu pour l'usage de variables d'environnement

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

        Je croise de temps en temps des serveurs qui n'ont que more (il ne s'agit bien entendu pas de distributions GNU/Linux qui installent et paramètrent par défaut less on s'entend.) Mais le problème ne se pose pas pour moi vu que offpunk est sur un poste perso que je contrôle. Ceci dit, j'ai croisé pas mal de gens qui ne juraient que par most. De mon côté, quand vim est installé sur une machine, j'ai tendance à remplacer (en usage interactif) less par view héhé.

        “It is seldom that liberty of any kind is lost all at once.” ― David Hume

        • [^] # Re: bien vu pour l'usage de variables d'environnement

          Posté par  (site web personnel, Mastodon) . Évalué à 2.

          J’ai écris un peu sur mon usage de less à l’époque:
          https://ploum.net/2022-01-07-less.html

          Depuis, less a implémenté une option qui permet de reprendre à l’endroit où l’on était précédement dans le fichier (il faut sauver la position à l’exit et on peut la restaurer).

          J’avais testé avec view et most à l’époque et n’étais pas arrivé à obtenir les mêmes fonctionnalités. Depuis, personne ne s’est jamais plaint de less…

          Mes livres CC By-SA : https://ploum.net/livres.html

  • # empaquetage

    Posté par  . Évalué à 4.

    J'ai fait l'empaquetage avec pyinstaller. Ça semble bien fonctionner. Ça donne un exe autoporteur (interpréteur python compris) de 26MB.

    Un simple pip install pyinstaller && pyinstaller -F -n offpunk offpunk.py suffit.

    Avec la possibilité de mettre l'exe dans les releases.

    Peut être une façon de simplifier l'installation pour certains utilisateurs.

    • [^] # Re: empaquetage

      Posté par  (site web personnel, Mastodon) . Évalué à 3.

      Je ne connaissais pas pyinstaller et j’avoue que je délègue complètement l’empaquetage à la communauté, n’étant moi-même pas vraiment intéressé par ça.

      Si ça t’intéresse, je t’invite à envoyer la proposition de distribuer un tel packet sur ~lioploum/offpunk-packagers@lists.sr.ht (mailing-list réservée aux packagers)

      Mes livres CC By-SA : https://ploum.net/livres.html

  • # Quelques retours

    Posté par  (site web personnel) . Évalué à 2. Dernière modification le 12 décembre 2022 à 10:31.

    Bonjour, merci pour cette mise à jour ! Je me suis mis à explorer un peu Offpunk depuis quelques jours, la navigation est agréable mais je ne suis pas encore à l'aise avec less, que je ne maîtrise pas encore entièrement (up/down/page up/page down/q c'est okay, le reste je sais pas encore bien comment ça fonctionne) :P

    Il est aussi possible de s’abonner à des RSS ou à n’importe quelle page avec la commande "suscribe".

    Ça serait plus "su*b*scribe" :)

    De plus, si on lance Offpunk et qu'on exécute la commande subscribe directement (sans avoir rien visité), on a droit à une jolie exception :

    ON> subscribe
    Traceback (most recent call last):
      File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
        return _run_code(code, main_globals, None,
      File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
        exec(code, run_globals)
      File "/home/me/offpunk/offpunk.py", line 4428, in <module>
        main()
      File "/home/me/offpunk/offpunk.py", line 4423, in main
        gc.cmdloop()
      File "/usr/lib/python3.10/cmd.py", line 138, in cmdloop
        stop = self.onecmd(line)
      File "/usr/lib/python3.10/cmd.py", line 217, in onecmd
        return func(arg)
      File "/home/me/offpunk/offpunk.py", line 3687, in do_subscribe
        subs = self.gi.get_subscribe_links()
    AttributeError: 'NoneType' object has no attribute 'get_subscribe_links'

    Je viens également d'installer timg à l'aide de la commande sudo apt install timg (sous Kubuntu 22.04) suite à l'info dans le prompt ("To render images inline, you need either chafa or timg."), et lorsque j'essaye d'accéder à une image j'ai une jolie ptite erreur :

    ON> 9
    /bin/sh: 1: feh: not found

    Je vois en entrant la commande ON> version que je n'ai pas la bonne version de timg installée : "- timg 1.3.2+ : Not Installed". Apt m'a en effet installé la version 1.1.6.

    Après avoir build timg depuis le repo git (depuis le tag 1.4.5) tout fonctionne normalement :)

    Screenshot de offpunk qui affiche une image et un peu de texte dans le terminal

    • [^] # Re: Quelques retours

      Posté par  (site web personnel, Mastodon) . Évalué à 3.

      Hello,

      Merci pour ton retour.

      Je viens de corriger le crash (j’ai bêtement oublié un décorateur sur la fonction subscribe).

      En ce qui concerne timg/chafa, je ne conseille chafa, il devrait suffire. Je vais également investiguer la référence à "feh" pour mettre à la place un xdg-open. Ce code date de l’époque où j’étais le seul utilisateur et tu es le premier à signaler l’erreur !

      (note que c’est customisable avec la commande suivante)

      handler image/* MON_VIEWER_FAVORI

      Merci pour le retour !

      Mes livres CC By-SA : https://ploum.net/livres.html

      • [^] # Re: Quelques retours

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

        Coucou, merci pour ta réponse rapide :)

        J'ai vu que timg était installable via apt, j'ai pas regardé plus plus loin que le repo de chafa (quoi que le gif sur le repo de chafa est bien bien cool).

Suivre le flux des commentaires

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