Journal FreshRSS, 2 ans et tout va bien.

Posté par  . Licence CC By‑SA.
37
25
oct.
2014

Sommaire

Cher journal,

Je sais que je ne t'écris pas souvent et que quand je le fais c'est pour te parler de FreshRSS, mais aujourd'hui c'est l'anniversaire du projet et je trouvais ça chouette de faire un petit bilan un an après le dernier. Cette fois-ci j'essaierai d'être plus succinct que la dernière fois mais je ne te garantis rien.

Avant de partir à l'aventure de mon journal, je tiens à te rappeler que FreshRSS est un agrégateur et lecteur de flux RSS que tu peux héberger sur ton propre serveur si tu n'as pas peur de le tacher avec des traces de PHP. <instant promotion>Bien plus léger que le lourdeau TinyTinyRSS, plus puissant qu'un Selfoss titubant, plus dynamique que Leed ou Kriss Feed ; FreshRSS est la solution idéale pour suivre l'actualité !</instant promotion>

Logo de FreshRSS

Courte synthèse : retour en 2013.

Histoire de comprendre encore mieux le chemin que j'ai parcouru en un an, je te propose de revoir rapidement ce que j'avais raconté dans mon journal de l'année dernière.

  • Alors que j'étais parti sur un projet développé en suivant la fameuse méthode Rache, j'ai vite découvert ses limites et sauté de la version 1.0-alpha a une plus modeste 0.1.
  • J'expliquais qu'avant de développer pour les autres, je me focalisais sur mes propres besoins. Un logiciel qui n'est pas utilisé par son développeur risque de foncer plus facilement dans le mur. Et comme je suis du genre pointilleux, je passe mon temps à régler les petits problèmes que les autres ne voient généralement pas.
  • Ma motivation avait pris un sacré coup et je n'y pouvais rien car ce n'est pas forcément quelque chose que l'on peut changer facilement. Heureusement un contributeur (Alkarex) avait alors commencé à prendre le relais pour les évolutions importantes.
  • Je pensais communiquer suffisamment sur le projet mais uniquement en français, ce que j'estimais limiter la portée de mes messages.
  • J'expliquais aussi que j'avais abandonné l'idée de tout développer de zéro.
  • Je concluais enfin en expliquant que FreshRSS était le projet que j'avais le plus à cœur, qu'il m'avait permis de créer ma première « communauté » et qu'il répondait à mon envie de créer des choses utiles pour les autres.

Et aujourd'hui, qu'est-ce qui a changé ?

Je n'ai pas été très actif durant le début de l'année jusqu'à juin et FreshRSS évoluait principalement grâce aux autres contributeurs. Depuis septembre, j'ai terminé mes études ainsi que mon contrat d'apprentissage et j'ai débuté ma période de chômage avec joie. Comme une version 1.0 est prévue pour la fin de l'année (ah ah ! Non, les délais ne sont pas tenables), le projet a pas mal évolué ces derniers temps. Petit tour des évolutions :

  • Les fonctionnalités : mode multi-utilisateurs, API (compatible Google Reader), différents thèmes (dont de magnifiques contributions externes), statistiques, support de SQLite en plus de MySQL/MariaDB, système de mise à jour automatique, etc. Nombre d'entre elles sont encore en train de grandir mais on peut dire que FreshRSS fait partie des lecteurs proposant le plus de fonctionnalités.
  • La maturité : un an de plus au compteur et de nombreux nouveaux utilisateurs satisfaits (disons-le !) me permettent d'affirmer que FreshRSS est relativement stable. Le système de mises à jour régulières que j'ai mis en place à la mi-juin semble être plutôt bien apprécié : les versions les plus stables (branche master) sortent lorsqu'elles sont prêtes tandis que des versions bêta sortent tous les mois pour les personnes en soif de nouveautés. Pour les plus impatients, la branche de développement est là malgré mes nombreuses mises en garde pour ne pas l'utiliser.
  • La qualité : j'ai entrepris depuis un mois de revoir l'ensemble du code pour stabiliser et séparer les morceaux qui ne me semblaient pas suffisamment bien écrits. Cela a conduit à la réécriture de fichiers entiers pour rendre le code plus lisible. Des commentaires ont été ajoutés au fur et à mesure de ce travail. La faiblesse réside encore aujourd'hui dans le manque de tests, mais un ticket est ouvert et je devrais me pencher dessus dans peu de temps.
  • La notoriété : forçant un peu plus sur la communication depuis les deux derniers mois, je vois aujourd'hui assez facilement les effets bénéfiques. Entre l'évocation de FreshRSS dans de plus en plus de billets de blogs francophones, la mention sur degooglisons-internet.org, le passage sur opensource.com et le tweet de nixCraft (plus de 34 000 abonnés), mes statistiques explosent… et c'est sans doute le plus enthousiasmant ces derniers jours.

