🏠 Accueil

FreshRSS 0.5, pour ceux qui en veulent toujours plus

(lecture : 7 minutes) — sĂ©rie : FreshRSS Origins

FreshRSS continue son petit bonhomme de chemin 3 mois aprĂšs la sortie de la version 0.4. C’est donc avec plaisir que je vous annonce une nouvelle version plus stable que la prĂ©cĂ©dente et quelques nouveautĂ©s qui devrait ĂȘtre apprĂ©ciĂ©es (comme d’habitude, Ă©videmment).

Logo de FreshRSS

Ce que vous devez savoir...

... car il est toujours bon de le rappeler avant de continuer. FreshRSS est un agrĂ©gateur de flux RSS Ă  auto-hĂ©berger, Ă©crit en PHP et utilisant une base de donnĂ©es MySQL (ou MariaDB). Sa plus grande limitation est, Ă  l’heure actuelle, qu’il n’est pas possible de gĂ©rer plusieurs comptes. Cela vient bien Ă©videmment contre-balancer les points positifs :

  • Une ergonomie pensĂ©e par et pour les utilisateurs
  • Responsive design : FreshRSS s’adapte parfaitement Ă  votre mobile
  • Recherche par mots ou par #tags (et gĂ©nĂ©ration de flux RSS correspondants)
  • Actualisation possible via CRON
  • PossibilitĂ© de rĂ©cupĂ©rer des flux RSS tronquĂ©s (Ă  consommer avec modĂ©ration !)
  • PossibilitĂ© de changer de thĂšme
  • Marquage des articles comme lus au dĂ©filement de la page
  • Et bien d’autres ! â˜ș

Une fois encore, la dĂ©mo a Ă©tĂ© mise Ă  jour et est accessible Ă  la mĂȘme adresse.

Les nouveautés

FreshRSS 0.5 c’est quelques 130 commits de plus que la 0.4, au moins 50 tickets de bugs fermĂ©s (je pense que j’en oublie) et 3 mois de dĂ©veloppement... Non je dĂ©conne, je suis loin d’avoir bossĂ© dessus non-stop. Ça n’en reste pas moins, Ă  l’heure actuelle, la plus grosse version que j’ai eu Ă  dĂ©velopper, bien que n’ayant pas Ă©tĂ© seul cette fois-ci.

Fonctionnalités

  • PossibilitĂ© d’interdire la lecture anonyme
  • Option pour garder l’historique d’un flux
  • Lors d’un clic sur "Marquer tous les articles comme lus", FreshRSS peut dĂ©sormais sauter Ă  la prochaine catĂ©gorie / prochain flux avec des articles non lus. Cela Ă©vite bien des clics inutiles !
  • Ajout d’un token pour accĂ©der aux flux RSS gĂ©nĂ©rĂ©s par FreshRSS sans nĂ©cessiter de connexion. Cela permettra aussi d’accĂ©der Ă  l’API... prochainement ;)
  • PossibilitĂ© de partager vers Facebook, Twitter et Google+
  • PossibilitĂ© de changer de thĂšme, le thĂšme Flat design Ă©tant fourni en alternative au thĂšme par dĂ©faut

Design

  • La police OpenSans est dĂ©sormais appliquĂ©e
  • AmĂ©lioration de la page de configuration
  • Une meilleure sortie pour l’imprimante
  • Quelques retouches du design par dĂ©faut
  • Un nouveau logo

Base de données

  • PossibilitĂ© d’ajouter un prĂ©fixe aux tables lors de l’installation
  • Ajout d’un champ en base de donnĂ©es (voir la partie sur la mise Ă  jour de la base de donnĂ©es)
  • Si possible, crĂ©ation automatique de la base de donnĂ©es si elle n’existe pas lors de l’installation
  • L’utilisation d’UTF-8 est forcĂ©e. Cela peut entraĂźner des problĂšmes d’encodage lors de la mise Ă  jour, j’en suis sincĂšrement dĂ©solĂ© !

Améliorations

  • Le marquage automatique au dĂ©filement de la page a Ă©tĂ© amĂ©liorĂ©
  • La vue globale a Ă©tĂ© Ă©normĂ©ment amĂ©liorĂ©e et est beaucoup plus utile
  • AmĂ©lioration des requĂȘtes SQL
  • AmĂ©lioration du Javascript
  • Et des corrections de bugs en tout genre, comme d’habitude â˜ș

Et ce qui manque

MalgrĂ© tout ça, je n’ai pas intĂ©grĂ© tout ce que j’avais prĂ©vu au dĂ©part. On notera parmi les manques : la page de statistiques, la possibilitĂ© d’utiliser SQLite (bien que ça n’était pas dans mes plans initiaux, s’en est devenu une affaire personnelle !) et le nettoyage en profondeur du code Javascript.

Ces manques s’expliquent par le fait qu’il y a eu Ă©normĂ©ment d’ajouts que je n’avais pas prĂ©vu et que j’avais besoin d’une nouvelle version pour stabiliser le tout avant de passer Ă  la suite.

Mise Ă  jour

Attention ! Cette nouvelle version inclut une mise à jour de la base de données et nécessite des actions de votre part.

Base de données

Dans la table entry, il faut supprimer (si ils existent) les champs :

  • is_public
  • lastUpdate
  • annotation

Dans la table feed, il faut ajouter le champ keep_history INT(1).

Pour la prochaine version j’essayerai d’automatiser les mises Ă  jour de base de donnĂ©es ce qui nous simplifiera la vie Ă  tous â˜ș

Application

