JOURNAL DES DÉCISIONS DEC-006
Registre de produits en base plutôt qu’un tableau écrit dans la page
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
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
- 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.
- LE CODE QU’ELLE A PRODUIT
- MigrationCréation du registre produits
packages/db/migrations/0001_ecosystem_products.sql - CommitRegistre produits en base
24eb785 - FichierLecture unique de la liste des dépôts
apps/web/lib/repos.ts - RouteHub public lu en base
/ecosysteme
- MigrationCréation du registre produits
- 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 principesLE JOURNAL COMPLET
Toutes les décisions, au même format.
Elles se comparent : même gabarit, même vocabulaire, même exigence de trace.