Tutoriel : Onboarding d'un nouveau tenant
Dans ce tutoriel, vous allez onboarder un nouveau client de zéro : recevoir ses données, créer une instance tenant, exécuter le pipeline d’extraction et de build, explorer les résultats et figer un snapshot. C’est le workflow qu’un consultant suit quand il démarre avec un nouveau client.
Durée : 15 minutes Prérequis : jinflow installé (Démarrage rapide)
1. Le scénario
Section intitulée « 1. Le scénario »Un nouveau domaine viticole — Domaine Nouveau — veut utiliser votre framework analytique. Il vous a envoyé un export Excel depuis son ERP. Vous devez transformer cela en un environnement analytique fonctionnel.
2. Configurer la Data Landing Zone
Section intitulée « 2. Configurer la Data Landing Zone »La DLZ est l’endroit où les données source brutes arrivent, séparément des répertoires de travail de jinflow.
# Configure your DLZ root (one-time)jinflow us --dlz ~/jinflow-datalandingzone
# Create the tenant's DLZ directorymkdir -p ~/jinflow-datalandingzone/millesime/domaine_nouveau/custom/csv/Placez les fichiers CSV du client (ou XLSX pour l’extraction) dans ce répertoire :
jinflow-datalandingzone/ millesime/ domaine_nouveau/ custom/ csv/ parcels.csv harvests.csv wines.csv ...3. Créer le tenant
Section intitulée « 3. Créer le tenant »jinflow init --pack millesime --tenant domaine_nouveau \ --source-system custom \ --dlzroot ~/jinflow-datalandingzone \ --display-name "Domaine Nouveau"Cela crée une instance tenant dans votre live root :
~/.jinflow/live/millesime/domaine_nouveau/ afs/ ← copy of the millesime pack (signals, theses, dbt, etc.) raw/ ← empty, waiting for data build/ ← empty store/ ← emptyDéfinissez-le comme défaut :
jinflow us --tenant millesime.domaine_nouveau4. Synchroniser les données depuis la DLZ
Section intitulée « 4. Synchroniser les données depuis la DLZ »Si le client a envoyé des fichiers XLSX, extrayez-les d’abord :
jinflow make --extract # XLSX → CSV in DLZ, then sync to raw/S’il a envoyé des CSV directement :
jinflow make --sync # copy CSVs from DLZ to raw/Vérifiez que les données sont arrivées :
jinflow statCela affiche les comptages de la couche Gold, les comptages de Signals et les vérifications de santé. Lors d’une première synchronisation avant le premier build, il affichera les comptages de fichiers CSV dans raw/.
5. Construire
Section intitulée « 5. Construire »jinflow makeLe pipeline complet s’exécute :
- Valider et enrichir les CSV
- Compiler tous les instruments depuis le pack
- dbt build (Bronze → Silver → Gold → Signals → Theses → Verdicts)
- Générer les rapports et le graphe de pipeline
- Estampiller le KLS et créer le SIS
Observez la sortie — si des CSV échouent à la validation, les messages d’erreur vous diront exactement ce qui ne va pas (colonnes manquantes, mauvais types, etc.).
6. Explorer
Section intitulée « 6. Explorer »jinflow exploreParcourez les résultats à localhost:4000 :
- Overview — Theses confirmées, exposition totale
- Findings — ce que les Signals ont détecté
- Theses — quelles questions métier ont des preuves
- Dimensions — parcourir les données réelles du client
C’est le moment où vous montrez au client : « Voici ce que nous avons trouvé dans votre premier jeu de données. »
7. Snapshot
Section intitulée « 7. Snapshot »Satisfait de l’analyse initiale ? Figez-la :
jinflow make --snapshot onboardingCela crée un snapshot immuable auquel vous pouvez toujours revenir :
jinflow explore --snapshot onboarding # revisit anytime8. Collaborer
Section intitulée « 8. Collaborer »Si un collègue doit travailler sur ce tenant :
# You: push the AFS to GitHubjinflow afs remote https://github.com/org/afs-millesime-domaine_nouveau.gitjinflow afs push -m "Initial onboarding complete"
# Colleague: clone and buildjinflow init --clone https://github.com/org/afs-millesime-domaine_nouveau.gitjinflow make --tenant millesime.domaine_nouveau --sync9. Garder à jour
Section intitulée « 9. Garder à jour »Quand le client envoie de nouvelles données :
# Place new CSVs in the DLZjinflow make --sync # sync new datajinflow make # rebuildjinflow make --snapshot # freeze if significantQuand le pack est mis à jour avec de nouveaux Signals :
jinflow afs update --do-it # pull pack changesjinflow make # rebuild with new instrumentsCe que vous avez appris
Section intitulée « Ce que vous avez appris »- La DLZ est la frontière d’entrée — les données brutes arrivent ici, jamais dans le live root jinflow
jinflow init --packcopie un domain pack dans une nouvelle instance tenant--synccopie les CSV modifiés depuis la DLZ versraw/;--extractconvertit d’abord les XLSXjinflow statmontre ce qu’il y a dans le KLS avant et après les builds- Les snapshots figent votre travail — les clients peuvent voir leur état d’onboarding à tout moment
- AFS push/pull permet la collaboration en équipe sur le même tenant
Prochaines étapes
Section intitulée « Prochaines étapes »- Tutoriel : Publier un Domain Pack — emballer votre framework pour la réutilisation
- Guide Tenants — architecture multi-tenant
- Guide Collaboration — workflows git
- Glossaire — chaque terme expliqué