PROJET AUTOBLOG


Marien Fressinaud

Site original : Marien Fressinaud

⇐ retour index

Mise à jour

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

Project Zero 0.3

dimanche 23 juillet 2017 à 21:00

Un mois et demi après la 0.2, je suis très content d’annoncer la sortie de la version 0.3 de Project Zero. Pour rappel, il s’agit d’un gestionnaire de projets et de tâches avec un fort parti pris sur la façon de gérer tout cela.

Le code source se trouve sur GitHub, sous licence MIT et vous pouvez l’utiliser sur zero.marienfressinaud.fr, en attendant de migrer vers un nouveau (sous-)domaine que j’ai (enfin !) acheté.

Les nouveautés

Lorsque j’ai annoncé le mois dernier ce que je comptais inclure dans la prochaine version, j’avais prévu toute une liste de choses à faire : « meilleure gestion des petits écrans, emails de rappel, joli logo, amélioration de l’ergonomie et refonte du design, éventuellement ludification ». De tout ça, je n’ai quasiment rien retenu pour me concentrer sur ce qui comptait vraiment dans mon usage, l’idée étant que je l’utilise réellement au quotidien.

Premièrement, le « responsive design » était quasiment primordial vu que j’utilise beaucoup Project Zero sur tablette, voire sur téléphone. Ce n’est pas encore parfait, surtout sur mobile, mais tout est fonctionnel.

Ensuite, j’avais absolument besoin de lier des tâches aux projets pour m’assurer qu’ils avancent correctement. En effet, jusqu’à maintenant ma liste de projets servait surtout de déco et beaucoup d’entre eux dépassaient leur date de fin. Désormais, avec les tâches associées ainsi que les deux indicateurs qui viennent avec, il est désormais beaucoup plus facile de savoir ce qui avance ou non. Les indicateurs sont de deux types :

Ces deux indicateurs se sont révélés indispensables pour mon usage.

Dashboard de Project Zero 0.3

Une fonctionnalité de la version 0.3 s’est en revanche montrée moins utile. En effet, les tâches non terminées le jour même se retrouvaient dans une « pending list » qui n’était pas facilement accessible. De ce fait, je perdais de vue bon nombre des tâches qui se trouvaient donc non résolues. J’ai décidé de renvoyer ces tâches dans le « backlog » dans le but de toujours démarrer une journée avec une liste de tâches vide. J’en ai profité pour rendre les tâches du « backlog » directement plannifiable ce qui a rendu le bouton « What will you work on today ? » inutile. C‘est donc un écran qui a sauté.

En résumé, il n’y a plus que deux listes de tâches : la liste du jour même et le « backlog ». Chaque début de journée, vous pouvez aller piocher dans celui-ci les tâches que vous pensez pouvoir réaliser le jour même.

Pour terminer, une fonctionnalité pas tellement essentielle mais que je trouvais sympa : une page de statistiques permettant de retracer sur les 15 derniers jours le nombre de tâches créées comparé au nombre de tâches terminées. Cela permet de me rassurer sur le fait que j’avance dans ce que j’ai à faire.

Dashboard de Project Zero 0.3

Pour les plus vigilants, vous noterez que le style est très proche de celui des graphiques GitHub (ceux de l’onglet « Traffic »).

Avec cette nouvelle version, j’ai désormais un outil pleinement fonctionnel pour mon usage quotidien. Je vais désormais sans doute mettre un (petit) coup de frein au développement du projet pour préparer un gros morceau : l’amélioration globale de l’expérience utilisateur et la mise en place d’une charte graphique pour le projet. Je ne sais pas encore quand je pourrai faire cela et il n’est pas impossible que je développe deux trois fonctionnalités autres, mais ce n’est pas dans mes priorités immédiates.

Project Zero 0.2

lundi 5 juin 2017 à 21:10

Après une version 0.1 sortie fin janvier, je sors aujourd’hui (avec seulement un mois de retard) la version 0.2 de Project Zero, mon mini-système de gestion de projets et de tâches.

Le code source se trouve sur GitHub, sous licence MIT et vous pouvez toujours l’utiliser sur zero.marienfressinaud.fr. L’adresse n’a pas (encore) changé mais passe désormais en HTTPS.

