Google Reader est un aggregateur de flux RSS ô combien pratique, mais il lui manque quelques fonctionnalités qui permettent de faciliter son utilisation au quotidien.

De mon coté, il suffit d’une journée sans pouvoir consulter les news pour me retrouver avec plus de 200 articles non lus. Bon ok, j’ai une part de responsabilité : je devrais peut-être supprimer quelques abonnements ou affiner mes filtres RSS. Mais il n’en reste pas moins qu’avec de nombreux éléments non lus, il devient rapidement difficile de naviguer parmi les articles.

J’aime profiter des « temps d’attente imposés » (lancement de builds Maven, exécution des tests, etc.) pour faire de la veille techno et donc regarder rapidement GReader. Or, avec de nombreux éléments, la liste apparaît comme étant dense et il est plus difficile de fixer son regard sur des éléments précis.

Le besoin

Le problème est simple :

  • Pouvoir grouper les éléments de la liste, pour la rendre plus facilement lisible.
  • Pouvoir marquer l’ensemble des éléments d’un groupe comme étant lus.

J’avoue n’avoir fait que peu de recherches pour trouver un plugin ou script qui reponde à ce besoin, car je voulais en profiter pour utiliser Greasemonkey et hacker un peu en Javascript 🙂

Soyez donc indulgents si à la vue du script, vous vous rendez compte que vous en utilisez un semblable depuis des années.

Le résultat

Voici un screenshot des modifications apportées par le script :

Le seul ajout visible est la barre horizontale au dessus de chaque groupe de 4 éléments. Il suffit de cliquer sur cette barre pour marquer les éléments du groupe comme lus.

Au quotidien, il me suffit désormais de poser les yeux sur un groupe d’articles, en ouvrir 1 ou 2, et cliquer sur la barre pour marquer les autres comme lus.

Obtenir le script

Le script est disponible ici : greader_group_entries.user.js

Le nombre d’éléments dans le groupe peut être modifié en éditant la constante GE_GROUP_SIZE au début du script.

Le script fonctionne sur Firefox avec Greasemonkey. Il faut que je regarde pour le rendre compatible avec Chrome.