Sortie de Miniflux 1.1, un lecteur de flux RSS minimaliste

Posté par (page perso) . Édité par Nÿco, Benoît Sibaud et Xavier Claude. Modéré par Pierre Jarillon. Licence CC by-sa
33
26
oct.
2013
Internet

Après 331 commits, 138 tickets fermés, 213 étoiles avec 36 forks sur Github et 6 mois passés depuis l'annonce de la première version voici la sortie de la version 1.1 de Miniflux.

Pour rappel, Miniflux est un lecteur de flux RSS simple et efficace. L'affichage des articles est optimisé pour la lecture sur écran et le design de l'application est volontairement épuré.
(le détail des modifications est dans la suite de la dépêche)

Capture d'écran

Sommaire

Miniflux est une application web développée en PHP qui utilise Sqlite pour stocker ses données. Son installation se résume à un simple copier/coller du code source et ne nécessite aucune dépendance.

Suite à l'annonce sur LinuxFr, j'ai reçu de nombreuses contributions depuis les 4 coins du globe. De nouvelles fonctionnalités ont été implémentés tout en conservant l'esprit minimaliste du logiciel.

En plus des corrections de bugs, voici les nouvelles fonctionnalités qui ont vu le jour depuis la première version :

  • Téléchargement complet des articles depuis le site original pour les flux qui affichent seulement un extrait du contenu
  • Raccourcis clavier pour naviguer dans l'application
  • Traduit en 8 langues différentes
  • Système de favoris simple
  • Nouveaux thèmes
  • API JSON-RPC
  • Bookmarklet
  • Une meilleure expérience utilisateur : suppression automatique des éléments lus, choix de l'ordre de tri des articles, possibilité de ne pas récupérer le contenu, désactiver un abonnement…
  • Authentification alternative avec un compte Google ou Mozilla Persona

Téléchargement complet des articles depuis le site original

Certains abonnements affichent seulement un extrait du contenu ce qui oblige les gens à consulter l'article sur le site original qui contient bien souvent plein de publicités qui clignotent partout.

Pour palier à ce problème, il est possible de télécharger le contenu complet de l'article lorsque l'on se trouve en mode lecture. On peut également activer le téléchargement automatique pour chaque abonnement.

Par exemple, un des contributeurs s'en sert pour lire un site de bandes dessinées, moi je l'utilise pour lire Lobsters, une alternative à Hacker News. Plutôt que de cliquer un par un sur les liens qui m'intéresse je peux lire directement le contenu sans sortir de mon application.

Cette fonctionnalité ne fonctionne pas avec tous les sites notamment ceux qui reposent essentiellement sur du Javascript. Cela fonctionne plutôt bien avec les sites d'actualités.

Il est cependant possible d'ajouter un fichier de règles pour des sites spécifiques. Un fichier de règles contient une série d'expressions XPath à utiliser pour récupérer le contenu pertinent.

Raccourcis claviers

Approuvé par Chuck Norris en personne, utiliser les raccourcis claviers est bien plus efficace que d'utiliser la souris. Je dirais même qu'ils sont indispensables si on a beaucoup d'éléments à lire.

Traduction en 8 langues

Miniflux est traduit en anglais, français, allemand, italien, tchèque, espagnol, portugais et chinois simplifié. Certaines traductions sont incomplètes cependant si vous parlez plusieurs langues n'hésitez pas à contribuer.

Système de favoris

Au départ j'avais refusé d'implémenter cette fonctionnalité afin de rester dans l'esprit minimaliste (KISS, Less is more, etc…). Mais aussi dans le but de respecter la philosophie Unix, une application fait une seule chose mais bien.

Mais suite à une demande populaire, j'ai quand même ajouté un système de marque-pages. Celui-ci est basique, il n'y a pas de tags ni de catégories. Les liste des favoris est aussi disponible au format RSS.

Thèmes

En plus du thème original, un système de thèmes vraiment simple a été mis en place. Techniquement un thème correspond à une feuille de style CSS et optionnellement des images et des polices d'écritures.

Pour le moment, il existe en plus du thème original 4 thèmes venant de différents contributeurs : Midnight, Green, Bootstrap Light et Bootswatch Cyborg.

Thème Bootswatch Cyborg

API Json-RPC

La majorité des fonctionnalités de Miniflux sont exposées au monde extérieur à travers une API Json-RPC. Il est donc possible de développer une application mobile native bien que l'interface web s'adapte à un affichage sur smartphone ou tablette tactile.

De plus, je songe de plus en plus à écrire un client en C++/Qt pour pouvoir lire mes flux complètement hors-ligne sur mon ordinateur portable.

Bookmarklet

Un bookmarklet permet de s'abonner à un site web en un clic de souris depuis son navigateur.