Les nouveautés de la 0.2

Cette nouvelle version apporte la gestion de listes de tâches (ou « todo lists »), fonctionnalité dont j’avais le plus besoin. J’utilisais auparavant Todoist qui me convenait plutôt bien, mais je souhaitais un système plus proche de mon mode de fonctionnement. Qu’apporte vraiment Project Zero par rapport à n’importe quel autre gestionnaire de tâches ?

Tout d’abord, l’ajout des tâches a été pensé pour se faire le jour même. La plupart du temps, en arrivant le matin au boulot, je me prépare une liste des choses que j’aimerais régler pendant la journée. Quel meilleur moment pour savoir ce que l’on souhaite faire que le matin ?

Bien sûr, il m’arrive aussi souvent d’avoir des idées de choses à faire que je ne réaliserai pas le jour même, pour cela une seconde liste appelée « backlog » vient s’ajouter à la première dans laquelle je peux venir piocher pour préparer ma liste de la journée.

Les tâches que je n’arrive pas à terminer sont marquées en attente et viennent alimenter une troisième liste. En préparant ma liste de la journée, les tâches non réalisées la veille me sont proposées à nouveau et je peux soit indiquer que je l’ai en fait déjà terminée, soit la replanifier pour aujourd’hui. Si je la replanifie, un indicateur est incrémenté. Cet indicateur me sert à me prévenir que j’ai trop replanifié une tâche et me propose au bout de 2 fois de découper la tâche ou de la renommer pour la rendre plus facile à terminer.

Un second indicateur particulièrement utile pour les tâches du « backlog » indique le nombre de semaines depuis que la tâche a été créée. Au bout de 2 semaines, l’indicateur me propose d’abandonner la tâche vu qu’il y a de fortes chances que je ne la termine jamais.

Ces deux indicateurs me permettent d’éviter de conserver des tâches pendant trop longtemps. Cela me permet d’avoir un système de priorisation non basé sur une appréciation subjective mais basé sur le temps et sur la répétition ; ainsi je peux réordonner les tâches au fil du temps.

Dashboard de Project Zero 0.2

Les dates d’échéance ?

J’ai décidé de ne pas gérer les dates d’échéance. C’est encore une réflexion en cours car j’avais vraiment dans l’idée de les gérer mais j’ai finalement conclu à la non nécessité de la fonctionnalité. Une date d’échéance peut avoir deux significations :

De plus, j’avais peur de la complexité car cela m’aurait mené à devoir (vouloir ?) gérer la répétition des tâches dans le temps et la saisie intuitive des dates (taper « demain » pour saisir la date du lendemain par exemple).

En prévoyant la suite…

Cette nouvelle version apporte un gros morceau qui fait que Project Zero me devient de plus en plus utile. Pour autant, je n’ai pas encore vraiment le réflexe de m’y connecter et je n’y ai d’ailleurs pas du tout touché pendant le mois d’avril (ce qui explique le retard pris pour cette sortie). J’ai tout de même ajouté pas mal de choses en mai qui me facilite l’usage (ordonnancement, édition, abandon et indicateurs).

La version à venir (la 0.3 donc) me servira surtout à consolider ce que j’ai fait jusqu’à maintenant et devrait ajouter des mécanismes poussant à la « fidélisation » (meilleure gestion des petits écrans, emails de rappel, joli logo, amélioration de l’ergonomie et refonte du design, éventuellement ludification). Je n’ai aucune idée de la date de la prochaine sortie car j’ai d’abord besoin d’identifier ce qui bloque mon usage.

J’ai pas mal d’idées de ce que pourrait devenir Project Zero et des fonctionnalités qui pourraient m’être utiles, mais je souhaite vraiment monter ce projet petite brique par petite brique en m’assurant que le tout est utilisable et utilisé.

Project Zero 0.1

dimanche 29 janvier 2017 à 19:00

J’en parlais lors de ma rétrospective 2016 sur ma méthodologie de travail, j’ai commencé à bosser sur une application qui devrait me servir de cadre méthodologique. Jusqu’à maintenant j’utilisais le système de fichiers de l’ordinateur pour organiser mes projets, mais c’était trop contraignant et je n’arrivais pas à assurer un suivi suffisant.

