Concepts fondamentaux
Cette page définit le vocabulaire de la plateforme. Chaque concept renvoie vers le guide qui le détaille.
Projet
Le projet est l'unité centrale de Fluhoms. Il regroupe des pipelines, des workflows, une configuration (variables et connexions) et ses propres environnements de déploiement.
Le modèle s'inspire de git :
- les projets société sont les origines partagées de l'entreprise, en lecture seule ;
- pour éditer un projet, on en prend une copie de travail dans le Studio (un checkout) ;
- on commit ses changements, puis on les pousse vers l'origine sous forme de release et de pull request.
Projet société (origine, lecture seule)
│ checkout ▲ push (release + pull request)
▼ │
Copie de travail (Studio) ── commit ──┘
Voir Le modèle projet-centric et Studio : copies de travail.
Environnement
Un environnement (dev, recette, prod…) vit à l'intérieur d'un
projet. C'est un contexte qui porte deux choses :
- les valeurs de configuration : les variables et connexions sont définies
au niveau du projet, mais chaque environnement porte ses propres valeurs
(le mot de passe de
pg-maindiffère entredevetprod) ; - un pointeur vers la release déployée : la version des pipelines qui y tourne.
Déployer, c'est poser ce pointeur : il n'y a aucune copie de contenu. Les
environnements sont ordonnés en une chaîne de promotion (dev avant
prod). Voir Environnements et déploiement.
Release et commit
- Un commit enregistre un instantané de votre copie de travail dans l'historique du projet (onglet Versions) ;
- une release est une version publiée du projet côté société : c'est elle qu'on déploie sur les environnements. Pousser une copie de travail crée une release et ouvre une pull request sur le projet société.
commit ── commit ── commit ── push ──▶ release v1.4 ──▶ dev ──▶ recette ──▶ prod
(copie de travail) (projet société) (pointeurs d'environnement)
Pipeline et workflow
- Un pipeline est un flux de données : un graphe de bricks qui extraient, transforment et chargent des données (créer un pipeline) ;
- un workflow est un flux d'orchestration : il déclenche et enchaîne des pipelines (planification cron, webhook, surveillance de fichiers, conditions, gestion d'erreur) (vue d'ensemble des workflows).
Workflow : [Déclencheur cron] ──▶ [Exécuter pipeline A] ──▶ [Exécuter pipeline B]
Pipeline : [Source fichier] ──▶ [Chaînes de caractères] ──▶ [Écriture fichier]
Bricks et méga-bricks
Une brick est un composant du pipeline : source (extraction), transformation ou destination (chargement). Les transformations courantes sont regroupées en méga-bricks thématiques (« Colonnes », « Chaînes de caractères », « Agrégations »…) : une seule brick y chaîne plusieurs opérations configurées dans l'ordre, plutôt que d'aligner dix petites bricks.
Voir la référence des composants.
Connexions et variables
- Une connexion stocke les informations d'accès à une source ou destination (base de données, storage, API). Ses paramètres secrets sont chiffrés (créer une connexion) ;
- une variable est une valeur nommée réutilisable dans les configurations.
Les deux suivent la même règle : la définition appartient au projet, la valeur appartient à l'environnement. Créer une connexion dans le projet la fait apparaître dans chaque environnement, où l'on renseigne ses identifiants propres.
Runner
Le runner est le binaire d'exécution installé sur votre infrastructure. Il se connecte à la plateforme (connexions sortantes uniquement) et exécute les pipelines au plus près de vos données. Chaque environnement désigne son runner cible ; dans le Studio, vos exécutions passent par votre runner personnel ou celui imposé par le projet.
Voir Installer un runner et Gérer les runners.
Exécution
Une exécution est une instance de lancement d'un pipeline ou d'un workflow. Elle porte un statut (en cours, succès, échec), des logs par brick, des métriques (lignes lues et écrites, durée) et le détail des erreurs éventuelles. Le Monitoring centralise toutes les exécutions (liste des exécutions).
Récapitulatif
| Concept | En une phrase |
|---|---|
| Projet | L'unité de travail : pipelines + workflows + configuration + environnements |
| Projet société | L'origine partagée, en lecture seule |
| Copie de travail | Le checkout éditable d'un projet société, dans le Studio |
| Environnement | Valeurs de configuration + pointeur vers la release déployée |
| Commit | Un instantané de la copie de travail |
| Release | Une version publiée du projet, déployable |
| Pipeline | Un graphe de bricks qui traite des données |
| Workflow | Un graphe d'orchestration qui déclenche des pipelines |
| Brick | Un composant : source, transformation ou destination |
| Méga-brick | Une brick qui chaîne plusieurs opérations |
| Connexion / variable | Définie au projet, valorisée par environnement |
| Runner | Le binaire qui exécute les pipelines sur votre infrastructure |
| Exécution | Une instance de lancement, avec logs et métriques |