PROJET AUTOBLOG


Marien Fressinaud

Site original : Marien Fressinaud

⇐ retour index

Mise à jour

Mise à jour de la base de données, veuillez patienter...

Nouvelle version de Lessy : Aquila

samedi 27 janvier 2018 à 17:35

J’ai désormais adopté un petit rythme de croisière quant aux sorties des nouvelles versions de Lessy et je peux donc annoncer la sortie de la version Aquila.

Pour rappel, Lessy est un gestionnaire de temps destiné à vous aider à mieux vous organiser en associant à vos tâches des indicateurs clairs sur ce que vous avez de plus urgent à réaliser (ou abandonner) dans l’immédiat. Un service est mis à disposition gratuitement sur lessy.io et le code est hébergé sur GitHub, le tout sous licence libre.

Cette nouvelle version n’apporte pas énormément de nouvelles fonctionnalités mais le mois de janvier a tout de même été chargé pour moi.

Tout d’abord, l’amélioration phare de cette nouvelle version est l’arrivée d’un mécanisme pour synchroniser différents navigateurs : concrêtement, si vous modifiez une tâche dans un navigateur, cette modification sera aussitôt répercutée si vous avez ouvert Lessy dans un autre navigateur. Cette fonctionnalité est encore expérimentale et elle n’est pas aussi aboutie que ce que je souhaiterais, mais elle impliquait un gros changement dans l’infrastructure du projet (un serveur Redis est maintenant nécessaire). Je souhaitais donc m’en occuper avant d’aller plus loin dans le développement.

Ce qui m’a le plus occupé au final est le soudain coup de projecteur qu’a reçu le projet au début du mois avec la parution d’un article chez Korben. Celui-ci n’a pas eu pour effet de faire tomber mon serveur (ouf !) mais a permis une augmentation du nombre de retours ainsi qu’une apparition temporaire dans le trending Ruby de GitHub. Les retours que j’ai eu ont été particulièrement intéressants puisqu’ils m’ont fait réaliser que je suis encore très loin d’avoir l’outil idéal que je souhaite développer et qu’il y a encore beaucoup à faire malgré le travail réalisé jusqu’à maintenant. Les efforts à fournir vont aussi bien se situer au niveau des fonctionnalités, de l’ergonomie ou encore de l’accueil au sein de la communauté.

Je suis tout de même ravi qu’au bout de seulement un an le projet obtienne un tel coup de projecteur, ça avait été plus compliqué pour FreshRSS par exemple (qui par contre vit très bien aujourd’hui sans mon implication). J’espère que l’intérêt manifesté saura se transformer en contributions actives et régulières ! Merci au passage à toutes celles et tous ceux qui m’ont fait des retours et/ou ont contribué d’une façon ou d’une autre (commentaires dans les tickets GitHub, ouverture de pull requests, etc.)

La prochaine version verra l’apparition d’une administration afin de me permettre de mieux surveiller ce qu’il se passe sur le serveur. Aujourd’hui il y a quelques 2200 comptes sur lessy.io, dont la moitié ont été activés. J’en profite pour rappeler l’existence d’une page sur Liberapay si vous souhaitez participer aux frais du serveur (merci au passage aux trois valeureux donateurs actuels).

J’ai aussi ouvert un espace sur Framateam si vous souhaitez venir discuter du projet directement avec moi. J’aimerais que les échanges sur celui-ci se déroulent essentiellement en anglais puisque c’est la langue par défaut que j’ai choisi pour le projet, mais un canal pour les Français a été ouvert donc n’hésitez pas à venir et vous présenter !

Pour terminer, je remercie Gavy pour avoir ouvert une notice sur Framalibre à propos de Lessy, non seulement ça permet de faire vivre ce projet historique de Framasoft, mais en plus ça permet de faire encore un peu plus connaître Lessy :).

Nouvelle version de Lessy : Aquarius

vendredi 29 décembre 2017 à 12:15

À peine plus d’un an après l’écriture des premières lignes de code de l’application, je sors la septième version de Lessy. Nom de code : Aquarius.

Pour rappel, Lessy est un gestionnaire de temps destiné à vous aider à mieux vous organiser en associant à vos tâches des indicateurs clairs sur ce que vous avez de plus urgent à réaliser (ou abandonner) dans l’immédiat. Un service est mis à disposition gratuitement sur lessy.io et le code est hébergé sur GitHub, le tout sous licence libre.

La principale amélioration qui m’a le plus été demandée est la suppression des contraintes sur les noms des projets : c’est désormais fait ! Il reste des bricoles à peaufiner pour que ça ne pose plus du tout de soucis mais je verrai en fonction des retours.

Ensuite, trois nouveautés liées aux tâches font leur apparition.

Tout d’abord, les tâches liées à des projets non démarrés ne sont plus listées dans le backlog : le projet n’étant pas démarré, inutile de s’encombrer l’esprit avec des tâches qu’on n’a pas besoin de réaliser. Il est toutefois toujours possible de les planifier pour le jour même en se rendant dans le projet, auquel cas celles-ci reprendront le comportement initial. Toutefois, afin de ne pas oublier ces tâches, un indicateur a été ajouté à côté des projets non démarrés.

