Du CSV à PostgreSQL
Ce que vous allez construire
Un pipeline qui lit un fichier CSV depuis une connexion storage, nettoie
les chaînes de caractères (espaces, casse), renomme une colonne, puis écrit
le résultat dans une table PostgreSQL, le schéma cible étant porté par une
variable de projet (schema) dont la valeur peut différer d'un
environnement à l'autre. Vous l'exécuterez dans le Studio et vérifierez le run
dans le monitoring.
- Un compte Fluhoms actif et un runner connecté (voir Installer un runner) ;
- Un fichier CSV accessible depuis le runner (dossier local, SFTP, S3…),
par exemple un export
clients_2026.csvavec des colonnescust_id,nom,prenom,email; - Une base PostgreSQL accessible depuis le runner, avec des identifiants d'écriture ;
- Les gestes de base du Démarrage rapide (création de projet, éditeur de pipeline).
Étape 1 : créer le projet et sa copie de travail
- Dans la barre latérale, ouvrez Projets puis cliquez sur Créer : l'assistant en trois étapes (identité, équipe, récap) crée votre projet société ; nommez-le par exemple « Référentiel clients » ;
- Sur la carte du projet, cliquez sur Travailler dessus : Fluhoms crée votre copie de travail dans le Studio (un checkout) et vous y emmène.
C'est dans cette copie, privée et éditable, que tout le tutoriel se déroule ; le projet société reste en lecture seule (voir Studio : copies de travail).
Étape 2 : créer les deux connexions
Dans votre copie de travail, ouvrez l'onglet Connexions et créez :
- une connexion storage pointant vers le dossier qui contient votre CSV (Local, SFTP, S3… ; voir Créer une connexion) ;
- une connexion base de données PostgreSQL : hôte, port (5432), base, utilisateur, mot de passe.
Une connexion est définie au projet (son identité et ses paramètres) ; ses
valeurs (hôte, mot de passe…) sont propres à chaque environnement, et
les secrets restent chiffrés. Vous pourrez donc plus tard faire pointer le même
pipeline vers la base de dev en dev et la base de production en prod, sans
le modifier.
Étape 3 : créer la variable schema
Ouvrez l'onglet Variables de la copie de travail et créez une variable
schema, avec public comme valeur par défaut du projet.
C'est le point clé du modèle projet-centric : la variable est définie au
projet (sa clé et son défaut), et chaque environnement du projet société
pourra ensuite porter sa propre valeur, par exemple staging en dev et
ventes en prod (onglet Environnements du projet, puis le sous-onglet
Variables de l'environnement).
Pour chaque clé, l'environnement affiche sa valeur et, à côté, la valeur par
défaut du projet. Une valeur vide utilise le défaut.
Étape 4 : construire le pipeline
Dans l'onglet Pipelines, créez un pipeline « Import clients » : l'éditeur visuel s'ouvre.
Le canvas au centre, le bouton Ajouter brick pour ouvrir la palette, le
panneau de configuration à droite.
Cliquez sur Ajouter brick et cherchez chaque composant dans la palette, puis reliez-les dans l'ordre (la sortie de l'un vers l'entrée du suivant) :
La palette, filtrable par nom et par catégorie : sources, transformations,
destinations.
| # | Brick | Configuration |
|---|---|---|
| 1 | Source fichier | Connexion storage, format CSV, motif de fichiers clients_*.csv (délimiteur et encodage selon votre fichier). |
| 2 | Chaînes de caractères | Ajoutez deux opérations, dans l'ordre : trim (colonnes nom, prenom, email) puis case en mode lower (colonne email). |
| 3 | Colonnes | Une opération rename : from: cust_id, to: customer_id. |
| 4 | Écriture base de données | Type de base postgres, votre connexion PostgreSQL, table_name: clients, mode d'écriture append, création de table automatique activée. |
Pour le schéma cible de la brick Écriture base de données, ne saisissez pas
une valeur en dur : dans le champ schema_name, tapez ${ et l'autocomplete
propose les variables du projet. Sélectionnez schema : la référence
(${var.env.schema}) s'affiche en badge et sera résolue à l'exécution,
selon l'environnement (voir
Configurer les bricks).
L'éditeur enregistre le pipeline automatiquement ; chaque enregistrement crée une autosave, une version de travail non encore commitée.
Étape 5 : exécuter en Studio
- Cliquez sur le bouton d'exécution de l'éditeur : le panneau d'exécution s'ouvre ;
- le runner est résolu automatiquement (votre runner personnel, ou celui imposé par le projet) : vérifiez la pastille verte ;
- lancez : les bricks s'exécutent l'une après l'autre et les logs défilent en direct.
En Studio, la variable schema est résolue avec la valeur par défaut du
projet (public) : votre table clients est créée dans le schéma public
de la base pointée par la connexion.
Étape 6 : vérifier dans le monitoring
Ouvrez Monitoring dans la barre latérale : votre run apparaît avec son statut, sa durée et son runner.
Chaque ligne est une exécution ; cliquez dessus pour ouvrir le détail.
Dans le détail du run, l'onglet Métriques montre les lignes lues et
lignes sorties, et la carte Contexte liste les connexions et variables
résolues au moment du run : vous y retrouvez la valeur de schema utilisée
(voir Détail d'une exécution). Côté
base, un simple SELECT count(*) FROM public.clients confirme le chargement.
Pour aller plus loin
- Configurer les bricks : le panneau de réglages, les opérations des méga-bricks, les variables.
- Écriture base de données : les modes
append,replace,upsertet les bases supportées. - Environnements et déploiement : valoriser
schemapar environnement et déployer une release. - Ingestion d'API planifiée avec alertes, le tutoriel suivant : planifier un pipeline avec un workflow.