# Se connecter à Airtable

> Découvrez comment connecter votre application à une base Airtable pour récupérer et envoyer des données.

https://docs.pandasuite.com/fr/essentials/integrations/connect-to-airtable/

**Connectez simplement votre application à une base Airtable pour récupérer et envoyer des données.**

[Vidéo : Tutoriel Airtable : connecter une application PandaSuite à une base Airtable pour récupérer et envoyer des données](https://www.youtube.com/embed/YWUIBfn-ylU?&hl=fr&cc_lang_pref=fr&cc_load_policy=1)

[Modèle : Quiz Animaux Airtable](https://pandasuite.com/dashboard/use-template/VVJDhowB5IBMJWwgs5Fd)

## Créer un compte gratuit sur Airtable

[Airtable](https://airtable.com) est un outil très connu mêlant tableur, base de données et gestion de projet. Airtable permet facilement de gérer de manière hybride un grand nombre de données, et pas seulement des chiffres : numéro de téléphone, dates, code-barres, photos... Son utilisation simple, intuitive et souvent gratuite en fait un outil incontournable de l'écosystème no code.

Pour créer un compte gratuit sur Airtable : <https://airtable.com/signup>

## Préparer votre base Airtable

Créez une nouvelle base de données en cliquant sur **Add a base**.

Structurez vos données au sein d'une table en ajoutant des *champs* (*Fields*) pour chaque type de donnée.

Voici l'exemple d'une base de biens immobiliers :

[Image : Base Airtable « Pandimmo » : table de biens immobiliers avec les champs Name, Description, Image, Address, Price et Type]

Vous avez plusieurs types de champs (*Field type*): checkbox, texte, date, image etc...

[Image : Liste des types de champs (Field type) ouverte sur le champ Image dans Airtable : texte, pièce jointe, checkbox, date…]

Importez vos données manuellement ou via un fichier .csv, Microsoft Excel ou Google Sheets:

[Image : Menu « Add or import » d'Airtable pour importer des données depuis un fichier CSV, Microsoft Excel ou Google Sheets]

> **Info**
>
> Pour plus d'informations sur Airtable, consultez le centre d'aide :
> <https://support.airtable.com/>

## Créer un jeton personnel (token)

> **Attention**
>
> Depuis 2024, Airtable a renforcé ses règles de sécurité et il est désormais
> indispensable de créer un jeton personnel (token) pour vos connexions API.

Pour créer un jeton personnel :

- Rendez-vous dans l'espace dédié de votre compte Airtable: <https://airtable.com/create/tokens>
- Cliquer sur le bouton **Create token**
- Définissez un **Nom**, un périmètre **Scope** et associez une base.
- Concernant les **Droits**, tout dépend de votre usage :

  - Si vous souhaitez simplement afficher des données, choisissez **Read**.
  - Si vous avez besoin d'afficher des données et de les modifier, choisisser **Write**. Dans ce cas, attention à bien protéger ce token contre de mauvaises intentions en appliquant le mode proxy (voir ci-dessous).

[Image : Page de création d'un jeton personnel dans Airtable : nom « My token », scope data.records:read, base associée et bouton Create token]

- Votre jeton personnel est prêt à être utilisé. Copiez-collez le dans un endroit sécurisé.

[Image : Fenêtre « Your token has been created » d'Airtable : le jeton, flouté ici, ne s'affiche qu'une fois et peut être copié]

## Configurer le composant HTTP

Connectez votre base Airtable à votre application PandaSuite grâce au composant HTTP.

Pour configurer votre composant HTTP :

- Sélectionnez votre **Projet** : en le plaçant à cet endroit, votre composant sera accessible tout au long de votre application
- Cliquez sur **Composants** > **HTTP** pour l'insérer.

[Image : PandaSuite Studio avec le Projet sélectionné : le composant HTTP Airtable18025 dans la liste des objets, ses propriétés à droite]

- Pour saisir les propriétés correspondant à votre base et votre compte Airtable, retournez dans la section **HELP** > **API Documentation** d'Airtable pour retrouver les paramètres de l'API Airtable.

[Image : Panneau HELP d'Airtable ouvert sur la base, avec le lien API documentation en bas des ressources supplémentaires]

### URL

Pour récupérer l'URL de l'API, sélectionnez votre **Table** sur la gauche et cliquez sur **List Records**.

[Image : Documentation de l'API Airtable sur List records pour Table 1 : l'exemple de requête curl contient l'URL de l'API à copier]

Copiez-collez l'URL de l'API. Voici un exemple d'URL:

```
https://api.airtable.com/v0/appIGPMYLUbwWCCbZ/Table%201
```

[Image : Propriétés du composant HTTP dans PandaSuite Studio : le champ URL, encadré, contient l'URL de l'API Airtable]

> **Info**
>
> Copiez tout ce qui se situe depuis le *https:* jusqu'au "\*" sans inclure le
> "?". Le reste des informations correspond à des Chaînes d'interrogation /
> Query String qui seront spécifiés plus bas.

### Jeton personnel (token)

Il existe différentes méthodes pour ajouter votre jeton personnel (token) en fonction des droits d'accès.

Si votre token est en **READ** :

- Dans le champ **En-tête**, cliquez sur **+ Ajouter**.
- Ajoutez **Authorization** comme clé et **Bearer TOKEN** comme valeur, dans lequel vous remplacez TOKEN par votre jeton personnel.

[Image : Champ En-tête du composant HTTP dans PandaSuite Studio : clé Authorization et valeur Bearer suivie du jeton, flouté]

Si votre token est en **WRITE**, il ne faut pas que le token puisse être récupéré par les utilisateurs finaux :

- Dans le champ **Autorisation**, sélectionnez **Clé API**.
- Comme **Valeur**, ajoutez le TOKEN : le **Mode proxy** s'activera automatiquement. Le mode proxy permet de sécuriser le token en utilisant les serveurs de PandaSuite, en tant que "reverse proxy".

[Image : Champ Autorisation réglé sur Clé API : clé Authorization, jeton masqué en Valeur et Mode proxy activé automatiquement]

### Méthode

Pour requêter de la donnée, sélectionnez la méthode **GET**. Si vous souhaitez en envoyer, choisissez la méthode **POST**.

### Gestion du cache

La mise en cache vous permet de réutiliser efficacement des données de l'API précédemment récupérées ou traitées, et gérer la disponibilité de ces données sans connexion Internet.

Choisissez parmi les options suivantes :

- **Aucun cache** : l'application fera un appel réseau et ne lira pas le cache
- **Cache en premier** : l'application recherche le résultat dans le cache avant de faire une requête au réseau.
- **Réseau et cache** : l'application retournera le contenu du cache mais fera tout de même la requête afin de le mettre à jour. Cette option permet d’avoir une réponse rapide.

L'option **Cache persistant** permet de conserver le cache même après la fermeture de l'application.

## Cas d'utilisation

### Afficher des données Airtable dans votre application

#### Tester la requête

Double-cliquez sur le composant HTTP.

Cliquez sur **Test Request** pour envoyer une requête.

Vérifiez que les données s'affichent correctement.

Si les données brutes apparaissent, l'API est bien configurée. PandaSuite Studio pourra alors afficher ces données dans l’explorateur Data Binding.

[Image : Composant relié à Airtable après Test Request : le JSON renvoyé par Airtable, avec le premier enregistrement et ses champs ; jeton masqué]

#### Affichage dynamique avec le data Binding

Ajoutez un composant [Collection](https://docs.pandasuite.com/fr/essentials/data/collection/) pour afficher les données en mode dynamique.

Liez la source de données à votre requête HTTP.

Personnalisez l'affichage des champs selon votre mise en page grâce au [data binding](https://docs.pandasuite.com/fr/essentials/data/data-binding/).

> **Info**
>
> 💡 Utilisez des variables pour [filtrer
> dynamiquement](https://docs.pandasuite.com/fr/essentials/data/filter-a-collection/) l'affichage des
> données et permettre une recherche en temps réel.

#### Gérer la pagination

Airtable limite l'affichage à 100 enregistrements par page.

Ajoutez un paramètre offset à l'URL pour charger les pages suivantes.

> **Info**
>
> C'est également ici que vous pouvez configurer la pagination. Airtable limite
> le nombre de résultats à 100 par page mais vous pouvez supprimer facilement
> cette limite. En savoir plus : [Pagination d'une
> API](https://docs.pandasuite.com/fr/essentials/data/handle-api-pagination/).

### Envoyer des données vers Airtable

- Changez la méthode en **POST**.

- Consultez les paramètres attendus par Airtable dans la section **HELP** > **API Documentation**

- Dans l'onglet **Type de contenu**, choisissez **JSON**.

- Dans **Contenu**, vous pouvez le reconstruire dans le composant ou utiliser la **Vue JSON** pour vous faciliter la tâche.

[Vidéo : Composant HTTP en POST : Type de contenu JSON, exemple d'enregistrement Airtable collé dans la Vue JSON, puis champ relié à une donnée]

- N'oubliez pas d'ajouter une action **Lancer la requête** sur le composant HTTP.

Si tout est correct, un nouvel enregistrement apparaîtra dans votre base Airtable.

Voici un template qui montre comment envoyer des données vers Airtable :

[Modèle : Formulaire d'incident](https://pandasuite.com/fr/templates/formulaire-incident/)