Un projet (Lessy) non démarré avec à sa droite le nombre de tâches associées

La seconde nouveauté est que l’on peut désormais changer le projet auquel est attachée une tâche. Très utile si comme moi vous oubliez de créer vos tâches à partir des projets. La dernière nouveauté est la possibilité de transformer une tâche en projet en deux clics. Si vous vous rendez compte que vos tâches sont plus compliquées que prévu, c’est sans doute qu’il faut les redécouper ; vous pourrez maintenant transformer celles-ci en projet puis leur créer des tâches associées ! Ces deux fonctionnalités sont disponibles à partir du menu contextuel, à droite des tâches.

Le menu des tâches avec deux nouvelles options : "Attach to a project" et "Transform in project"

D’autres améliorations mineures sont aussi disponibles, le tout est détaillé dans l’annonce sur GitHub.

Suite à la sortie de la version précédente (Apus), j’avais annoncé avoir ouvert un compte sur Liberapay. Suite à cette annonce, trois personnes m’ont fait le plaisir de participer aux dépenses liées à Lessy à hauteur de 1,35 € par semaine. Merci à elles et eux ! Plus que 65 centimes par semaine et les frais du serveur + nom de domaine seront couverts :).

La prochaine version (Aquila), ne sera pas énorme mais devrait voir l’amélioration de la synchronisation backend - frontend. Plus besoin de rafraîchir votre navigateur sur PC si vous avez modifié des choses depuis votre tablette, tout devrait se faire automatiquement !

Lessy Apus

dimanche 26 novembre 2017 à 17:00

Après un mois de travail il est enfin temps pour moi de sortir cette nouvelle version : Lessy Apus !

Dashboard de Lessy Apus

Je dois bien avouer que je ne savais pas trop où je mettais les pieds en démarrant cette refonte complète. J’ai failli me contenter de publier un guide de design et de faire la migration des différents composants au fil de l’eau. Mais un problème s’est rapidement posé. Souhaitant que le guide reste au plus proche du code, celui-ci a été développé directement au sein de Lessy. De ce fait, modifier le guide signifiait aussi modifier le reste de l’application. De fil en aiguille, je me suis ainsi trouvé à tout redévelopper.

Travail de longue haleine s’il en est, la refonte a consisté à :

Il existe toujours des éléments dont je ne suis pas entièrement satisfait, mais l’essentiel est là, le reste suivra durant les prochains jours. Je suis en tout cas extrêmement satisfait d’avoir désormais un guide de design qui rend ce dernier plus facile à faire évoluer et rend plus difficile de sortir des clous.

J’ai profité de sortir cette version pour ouvrir un compte sur Liberapay afin d’essayer de rembourser au moins les frais de serveur + nom de domaine puis éventuellement pouvoir plus tard me dégager un peu plus de temps pour le projet. Il y a mine de rien plus de 250 comptes ouverts sur lessy.io dont quelques 65 activés, sachant que je suis très loin encore d’avoir mis en place tous les outils pour assurer un service satisfaisant. De la supervision ? Non. Des conditions générales d’utilisation ? Ah ah ! Des backups ? Ah ça oui ! Et ils fonctionnent ? Heuuu… Vous voyez l’idée donc.

Le service est toujours disponible sur lessy.io, il reste ouvert et gratuit pour le moment, mais sans doute plus pour très longtemps donc. Le code reste hébergé sur GitHub et toujours (et à jamais) sous licence libre.

Pour la prochaine version (Aquarius), je reviendrai à du développement dans le dur en améliorant le lien entre les tâches et les projets.

Lessy Antlia

mardi 31 octobre 2017 à 13:30

J’expliquais dans mon article du 8 octobre que je souhaitais que Lessy soit un projet s’adressant à une large portion de la population non-geek. Pour cela, je voulais le rendre plus accueillant et plus communautaire. C’est pourquoi je suis très fier d’annoncer la sortie de Lessy Antlia (le nom de cette nouvelle version). Au menu, énormément de documentation.

J’ai passé les dernières semaines à travailler les valeurs que je voulais défendre avec Lessy. Après avoir dessiné, trié et organisé toutes les idées que j’avais en tête, j’ai abouti à une première version de la vision de Lessy (en anglais) :

Lessy is a time manager application built upon strong principles. It is designed to be as intuitive and inclusive as possible. Its goal is to return people their power to manage time, instil self-confidence and challenge their capacity to question themselves. It is built by a diverse and welcoming community.

On peut traduire cela par :

Lessy est un gestionnaire de temps basé sur des principes forts. Il est conçu pour être aussi intuitif et inclusif que possible. Son objectif est de redonner à ses utilisateurs et utilisatrices leur capacité à gérer leur temps, leur confiance en eux et leur capacité à se remettre en question. Il est développé par une communauté accueillante et diversifiée.

Cette vision est donnée en préambule du fichier README de Lessy et est immédiatement suivi d’une précision : toute fonctionnalité développée, toute discussion que nous avons au sein de la communauté, toute décision que nous prenons doit aller dans le sens de cette vision.