Amélioration de l'expérience utilisateur

  • Suppression automatique des éléments lus après un certain nombre de jours (1 à 30 jours).
  • Choix du nombre d'éléments par page (50 à 250 éléments).
  • Ordre des éléments par défaut, plus récents en premier ou plus anciens d'abord.
  • Possibilité de ne pas récupérer le contenu des articles.

Authentification alternative

Il est possible de lier Miniflux à son compte Google ou Mozilla Persona et ainsi de s'authentifier en un clic.

Fonctions avancées

Ces paramètres ne sont pas disponible dans la page des préférences mais réservé aux bidouilleurs :

  • Plus d'options pour la tâche planifiée (intervales et limites)
  • Modification des variables internes (paramètres du client HTTP, chemin de la session PHP…)
  • Utilisation d'un proxy cache (utilisé sur la version hébergée)
  • Modification du comportement du filtre de contenu (le contenu des articles est analysé et seulement le contenu autorisé est affiché)

Améliorations de PicoFeed

Des améliorations ont été également apportés sur PicoFeed, la bibliothèque PHP utilisée pour gérer les flux RSS/Atom :

  • Plusieurs méthodes de communications disponibles (Curl ou Stream Context)
  • Gestion du cache HTTP pour mettre à jour les abonnements
  • Possibilité d'utiliser un Proxy HTTP Cache tel que Squid
  • Générateur de flux RSS/Atom
  • Téléchargement de contenu basé sur des règles Xpath
  • Enregistrement des messages d'erreurs

Mise à jour

La mise à jour de Miniflux se fait de la même manière que l'installation c'est à dire avec un copier/coller du code source. La migration du schéma de la base de données s'effectue automatiquement.

Une alternative encore plus simple pour mettre à jour est de cloner le dépôt Git et de faire un git pull.

Version à venir

Le but de la prochaine version sera de mettre en place un système de plugin simple. La première étape sera d'offrir la possibilité d'envoyer ses articles (ou seulement les liens) sur des applications externes tels que Shaarli ou autre solution propriétaire.

