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).

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_publiclastUpdateannotation
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 :
- Téléchargez la nouvelle version
- Ăcrasez les fichiers des rĂ©pertoires "app", "lib" et "public". Faites attention Ă garder vos anciens
app/configuration/application.inietpublic/data/Configuration.array.php - Supprimez le fichier
public/install.phpcar 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 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 ;)