# sfeed : mon lecteur de flux favori 2021-06-11T21:07:51Z ## État des lieux Comme beaucoup, j'apprécie la simplicité des flux ATOM et RSS. Que c'est pratique de pouvoir facilement récupérer les nouveautés d'un site que l'on apprécie. Des lecteurs de flux, j'en ai utilisé un paquet, et à chaque fois un petit détail n'allait pas: * Les lecteurs de flux dans un navigateur. Je pense à Kriss feed, tiny tiny RSS, FreshRSS... Mis à part Kriss, il faut disposer d'un serveur, configurer une application, la tenir à jour. Mais surtout, le gros défaut, c'est qu'il faut ouvrir un navigateur web pour en profiter. La plupart des lecteurs ne proposent pas non plus une vue sous forme de "river", comme on peut l'avoir avec l'outil Lagrange : liste par date des différentes entrées, en commençant par le splus récentes. * Les lecteurs de flux installés sur ordinateur. Je fais ici référence à Liferea (très lourd), Thunderbird ou encore le plus léger newsboat qui est très bien fait. Deux défauts majeurs sont à noter : c'est difficile de garder un historique des entrées déjà lues si on utilise plusieurs machines, et il faut avoir un accès à son ordinateur pour lire. * Lecteurs de flux par email : rss2email envoie les entrées par mail. C'est top, car les mails, on peut les lire depuis un navigateur (webmail), un smartphone, un client mail. De plus, c'est forcément synchronisé entre les appareils. Bref, c'est parfait, mais en python ^^. Le risque, c'est aussi de se retrouver avec des centaines de mails non lus car chaque entrée correspond à un email. Ça reste une excellente solution :) Si je résume, voilà de quoi j'ai besoin pour lire mes flux : * Accessible de partout : via smartphone, un ordinateur public, un ordinateur au travail, une machine perso, peu importe l'OS et l'environnement. * Léger et rapide : c'est du texte avant tout à lire. Pas besoin d'effets spéciaux qui viendraient entraver la lecture. * Historique synchronisé entre les machines * Affichage des flux dont l'URL a changé. En effet, newsboat ne l'indique pas, et je me suis aperçu récemment que de nombreux flux suivis avaient disparu ou bien changé d'URL. Après plusieurs essais de divers clients, j'en suis arrivé à une méthode qui me va bien : l'utilisation de sfeed. ## sfeed => https://codemadness.org/sfeed-simple-feed-parser.html sfeed Cet outils présente à mon avis des avantages importants, comme : * Écrit en C, rapide comme l'éclair et utilisable sans dépendances. * On peut exporter les nouvelles sous divers formats : html, texte plein, boîte mail. Et ça, c'est un vrai plus pour moi. À l'heure actuelle, j'exporte quotidiennement les nouvelles entrées (des dernières 24h) au format texte que je laisse accessible via http, gemini, et que je m'envoie par email. Ainsi, cela répond à tous mes besoins. ## Configuration Voici ce que j'ai indiqué dans le fichier de configuration pour privilégier une commande déjà présente sur OpenBSD au lieu de curl : ``` fetch() { ftp -o - -r 15 -V -M -T "$2" 2>/dev/null } ``` ## Utilisation de sfeed Chaque jour, une tâche cron appelle le script suivant : ``` #!/bin/sh out=/var/www/htdocs/si3t.ch/pub/newfeeds.txt sfeed_update sfeed_plain $HOME/.sfeed/feeds/* | grep "^N" | cut -d" " -f2- > $out cat $out | mail -s "$(date +%F) - sfeed" prx@si3t.ch ``` Les nouvelles sont accessibles sur mon serveur et envoyées par mail. La partie "grep ^N" me permet de ne récupérer que les nouveautés. Dans le mail, toutes les nouvelles sont accessibles directement. Je peux donc ouvrir un navigateur là : => /pub/newfeeds.txt Ou bien récupérer ce fichier via ssh et le faire passer dans dmenu : ``` scp ledzep:/var/www/htdocs/si3t.ch/pub/newfeeds.txt /dev/stdout |\ dmenu |\ awk '{print $(NF)}') test -n "${url}" && $BROWSER "${url}" ``` Si j'ai choisi une entrée, l'article s'ouvre dans un navigateur Je pourrais ajouter un export en html, mais je n'en ai pas besoin finalement grâce au mail. ## Une réaction? => mailto:bla@bla.si3t.ch?subject=sfeed Envoyez votre commentaire par mail. => /log/commentaires Mode d'emploi de la liste de diffusion pour recevoir les réponses.