Aller au contenu
ADAMA OSESG · DATA · SYSTEMS

JOURNAL DES DÉCISIONS DEC-006

Registre de produits en base plutôt qu’un tableau écrit dans la page

Statut
AcceptéeEn vigueur aujourd’hui.
Date
Portée
Ce cockpit
Impact
Architecture
Réversibilité
Revenir en arrière demande un chantier

Cette décision en remplace une autre. Lire DEC-103, Un tableau de produits écrit dans la page plutôt qu’un registre en base

Contexte

La liste des produits du groupe était un tableau écrit dans une page du site. Elle servait aussi à décider quels dépôts alimentaient le journal des livraisons.

Elle était fausse sur la majorité de ses lignes : des produits annoncés qui n’existaient pas, des états périmés, des liens vers des adresses fermées.

Une liste écrite dans une page n’a pas de propriétaire : personne ne la relit, parce que personne ne sait qu’elle existe.

Options envisagées

  • Retenue

    Tenir le registre en base, avec une règle vérifiable

    La base peut refuser une ligne incohérente. Un état ouvert au public exige une adresse, et l’absence d’adresse interdit le lien.

  • Écartée

    Corriger le tableau et le relire régulièrement

    Une relecture régulière tenue par une seule personne finit toujours par sauter un tour, et rien ne le signale.

Décision

Les produits du groupe sont tenus dans la table ecosystem_products. Aucune page du site ne connaît la liste, elles la lisent toutes au même endroit.

Raisonnement

Technique
Le registre alimente le hub public, la Couche D en vue groupe et la liste des dépôts suivis par le journal des livraisons. Une seule source pour trois usages.
Réglementaire
Annoncer un produit ouvert au public sans adresse est une affirmation invérifiable. La contrainte qui l’interdit est posée en base, pas dans une consigne.
Économique
Une migration et une table de plus, contre une catégorie entière d’erreurs qui ne peut plus se produire.

Compromis accepté

Le site ne peut plus afficher ses produits sans sa base. Quand Supabase ne répond pas, la grille est vide au lieu d’être fausse, et c’est un choix assumé.

DÉCISION · CODE · RÉSULTAT

  1. LA DÉCISION

    Les produits du groupe sont tenus dans la table ecosystem_products. Aucune page du site ne connaît la liste, elles la lisent toutes au même endroit.

  2. LE CODE QU’ELLE A PRODUIT
  3. LE RÉSULTAT OBSERVÉ

    La migration 0001 crée la table, sa contrainte et ses politiques de sécurité au niveau ligne, et révoque la colonne du dépôt pour la clé anonyme. Le hub public /ecosysteme et la liste des dépôts suivis lisent la même table. Deux produits seulement portent une adresse, parce que deux seulement sont ouverts.

Le principe que cette décision gouverne

L’architecture suit la responsabilité.

Voir d’où viennent les six principes

LE JOURNAL COMPLET

Toutes les décisions, au même format.

Elles se comparent : même gabarit, même vocabulaire, même exigence de trace.

Revenir au journal