Après un mois de travail acharné, j’ai enfin terminé la version 0.1 de « Project Zero ». Le code source est disponible sur GitHub sous licence MIT et vous pouvez même vous créer un compte sur le service que je mets à disposition : zero.marienfressinaud.fr. Attention, l’application n’est pas encore disponible en HTTPS !

Pourquoi Project Zero ?

Cela fait longtemps maintenant que j’imagine un outil de gestion de mes projets. Bien sûr, je suis un éternel insatisfait des outils que j’utilise et il fallait absolument que je développe mon propre logiciel :). Comme il devait s’agir du projet à la base de tous mes autres projets, je l’appelais « Projet Zéro ». Fin 2015 je donnais un coup de frein à ma contribution à FreshRSS pour commencer à bosser sur ce fameux outil… chose que je n’ai jamais concrétisée car mes idées à l’époque n’étaient absolument pas claires sur ce que je voulais faire.

C’est en août, pris dans la tourmente de mes nombreux projets commencés mais dont aucun n’avançait, que je mettais en place quelques actions pour me reconcentrer sur ce que je faisais. Cela a donné une pré-version de ce que je voulais obtenir.

Fin décembre, voyant que ma méthodologie avait globalement bien fonctionné mais que j’avais toujours des soucis à assurer le suivi, j’ai dessiné les premiers écrans d’une application que j’ai donc nommé « Project Zero » (notez le passage à l’anglais).

Les (quelques) fonctionnalités

Il y a aujourd’hui très peu de fonctionnalités car je veux d’abord voir comment évoluent mes besoins. Je préfère avoir très peu de fonctionnalités qui me servent toutes que beaucoup qui ne me servent pas. Ce qu’il est possible de faire :

Dashboard de Project Zero 0.1 Vue d’un project dans Project Zero 0.1

Il s’agit de la version 0.1 bien sûr, tout reste encore à construire… et j’ai pas mal d’idées pour ça :).

Sous le capôt

J’ai pas mal tergiversé avant de me décider sur les technologies à utiliser pour développer Project Zero. Voulant au départ découvrir de nouvelles choses, je partais sur un backend Django, le frontend en Elm et une API à base de GraphQL.

Mais plus j’hésitais plus je me convainquais que j’allais accumuler les difficultés et que je n’avancerais pas. Au final j’ai décidé de partir sur des bases que je connais et avec lesquelles je suis à l’aise :

Pour ce qui est de VueJS, la lecture de la documentation m’a convaincu que tous les problèmes que j’avais avec React allaient disparaître comme par magie… et ce n’est pas tout à fait faux :). Bien sûr d’autres questions se sont posées au fur et à mesure que j’avançais, mais je suis tout de même content du résultat ! L’époque où j’écrivais du JS imbitable sur FreshRSS est révolue :D.

Comme je le disais plus haut, le code est hébergé sur GitHub mais il n’est pas exclu que je le déplace sur Framagit. Ce qui me retient de le faire actuellement est de deux ordres :

Le service Project Zero

J’expliquais plus haut que j’ai mis à disposition un service à l’adresse zero.marienfressinaud.fr. Si l’adresse est temporaire, j’ai dans l’espoir que le service ne le soit pas. Je ne me fais pas trop d’illusions, actuellement Project Zero est beaucoup trop limité fonctionnellement pour être utile à qui que ce soit, mais je pense qu’à terme il pourrait plaire à quelques-uns.

Attention, le service est aujourd’hui ouvert à n’importe qui et gratuit, mais je n’exclu pas à terme de le rendre payant. On ne pourra pas dire que je n’ai pas prévenu ! Bien sûr le logiciel restera sous licence libre et je ne prévois absolument pas de version alternative « closed-source ». L’idée serait plutôt de rembourser les coûts du serveur et de mettre un petit quelque chose de côté pour me donner un peu plus de temps libre, absolument pas de faire fortune.

Mes idées pour la suite

Voici une liste non-exhaustive de ce que j’ai en tête pour le moment :

