---
title: Teable
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, database, low-code, no-code, postgres, airtable, typescript, sql, apache]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Database, https://github.com/teableio/teable]
---

# 🗄️ Teable

> **L'alternative Airtable-like ultra-performante basée sur PostgreSQL** : expérience proche d'Airtable, architecture de grille instantanée, vues multiples, API SQL et REST automatique. Le choix moderne et rapide.

## 📋 Informations Générales

| Champ | Valeur |
| :--- | :--- |
| **Site web** | [teable.io](https://teable.io/) |
| **GitHub** | [teableio/teable](https://github.com/teableio/teable) |
| **License** | Apache-2.0 |
| **Langage** | TypeScript |
| **Étoiles GitHub** | 21k ⭐ |
| **Dernière MAJ** | 2026-06-06 |
| **Catégorie** | [[cat-database\|Database]] |

## 📝 Description

**Teable** est une **plateforme no-code low-code** qui vise à être **l'alternative open source à Airtable** la plus fidèle et la plus rapide, en s'appuyant directement sur **PostgreSQL** comme moteur de stockage. Le pari de Teable est de pousser la **vitesse d'une grille Airtable** (filtres, tris, calculs à la volée) tout en gardant la **puissance SQL de Postgres** sous le capot.

### 🏗️ Architecture : le secret de la vitesse

Là où NocoDB enveloppe une BDD avec une couche d'abstraction, Teable utilise un **schéma interne malin** : chaque table, chaque champ est stocké dans Postgres de manière à ce que les **index existants couvrent 90% des requêtes de grille** (filtres, tris, groupements). Résultat : la grille reste **fluide même avec 100 000+ lignes** par table, là où NocoDB commence à ralentir.

### 📦 Fonctionnalités

- ✅ **Vues** : Grid, Kanban, Calendar, Gallery, Form, **Gantt** (bêta)
- ✅ **Formules** : langage de formules compatible Airtable (~80 fonctions : `IF`, `CONCAT`, `SUM`, `LOOKUP`, `DATETIME_DIFF`…)
- ✅ **Champs** : text, number, date, select, multi-select, link, formula, rollup, attachment, user, autocomplete, rating…
- ✅ **Permissions** : rôles et partage de bases/vues
- ✅ **API auto** : REST (compatible Airtable en partie) + SQL direct
- ✅ **Webhooks** + **automations** (à venir)
- ✅ **Import Airtable** (CSV natif, base Airtable complète via migration tool)
- ✅ **Plugins** et **custom fields**
- ✅ **Single Sign-On** (OIDC)
- ✅ **i18n** : interface en plusieurs langues

### 🆚 Teable vs NocoDB vs Airtable

| Critère | Teable | NocoDB | Airtable |
| :--- | :--- | :--- | :--- |
| Licence | Apache-2.0 | AGPL-3.0 | Propriétaire |
| BDD sous-jacente | Postgres obligatoire | Multi (PG, MySQL, SQLite) | Propriétaire |
| Performance grille | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| Compatibilité Airtable | Très haute | Haute | Native |
| Formules | ~80 fonctions | ~30 fonctions | ~200+ fonctions |
| Maturité | Récent mais très actif | Très mature | Standard |
| Limite lignes | Pas de limite théorique | Pas de limite | Variable selon plan |

**Public cible** : homelabs qui veulent **la sensation Airtable** sans les restrictions (limites, prix, dépendance cloud) ; équipes qui ont besoin d'un backend Airtable-like rapide ; projets de prototypage.

## 🚀 Installation

### Option 1 : Docker Compose (recommandé)

```yaml
# docker-compose.yml
version: '3.8'
services:
  teable:
    image: teable/tee:latest
    container_name: teable
    restart: unless-stopped
    environment:
      PRISMA_DATABASE_URL: "postgresql://teable:changez_moi@teable-db:5432/teable?schema=public"
      PUBLIC_ORIGIN: "https://teable.example.com"
      SECRET_KEY: "CHANGEZ_CE_SECRET_LONG_ET_ALEATOIRE"
    ports:
      - "3000:3000"
    volumes:
      - teable-uploads:/app/uploads
    depends_on:
      - teable-db
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.teable.rule=Host(`teable.example.com`)"
      - "traefik.http.routers.teable.entrypoints=websecure"
      - "traefik.http.routers.teable.tls.certresolver=letsencrypt"
      - "traefik.http.services.teable.loadbalancer.server.port=3000"

  teable-db:
    image: postgres:16-alpine
    container_name: teable-db
    restart: unless-stopped
    environment:
      POSTGRES_DB: teable
      POSTGRES_USER: teable
      POSTGRES_PASSWORD: "changez_moi"
    volumes:
      - teable-db:/var/lib/postgresql/data

volumes:
  teable-uploads:
  teable-db:
```

### Option 2 : Cloud (sans installation)

[app.teable.io](https://app.teable.io) — offre gratuite avec limitations.

### Option 3 : Développement local

```bash
git clone https://github.com/teableio/teable.git
cd teable
docker compose -f docker-compose.dev.yml up
```

## ⚙️ Configuration Initiale

1. **Premier accès** : `https://teable.example.com` → créer le compte admin (premier compte créé = admin)
2. **Créer un espace** : Sidebar → + New Space
3. **Créer la première table** : dans l'espace → + New Table → ajouter les champs
4. **Importer un CSV** : menu table → Import → drag-and-drop
5. **Migrer depuis Airtable** : menu → Migrate from Airtable → fournir le token API Airtable → l'outil importe les bases
6. **Tester l'API** : Account → API Tokens → générer un token → requêter `https://teable.example.com/api/...`

## 🔄 Alternatives

### Open Source
- **NocoDB** — Concurrent principal, plus mature, plus de connecteurs BDD
- **Baserow** — Plus simple, plus jeune, MIT
- **Airtable-like Grid in Payload** — quand on a déjà Payload
- **Directus** — Plus orienté CMS/dev que grille
- **Grist** — Tableur relationnel plus orienté calculs scientifiques
- **Mathesar** — Tableur brut, orienté data teams

### Propriétaires
- **Airtable** — Le standard, freemium, cloud uniquement
- **Notion** — Bases + wiki, plus grand public
- **ClickUp** — Project management avec tables intégrées
- **Retool Tables** — Plus dev-oriented
- **Softr** — Connecté à Airtable pour publier des apps

### Comparaison

| Critère | Teable | NocoDB | Baserow | Airtable |
| :--- | :--- | :--- | :--- | :--- |
| Licence | Apache-2.0 | AGPL-3.0 | MIT | Propriétaire |
| BDD | Postgres | Multi | Postgres | Propriétaire |
| Performance 100k+ rows | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐⭐⭐ |
| Formules | ~80 | ~30 | ~20 | ~200 |
| Import Airtable | ✅ Outil dédié | Manuel | Manuel | Native |
| Self-hosted | ✅ | ✅ | ✅ | ❌ |
| Cloud gratuit | ✅ Limité | ✅ Limité | ✅ Limité | ✅ Très limité |
| Vues | 5+ (Gantt bêta) | 6 | 5 | 8 |

**Verdict** : Teable est **le choix le plus moderne** pour un homelab qui veut la **sensation Airtable** avec la **performance Postgres**. Pour un écosystème plus large de connecteurs BDD, **NocoDB** reste devant. Pour la simplicité, **Baserow**.

## 🔐 Sécurité

- **Authentification** : email/password, **OIDC** pour SSO
- **HTTPS obligatoire** via [[app-traefik]] — Teable expose l'API sur le même domaine
- **RBAC** par espace/base
- **Secrets** : `SECRET_KEY` et `PRISMA_DATABASE_URL` à stocker hors de l'image
- **Backups** : [[app-backup]] (restic) sur le volume `teable-uploads` + `pg_dump` régulier de `teable-db` (la BDD Postgres contient TOUTE votre data)
- **Uploads** : le volume `teable-uploads` peut grossir vite (pièces jointes, avatars)

## 📚 Ressources

- [Site officiel](https://teable.io/)
- [GitHub teableio/teable](https://github.com/teableio/teable)
- [Documentation](https://docs.teable.io/)
- [Démo en ligne](https://demo.teable.io/)

## Pages Liées
- [[cat-database]] — Catégorie Database
- [[app-postgres]] — BDD moteur de Teable
- [[app-backup]] (restic) — Sauvegardes critiques
- [[app-traefik]] — Reverse-proxy HTTPS
- [[recettes-docker-compose]] — Recettes
- [[securisation-home-lab]] — Bonnes pratiques
- [[glossaire-homelab]] — Glossaire
