> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://documentation.celestory.io/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# 🗄️ Base de données souveraine (Baserow)

# ⬜ Baserow

${frame}[Vidéo : anatomie du bloc Baserow](https://celestory-docs-videos.netlify.app/fr/anatomie-bloc/baserow.html)

![Baserow](https://celestory-docs-illustrations.netlify.app/fr/Baserow_FR.svg)

Le bloc Baserow permet de connecter votre projet Celestory à une base de données Baserow (une alternative gratuite et open-source à Airtable) pour lire, modifier, ajouter ou supprimer des lignes dans une table.

Concrètement, ce bloc peut créer une nouvelle ligne, lire une ligne existante, la modifier, la supprimer, ou encore y ajouter un fichier (on appelle ces actions "CRUD", pour Create/Read/Update/Delete) — un peu comme si Celestory pouvait remplir ou consulter votre tableur Baserow à votre place.

## 📥 Entrées

-   in (Trigger) : Déclenche l'exécution du bloc. Doit être relié à un bloc précédent pour activer l'action.
-   config (Object) : Configuration principale du bloc, incluant :
- Base de données : L'espace Baserow contenant votre table.
- Table : La table spécifique à utiliser.
- Opération : Action à effectuer parmi :
- Lire (Read) : Récupère une ligne (par id, ou par un filtre sur les colonnes si aucun id n'est fourni).
- Créer (Create) : Ajoute une nouvelle ligne avec les valeurs fournies.
- Mettre à jour (Update) : Modifie une ligne existante (nécessite un id).
- Supprimer (Delete) : Efface une ligne (nécessite un id).
- Upload de fichier (UploadFile) : Envoie un fichier vers un champ de type fichier d'une ligne existante.
-   id (String) : Identifiant unique d'une ligne Baserow (requis pour les opérations Mettre à jour, Supprimer, Upload de fichier ; optionnel pour Lire).
-   filtre : [Nom de la colonne] (Dynamique, Lire uniquement) : Un champ de filtre apparaît pour chaque colonne de la table ; il est utilisé pour rechercher une ligne quand aucun id n'est fourni (toutes les valeurs renseignées doivent correspondre).
-   [Nom des colonnes] (Dynamique) : Champs correspondant aux colonnes de votre table Baserow, apparaissant automatiquement pour les opérations Créer et Mettre à jour (les colonnes en lecture seule, comme les champs calculés, n'apparaissent pas). Permettent de définir les valeurs à insérer ou modifier.
-   [Nom du champ fichier] (Dynamique, Upload de fichier uniquement) : Un point d'entrée de type Fichier apparaît pour chaque colonne "fichier" de la table ; il reçoit le fichier à envoyer.

## 📤 Sorties

-   out (Trigger) : S'active lorsque l'opération avec Baserow est terminée avec succès.
-   onError (Trigger) : S'active en cas d'erreur (connexion échouée, ligne introuvable, etc.).
-   error (String) : Contient le message d'erreur en cas d'échec.
-   id (String) : Identifiant unique de la ligne créée ou lue (disponible après une opération Créer ou Lire).
-   [Nom des colonnes] (Dynamique, Lire uniquement) : Sorties correspondant aux colonnes de votre table Baserow, disponibles après une opération Lire. Pour un champ "collaborateur", deux sorties supplémentaires apparaissent automatiquement ([champ].id et [champ].name).
-   [Nom du champ fichier] (Dynamique, Upload de fichier uniquement) : Sortie contenant le fichier envoyé, une fois l'upload terminé.

## 💡 Exemple d'utilisation

${frame}[Vidéo : brancher Baserow](https://celestory-docs-videos.netlify.app/fr/geste-ui/baserow.html)

Scénario : Ajouter un nouveau client dans une table Baserow

1. L'utilisateur remplit un formulaire dans l'application avec les informations du client (nom, email, téléphone).
1. Les données sont validées et envoyées au bloc Baserow.
1. Le bloc Baserow est configuré comme suit :

- Base de données : MonCRM
- Table : Clients
- Opération : Créer (Create)
- Nom : Dupont (branchez ici la variable contenant le nom saisi)
- Email : dupont@example.com
- Téléphone : +33123456789

1. Le bloc envoie la requête à Baserow et crée une nouvelle ligne dans la table.
1. La sortie out est déclenchée, et la sortie id contient l'identifiant de la ligne créée. En cas d'échec (ex : token invalide), la sortie onError est activée et error contient le détail du problème.

## ⚙️ Détails Techniques

-   Configuration requise : Un token API Baserow doit être renseigné au préalable dans le menu Intégrations de Celestory (avec, si besoin, l'« URL de base Baserow » d'une instance auto-hébergée — par défaut https://api.baserow.io). Sans cela, le bloc ne pourra pas communiquer avec votre base de données.
-   🔺 Saisissez cette URL **sans barre oblique finale** : `https://baserow.exemple.fr/` fait échouer la connexion. Le message « invalid baserow credentials » vient alors de l'API Celestory, même si vos identifiants sont justes.
-   Gestion des variables dynamiques : Les entrées et sorties correspondant aux colonnes de votre table sont générées automatiquement dès que vous avez choisi la Base de données, la Table et l'Opération.
-   Limites : L'opération Lire ne renvoie jamais qu'une seule ligne à la fois (la première qui correspond aux filtres), même sans id : elle ne permet donc pas de récupérer toute une table en un seul bloc. Sans id ni filtre renseigné, c'est la première ligne de la table qui sera renvoyée.
-   Format des données : Les types de données (texte, nombre, booléen, etc.) sont automatiquement mappés entre Celestory et Baserow. Assurez-vous que les valeurs fournies correspondent aux types attendus par votre table.

---

*Version documentée : v2*