Voilà donc pour la mise en bouche. Je regrette souvent le manque de direction dans les projets communautaires qui mène bien souvent à des logiciels qui font beaucoup de choses mais qui manquent de personnalité. Avec Lessy, je veux donner un cap au logiciel et mes engagements personnels transparaissent dans cette vision. Lorsque j’ai commencé à développer cette application, c’était pour me redonner la main sur le temps qui m’échappait, alors pourquoi ne pas complètement l’assumer jusque dans l’ADN de Lessy ?

On m’a demandé l’autre jour en quoi Lessy est-il éthique. J’étendrais la question à en quoi Lessy correspond aujourd’hui à la vision que je viens de donner. Et c’est vrai qu’en utilisant Lessy on voit difficilement une application éthique, inclusive, redonnant un peu de pouvoir à ses utilisateurs et utilisatrices ; tout au plus une todo-list un peu originale. Et c’est effectivement le défi que je me donne pour les mois à venir : faire transparaître la vision dans l’interface. Cependant, je ne pense pas être capable de faire cela à moi seul et c’est pourquoi je voulais rapidement me concentrer sur la documentation communautaire. Cette documentation contient donc désormais :

La documentation technique a elle aussi été largement revue pour aborder plus de sujets différents.

J’espère que tous ces documents sauront attirer une population hétérogène de contributeurs et contributrices, bien que je ne me fasse pas d’illusion : il faut désormais que je me bouge pour rendre l’application réellement attrayante.

Tout cela m’a pris beaucoup de temps à rédiger, surtout que tout a été fait en anglais alors que ce n’est pas ma langue de prédilection. J’ai fait ce choix volontairement en me disant qu’il serait plus facile de trouver des personnes souhaitant contribuer en visant large qu’en visant un public uniquement francophone. De plus, j’ai le sentiment que les Français·e·s sont de plus en plus à l’aise avec l’anglais. Seul l’avenir me le dira !

Lessy : versions et itérations

dimanche 29 octobre 2017 à 10:00

Je me suis intéressé ces derniers jours au système de sortie des nouvelles versions de Lessy. Cela peut paraître étonnant, mais décider d’un tel système est parfois compliqué et pose plusieurs problèmes.

Pour commencer, on peut se poser la question « pourquoi versionner ? ». J’y vois personnellement quatre intérets en particulier :

Lorsque je travaillais encore sur FreshRSS, nous nous étions souciés de la question de la visibilité. Nous avions alors trois versions distinctes : une stable, sortant à intervalles plutôt longs, la bêta qui sortait tous les… hum… deux mois (?) et la version de développement. Nous avions décidé de mettre en avant la version bêta qui était alors moins testée que la version stable mais qui avait l’avantage de garder les utilisateurs accrochés à « l’actualité » de FreshRSS. Ce système avait toutefois le désavantage d’être lourd à maintenir. Je souhaitais par conséquent un système plus simple pour Lessy tout en continuant de mettre en avant le travail quotidien effectué.

Concernant le deuxième point, à savoir que le versionnage donne une indication sur le niveau de modifications depuis la version précédente, je pense évidemment au système « semantic versioning ». Si ce système possède un intéret évident dans le cas de dépendances (ex. le logiciel A dépend du logiciel B dans sa version X), je ne le vois pas dans le cas d’un logiciel en « bout de chaine » tel que Lessy. C’est pourquoi je suis parti sur un système de nommage totalement différent.

La raison consistant à donner des numéros de version pour permettre de revenir en arrière en cas de soucis me paraît évidemment légitime bien que le cas se présente à mon avis de façon assez rare.

Enfin, sortir une nouvelle version est loin d’être uniquement une tâche technique. Il s’agit avant tout de fêter une nouvelle étape franchie dans le développement et de marquer d’une pierre blanche l’avancement pour pouvoir constater plus tard tout le chemin parcouru. Célébrer une nouvelle version, ça motive énormément !

Concrêtement, comment cela va-t-il se passer pour Lessy ?

L’ensemble des tâches à effectuer (fonctionnalités, tâches techniques, corrections de bugs, etc.) sont listées en vrac dans les tickets GitHub, ce qui me sert par conséquent de boite d’entrée. Ces tâches sont ensuite triées par petits groupes au sein d’itérations représentées par les projets GitHub. Les tâches d’une itération forment un ensemble de fonctionnalités ou tâches techniques similaires et leur temps de développement total effectif ne doit pas être excessif (je me fixe 2 ou 3 semaines comme maximum). Ces itérations permettent ainsi de dessiner une pseudo feuille de route du projet. Et comme chacune d’entre elles est nommée (d’après les constellations astronomiques), la fin d’une itération donne son nom à une nouvelle version de Lessy.

Ainsi, des quatre points que je listais plus haut, seule la problématique des dépendances n’est pas du tout adressée. Pour les trois autres :

Pour terminer, si j’ai choisi de nommer les versions de Lessy par les noms des constellations astronomiques, c’est avant tout parce que je cherchais un système de nommage original permettant de penser à autre chose qu’à seulement du code. Comme lever le nez du clavier ne suffit pas toujours à se changer les idées, je me disais que le lever vers le ciel serait une bonne idée.