Ma priorité numéro 1 va être la gestion des tâches. J’utilise actuellement Todoist et j’en suis vraiment très satisfait. Ceci dit il y a parfois des petits bugs et je n’aime pas la façon dont il gère le système de karma qui pousse parfois à bacler des tâches seulement pour garder de bonnes statistiques. Et puis c’est toujours rigolo de redévelopper des choses qui existent déjà, non ? :). Je cogite encore pour réfléchir à comment m’y prendre et ne pas faire quelque chose de trop bâteau.

Les projets 2016 de Projet Zéro

jeudi 29 décembre 2016 à 21:00

En septembre j’expliquais comment j’allais essayer de m’organiser pour enfin produire les choses qui me trottaient dans la tête. J’avais mis cela en place un mois plus tôt et je manquais donc nécessairement de recul dessus. Pour rappel, cette méthodologie repose sur les points suivants :

Concernant ce dernier point, je n’ai publié que deux articles concernant mes projets durant ces 4 derniers mois… cela fait donc seulement 2 projets terminés sur pas moins de 7 projets ! Alors, que s’est-il passé ?

SogiMood, l’article qui a eu du mal à sortir

Bien que SogiMood soit un projet que je considère comme terminé, il n’en a pas moins été problématique. En effet, je l’ai terminé fin septembre (donc peu de temps après avoir expliqué ma méthodologie) mais son article est paru au début du mois de décembre. La raison est assez simple : l’article a été réécrit au moins 2 fois en entier et puis est resté en gestation un certain temps. J’ai d’abord eu du mal à trouver le ton et le contenu avant d’avoir l’idée de le proposer sur le blog de Sogilis. Après relecture et correction par les collègues, je me suis retrouvé trop occupé pour avoir vraiment la motivation de m’occuper de la publication finale. 1 mois puis 2 mois sont ainsi passés sans que je ne publie rien.

Conclusion : prévoir un article final n’est pas forcément une bonne idée et je pense que je ne me forcerai plus de la sorte à l’avenir.

Le dessin et le sport, stoppés par perte de motivation

En février je commençais à m’intéresser à la pratique du dessin et en août je me remettais une énième fois à aller courir, plus motivé que jamais.

Dans le premier cas, je me suis même acheté des bouquins et je souhaitais finir un livre d’exercices d’ici février prochain. La pratique assidue ne me faisait pas plus peur que ça et je voyais déjà mes progrès. Autre objectif : changer le dessin moche en arrière-plan du site par quelque chose de plus travaillé. Chaque année devait venir compléter et améliorer cette « fresque ». Je n’avais malheureusement pas pris en compte un élément fondamental : j’ai toujours eu horreur des exercices et je n’avais pas l’impression de m’amuser en suivant les instructions d’un bouquin. Cela a freiné net ma motivation et je me suis arrêté en septembre.

Dans le cas du sport, je ne vous referai pas la même rengaine de la motivation à bloc, etc. J’allais principalement courir le soir voire un petit peu les matins avec des collègues. En revanche, fin octobre, lorsque la nuit a commencé à se faire plus longue et que je n’avais plus le choix que d’aller courir de nuit, j’ai commencé à me démotiver pour faire une pause d’un mois en novembre. Au début du mois toutefois j’ai réussi à me remotiver pour… une seule séance avant de me restopper aussi net à cause de la pollution (bienvenue à Grenoble).

Quoi qu’il en soit, ce sont deux projets que j’ai encore à cœur et il est certain que je les reprendrai, peut-être sous d’autres formes pour ne pas me démotiver à nouveau.

J’ai en revanche abandonné la règle qui m’interdisait de replacer un projet dans le carton : ça n’a aucun sens de s’acharner sur un projet que l’on n’avance pas.

Contribution à Framasoft, les contours trop flous

Ici, à l’inverse des deux précédents, je suis encore sur ce « projet ». Je m’étais fixé plusieurs objectifs : contribuer à l’écriture des articles du lancement de la saison 3 de Dégooglisons, mettre à jour Framaboard avec quelques contributions upstream, aider au support et participer éventuellement à plus d’événements pour tenir les stands. Je souhaitais faire cela durant environ deux mois avant de repasser au régime habituel.

