Articlesproject

Grosses mises à jour pour Planify

En mars, j'ai écrit pourquoi j'ai construit Planify alors que de meilleures apps existent déjà. Je terminais par : « Le refactor arrive. »

Il est arrivé. Et il est devenu bien plus gros qu'un refactor.

L'objectif n'a pas changé

Planify existe pour une seule raison : retrouver l'habitude de planification que j'avais avec un stylo et un carnet. Chaque soir, planifier le lendemain. Chaque samedi, faire le bilan de la semaine. Ça marchait sur papier. Quand tout est passé sur l'ordinateur, ça s'est effondré.

Ce que je veux, c'est un seul endroit où cette habitude tient :

  • les tâches à faire,
  • le calendrier où elles se passent vraiment,
  • les notes qui les expliquent,
  • et le temps réellement passé dessus.

Pour la plupart des gens, ça fait quatre apps : Linear ou Todoist, Google Agenda, Notion, un chrono. Chaque passage de l'une à l'autre est une friction, et c'est justement la friction qui a tué mon système du carnet.

Planify n'essaie de battre aucune de ces apps. Il essaie de supprimer les trous entre elles, pour une personne : moi.

Ce qui est nouveau depuis la v2

Les projets

Les tâches vivent maintenant dans des projets, avec une date de début et une date cible. Chaque projet a son propre tableau et un panneau latéral avec sa progression, le temps suivi et les jours restants.

Le tableau d'un projet dans Planify, avec son panneau de progression

Un tableau qui se lit d'un coup d'œil

« My tasks » est un kanban qui regroupe tous les projets. Priorité, tags et échéance sont des pastilles modifiables directement sur la carte. Les tâches en retard s'affichent en rouge : elles ne se cachent plus.

Le tableau My tasks en mode sombre

Le mode sombre a aussi eu droit à une vraie attention. Même tableau, mêmes pastilles, rien de délavé.

Le même tableau de projet en mode sombre

Notes, sessions et liens

  • Notes : des pages façon Notion, imbriquées aussi profond que je veux (Semestre > Cours > Chapitre), avec LaTeX, tableaux, code, blocs repliables et couvertures. L'éditeur, c'est Plate.
  • Suivi du temps : un clic sur ▶ et un chrono tourne dans la barre de titre (on voit « Draft the launch… » sur les captures). La page /time montre la semaine par projet.
  • Liens : une page appartient à un projet, une tâche pointe vers la page d'où elle vient, et un événement peut bloquer du temps pour une tâche. Tout est relié, rien n'est copié.
  • Google Agenda et Google Tasks : synchro dans les deux sens, avec un webhook en production.

Sous le capot

Je suis passé de Cloudflare Workers à Vercel + Supabase. Le plan gratuit de Workers limite le CPU à 10 ms par requête, et une app Next.js dépasse ça facilement. Postgres passe par Prisma, les fichiers par Supabase Storage, et un cron quotidien envoie les rappels.

Les trois fonctionnalités que je voulais le plus

Ce sont elles qui font passer Planify de « un tableau et un calendrier » à un vrai planificateur.

1. Glisser une tâche dans sa journée

Le panneau latéral du calendrier a maintenant une liste To plan : toutes les tâches ouvertes qui n'ont pas encore de temps bloqué. On en glisse une sur le calendrier et elle devient un bloc de temps lié à la tâche. Si on la dépose sur un jour, la tâche devient due ce jour-là.

« Reply to Ana » glissée depuis To plan vers jeudi 14h

C'est le time-blocking à la Sunsama ou Akiflow. Le lien entre une tâche et son bloc existait déjà ; il manquait juste le geste.

2. L'écrire comme on le dirait

Ctrl K comprend maintenant le français et l'anglais :

text
réunion mardi 17h #website !urgent
Dentist tomorrow 2:30pm for 45 min
Standup every weekday 9h30-9h45

Il lit la date, l'heure, la durée, le projet, les tags, la priorité et la récurrence, et montre ce qu'il a compris avant qu'on appuie sur Entrée.

La saisie rapide qui lit « réunion mardi 17h #website !urgent »

Une heure seule crée un événement. Ajoutez un #projet ou une !priorité et ça devient une tâche, avec son bloc de temps déjà dans le calendrier.

C'est la partie la plus fun à écrire : aucune librairie, environ 300 lignes et un fichier de tests. Le français a beaucoup de façons de dire « demain à 17h ».

3. Les récurrences

Un vrai agenda a besoin d'événements récurrents. Tous les jours, en semaine, chaque semaine, toutes les deux semaines, chaque mois, chaque année, avec une date de fin optionnelle.

Le menu Repeat dans la fenêtre de nouvel événement

On peut modifier une seule occurrence ou toute la série. On peut en supprimer une, les suivantes ou toutes. Glisser une occurrence ne déplace que celle-là.

Les tâches aussi se répètent : terminez « Payer le loyer » et celui du mois prochain apparaît tout seul.

Ce qu'il faut dire honnêtement

  • Ces trois fonctionnalités sont sur une branche. Elles partent en prod dès que mon environnement de production est prêt.
  • La synchro Google est couverte par des tests, mais je n'ai pas encore fait tourner le circuit complet avec un vrai compte. C'est la prochaine étape.
  • Le glisser-déposer demande une souris pour l'instant.

La suite

  1. Valider la synchro Google avec un vrai compte.
  2. Planifier ma journée : choisir ses tâches le matin, être prévenu quand la journée est trop chargée, et comparer le prévu au réalisé le soir. Planify a déjà les deux chiffres.
  3. Notifications push via une PWA : la première marche vers le mobile.

Même règle que la dernière fois : on livre, on utilise, on casse, on répare. On recommence.

Commentaires

Connectez-vous avec GitHub pour participer à la discussion.

Leave comment