Aller au contenu

Aiguillage des couches — où va une nouvelle donnée analytique

Vous êtes ici : Comprendre — les fondations : la question qu’on se pose avant de créer une table analytique. Les quatre couches, et la règle qui dit dans laquelle une nouvelle donnée doit naître. Lecture 8 min. Audience : devs, architectes, analystes. Date : 2026-08-11 | Version : 1.1 — la doctrine d’aiguillage est passée de proposée à acceptée le jour même (six arbitrages, dont un renversement)

Question Réponse Détail
Combien de couches ? Quatre couches logiques — la dernière a trois formes § Les quatre couches
Pourquoi une doctrine d’aiguillage ? Deux modèles cohabitaient sans articulation écrite § Le trou
Où va ma nouvelle table ? Quatre questions dans l’ordre § L’arbre
Peut-on court-circuiter une couche ? Oui, sous conditions strictes et déclarées § Le chemin direct
C’est décidé ? Oui — tranché le 2026-08-11, six arbitrages § Ce qui a été tranché
Les quatre couches de la plateforme analytique GS-AppsTrois couches empilées de haut en bas : la couche brute qui reproduit fidèlement les sources, la couche nettoyée qui consolide et applique les règles de qualité, puis la couche servie qui se présente sous trois formes côte à côte — les dimensions qui portent les axes d’analyse, les faits qui portent les événements au grain fin, et les agrégats pré-calculés. Une flèche traverse les couches de haut en bas. Un encadré latéral rappelle que la règle d’aiguillage entre ces trois formes a été arbitrée le 11 août 2026.Couche brutecopie fidele de chaque source — langue et types d’origine, avant isolation par compagnieCouche nettoyeeconsolidee, dedoublonnee, regles de qualite — isolation par compagnie activeCouche servie — trois formes du meme rangDimensionsles axes d’analysequi / quoi / ou / quandFaitsles evenements mesuresau grain finAgregatsindicateurs pre-calculespour consommation directeRegled’aiguillagearbitree2026-08-11une seule convention de nommage sur toute la couche servie
Les trois formes de la couche servie ne sont ni concurrentes ni successives : ce sont trois presentations du meme rang de maturite de la donnee.

2 · Le problème — deux modèles sans articulation

Section intitulée « 2 · Le problème — deux modèles sans articulation »

Deux modèles de référence coexistent dans la plateforme, chacun correctement appliqué :

  • le médaillon, qui décrit la maturité d’une donnée — brute, puis nettoyée, puis servie ;
  • l’étoile dimensionnelle, qui décrit la structure de présentation — des faits au grain fin entourés de dimensions partagées.

Chacun était documenté. Ce qui manquait, c’est leur articulation : rien ne disait si les dimensions et les faits appartenaient au médaillon, ni à quelle couche, ni quand les emprunter plutôt que de passer par la couche nettoyée.

Un vide doctrinal ne reste pas théorique. Il produit des écarts mesurables : des conventions de nommage divergentes selon la couche, des règles de complétude différentes pour un même besoin, et un catalogue interne qui qualifiait de « en retrait » une famille de tables qui recevait au contraire les créations les plus récentes.

Pour toute nouvelle donnée analytique, quatre questions dans l’ordre :

  1. Est-ce un axe d’analyse partagé — une entité à laquelle plusieurs mesures ou plusieurs applications se rapportent (qui, quoi, où, quand) ? → une dimension.
  2. Est-ce un enregistrement d’événements ou de mesures au grain fin — une ligne par occurrence, des mesures additionnables, des axes qui pointent vers des dimensions ? → un fait, dont le grain doit être déclaré et contraint.
  3. Est-ce un agrégat pré-calculé — un indicateur par période ou par entité, re-dérivable depuis les couches inférieures ? → un agrégat.
  4. Une étape par la couche nettoyée est-elle obligatoire ? Oui dès qu’un seul de ces critères est vrai :
    • la donnée consolide plusieurs sources en une même entité métier ;
    • elle applique une règle de transformation réutilisable dont un autre consommateur pourrait avoir besoin ;
    • elle réalise un nettoyage qui change des valeurs (pas un simple filtre de plausibilité).

Aller de la couche brute directement à un fait, sans étape intermédiaire, est admis — mais seulement si les quatre conditions tiennent ensemble :

Condition Ce qu’elle garantit
Transformation purement structurelle, ou règle métier entièrement assertée par un test de qualité versionné La règle est vérifiée, pas seulement écrite
Grain déclaré au catalogue et contraint en base Deux lignes ne peuvent pas décrire la même occurrence
Résolution des axes faite au chargement, selon une doctrine unique Une référence absente ne disparaît pas en silence
Chemin déclaré explicitement au catalogue, avec sa justification L’exception est visible, donc révisable

Le principe : une exception qui ne se déclare pas devient la règle par accumulation. Une exception déclarée reste une exception.

Deux arbitrages structurants méritent d’être connus, parce qu’ils changent des choses visibles.

Chaque dimension reçoit désormais une ligne sentinelle « inconnu ». Les cas non résolus y pointent au lieu de produire une valeur nulle — et les jointures qui rejetaient silencieusement une ligne source la résolvent désormais vers cette sentinelle.

L’option inverse (assumer la valeur nulle et la mesurer par des seuils) était défendable, mais l’expérience interne l’a écartée : une valeur nulle silencieuse peut persister des mois sans que personne ne s’en aperçoive, alors qu’une ligne « inconnu » apparaît dans tout rapport et se fait remarquer.

Une seule convention de nommage sur toute la couche servie

Section intitulée « Une seule convention de nommage sur toute la couche servie »

La couche servie et analytique — nettoyée, dimensions, faits, agrégats — porte une seule convention : snake_case en anglais.

C’est l’arbitrage qui a été renversé par rapport à la recommandation de l’audit. Celui-ci proposait de geler l’existant et de n’imposer la convention qu’aux nouvelles tables, pour éviter des renommages. L’uniformité l’a emporté sur l’économie de court terme.