Précédemment, j'utilisais, pour lire mes flux rss, Tiny Tiny Rss
Cependant, je n'arrivais plus à le mettre à jour et la seule façon viable de l'installer est de passer par un docker.
J'utilise un raspberry Pi3 pour l'auto hébergement de mon serveur
Malheureusement, il n'existe pas d'image docker officiel de ttrss pour les processeurs arm.
J'ai fait quelques recherches pour remplacer ttrss. Il existe, pour les plus connus :
J'aurais pu installer l'application News depuis Nextcloud, mais elle n'était pas disponible pour un processeur arm 32 bits.
Finalement, j'ai choisi elfeed couplé avec la synchronisation de nextcloud pour pouvoir lire les news depuis n'importe quel PC. Je vous explique pourquoi.
Elfeed est :
L'idée est d'utiliser nextcloud-desktop pour synchroniser, à partir du serveur nextcloud, tous les fichiers nécessaires au bon fonctionnement d'Elfeed. Cependant, je ne suis pas sûr que cela fonctionne nominalement si deux ordinateurs synchronisent simultanément ces fichiers. Pour ma part, ce n'est pas très grave car je n'utilise qu'un seul PC à la fois. Il est également possible d'afficher une page web des flux rss à partir d'elfeed. Nous allons voir comment mettre tout cela en place.
Pour pouvoir se servir d'elfeed et synchroniser les fichiers, il faut :
Pour le serveur nextcloud, il faut bien évidemment tout d'abord un serveur LAMP puis rajouter Nextcloud. Vous avez le choix, la manière classique manuelle, docker, snap aussi pour Ubuntu
Pour le logiciel de synchronisation sur la machine cliente, il doit être disponible dans les dépôts. Donc pour Debian, ça donne en root :
apt install nextcloud-desktop
Pour les autres distributions, vous n'aurez aucun mal à adapter
Le logiciel Emacs est également dans les dépôts :
apt install emacs
Pour les paquets obligatoires elfeed et en ayant lancé Emacs sur votre ordinateur client, faire
Alt-x package-install
Appuyer sur Enter
elfeed elfeed-org elfeed-score
use-package
elfeed-web simple-httpd
Dans votre fichier de configuration d'emacs (.emacs, init.el, settings.org, etc...) :
(use-package elfeed ;;Utiliser le paquet elfeed
:defer t
:init (setf url-queue-timeout 30) ;;Attendre 30 secondes pour le timeout
:config
(defface Linux-elfeed-entry
'((t :foreground "#fd0"))
"Mettre en orange les tags Linux")
(push '(Linux Linux-elfeed-entry)
elfeed-search-face-alist)
(setq elfeed-search-title-max-width 80) ;;Largeur de la colonne Titre des articles
(setq elfeed-db-directory "~/elfeed")) ;;Dossier d'elfeed. Je préfère le mettre dans le dossier home pour ne pas le synchroiser avec Nextcloud. ça ne sert à rien
(run-at-time nil (* 1 30 60) #'elfeed-update) ;;Mise à jour des feeds toutes les 30 minutes
(use-package elfeed-score ;;Utiliser le paquet elffed-score
:ensure t
:config
(elfeed-score-load-score-file "~/Nextcloud/.elfeed/elfeed.score") ;;Chemin du fichier elfeed-score
(setq elfeed-score-serde-score-file "~/Nextcloud/.elfeed/elfeed.score") ;;Chemin du fichier elfeed-score
(elfeed-score-enable) ;;activer elfeed-score
(define-key elfeed-search-mode-map "=" elfeed-score-map)) ;;définir la touche "=" comme touche primaire d'elfeed-score
(use-package elfeed-org ;;utiliser le paquet elfeed-org
:ensure t
:config
(elfeed-org) ;;Lire la configuration d'org-mode
(setq rmh-elfeed-org-files (list "~/Nextcloud/.elfeed/elfeed.org"))) ;;Chemin du fichier elfeed.org
(elfeed-web-start) ;;démarrer le service web d'elfeed
(use-package simple-httpd ;;utiliser le paquet simple-httpd
:ensure t
:config
(setq httpd-host "0.0.0.0") ;;Ecoute de toutes les ip entrantes
(setq httpd-port "8080")) ;;sur le port 8080
Il existe deux fichiers de configuration pour elfeed :
* blog :elfeed:
** News :news: #tag news
*** [[https://www.lemonde.fr/rss/une.xml][Le Monde]] #Flux rss du monde
*** [[https://www.mediapart.fr/articles/feed][Mediapart]] :Mediapart: #tag Mediapart et flux rss de Mediapart
** Informatique :Informatique: #tag informatique
*** [[https://www.journalduhacker.net/rss][Journal du Hacker]] #flux rss du journal du hacker
*** [[https://restez-curieux.ovh/feed/][Cyrille Borne]] # flux rss de cyrille borne
*** [[https://distrowatch.com/news/dww.xml][Distrowatch]] #flux rss de distrowatch
** Linux #Pour les flux Linux
*** Archlinux :Archlinux: #tag Archlinux
**** [[https://archlinux.org/feeds/news/][Archlinux]] #flux Archlinux
*** LinuxFr :Linux: #tag Linux pour Linuxfr
**** [[https://linuxfr.org/news.atom][LinuxFr Depeches]]
**** [[https://linuxfr.org/journaux.atom][LinuxFR Journaux]]
**** [[https://linuxfr.org/liens.atom][LinuxFr Liens]]
**** [[https://linuxfr.org/forums.atom][LinuxFr Forums]]
** Sciences :Science: #Tag science
*** [[https://www.futura-sciences.com/rss/actualites.xml][Futura Sciences]] #flux rss de Futura Sciences
;;; Elfeed score file -*- lisp -*-
(
("title-or-content" ;;Pour les mots Ubuntu sur le titre, ajouter un score de 100 et le contenu 150
(:text "Ubuntu" :title-value 150 :content-value 100 :type s)
(:text "Emacs" :title-value 1000 :content-value 800 :type s) ;;Pour le mot Emacs dans le titre, ajouter 1000 au score et 800 pour le contenu
(:text "Linux" :title-value 300 :content-value 160 :type s)) ;;Pour les mots Linux sur le titre, ajouter un score de 300 et le contenu 160
("tag" ;;Sur le tag Linux ajouter 750
(:tags (t . Linux)
:value 750
:comment "Ajout 750 points pour Linux tag")
(:tags (t . Informatique) ;;Sur le tag Informatique ajouter un score de 500
:value 500
:comment "Ajout 500 points pour Informatique tag")
(:tags (t . emacs) ;;Sur le tag emacs, ajouter un score de 1000
:value 1000
:comment "Ajout 1000 points pour Emacs tag")
(:tags (t . Archlinux) ;;Sur ke tag de Archlinux ajouter un score de 1500
:value 1500
:comment "Ajout 1500 points pour Archlinux tag"))
("adjust-tags"))
Alt-x elfeed
Pour elfeed Web, vous avez la possibilité de consulter vos feeds via le serveur. Pour cela, il faudra lancer un emacs configuré en serveur sur le serveur LAMP.
Les flux RSS seront donc disponibles à cette adresse : https://nom_serveur/:8080/elfeed/ directement dans votre navigateur web.
L'interface n'est pas super et il n'y aura pas de score
Voici les commandes de base pour utiliser elfeed :
Avec l'application telegram-desktop, sélectionner le dossier .elfeed dans le dossier ~/Nextcloud pour le synchroniser. Cela permettra d'avoir exactement les mêmes copies de fichiers sur tous les ordinateurs clients.