Screenshot de FreshRSS avec le thème Screwdriver
Le thème Screwdriver écrit par Mister aiR anime la démo !

Quelques leçons apprises pour réussir.

Coder régulièrement.

Le nerf de la guerre, c'est le développement ! Que ce soit un ou deux commits de temps en temps, ça montre aux autres que vous n'avez pas abandonné. Ça rassure sur la pérennité du projet. Ça fait deux ans que je développe FreshRSS et il n'y a jamais eu de grosse période sans nouveau code. Vous me direz qu'il n'est pas toujours facile de trouver le temps ou la motivation de coder et je n'ai pas de solution miracle à cela. Pour ma part, je sais que la motivation me revient quand je lance mon environnement de travail et que je commence à voir les effets de mes premières lignes de code. Pour repartir vite après une période de pause il vaut donc mieux se garder quelques tâches faciles et amusantes sous la main. Pour le temps à consacrer à mon projet… et bien j'en ai un bon paquet étant au chômage.

Mettre en avant son travail est important et c'est pourquoi j'ai décidé de sortir des versions bêta de FreshRSS tous les mois. C'est ma manière à moi de dire « Coucou, le projet continue de vivre, venez tester les dernières nouveautés ! ». La branche bêta étant celle mise en avant sur le dépôt Github, le visiteur voit rapidement que je continue de travailler dessus. Rendez-vous vendredi prochain pour la prochaine bêta !

Faire vivre son projet.

Il y a un an, je pensais communiquer suffisamment. Mais c'est mal connaître les utilisateurs qui sont toujours friands de nouveautés. Pour cela j'ai commencé à parler au jour le jour des dernières avancées sur Diaspora*. Comme il existe une petite communauté d'utilisateurs sur le réseau, je maintiens de cette façon un certain niveau de curiosité pour le projet.

De plus j'ai élargi mon public à la population anglophone qui est loin d'être négligeable. Cela passe par l'ensemble des commits et tickets que je rédige désormais en anglais, la page sur alternative.to et le site officiel rédigé en anglais. Pour ce qui est des annonces des sorties de versions, celles-ci se font encore en français car cela me demanderait trop de temps à accorder à leur rédaction. Enfin, j'ai ouvert un compte Twitter. Je ne sais pas encore trop si je vais l'utiliser mais il me permet au moins de répondre aux personnes qui ne sont pas sur Diaspora*.

Interagir avec les personnes qui parlent de FreshRSS est primordial pour moi : mails, articles, réseaux sociaux, tout y passe ! J'essaye toujours de laisser un petit mot, ne serait-ce que pour remercier. Je veux montrer que la personne derrière tout ça est un humain comme tout le monde et que je suis même sympa ! :) Et à ceux qui ne connaissent pas encore, je les invite bien cordialement à venir essayer la version de démonstration. Si FreshRSS ne leur convient pas, je n'hésite pas à les rediriger vers d'autres projets comme Leed ou Kriss Feed.

