Banner
Banner
Banner

Leed : l’agrégateur RSS en ligne ultra-léger

Par - le août 1st, 2012

Quand on désire s’affranchir de Google au profit d’une solution auto-hébergée, c’est au niveau de Google Reader que l’on est souvent le plus mal déservi. RSS Lounge, TinyTinyRSS et Ardilla ne satisfaisant pas toujours les utilisateurs en terme de fonctionnement. Leed pourrait vite changer la donne.
Leed est un agrégateur de flux RSS à plus d’un atout. D’abord, il est open source. Ensuite, il repose sur un principe de traitement de flux indépendant de l’accès à l’agrégateur (manuel ou automatisé via crontab) qui lui confère une rapidité bien supérieure à ce que propose TinyTinyRSS et d’autres. En plus de son principe de synchronisation, Leed s’assure un rapidité accrue grâce à une interface ultra-épurée (et HTML5 design responsive, ce qui plaira aux propriétaires de tablette ou smartphones).

Dispo en version 1.0 Beta, il est le fruit du travail de Valentin CARRUESCO aka Idleman à qui l’on doit aussi dropCenter (présenté par nicolargo ici)

En terme de technologie, Leed utilise PHP, JQUERY, HTML5 pour la partie code et SQLLite (ou MySQL) pour la partie base de données.

Son installation est d’une simplicité déconcertante. Par exemple, sur un serveur sous Ubuntu utilisant Apache, après avoir uploadé son code sur son serveur, on se rend sur la page install.php et on se laisse guider par l’installeur (n’oubliez pas de supprimer le fichier install.php une fois l’installation terminée!).

 

 

Pour ma part je préfère utiliser la synchronisation manuelle mais on peut l’automatiser via une tache cron :

sudo crontab -e

On rajoute dans le fichier cron :

0 * * * * wget -q -O /var/www/leed/logsCron http://127.0.0.1/leed/action.php?action=synchronize

Leed gère les fonctionnalités principales que l’on peut espérer attendre d’un agrégateur RSS :

  • Facile à migrer ou sauvegarder : copier/coller le dossier
  • Responsive design : s’adapte à toutes les résolutions, y compris les tablettes et les smartphones.

  • Cross browser : fonctionne sous tous les navigateurs (même IE)
  • Permet l’import/export des flux en fichier OPML (vous pouvez donc migrer facilement vos flux de netvibes, google reader, RSS lounge etc.. et réciproquement)
  • Gestion des nouvelles lues, non lues (avec gestion par news, par flux ou générale) et des favoris

  • Ajout de flux simplifiée : un champ url, leed s’occupe du reste.

  • Possibilité de partage des articles via Shaarli :

Pour ma part, les principaux défauts que j’ai pu trouver à Leed sont :

  • un design qui s’adapte aux résolutions mais inutilisable sur un android-phone de première génération à faible résolution (une appli ferai mon bonheur)
  • le script de mise à jour peine à mettre à jour les centaines de RSS différents auxquels je suis abonné, m’obligeant à relancer la mises à jour plusieurs fois

Mais bon, pour une premiere version qui est au stade BETA, c’est fantatisque. En tous, je pense sincèrement m’inspirer de Leed pour la prochaine version de Ardilla (oui le projet n’est pas mort).

Si vous voulez vous faire votre propre impression, j’ai installé Leed sur un hébergement toile libre en accès libre : tleed.toile-libre.org

Tags: , , , , , , ,