une fois la BDD à jour, vous n’avez plus qu’à mettre à jour l’application comme d’habitude, à savoir :

  1. Téléchargez la nouvelle version
  2. Écrasez les fichiers des rĂ©pertoires "app", "lib" et "public". Faites attention Ă  garder vos anciens app/configuration/application.ini et public/data/Configuration.array.php
  3. Supprimez le fichier public/install.php car vous n’en avez pas besoin dans le cas d’une mise à jour

Et n’hĂ©sitez pas Ă  remonter le moindre soucis.

Quelques remerciements

Clairement, cette version a été boostée par les contributions externes et je tiens à remercier tout particuliÚrement :

  • Alexandre Alapetite (Alkarex) qui a proposĂ© pas moins de 25 pull requests. Il a notamment amĂ©liorĂ© les requĂȘtes SQL, le code Javascript, le saut automatique aux catĂ©gories non lues suivantes ainsi que... beaucoup d’autres choses ! D’un cotĂ© je trouve ça un peu fou que quelqu’un ait pu passer autant de temps Ă  amĂ©liorer FreshRSS, de l’autre je trouve ça gĂ©nial ! â˜ș
  • Cypouz qui a proposĂ© le nouveau logo beaucoup plus sympa que le prĂ©cĂ©dent.
  • Vincent qui a aussi un peu participĂ© au logo, mais qui est surtout trĂšs encourageant et remonte rĂ©guliĂšrement des soucis.

J’aimerais d’ailleurs faire remarquer que c’est grĂące aux diffĂ©rentes contributions que le projet Ă©volue le plus. Sans cette aide externe et ces retours, sans doute que FreshRSS serait dĂ©jĂ  abandonnĂ© car je ne verrais pas l’intĂ©rĂȘt d’en faire plus. Si c’est le dĂ©veloppeur qui insuffle la vie Ă  un projet, c’est la communautĂ© autour qui le fait vivre. Merci donc Ă  tous pour votre aide !

À propos du logo

Tout logo se doit de représenter une idée, un concept. Extraits des discussions à propos du nouveau logo :

Le logo FreshRSS sous différentes tailles

Le nouveau logo de FreshRSS

J’ai finalement gardĂ© le logo RSS (principe central du programme), entourĂ© d’autres logo RSS (les autres sections des cercles, symbolisant la multitude de flux Ă  suivre), le tout sous forme circulaire concentrique (symbolisant l’aspect rassembleur du programme, qui centralise les flux suivis). Le cĂŽtĂ© « fresh » est rappelĂ© par la couleur bleu.

L’avantage [de ce logo] [...] est aussi qu’il est ouvert. [...] Le fait qu’il soit ouvert peut sous-entendre beaucoup de choses : l’ouverture du code source, l’invitation Ă  participer, une porte pour les flux RSS qui peuvent ainsi « entrer », etc.

Le rond pourrait reprĂ©senter le noyau qu’est FreshRSS et qui agrĂšge les diffĂ©rents flux

Vers la 0.6 et au-delĂ  !

Comme à chaque publication de nouvelle version je rajoute une nouvelle étape avant la version 1.0, je ne ferai donc pas de pronostics cette fois-ci sur une version stable. Voici néanmoins mes plans pour la prochaine version qui sera donc la 0.6 :

  • Ajout de la page de statistiques prĂ©vue pour la 0.5 (#90)
  • Ajout d’une API "compatible Google Reader" (#13)
  • Gestion de SQLite en plus de MySQL (+ PostgreSQL ?) (#100)
  • Refonte du code Javascript (#121)
  • Permettre l’import / export des articles favoris (#163)
  • PossibilitĂ© de partager un article vers Diaspora* et Poche (#175)
  • Script de mise Ă  jour automatique de la base de donnĂ©es

Du gros boulot en perspective donc, mais qui devrait me rapprocher toujours plus d’une version finale. Si vous avez des demandes, n’hĂ©sitez pas Ă  m’en faire part sur Github. Pour le moment les seules demandes que j’ai refusĂ©es (ou reportĂ©es Ă  une version ultĂ©rieure Ă  la 1.0) sont la gestion multi-utilisateurs et une interface alternative de connexion : ça demanderait beaucoup trop de boulot en profondeur.

J’ai aussi dans mes cartons l’idĂ©e de fournir un wiki sous forme de documentation utilisateur ou de FAQ pour prĂ©senter les diffĂ©rentes options de FreshRSS et expliquer comment l’utiliser au maximum de ses capacitĂ©s. Le dernier dĂ©lai pour m’en occuper est la date de sortie de la version 1.0... autant dire que j’ai le temps :D

En guise de conclusion

J’espĂšre que FreshRSS saura vous satisfaire autant qu’il me satisfait moi-mĂȘme. Je n’ai pour le moment eu aucun retour rĂ©ellement nĂ©gatif, j’ai quelques utilisateurs pleinement (?) satisfaits et je vois mĂȘme fleurir sur Internet, de temps en temps, quelques articles parlant de mon agrĂ©gateur. Ce qui est, disons-le, trĂšs bon pour mon ego â˜ș

Aussi, je vais bientĂŽt fĂȘter les un an du projet (le premier commit date du 21 octobre 2012) et c’est toujours encourageant de voir que de plus en plus de personnes trouvent de l’utilitĂ© dans mon travail. Travail qui Ă©tait au dĂ©part totalement personnel et n’était pas parti pour durer dans le temps. Force est de constater que FreshRSS a muĂ© peu Ă  peu vers un projet un peu plus communautaire et ouvert et je suis pleinement satisfait de cette transformation.

Edit

Suite Ă  un bug assez important dans la gestion des catĂ©gories (les catĂ©gories vides n’apparaissaient plus), je suis passĂ© en version 0.5.1. J’en ai profitĂ© pour inclure quelques patchs de traduction et correction ;)

Revenir à la série