List
liste partagée · par lien, en direct
Une liste, tout le monde écrit dessus, une personne y va, tout le monde suit.
Une liste qu’un groupe remplit ensemble et qu’une seule personne exécute. Les collègues y ajoutent leur commande du midi, un foyer ses courses ; celui qui y va coche les lignes sur son téléphone pendant que les autres les voient partir, en direct. Elle s’écrit sur une ardoise de marché, chaque ligne signée à la craie de son auteur, et une seconde sorte de liste cache à son propriétaire les réservations d’une liste d’envies.
- TypeScript
- React
- Hono
- Cloudflare Workers
- Durable Objects
- WebSocket
- Couverture
- 11 %
- lignes exécutées par les tests lancés hors du Worker, lues le 2026-10-22
- Paquets maison
- 9 sur 11
- installés depuis npm
En bref
- Quelqu’un crée une liste et envoie son lien ; chacun y ajoute des lignes d’où il est, et celui qui y va les coche pendant que les autres les voient changer. Sans compte : le lien fait office de clé.
- Chaque ligne porte le nom de qui l’a écrite, dans une craie de couleur à lui, distribuée pareil sur chaque écran : plus personne n’a à demander « tu as pris mon truc ? ».
- Une liste d’envies appartient à qui l’a créée : les invités réservent une envie ou glissent des idées surprises, et le serveur envoie à chaque socket la liste telle que son lecteur a le droit de la voir, si bien que le propriétaire ne sait jamais qui a réservé quoi.
- Un Durable Object adossé à SQLite par liste garde ses lignes et ses sockets via l’API d’hibernation ; chaque modification est diffusée sous forme de liste complète, si bien qu’un socket qui se reconnecte n’a rien manqué.
- Une liste que personne n’ouvre pendant quatre-vingt-dix jours s’efface d’elle-même, par une alarme que chaque visite repousse.
- Installable, en français et en anglais, clair et sombre, lue et cochée d’une main sur un téléphone.
Comment ça marche
un objet par liste, toute la liste à chaque changement
Paquets maison
9 des 11 paquets maison, depuis npm, jusqu’aux réglages du compilateur et du linter.
- @adrienlcp/i18nTraduit, et sait dès la compilation ce que chaque message attend.0.3.0
- @adrienlcp/theme-preferenceGarde le thème choisi sans flash, jusqu’à la barre du téléphone.0.3.0
- @adrienlcp/reactLes utilitaires de contexte dont part chaque app React.0.3.0
- @adrienlcp/react-ariaL’anneau de focus et la composition de classes sur react-aria-components.0.1.0
- @adrienlcp/stylesLe reset et les styles partagés dont part chaque projet.0.5.0
- @adrienlcp/resultDit si quelque chose a marché, sans exception et sans null.0.1.0
- @adrienlcp/safe-storageÔte les exceptions de localStorage et renvoie un Result à la place.0.1.0
- @adrienlcp/tsconfigLes réglages du compilateur qu’étend chaque projet.0.1.0
- @adrienlcp/biome-configLes réglages du linter et du formateur qu’étend chaque projet.0.1.0