47 commentaires to “Leed : l’agrégateur RSS en ligne ultra-léger”

    Idleman :

    Merci pour ce bel article et bonne continuation pour Ardilla :)

    Idleman :

    C’est la magie du ping wordpress ^^.

    Aucun problème pour l’utilisation de leed, il est la pour ça :)(tant que tu respecte le by-nc évidemment)

    Elessar :

    Un agrégateur qui peut fonctionner sans serveur de base de données, enfin !

    Idleman :

    Depuis une 20 aine de révisions, Leed est passé de SQLite à MySQL, en effet SQLite n’est pas dimensionné pour une grande quantité d’informations à traiter, Leed est donc dépendant d’un serveur MySQL désolé de casser la joie ^^.

    Cela dis pour ceux qui n’ont pas trop de flux a traiter et qui s’y connaissent un peu en PHP, vous pouvez reswitcher en 10 min via la classe SQlite encore présente dans le dossier du projet.

    Elessar :

    Rah. Je trouve aberrant qu’un outil aussi simple qu’un agrégateur de flux utilise un serveur de base de données. C’est inutile vu ce qu’on a à stocker (une hiérarchie, une liste de flux, et pour chaque flux une liste d’identifiants d’articles lus), inapproprié et lent (à moins d’utiliser réellement les fonctionnalités d’un système relationnel, ce qui n’est probablement pas le cas).

    Les développeurs Web ne sont pas encore guéris de la maladie SQL, visiblement…

    mart-e :

    Ce que je trouve dommage (et qui participe donc au fait que je continue à utiliser rssLounge) est qu’il n’y a qu’un mode de vue où tous les articles sont affichés.

    Je suis abonné à une 60taine de flux rss, si je ne les vérifie pas pendant 2 jours, je veux être capable d’afficher les titres de tous les articles rapidement et de lire uniquement les articles qui m’intéressent (et ainsi encourager cette tendance de faire des titres inutilement sensationnalistes, je sais). C’est sans doute un choix d’implémentation, tout le monde ne recherche pas la même chose dans un agrégateur et donc je comprendrais si ce n’est pas un objectif.

    Concernant la base de donnée je me demande si ça tiendrait la route avec du stockage dans des fichiers (comme sebsauvage le fait souvent dans ses projets), ça a l’air de tenir la route avec des gros volumes de données comme il a sur shaarli. Après je dis ça comme ça mais je n’ai jamais essayé…

    TimCruz :

    @mart-e : cela se paramètre aussi sur leed. J’ai changé le mode d’affichage si tu veux aller voir sur http://tleed.toile-libre.org.

    mart-e :

    Ah tient oui en effet. Par contre ça oblige à visiter le site externe pour lire le contenu de l’article alors qu’on pourrait imaginer afficher l’article en javascript avec clic (oui je sais je suis difficile).

    Elessar :

    @mart-e : Ça tiendrait forcément la route avec des fichiers, du moins si c’est bien conçu. La preuve, les outils d’agrégation natifs, que ce soit sur PC ou sur téléphone, n’utilisent pas de serveur de base de données et s’en sortent très bien.

    Gibbon :

    Faut avouer que c’est assez sexy pour le moment (simple, épuré, toussa). Par contre, il lui manque encore quelques fonctionnalités pour en faire un indispensable (notamment la gestion des priorités de RSSLounge, trèèèèèèèèèèèès difficile de s’en passer !).

    J’ai pas trouvé l’option pour cacher automatiquement les flux lus (peut-être qu’il n’y en a pas).

    Mais dans l’ensemble, c’est assez plaisant à utiliser et beaucoup moins usine à gaz que TT-RSS.

    TimCruz :

    @mart-e : oui et c’est une des forces de Ardilla : on peut consulter sans quitter. La roadmap est en cours de réécriture mais wait&see.

    mael :

    Salut,
    Je n’ai pas très bien compris la phrase suivante : « Ensuite, il repose sur un principe de traitement de flux indépendant de l’accès à l’agrégateur (manuel ou automatisé via crontab) ».
    Tu veux dire que la mise à jour des flux se fait indépendamment du fait que l’utilisateur soit connecté ?
    Tiny tiny RSS le permet également.

    Idleman :

    Que de commentaires, on ne sais plus ou donner de la tête ^^.

    @Elessar : Le fait d’avoir migré d’un fichier sqlite à un serveur de base de donnée est réfléchis, afin d’afficher les données le plus rapidement possible pour l’utilisateur, leed stocke non seulement les liens rss, mais aussi toutes les informations relatives a chaques articles de ces rss (auteur, date, description, contenu de l’article etc…) Imagine maintenant 200 flux rss postant en moyenne chacun 2 articles par jours sur 365 jours, en un ans on arrive à 146 000 articles stockés en base au bout d’un an, ce que sqlite ou n’importe quel système de fichier simple est incapable de gérer (tests à l’appuis) ou alors ça occasionne des ralentissements tels que le script n’est plus viable. Évidemment leed comporte un système de rotation pour vider les données au bout d’un certain temps, mais les articles non lus persistes et sqlite par exemple rend vite l’âme même avec très peu d’articles stockés en base.

    @mart-e : Même réponse pour les fichiers a plat (déjà essayé pas mal de trucs, notamment la célebre technique du gzinflate en fichier texte comme tu l’a vue sur shaarli, mais bien qu’elles soient importantes, les données de shaarli ne représentent même pas le 8em d’un leed au bout d’une semaine, shaarli ne stocke que des liens et des descriptions courtes (et autres petites infos style date,auteur) et uniquement sur une source, pas sur de multiples RSS). Pour ce qui est de l’affichage, on peut effectivement afficher uniquement le titre, je n’ai aps mis de javascript pour déplier le contenu tous simplement parce que celui ci n’est jamais chargé si seuls les titres sont a afficher afin de gagner un précieux temps d’execution, je pourrais bien sûr faire un appel ajax lors du dépliage, j’y songe bien, mais je pense que ce serait également la porte ouverte a la « foire de l’ajax » qui n’est pas du tout dans l’esprit kiss du script :)

    @Gibbon : les flux lus ne sont caché que sur la vue d’accueil, dans les autres cas ils sont simplement grisés, mais effectivement c’est une configuration qui mériterais d’être ajoutée je prends note :)

    @mael : effectivement tiny RSS propose également l’option, la différence avec leed étant que celui ci est exclusivement conçu pour le cron et possède donc une interface moins lourde que ttrss.

    Stéphane :

    Je ne trouve pas si choquant d’utiliser une base de données. J’ai 200 flux à lire et je veux pas que ça traine quand je ne suis pas au plus près leur arrivée. Un fichier sqlite doit rapidement grossir pour les gros utilisateurs.
    Mais le plus gênant pour moi est d’utiliser du PHP. Mon serveur en est exempt, par volonté, et je ne veux pas l’installer dessus. Heureusement, il existe un (et un seul je crois) lecteur de flux utilisable sous Django, Newsblur ( http://www.newsblur.com/ ). Allez tester l’interface si vous voulez.

    mael :

    @Idleman : Ok, merci. Je testerai, à l’occasion. Même si Tiny Tiny RSS me convient parfaitement, c’est toujours intéressant de voir ce qui se fait ailleurs.

    Idleman :

    @mael : Okay, mais garde à l’esprit que Leed n’est pas et ne sera jamais un équivalent à TTRSS ou à RSSlounge, c’est aussi un agrégateur RSS open source mais il s’adresse a un besoin complétement différent selon moi, c’est pourquoi je ne me situe pas en tant que concurrent de ces produits :)

    Dans cette optique, si tu te sent bien sur TTRSS il n’y a effectivement pas lieu de changer ce dernier (très bien fait à mon sens)

    Elessar :

    @Idleman : Il doit y avoir un problème dans votre conception, parce que les serveurs de news NNTP utilisent généralement des fichiers pour stocker les articles. Des milliers, des dizaines, des centaines de milliers d’articles sur des milliers de groupes différents. Et ça marche.

    Idleman :

    @Elessar : Possible , en attendant j’ai testé avec , j’ai testé sans , et bien que ça ai marché dans tous les cas, la performance était sacrément endommagée avec les fichiers à plat. Cependant si tu pense pouvoir améliorer le principe, je t’invite cordialement à jeter un œil dans le code et à développer tes propositions :)

    nyquist :

    Ca doit être moi…
    Je suis content de tinyrss, il est certes lourd, avec une base de données qui me bouffe une grosse partie de ma cpu, mais il fait le café, délègue l’authentification au serveur web (donc potentiellement a ldap, ou une autre base de données) et est multi-user!
    La procédure d’install de tiny rss est pas si compliqué que ça ? un repertoire, un fichier de conf et un schema sql. en gros pareil que leed, non?
    >rapidité bien supérieure à ce que propose TinyTinyRSS et d’autres.
    je veux bien qu’il soit plus rapide que tinyrss, mais c’est pas pour les raisons indiqué. tinyrss a aussi un traitement du flux différencié de l’affichage (on peut ne pas avoir de mise à jour et garder l’acces à l’application).
    les mises a jour se font par cron ou par démon (a créer).

    Bref tous ça pour dire qu’il faut que je test leed, il a l’air sympa, graphiquement beau, et si il est aussi fonctionnel que tinyrss (qui est peut être usine à gaz mais a des options a gogo), je l’adopterai peut être.

    Idleman :

    @nyquist : Tu risque d’être déçu ^^ leed est minimaliste et kiss, l’opposé complet d’une machine à café multifonction, il se limite a ce qu’il doit initialement faire et c’est en ça qu’il est différent (et qu’il peux être mieux ou moins bien apprécié) par les utilisateurs.

    TTRSS propose le cron en tant qu’option mais n’a pas conçu du tout son interface en fonction de celle ci, si bien qu’elle occasionne malgrès tout des pertes de perfs.

    Après je prèche pour ma paroisse, je vous invite à essayer leed pour comprendre d’avantage la mentalité de l’application, encore une fois je le dis et je le repete : leed ne se positionne pas en tant que concurrent ou équivalent de TTRSS ou RSSLounge, c’est incomparable a mon sens les deux script ont été développé pour des besoins fondamentalement différents bien qu’ils aient tous deux pour vocation de traiter les RSS

    sensini42 :

    Merci pour ce test

    Perso j’utilise kriss_feed (github.com/tontof/kriss_feed) c’est ptêtre plus de l’alpha que de la béta, ça répond à ses besoins, mais ça évolue pas mal, et dans le bon sens (sauf là où c’est les vacances).
    Pas de bdd 2 modes de vues différents, et très très très léger !

    plus d’info sur tontof.net

    Grogeek :

    Yop,

    Tim tu vas coder Ardilla ? (ext3 ?)
    Tiens moi au courant (mail) si tu as besoin d’aide pour des idées de design ;) (responsive design !!)

    Pour le code, j’ai un ras-le-bol de l’HTML+CSS+JS+PHP depuis que je code les mini applis en LUA pour Android et iOS.

    A part ça, le site openardilla.org va être désactivé très bientôt. Je n’ai pas réactivé le renouvellement.

    a++

    Quent1 :

    Le projet à l’air bien avancer bien que l’affichage des news laisse à désirer. Personnellement je préfère utiliser mon propre lecteur de flux RSS (https://github.com/quent1-fr/Simple-RSS-Reader) qui utilise également SQLite (et pas SQLlite comme marqué dans l’article ;-)).

    Alex :

    Non, moi ce que j’ai du mal à comprendre, c’est l’utilisation d’un serveur HTTP. En local, je trouve dommage de passer par un serveur et non pas une solution moins Web, une solution desktop

    Anthony :

    Merci de nous avoir fait par de cet outil, il va m’être très intéressant pour ma veille.

    Alex :

    Il sauvegarde aussi les favoris si on regarde bien une des captures.

    Existe t-il un plugin (ou plutot addon) Firefox pour facilement ajouter un site d’un seul clique ?

    Idleman :

    Non, mais il existe un bookmarklet créé à cet effet dans la section configuration :)

    ZrL :

    Installé depuis peu sur mon serveur afin de me débarasser de Google Reader. Rapide, épuré, bref tout ce que l’on peut attendre de ce genre d’outils pour effectuer sa veille :)

    ypo :

    Au cas ou ça peut intéresser quelqu’un, Liled, un projet dans le même genre que leed ( https://github.com/ypo/liled ). Il s’inspire de différents reader ( rsslounge, tiny rss et … leed! )

    Le développement est très récent et toujours en cours, mais je le fais tourner sur ma pandaboard sans problème.

    OoO :

    Trop marrant les thèmes graphiques ente liled et leed sont sensiblement les mêmes à 2/3 variantes près qui a pompé sur qui ?

    Une histoire d’égo de dev pour savoir qui à la plus grosse et qui veut avoir sont projet bien à lui (le matérialisme ??) plutôt de collaborer sur ghitub ? Pourquoi utiliser le svn bien chiant pour contribuer d’ailleurs… github est bien plus souple… ah oui mais c’est vrai on est des stallman c’est pas un projet libre github… restons renfermé ?

    Le monde de l’opensource m’a bien dégouté tellement la mentalité est à l’opposé de la mienne (qui est: entraide, écoute, partage et… râleries).

    Pour finir une BDD dans un projet comme ça wow inutile pour moi et les excuses à 2 balles non merci…

    Pas grave j’aurais pas de lecteur de flux RSS sur mon Android et je me contenterai de Feedreader sur mon Windows Seven (et oui j’ai quitté le monde opensource, perte de temps, égo sur-dimensionné, aucune écoute des utilisateurs…)

    Alex :

    Je ne connaissais même pas le logiciel de gestion des versions utilisé pour le projet. Pourquoi veux tu l’utiliser ?
    Sur Feedreader, tu n’as même pas la possibilité de suivre le projet. Pourquoi voudrais tu alors suivre le projet de « Leed » ?

    L’utilise d’une base de donnée est un choix. Ce n’est pas du tout génant lorsque tu utilises un hébergeur gratuit pour y accéder n’importe.
    Par contre, c’est sur, que si tu veux installer la partie serveur du gestionnaire de flux RSS sur ton PC, c’est un peu lourdingue d’installer une base de donnée juste pour ca.

    Idleman :

    « Trop marrant les thèmes graphiques ente liled et leed sont sensiblement les mêmes à 2/3 variantes près qui a pompé sur qui ? »

    Comme le disait ypo, liled s’inspire de leed…

    « Une histoire d’égo de dev pour savoir qui à la plus grosse et qui veut avoir sont projet bien à lui (le matérialisme ??) plutôt de collaborer sur ghitub ? Pourquoi utiliser le svn bien chiant pour contribuer d’ailleurs… github est bien plus souple… ah oui mais c’est vrai on est des stallman c’est pas un projet libre github… restons renfermé ? »

    Parce que je sais me servir de svn et pas de git, parce que tout mon espace projet est fondé sur svn, et parce le jour ou je passerais à git il y aura un autre protocole meilleur-de-la-mort-qui-tue et qu’on me diras « mais pourquoi rester sur git, ça pue, passe sur le protocole de la mort qui tue »

    « Pour finir une BDD dans un projet comme ça wow inutile pour moi et les excuses à 2 balles non merci… »

    As tu déjà codé un agrégateur de flux ? Si tu l’a fait sans base je comprends qu’on en ai jamais entendu parler, un agrégateur dois enregistrer tous les articles de tous les flux répertorié, c’est comme si si tu avait 200 wordpress sur le même projet, alors vas mettre ça dans un fichier texte tu m’en dira des nouvelles.

    « Pas grave j’aurais pas de lecteur de flux RSS sur mon Android et je me contenterai de Feedreader sur mon Windows Seven (et oui j’ai quitté le monde opensource, perte de temps, égo sur-dimensionné, aucune écoute des utilisateurs…) »

    D’habitude je ne réagit pas aux trolls mais c’est ce paragraphe que je n’ai pas pu supporter : je te défie de trouver un seule internaute qui m’ai contacté a propos de leed et qui ne se soit pas sentis écouté, leed tourne uniquement grâce aux suggestions utilisateurs (cf wiki bugs et suggestions), je passe ma vie a répondre aux mails, que je les trouve pertinent ou non, alors pense ce que tu veux et utilise tes logiciels ultra propriétaires si ça te chante, mais garde tes avis a l’aveuglette pour toi.

    TimCruz :

    @Idleman : j’avais même pas pris la peine de répondre à ça. En tous cas, je crois que la fermeture de Google Reader va mettre Leeed sous les projecteurs comme jamais.

    Idleman :

    @TimCruz oui je n’était pas au courant que Greader allait fermer que j’avais 30 mail dans ma boite ce matin à propose de Leed XD.

    J’ai eu le nez creux de demander à tom canac de faire un template Greader pour leed :D

    Voila une bonne petite journée qui commence ^^

    koun :

    ça m’a l’air pas mal mais c’est assez compliqué a installer…
    je suis pas un cador de la base de donnée mais ça fait bien une demi heure que j’essaye de l’installer sans succès.
    je sèche a la config ou je suis paumé… et les indications d’installation sur le site sont quand même très légère. c’est sûrement clair pour beaucoup d’entre vous mais moi…
    une bonne âme pour faire un tuto détaillé pour les noobs comme moi ?

    Idleman :

    @koun peux tu me dire sur quoi tu bloque exactement ? :) J’essaierais d’être plus précis sur l’installation mais il me faut des retours d’utilisateurs qui galèrent pour que je sache sur quel point je dois être plus précis :)

    Note que tu as un tuto très détaillé en français gentiment créé par neoflow.fr à cette adresse : http://www.neoflow.fr/tutoriels.item.415/leed-un-gestionnaire-de-flux-rss-simple-et-leger.html

    TimCruz :

    @koun : Je m’apprêtais à sauter sur mon clavier pour t’en écrire un et puis je suis tombé sur un article de quelqu’un qui l’avait déjà fait : http://www.neoflow.fr/tutoriels.item.415/leed-un-gestionnaire-de-flux-rss-simple-et-leger.html

    Idleman :

    hé hé hé jt’ai grillé tim ! :D

    Cela dis le tutos pour installer leed sur un hébergement et pas sur un serveur est manquant :) *sifflote*

    TimCruz :

    Carrément tu m’as grillé. C’est marrant ce que tu dis, je suis justement en train de rédiger un article intitulé « [TUTO] Installer simplement Leed sur votre hébergement mutualisé ». Les grand esprits se rencontrent :)

    Idleman :

    Tu m’en vois carrément jouasse ^^, je pense que ça manque vraiment à la doc de leed, la plupart des « immigrés » de Greader n’ayant pas de serveurs à leurs disposition :)

    Préviens moi quand tu l’aura sortis que je te backlink sur la vitrine partie installation :)

    koun :

    c’est le tuto de neoflow qu’il me faut ! j’aurais pas le temps de m’y remettre aujourd’hui mais le challenge m’intéresse :-)
    d’ailleurs, neoflow a un autre tuto pour créer un serveur lamp et je voudrais savoir si je peux mettre ca en place sur mon NAS tout neuf ?
    je sais que je peux autoheberger un petit site dessus et ça me semble parfait pour leed, non ?
    je vous tiens au jus

    Idleman :

    Leed peux tourner sur n’importe quel serveur web (lighttpd, sur nginx, sur apache etc…) pouvant exécuter php et ayant une base MySQL (ce qui fait pas mal d’environnements impliqués) il tourne bien évidemment sous wamp :)

    Ton nas a certainement déjà un serveur web d’installé tu devrait regarder de ce coté la :)

    koun :

    bon, bin, désolé pour l’auteur de leed, mais j’abandonne. j’ai passé le week end a essayé de le mettre en place et c’est clairement pas dans mes maigres compétences de noob…
    j’ai quand même réussi a mettre en place difficilement le kriss-feed de tontof, donc, l’honneur est sauf ^^

    TimCruz :

    @koun : faut pas jeter l’éponge comme ca! Tu as coincé où, on peut peut-être te dépanner!

Laissez un commentaire

Catégorie(s): Software, Tests