Donner un coup de main aux autres projets.

Pour terminer ce long journal, la dernière leçon que j'ai apprise, c'est qu'il ne faut pas hésiter à donner un petit coup de main aux autres. Ainsi que ce soit Leed, Kriss Feed ou le petit dernier (mais prometteur) Freeder, je n'hésite pas à commenter sur les problèmes auxquels j'ai déjà fait face. Je ne considère pas être en compétition avec ces derniers mais plutôt comme un projet complémentaire et je trouve idiot de garder une information si je la possède et qu'elle peut leur être bénéfique. C'est aussi un geste d'ouverture et d’honnêteté de ma part qui bénéficie aussi à mon travail.

Petite conclusion d'un journal déjà bien trop long.

Si j'ai débuté FreshRSS comme un projet personnel sans aucune prétention, cette année aura vu la professionnalisation de mon logiciel avec des considérations tant au niveau de la qualité que de la communication. Parfois il m'arrive de me demander si je ne perds pas mon temps à m'obstiner sur ce logiciel : je me souviens de la blague d'un collègue « Si à 20 ans tu n'as pas codé ton agrégateur de flux RSS c'est que tu as raté ta vie ». Au final j'en arrive toujours à la conclusion que je fais ce qu'il me plaît, que ça m'amuse et que ça fera toujours une belle entrée sur mon CV. La visibilité acquise ces derniers mois me conforte dans mes choix.

Si aujourd'hui j'ai envie de passer à autre chose, je n'ai pas envie de bâcler le travail (preuve en est l'attention portée ces derniers jours à la qualité du code). D'ici la fin de l'année j'espère avoir une version suffisamment aboutie pour que je puisse lui attribuer le numéro de version 1.0… Et ensuite ? Ensuite je ne sais pas si je continuerai à développer activement pour FreshRSS, je ne pense pas. Pour cette raison, je commence à me poser la question de la continuité du logiciel… mais je n'y suis pas encore ;).