Les contributions, critiques constructives et trolls en tout genre sont acceptés.

  • # Merci Google Reader

    Posté par . Évalué à 8.

    Comme beaucoup j'utilisais Google Reader et j'étais désemparé lorsque celui-ci s'est arrêté mais grâce à lui j'ai découvert miniflux !
    Très efficace (il faudra que j'apprenne les raccourcis clavier pour l'être encore plus), je l'ai installé sur mon serveur maison et ça tourne du tonnerre !
    Même mon vieux Blackberry a retrouvé une jeunesse avec cette interface légère ! Google reader et tout son javascript était bien vite inutilisable là-dessus… Merci !

  • # J'aimerais emplacer ttrss

    Posté par (page perso) . Évalué à 4.

    J'ai testé ton application qui est formidable mais il manque un truc quand même pratique par rapport à n'importe quel logiciel de ce genre: c'est une colonne qui présente les flux par catégorie et qui marque les nouveau.
    C'est peut-être une volonté de ta part…

    • [^] # Re: J'aimerais emplacer ttrss

      Posté par . Évalué à 2.

      Même avis.
      Je pense qu'il est possible d'implémenter ça assez facilement.

      J'ai jeté un coup d’œil au code. La petite application commence à grossir et il serait peut-être envisageable de ré-organiser la structure des fichiers pour y voir plus clair ?
      Après, j'ai pas écrit une ligne de PHP depuis bien des années, mes pratiques sont peut-être pas la "norme" dans le monde de l’éléphant bleu.

      Manque plus que mon client Android (Press) soit capable d'utiliser une URL personnalisé pour un des services qu'il propose et je pourrais migrer (en ré-écrivant l'API de miniflux ou en rajoutant un bridge par dessus).

  • # hors ligne

    Posté par (page perso) . Évalué à 3.

    J'aime bien l'idée épuré, après tout c'est le contenue qui intéresse donc faut juste que se soit bien lisible et c'est le cas ici. De mon côté j'utilise Kriss qui me conviens parfaitement mais il me manque une fonction : la possibilité de lire les news hors ligne.

    Je m'explique : le matin en attendant le bus ou alors devant mon café je lance la mise à jour de mes flux depuis mon téléphone ou mon pc (consultation par le navigateur). Je commence à lire, mince l'heure de partir, dans le bus je peux continuer la lecture en 3g mais comment faire lorsque j'arrive dans le métro où à Lyon la 3g ne passe pas du tout ?

    Il faudrait une petite appli comme le fait "Flux" de Google qui soit capable de stocker localement la mise à jour des flux. J'avoue que j'ai fais peu de recherche ne sachant pas trop par ou commencer. Mais je veux absolument utiliser un lecteur de flux qui sera hébergé sur mon propre serveur.

    Born to Kill EndUser !

    • [^] # Re: hors ligne

      Posté par (page perso) . Évalué à 4.

      ttrss a un lecteur pour Android qu'on peut mettre en mode hors-ligne (il télécharge les flux, leurs contenus et même les images).

      « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

  • # De plus, je songe de plus en plus à écrire un client en C++/Qt

    Posté par . Évalué à 3.

    Décidémment vous vous êtes passé le mot avec vos lecteurs! :)
    Alors que Liferea me satisfaisait très bien malgré son côté utilisation locale, depuis l'annonce de freshRSS ici bas, je me met à faire le tour des lecteurs web de flux RSS. Et bien que freshRSS sans sortait le mieux - avant que je ne test le tiens :) - je me rend compte que je n'aime vraiment pas les applications Web malgré leur bonne "allure".

    C'est alors que ta sortie sur la création d'un client natif a aiguisé mon appétit, euphémisme oui, j'ai littéralement la dalle depuis! :)

    J'aurais certes préféré un lecteur RSS avec synchro qui ne nécessite pas d'Apache ou Nginx mais Miniflux est vraiment pas mal du tout et simple à configurer que ça ne me dérangerait pas d'avoir un nième vhost sur mon petit serveur de récup.

    • [^] # Re: De plus, je songe de plus en plus à écrire un client en C++/Qt

      Posté par (page perso) . Évalué à 1.

      Et bien que freshRSS sans sortait le mieux - avant que je ne test le tiens :) -

      Ooh :( … Tant pis ! L'important c'est que tout le monde s'y retrouve au final ! :) Et il commence à y avoir du choix

      • [^] # Re: De plus, je songe de plus en plus à écrire un client en C++/Qt

        Posté par . Évalué à 0.

        Je pense que j'ai mal formulé ma phrase en disant qu'il s'en sortait le mieux voire que je me suis un peu emballé à cause de l'API exposée de miniflux (non testée pour le moment). :)

        Mais avec un jour de plus d'usage et dans l'état actuel, FreshRSS est un peu plus agréable:

        - gestion des catégories
        - bonne capture des raccourcis clavier. Sous miniflux, il active la fonction de recherche de Firefox puis seulement bascule mais en gardant néanmoins la recherche active.

        Je n'ai pas encore utilisé Miniflux dans une situation hors-ligne et bizarrement je ne vois pas trop l'intérêt vu que c'est une web application qui devrait tourner sur un serveur distant sauf bien sûr si une appli native Qt voyait effectivement le jour.

        Pour le rendu sur mobile, les 2 sont très bien voire mieux que sur PC avec un avantage pour miniflux car dans FreshRSS, le bouton du menu déroulant à côté de "Marquer comme lu" et les liens "partager" et "tags" ne sont pas synchro avec le déroulement vertical ("scrolling").

        Mais au final, niveau utilisateur, c'est vraiment une question de goût. Il n'y a pas non plus 20 façons de présenter des flux rss et les 2 solutions sont vraiment abouties.

  • # Pour les adeptes de Docker

    Posté par . Évalué à 4.

    J'aime beaucoup Miniflux, je l'ai installé sur mon serveur perso. Si certains sont intéressés, j'ai écris un fichier Docker basique permettant de faire tourner miniflux dans un container (disponible sur Github: https://github.com/elentarion/docker-miniflux).

    Encore une fois, très beau travail sur cette version!

  • # Miniflux rox

    Posté par (page perso) . Évalué à 2.

    Je viens de l'installer, ça tourne tout de suite, c'est impressionnant ; mes remarques

    • Pour moi si un item de flux comporte une image, je veux la voir tout de suite (thumb optionnel)
    • Si un flux comporte l'intégralité de l'article, comme ça arrive pour par exemple -- http://feeds.feedburner.com/thechangelog ou encore -- http://stallman.org/rss/rss.xml Dans ce cas je veux pouvoir lire l'article sans cliquer, genre en tooltip (Tiens vous n'utilisez pas les tooltips aah mais c'est vrai qu'y a pas de tooltips sur un tactile…)
    • Il semble y avoir des raccourcis, d'après les messages de commit ; Ce serait bien de les lister quelque part.

    Mais clairement

    • Le principe Unread / History est transparent, vraiment bien foutu
    • le mode qui liste les articles un par un / page est super
    • les bookmarks, ça a l'air génial en fait ça
    • Les thèmes sont très beaux
    • le coup du bookmarklet pareil, brillant

    Bon, et l'install immédiate, DB comprise, chapeau.

Suivre le flux des commentaires

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