Ce qu’il s’est concrêtement passé, c’est que j’ai légèrement augmenté mon activité sur les projets Framasoft sans pour autant trouver la motivation de m’y impliquer autant que je le souhaitais. De plus, je bloque depuis fin septembre sur ma contribution à Kanboard pour faire en sorte de simplifier les mises à jour de Framaboard. À vrai dire je crois que je ne suis pas hyper emballé à l’idée de devoir faire du PHP ;). J’ai repoussé cela pour après les fêtes, en espérant que je sois plus motivé que pour le moment.

Framasoft reste un projet un peu particulier puisque j’essaye de contribuer tout au long de l’année, ne serait-ce que pour répondre aux questions sur le support ou pour participer aux évènements.

La morale de tout ça c’est qu’il faut que je me force à mieux définir ce que je compte faire au sein du projet pour me donner les moyens de savoir quand celui-ci est véritablement fini.

Voyage et Projet Zéro, les projets pas encore terminés

Pour finir, les projets qui sont en cours. Le premier est un voyage au Royaume-Uni : j’ai dû commencer les préparatifs assez tôt afin d’avoir une réduction sur mon billet Interrail et donc planifier des dates. Rien de très compliqué mais tout ça pour dire que je terminerai ce « projet » en juin, lorsque je serai revenu.

Concernant Projet Zéro, j’ai enfin attaqué une version applicative (web) afin de donner un cadre à ma méthodologie. Ma version actuelle ne me permet pas d’être suffisamment rigoureux dans l’avancement de mes projets et je souhaitais avoir un outil plus manipulable ainsi qu’un système de rappels. L’application est encore dans une version préliminaire mais j’en parlerai dès que j’aurai quelque chose d’utilisable. À l’inverse de Taglibro, je souhaite fournir une version hébergée et permettre à n’importe qui de s’y inscrire… mais j’y reviendrai !

Cela fait donc le tour de mes projets que je m’étais fixé sur cette moitié d’année 2016. Rendez-vous l’année prochaine si jamais je continue à appliquer ma méthodologie « Projet Zéro » :).

Taglibro

mercredi 21 décembre 2016 à 19:00

Vers le milieu de ma seconde année en école d’ingénieur, j’avais eu l’idée un peu bizarre d’un réseau social anonyme. L’idée a longtemps trainé avant que je décide il y a peu de temps de sortir un premier jet de ce que j’avais en tête. Toujours dans le cadre de Projet Zéro, j’ai sorti une petite application en une semaine de boulot : Taglibro.

Je ne ferai pas de long article sur ce projet car il s’agit avant tout de répondre à un besoin personnel : celui de pouvoir consigner des pensées divers en un endroit. Voyez Taglibro avant tout comme un carnet de bord ou un journal intime (Taglibro en Esperanto). Je souhaitais penser l’outil pour un usage avant tout personnel.

Évidemment je n’ai pas fait grand chose en une semaine, juste ce qu’il faut pour permettre de saisir ses pensées, les lister et les publier. Quelques contraintes viennent s’ajouter à cela :

Imaginez rencontrer un(e) inconnu(e) dans le train, discuter de tout et de rien, prendre du plaisir à parler avec cette personne. Le train arrive à la gare et vous vous dites au revoir. Ce n’est qu’une fois perdu de vue que vous vous rendez compte que vous ne savez pas le nom de votre inconnu(e). Tout ce que vous conservez, c’est cette sensation d’avoir passé un bon moment, riche en échanges, avec cette personne. C’est un peu cet état d’esprit que je souhaite faire émerger dans Taglibro. Exit donc tout système de popularité, tout ce qu'il reste ce sont des mots. Vous vous fondez dans la masse et personne ne sait qui vous êtes.

Pour les aspects plus techniques, Taglibro a été écrit en Rails, a été placé sous licence MIT et le code est hébergé sur GitHub. Pour le moment, le déploiement se fait automatiquement sur Heroku et c’est pourquoi je déconseille fortement l’utilisation de Taglibro, puisque Heroku repose sur AWS de Amazon et que ce n’est pas du tout « Dégooglisons Internet »-compliant ! (je ne partagerai même pas l'URL directement pour tout dire)

Bref, Taglibro n’a pour le moment pas beaucoup d’intérêt (si ce n’est pour moi) et je déconseille même son utilisation. Par contre je suis preneur de suggestions donc n’hésitez pas :).