Agenda

Agenda · Architecture

Un agenda qui continue de marcher quand le réseau lâche.

Une application web installable qui garde une copie locale de vos tâches et rejoue les changements au retour du réseau. Elle partage le compte et la base de Carnet sans toucher à ses tables.

Le schéma

  1. 01 — Client

    Application web installable

    Elle tourne sur téléphone ou sur ordinateur et continue de marcher sans réseau. Chaque changement est appliqué à l'écran puis écrit sur l'appareil. Une file d'attente le renvoie dans l'ordre au retour du réseau.

    Dialogue avec le backend (04) grâce à un jeton à 2 facteurs.

  2. 02 — Code

    GitHub

    Un dépôt privé séparé de celui de Carnet. Chaque envoi lance les tests et les vérifications de sécurité.

    Prépare la mise en ligne sur Netlify (03).

  3. 03 — Hébergement

    Netlify

    Un second site publié seulement sur demande. Les en-têtes de sécurité limitent les connexions au seul projet Supabase de Carnet.

    Sert les pages à l'application (01).

  4. 04 — Backend · Supabase de Carnet

    Compte partagé et tâches

    Agenda utilise le même projet Supabase que Carnet. Le compte et le code à 2 facteurs sont les mêmes. Une liste blanche décide qui a accès. Les tâches, les sous-tâches et les réglages vivent dans des tables ajoutées sans toucher à celles de Carnet. Les migrations sont écrites dans le dépôt de Carnet.

    Reçoit les changements de l'application (01) et sert la même base que Carnet (05).

  5. 05 — Application voisine

    Carnet

    Carnet partage le projet Supabase, les comptes et les règles d'accès. Son dépôt et son site restent distincts.

    Utilise le même backend (04).

  6. 06 — Prévu

    Pas encore en ligne

    La lecture des échéances de Carnet, l'import d'invitations .ics, les notifications push ainsi que les récurrences et habitudes ne sont pas encore livrés. Les montants de Carnet ne seront jamais gardés sur l'appareil.

    Viendrait lire les échéances de Carnet (05) sans les écrire sur l'appareil.

Version actuelle d'Agenda en production. Les éléments en pointillés ne sont pas encore livrés.

01

Hors ligne par conception

Chaque modification est appliquée à l'écran puis écrite sur l'appareil. Elle est ensuite envoyée dans l'ordre. L'application ne remplace jamais la liste locale par celle du serveur tant que la file n'est pas vide.

02

Un projet pour deux applications

Agenda partage le compte et la base de Carnet. Cela garde le même code à 2 facteurs et reste dans un budget de 0 €. Ses tables sont ajoutées sans modifier celles de Carnet.

03

Accès par liste blanche

Le compte doit figurer sur une liste gérée depuis le tableau de bord Supabase. Le navigateur ne peut pas s'y ajouter. Chaque personne ne voit que ses propres tâches.

04

Ce qui est prévu

Pas encore en ligne : la lecture des échéances de Carnet, l'import d'invitations .ics et les notifications. Les montants de Carnet ne seront jamais gardés sur l'appareil.