Note de programmation

Un stockage explicite dans les éditions navigateur et locale

Mis à jour 1 septembre 2026 Traduit Au Jour Le Jour Modification vérifiée 5b5dbb5

Note technique d’.

Au Jour Le Jour indique désormais où chaque registre est stocké, quelles fonctions sont disponibles et comment les données passent de l’édition navigateur à l’édition locale.

Sur cette page

Ce qui a changé

Un contrat de capacités commun distingue le stockage navigateur de SQLite local, ainsi que la disponibilité de l’assistant, du partage, du mode hors ligne, de l’installation, des sauvegardes et des diagnostics.

Les indicateurs d’exécution exposent la connectivité, le dernier état enregistré, l’état des sauvegardes et la distinction entre transfert portable et synchronisation automatique.

L’édition navigateur écoute les changements de stockage des autres onglets, tandis que les contrôles Janitor vérifient le contrat de capacités et le transfert des sauvegardes entre plateformes.

Deux modèles de stockage, un contrat explicite

L’édition navigateur conserve son registre dans le stockage du navigateur sur l’appareil courant. L’édition locale utilise SQLite et reste disponible sans service hébergé. L’interface nomme cette différence au lieu de présenter les deux éditions comme si elles offraient la même durabilité.

Les capacités sont déclarées, non déduites : emplacement des données, fonctionnement hors ligne, disponibilité de l’assistant, partage, sauvegardes et diagnostics possèdent chacun un état d’exécution explicite. Ce contrat empêche l’interface de promettre une fonction que l’édition courante ne peut pas fournir.

La portabilité n’est pas la synchronisation

L’export et l’import JSON offrent un moyen de transfert lisible. Le partage en lecture seule suit un contrat de relais distinct, avec ses propres contrôles de confidentialité, son expiration et son état de publication. Aucun des deux mécanismes n’est présenté comme une synchronisation automatique entre appareils.

Cette distinction compte lors d’une restauration. Une sauvegarde portable peut reconstruire un registre et une vue partagée peut exposer un instantané choisi ; ni l’une ni l’autre ne doit devenir discrètement la source de référence.

La panne fait partie de l’interface

Les indicateurs d’exécution montrent si l’application est connectée, quand elle a enregistré pour la dernière fois et si une copie récupérable existe. L’édition locale fournit aussi des diagnostics et des vérifications d’intégrité, sans prendre un affichage réussi pour une preuve du bon état du registre.

Les tests Janitor couvrent les déclarations de capacités, les changements de stockage entre onglets, le transfert des sauvegardes, le comportement du relais et les services indisponibles. Le mode dégradé est testé comme un état de fonctionnement normal, pas laissé comme une exception non documentée.

Note d’ingénierie

L’emplacement des données fait partie du contrat du produit. Une application local-first ne devrait jamais laisser planer le doute : les données sont-elles dans un navigateur, dans SQLite, dans une vue partagée ou synchronisées ailleurs ?

Provenance

Cette note s’appuie sur le code vérifié du projet au commit 5b5dbb5. Elle documente une modification logicielle, pas une actualité personnelle.