Un kanban personnel, de l'idée au projet puis à la tâche

Une idée, un projet, des tâches : My Kanban les tient sur une seule carte qui change de nom en avançant, avec un tableau principal et un mini-tableau par carte, et ses données restent sur mon ordinateur.

Le tableau My Kanban en quatre colonnes, Vrac, En cours, En test et En prod, avec des cartes étiquetées Perso ou Boulot et Idée ou Projet
Le tableau principal, avec ses quatre colonnes et le filtre Perso ou Boulot en haut.

My Kanban est mon tableau de suivi personnel. Il gère un flux en trois niveaux : une idée, qui devient un projet, qui se découpe en tâches. Je l'ai construit avec Claude Code à partir du 18 août 2026.

Une carte qui change de nom

Les instructions du projet posent une règle : une idée et le projet qu'elle devient sont la même carte. Dans la colonne Vrac, elle porte le badge Idée ; dans toute autre colonne, le badge Projet. Le projet hérite ainsi des tâches notées quand ce n'était qu'une idée, sans copie ni migration.

La promotion se fait seule. Dès qu'une tâche quitte la colonne Vrac, la carte parente encore en Vrac passe En cours et devient un projet.

Le tableau principal a quatre colonnes, dans un ordre fixe : Vrac, En cours, En test, En prod. Chaque carte a en plus son propre mini-tableau aux mêmes quatre colonnes, pour ses tâches, qui avancent indépendamment de la carte. Chaque carte porte aussi une étiquette, Perso ou Boulot, qui sert de filtre. Les instructions interdisent d'ajouter une colonne ou un axe sans demande explicite.

Où sont rangées les données

L'interface est écrite en React avec TypeScript, le glisser-déposer vient de la bibliothèque dnd-kit, et l'état de l'application tient dans un petit store Zustand. Ni l'interface ni le store ne savent où sont rangées les données : ils ne parlent qu'à une interface de dépôt, qui propose des opérations simples, créer, modifier ou supprimer une carte ou une tâche.

Où My Kanban range ses données L'interface React parle au store Zustand, qui ne connaît qu'une interface de dépôt ; derrière elle, deux rangements interchangeables : le stockage local du navigateur ou un serveur PocketBase sur l'ordinateur. PAR DÉFAUT SI URL UI Composants React tableau, glisser-déposer ÉTAT Store Zustand les cartes et les tâches INTERFACE Dépôt de données seul point d'accès NAVIGATEUR Stockage local hors ligne SERVEUR PocketBase SQLite, sur l'ordinateur
L'interface et le store ne connaissent que le dépôt. Derrière, le rangement change sans toucher au reste.

Le projet a démarré avec un seul rangement, le stockage local du navigateur, qui marche hors ligne. Le 2 septembre, un second rangement est arrivé derrière la même interface : PocketBase, un serveur léger qui stocke les données dans une base SQLite. Il suffit de renseigner son adresse dans la configuration pour basculer.

Un export et un import en JSON servent de sauvegarde, et de passage d'un rangement à l'autre.

Un nouveau rangement s'ajoute derrière la même interface, sans toucher aux composants.

Une application de bureau sans installateur

My Kanban se lance d'un double clic sur une icône du Bureau. Le lanceur démarre PocketBase sur l'ordinateur, qui sert à la fois les données et l'application elle-même ; au premier lancement, il construit l'application. Elle s'ouvre dans une fenêtre de Chrome en mode application, avec son icône. Un bouton Quitter arrête le serveur.

Le serveur n'écoute que sur l'ordinateur, à l'adresse 127.0.0.1. Rien ne passe par un service en ligne.

Les décisions en route

  • Une seule entité pour l'idée et le projet : les tâches suivent la carte, sans conversion ni doublon.
  • La persistance isolée dès le premier jour : un autre rangement s'ajoute sans réécrire l'interface.
  • Un workflow fermé : quatre colonnes, deux étiquettes, et rien de plus sans le décider.
  • Local d'abord : le stockage du navigateur, puis un serveur sur l'ordinateur, avant toute synchronisation en ligne.

My Kanban est en service. Sur la capture, les carnets de cet atelier y figurent d'ailleurs, en projet en cours.

Dans l'atelier aussi