FreshRSS et EasyRSS : une bonne combinaison

logo EasyRSS Pouvoir surveiller l’activité de ses sites préférés en un clin d’œil en obtenant une vue d’ensemble des dernières actualités ou articles, c’est vraiment très pratique. C’est ce que permet un agrégateur RSS.

Puisque j’ai du migrer mon blog sur un hébergeur payant (voir ici), je bénéficie de nouvelles possibilités, comme par exemple installer un agrégateur RSS côté serveur.

Voyons un peu de quoi il s’agit, et de la solution que j’ai mis en place : FreshRSS côté serveur, et EasyRSS sur le smartphone.

28-mars-2018 : J’ai fait un autre article ici quand j’ai installé une nouvelle version de FreshRSS sur mon serveur. Ce qui suit est toujours valable, à quelques nuances près (l’endroit où remplir le mot de passe API par exemple). Il y a surtout une nouvelle information à propos de la mise à jour automatique des flux, que je n’avais pas résolu dans cer article !

RSS

On appelle donc cela la syndication de contenu, et c’est rendu possible grâce à RSS 2.0 (Really Simple Syndication), qui définit le format de données qui sera échangé. À noter qu’il existe un autre format appelé Atom, qui permet de faire la même chose pour autant que je sache, mais peut-être moins populaire.

Ainsi, à partir d’un logiciel agrégateur dans lequel vous avez saisi préalablement les sites qui vous désirez suivre, vous pouvez avoir un aperçu rapide des nouveaux articles publiés par vos sites préférés. Plus besoin d’aller visiter chaque site un par un pour savoir si un article a été publié…

Exemple avec Liferea sous Ubuntu :

Liferea, un agrégateur de flux sous Linux

Mais il y a encore mieux : faire tourner ce logiciel sur un serveur, afin qu’il fasse tout le travail automatiquement. Il ne reste plus qu’à vous connecter sur ce serveur, tout est prêt  : les derniers articles parus sont listés, leur contenu (ou une partie) a été mis en cache localement, il n’y a même plus besoin de se connecter sur le site d’origine, sauf si on le souhaite bien sûr.

C’est aussi intéressant lorsqu’on lit ses flux à partir d’un smartphone : il y a moins de data à être transféré, c’est donc plus rapide.

Les logiciels permettant de faire cela sont légions, et là comme ailleurs, Google proposait sa propre solution : Google Reader, une plateforme côté serveur donc, devenu assez vite populaire. Le seul souci est une fois de plus que vous confiiez vos données à Google. Mais Google a décidé d’arrêter son service en Mars 2013. Problème définitivement réglé donc.

Dommage, car un très beau client Google Reader pour Android avait été réalisé : EasyRSS (qui n’est plus disponible sur GooglePlay), avec un affichage soigné (et épuré), ainsi qu’une gestuelle adaptée au mobile.

FreshRSS

Logo FreshRSS FreshRSS est décrit comme un agrégateur de flux léger et puissant, facile à héberger puisque écrit en PHP, langage fourni par tous les hébergeurs.

Ce serait peut-être même le meilleur, comme le prétend avec humour son auteur 😉 :

probably the best.. in my opinion

Au passage, l’auteur Marien Fressinaud est français, et c’est son premier projet. Il a présenté un bilan de son expérience sur Linuxfr : FreshRSS, 2 ans et tout va bien. C’est plutôt intéressant à lire.

J’ai donc commencé par installer FreshRSS sur One.com, mon hébergeur. L’installation est on ne peut plus simple, une simple copie via FTP, puis on ouvre dans son navigateur l’adresse correspondante, typiquement http://mon.serveur/FreshRSS. Il y a des pré-requis côté serveur (voir ici), mais tout était bien disponible chez One.com.

L’interface est assez intuitive, il ne reste plus qu’à créer un utilisateur, et ajouter ses sites préférés (j’ai personnellement importé ma liste de Liferea au format .ompl). En haut à droite de la page, un bouton de configuration vous donne accès aux différentes options/réglages/paramètres. Plusieurs thèmes sont disponibles.

Et voilà, c’est terminé, et directement utilisable dans Firefox :

FreshRSS dans Firefox

Pour une utilisation au clavier, il existe des raccourcis qui sont paramétrables dans la page de configuration. Par exemple :

‘j’ pour passer à l’article suivant,
‘k’ pour passer à l’article précédent
‘c’ pour refermer
etc…

Je le teste alors sur mon smartphone, un bon vieux HTC Desire équipé d’un écran 3,7″, et là, déception : l’affichage pose problème malgré le « responsive design », l’écran est manifestement trop petit pour lire le flux RSS fourni. Dire qu’en 2010, le HTC Desire était au top… 🙁

Il va donc falloir trouver une application Android dédiée…

EasyRSS

logo EasyRSS C’est là que je tombe sur EasyRSS, écrit pour Google Reader par un certain Sun Zheng. Google ayant arrêté son service, l’application est inutilisable, mais l’auteur a laissé les sources disponibles sur Github. Alkarex, un autre français impliqué dans le projet FreshRSS, décide alors de l’adapter à FreshRSS (fork), ce dernier étant compatible avec l’API Google. Soit exactement ce que je cherchais…

Encore un bel exemple des avantages du logiciel libre. Un projet peut être arrêté, repris par un autre, modifié, adapté, etc…

