Pastime
casse-têtes et solitaire · installable, hors ligne
Un cahier de jeux sans pub, où chaque niveau est prouvé faisable.
Des petits jeux de réflexion et de cartes en solo, imprimés comme un cahier de jeux, sans les pubs des apps qui les proposent d’habitude. Chaque niveau est généré sur le téléphone et prouvé faisable avant d’être montré, et toute l’app s’installe et marche hors ligne.
- TypeScript
- React
- PWA
- Web Workers
- Workbox
- Vitest
- Commits
- 38
- sur main, lus le 2026-10-08
- Couverture
- 55 %
- lignes exécutées par les tests unitaires des moteurs et de l’app, lues le 2026-10-08
- Paquets maison
- 11 sur 11
- installés depuis npm
- Premier commit
- 7 octobre 2026
En bref
- Quatre jeux dans une seule app : Étoiles, Tuyaux, le solitaire Klondike et Color Dots. Sans pub, sans compte, rien à télécharger après la première visite.
- Chaque niveau est généré sur le téléphone et vérifié avant d’être montré : un solveur logique prouve que chaque grille d’Étoiles et de Tuyaux a une seule solution, atteignable sans deviner, et une donne de solitaire ne sort qu’une fois gagnée par un solveur.
- Les niveaux de Color Dots se construisent à l’envers depuis le plateau résolu : le chemin du retour est une victoire garantie, rejouée une fois de plus avant que le niveau sorte.
- Un puzzle se nomme par son jeu, sa variante et son numéro, et sa graine vient de ce nom : le puzzle du jour est le même sur tous les téléphones, sans serveur pour se mettre d’accord.
- Les générateurs tournent dans un Web Worker, et celui qui abandonne repart d’une graine dérivée de la première : un puzzle du jour relancé reste celui de tout le monde.
Historique
Tiré du git log, abrégé, et laissé dans sa langue : 9 commits sur 38, du plus récent au plus ancien.
- Print the install and update notices at the end of the hub, where they push nothing in view
- Play Color Dots: printed board, ball rides, loss on a blocked tap
- Color Dots engine: tree rules, solver, reverse generator with boss progression
- Solitaire engine: Klondike rules, solver, winnable-deal generator
- Play Pipes: logical solver, unique-solution generator, live water board
- Play Stars: logical solver, unique-solution generator, pencil board
- Print the app in the Cahier de jeux world
- Bootstrap the installable shell
- Project docs and build planPremier commit
Paquets maison
11 des 11 paquets maison, depuis npm, jusqu’aux réglages du compilateur et du linter.
- @adrienlcp/react-routerLe fournisseur de routeur que prend chaque app.0.1.1
- @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/browserCopie dans le presse-papiers même en HTTP simple, où l’API Clipboard n’existe pas.0.1.1
- @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