Merci de m'avoir lu et à bientôt cher 'nal !

  • # Menu et flux déployés

    Posté par  . Évalué à 2. Dernière modification le 25 octobre 2014 à 12:47.

    Il y a moyen de garder le menu à gauche et d'avoir tous les flux déployés comme le mode lecture ? Parce que je n'ai pas réussi en jouant avec la démo.

    Edit: J'ai rien dit. Il faut aller dans les options.

  • # Selfoss n'est pas titubant !

    Posté par  . Évalué à 2.

    Tobias Zeising - le développeur de Selfoss - a de l'expérience conséquente dans la réalisation de lecteurs de flux RSS. Avant de lancer Selfoss en 2012, il avait réalisé RSSLounge en 2009. Selfoss a une application Android qui marche très bien. Selfoss n'est pas qu'un lecteur de flux RSS. C'est un lecteur universel de flux (Twitter, Tumblr, DeviantArt, GitHub, etc.). En cela, c'est la génération 2.0 ; au même titre que 1Flow qui, en plus d'un lecteur universel de flux, dispose de fonctionnalités de curation. https://github.com/1flow/1flow
    https://github.com/SSilence/selfoss

    • [^] # Re: Selfoss n'est pas titubant !

      Posté par  . Évalué à 1.

      C'était un gentil troll (indiqué par le "instant promotion"), je connais selfoss et je sais que Tobias Zeising a développé RSSLounge que j'utilisais avant de développer FreshRSS. Je connais ses atouts par rapport à ma solution (j'adore l'idée des Spouts) mais je connais aussi (certaines de) ses faiblesses. En fait j'ai surtout été surpris quand je l'ai essayé que l'installation n'est pas été plus simplifiée : il faut modifier un fichier de configuration à la main. Ok ce n'est pas une hérésie, on est grand on peut le faire, mais j'ai simplement été surpris (et ça contraste avec le "easy installation: upload and run" de la page d'accueil). De plus j'ai été déçu par le manque de fonctionnalités. RSSLounge était, il me semble, bien plus puissant (mais lourd et bugué chez moi).

      Ça ne lui enlève pas tous ses atouts mais le but de ce journal n'était pas non plus de faire la liste des choses bien et moins bien chez les autres ;)

      J'avais lu un journal (ou une dépêche ?) sur 1flow ici, j'avais été très emballé par l'idée qui était poussée bien plus loin que selfoss (mais peut-être mes souvenirs sont-ils mauvais ). FreshRSS se contente de rester un lecteur de flux RSS traditionnel mais essaye de le faire bien. Il ne joue juste pas dans la même catégorie que 1flow (par contre je n'hésite pas à le comparer à selfoss qui malgré l'idée des Spouts reste assez traditionnel).

    • [^] # Re: Selfoss n'est pas titubant !

      Posté par  . Évalué à 0.

      Ton message me semble légèrement promotionnel.

    • [^] # Commentaire supprimé

      Posté par  . Évalué à 2. Dernière modification le 26 octobre 2014 à 20:22.

      Ce commentaire a été supprimé par l’équipe de modération.

  • # Bravo!

    Posté par  (site web personnel) . Évalué à 1.

    J'ai teste plein de lecteur RSS et j'ai meme fait quelques articles dessus:
    http://freedif.org/opensource-alternatives-to-flipboard-newsstand-feedly-and-others-rss-reader/

    Et vraiment, je me sers de FreshRSS tous les jours.
    Sismics reader est mon second prefere mais tout en Java, alors ca passe bien moins!

    PS: Si il etait possible de suivre les flux twitter et Youtube, ca serait parfait. (Je tourne avec RSSBridge du coup)

    Idipops, le réseau social des services

    • [^] # Re: Bravo!

      Posté par  . Évalué à 1.

      Exact, je l'avais vu ! Merci à toi :) Au passage je relis ton how-to pour installer FreshRSS. Dans la configuration du VirtualHost il vaut mieux que le DocumentRoot pointe sur le répertoire ./p (DocumentRoot /var/www/freshrss/p et <Directory /var/www/freshrss/p>). Ce sont des raisons de sécurité, seul le contenu du répertoire ./p est censé être visible de l'extérieur.

      • [^] # Re: Bravo!

        Posté par  (site web personnel) . Évalué à 1.

        Merci,
        Mais du coup la redirection ne se fait pas correctement:
        The requested URL /p/i/ was not found on this server.

        Idipops, le réseau social des services

    • [^] # Re: Bravo!

      Posté par  . Évalué à 1.

      Je suis étonné, j'ai plusieurs flux RSS de comptes Youtube dans mon FreshRSS. Qu'est ce qu'ils ont de particulier ?

  • # Performance sqlite

    Posté par  . Évalué à 2.

    Tu recommendes d'utiliser mysql mais inclus la possibilité d'utiliser sqlite. Quelles sont les performances de FreshRSS avec sqlite par rapport à mysql?

    • [^] # Re: Performance sqlite

      Posté par  . Évalué à 3.

      Bonne question. SQLite a été ajouté assez récemment du coup on n'a pas trop regardé. Disons qu'avec MySQL j'ai actuellement 30 000 articles en BDD (55.17 MiB) et je n'ai pas trop de soucis. Aux dernières nouvelles, Alkarex qui travaille avec moi sur FRSS possédait une base de 198 000 articles (258.55 MiB). Donc sous MySQL tu as le temps de voir venir. SQLite il faudra essayer mais avec l'usage des transactions on a bien amélioré les choses déjà.

  • # Lazy loading

    Posté par  . Évalué à 2.

    Je suis en train de tester FreshRSS. Merci inviniement d'avoir rendu le lazy loading optionnel.

Suivre le flux des commentaires

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