Il faut d’abord récupérer le .APK qui nous permettra de l’installer sur le smartphone. Pour cela, il faut aller sur la page du projet, et chercher ce fameux .APK, ce qui ne se révèle pas évident : il y a un lien sous Download vers ‘APK available’,  qui nous emmène sur une page où il faut cliquer sur ‘EasyRSS-0.6.03-beta.apk’, une nouvelle page s’affiche alors, et là, il faut cliquer sur ‘View raw’ pour enfin télécharger le package android. Bon, normalement, on finit par y arriver ! 😉

!! Attention, n’allez pas récupérer la version EasyRSS disponible sur Google Play, elle ne fonctionnera pas avec FreshRSS !!

Avant de l’installer sur Android, il faut aller changer un ou deux paramètres côté FreshRSS : aller dans Configuration – Utilisateurs, et cocher la case suivante :

autoriser l'accès par API

Enregistrer, puis remonter en haut de page, pour saisir un mot de passe pour l’accès à partir du portable :

Mot de passe API

Voilà, le serveur est prêt.

Installer EasyRSS sur le smartphone, et lancer l’application. Un premier écran vous demandera de rentrer les informations suivantes :

écran de connexion EasyRSS

L’URL du service à saisir est comme suit :

http://mon.serveur/FreshRSS/p/api/greader.php

Puis saisissez le nom d’utilisateur précédemment défini sur FreshRSS, et son mot de passe « API ». Voilà, c’est terminé… Il ne reste plus qu’à profiter de cette belle application :

les catégories les articles

Conclusion

La solution parfaite alors ? pas tout à fait, puisque One.com n’autorise pas d’ajouter des tâches planifiées au système (cron tasks). 🙁

Comme c’est la solution proposée par FreshRSS, la seule alternative qui me reste, c’est de passer d’abord par la page web via Firefox, et cliquer sur rafraîchir. Puis lancer EasyRSS pour profiter de la lecture…

11 réflexions sur « FreshRSS et EasyRSS : une bonne combinaison »

  1. Bonsoir Pascal,

    je trouve votre article instructif et je vais d’ailleurs vous lire plus souvent après ma longue absence, notamment parce que nous utilisons le même serveur chez one.com.

    Je vais essayer d’installer Freshrss, mais quel easyreader faudrait-il prendre sur googleplay, car il y en a pas mal?

    Du reste une question: est-ce que cela fonctionne avec le browser dolphin sur Android?

    Cordialement,

  2. Bonjour Merlinux,

    Il ne faut pas aller sur googleplay, mais sur la page github du projet de EasyRSS « forké » pour FreshRSS.

    Je n’ai peut-être pas été assez clair : le EasyRSS sur googleplay n’est plus maintenu puisque Google Reader n’existe plus. MAis l’auteur a rendu les sources disponibles.
    Et l’un des développeurs de FreshRSS l’a modifié (fork) pour qu’il soit compatible avec FreshRSS.

    Le lien direct est :
    https://github.com/Alkarex/EasyRSS/blob/master/Release/EasyRSS-0.6.03-beta.apk?raw=true

    Tu vas récupérer un fichier « EasyRSS-0.6.03-beta.apk », après tu le copies sur ton téléphone android, et tu installes l’application en lançant le .apk.

    Et voilà…

    Pour Dolphin, je ne sais pas, je n’ai pas essayé, mais ça devrait fonctionner. Mais en utilisant EasyRSS, tu as un affichage et une navigation BEAUCOUP plus agréable… c’est un peu le principe d’une application dédiée.

  3. Bonsoir,
    après avoir cherché un peu partout sur internet, je m’en remets à vous qui semblez avoir téléchargé l’application via la page du projet github. Seulement aujourd’hui le lien est mort. Il y a peut-être quelque chose à faire avec les fichiers .java, mais si vous avez le fichier .apk tout prêt, je serai très heureux.
    Merci d’avance !

  4. Finalement, je me suis un peu affolé trop tôt. J’ai un problème, la liste des différents flux et catégories apparaît bien dans EasyRSS, mais impossible de synchroniser les articles. Il s’affichent un petit message d’erreur en bas de l’écran, erreur 500. Un problème dans mon serveur, je suppose. Si quelqu’un a une idée, je suis preneur.

    1. Oui, erreur 500, c’est côté serveur, et assez malheureusement générique (something went wrong).
      Vérifies les permissions des répertoires côté serveur.
      Au minimum, d’après l’install, le répertoire ./p/ doit avoir le droit de lecture, et le répertoire ./data le droit d’écriture.
      J’ai lu aussi que :
      « En fait dans l’idéal il faudrait que tous les répertoires aient les droits rwxr-xr-x et tous les fichiers les droits rwxr–r– »
      Donc pour un test, tu peux tester ça…
      Sinon, côté serveur via un navigateur, tu arrives à faire le refresh de tes flux ?

  5. Normalement, les droits devraient pas poser de problèmes, j’ai tout configuré comme il faut. Et l’interface via navigateur marche du tonnerre de dieu, c’est nickel !
    Non, vraiment c’est sur EasyRSS, que ça se complique. J’ai cherché dans les logs d’apache et j’ai trouvé une erreur qui apparaît pile poil au moment des synchronisation via l’appli :
    Call to undefined function gmp_strval() in /var/www/rss/p/api/greader.php on line 30
    Et bien, ça semble clair j’ai une fonction manquante. Reste à savoir, comment la récupérer !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *