Skip to content

docs(us10): finalize project documentation (README, architecture, dbt catalog) - #87

Merged
GMartin-Data merged 4 commits into
mainfrom
docs/finalize-projet-readme
Jun 1, 2026
Merged

GMartin-Data merged 4 commits into
mainfrom
docs/finalize-projet-readme

Conversation

@GMartin-Data

Copy link
Copy Markdown
Owner

Contexte

Finalisation de la documentation projet (US10, tâches T10.1 à T10.7) — livrable
direct de la soutenance. Le README décrivait un périmètre périmé à 3 sources
alors que le pipeline en production en compte 7 (orchestration cross-Job,
monitoring, mart unifié). Cette PR aligne toute la doc livrable sur l'état réel
du code sur main.

Travail mené en inter-bloc. La doc préparatoire interne (datatalent_docs/)
reste hors repo ; seule la synthèse livrable est versionnée ici.

Décisions techniques

Sujet Choix Justification
Fidélité de la doc État réel du code sur main (7 sources) Le README à 3 sources sous-vendait le projet ; les 4 sources complémentaires résolvent un trou du use case (pivot D14-bis : SIRET absent des offres)
Schéma d'archi (T10.3) Mermaid natif dans docs/architecture.md GitHub rend le Mermaid nativement ; évite des binaires PNG/SVG versionnés qui dérivent du source. Écart assumé vs la lettre de T10.3
Catalogue (T10.4) meta + tags sous bloc config: Syntaxe dbt ≥ 1.10 (vérifiée sur la doc officielle), validée par dbt parse
Migration docs sources (T10.6) Synthèse condensée, pas de migration intégrale Le récit sources vit dans le README, le détail par modèle dans le catalogue dbt — pas de double source de vérité
Lignage (T10.5) Section README « générer/consulter en local » dbt docs serve est un serveur local ; target/ est gitignored — site régénérable, pas de binaire figé
Script de démo (T10.7) Hors repo (datatalent_docs/demo/) Artefact opérationnel de soutenance, pas un livrable repo

Changements

  • README.md — réécriture complète : question centrale, récit 3→7 sources,
    architecture (flux + renvoi), stack par couche avec choix GCP justifiés,
    structure du repo, section déploiement Terraform (bootstrap state D30,
    image placeholder D73, terraform apply, garde-fou zéro diff D31), section
    catalogue & lignage dbt.
  • docs/architecture.md (nouveau) — 3 vues Mermaid : acquisition, transformations
    dbt, infrastructure. Cohérentes avec infra/ et dbt/.
  • dbt/models/**/_*__models.yml (9 fichiers, 14 modèles) — ajout config.meta
    (owner, update_frequency: hebdomadaire) + tags fonctionnels par couche, et
    tags: ['pii'] sur les 7 colonnes objectivement personnelles (identifiants/noms
    d'entreprise Sirene + entreprise_nom).

Validation

$ uv run dbt parse
Running with dbt=1.11.7 — Registered adapter: bigquery=1.11.1
(aucune erreur)

$ uv run dbt docs generate
Found 178 data tests, 14 models, 9 sources, 658 macros
Catalog written to target/catalog.json

# meta/tags propagés sur les 14 modèles (extrait manifest.json)
fct_offres                        owner=Greg     tags=['mart','analytique']
stg_sirene__etablissements        owner=Quentin  tags=['staging','sirene']
...
# 7 colonnes taguées pii : siret, siren, denomination_usuelle, enseigne,
# stg_france_travail.entreprise_nom, stg_adzuna.entreprise_nom,
# int_offres_enrichies.entreprise_nom

Les 3 blocs Mermaid de docs/architecture.md ont été validés syntaxiquement
(génération SVG via mermaid-cli, sans erreur).

Refs

T10.1, T10.2, T10.3, T10.4, T10.5, T10.6, T10.7, D28, D59

Le README décrivait un périmètre périmé à 3 sources. Réécriture fidèle
au code sur main : 7 sources (pivot D14-bis), orchestration applicative
ingestion → dbt (D72/D108), stack par couche, monitoring (D105/D106).

Ajoute une section déploiement basée sur terraform apply (D28) : bootstrap
du state bucket (D30), image placeholder (D73), apply avec garde-fou zéro
diff (D31). Renvois vers docs/setup.md (dev local) et docs/runbook.md
(exploitation). Lien docs/architecture.md anticipé (créé en T10.3).

Refs: T10.1, T10.2
Trois vues (acquisition, transformations dbt, infrastructure) au format
Mermaid, rendu nativement par GitHub. Source reprise et dé-pédagogisée
depuis la doc interne datatalent_docs, en cohérence avec le code infra/
et dbt/. Ferme le lien docs/architecture.md anticipé dans le README.

Écart assumé vs la lettre de T10.3 (export PNG/SVG) : le Mermaid natif
évite des binaires versionnés qui dérivent du source, et GitHub rend les
diagrammes directement. Les 3 blocs ont été validés syntaxiquement via
mermaid-cli (génération SVG OK).

Refs: T10.3
Ajoute sur les 14 modèles (staging, intermediate, marts) un bloc config
avec meta.owner (attribution réelle par contributeur), meta.update_frequency
(hebdomadaire, cadence du pipeline) et des tags fonctionnels par couche.

Marque tags: ['pii'] sur les 7 colonnes objectivement personnelles au sens
RGPD : identifiants et noms d'entreprise Sirene (siret, siren,
denomination_usuelle, enseigne) et entreprise_nom (FT, Adzuna, intermediate).

Syntaxe config: (meta/tags sous config) conforme à dbt >= 1.10 (vérifié sur
la doc officielle). Validé via dbt parse + dbt docs generate (catalog OK,
14 models / 9 sources / 178 tests). Complète le delta D59.

Refs: T10.4, D59
Section expliquant comment générer et consulter le catalogue dbt et le
lignage interactif (dbt docs generate / serve, localhost:8080). Pas de
binaire versionné : le site dbt docs est régénérable depuis le repo,
cohérent avec target/ gitignored. Renvoi vers docs/setup.md pour le
prérequis de configuration de l'environnement dbt.

Refs: T10.5
@ESNAULTQ
ESNAULTQ self-requested a review June 1, 2026 07:24

@ESNAULTQ ESNAULTQ left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je te donne le droit!

@GMartin-Data
GMartin-Data merged commit 17baa0e into main Jun 1, 2026
6 checks passed
@GMartin-Data
GMartin-Data deleted the docs/finalize-projet-readme branch June 1, 2026 07:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants