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.

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 mode sombre a aussi eu droit à une vraie attention. Même tableau, mêmes pastilles, rien de délavé.

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
/timemontre 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à.

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

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.

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
- Valider la synchro Google avec un vrai compte.
- 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.
- 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.