Files
wiki/Catalogue-Self-Hosted/apps/app-apache-superset.md
T
2026-06-09 18:40:21 +02:00

177 lines
7.4 KiB
Markdown

---
title: Apache Superset
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, database, bi, analytics, visualization, python, typescript, sql, apache]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Database, https://github.com/apache/superset]
---
# 🗄️ Apache Superset
> **La plateforme de data visualisation et d'exploration** : dashboards interactifs, SQL Lab, 40+ types de graphiques, alternative open source à Tableau et Power BI.
## 📋 Informations Générales
| Champ | Valeur |
| :--- | :--- |
| **Site web** | [superset.apache.org](https://superset.apache.org/) |
| **GitHub** | [apache/superset](https://github.com/apache/superset) |
| **License** | Apache-2.0 |
| **Langage** | Python (backend) + TypeScript (frontend) |
| **Étoiles GitHub** | 73k ⭐ |
| **Dernière MAJ** | 2026-06-05 |
| **Catégorie** | [[cat-database\|Database]] |
## 📝 Description
**Apache Superset** est une **plateforme de Business Intelligence et d'exploration de données** incubée à l'Apache Software Foundation et utilisée en production par Airbnb, Netflix, Twitter ou encore Lyft. Ce n'est **pas un SGBD** : Superset se connecte à vos bases existantes (PostgreSQL, MySQL, ClickHouse, BigQuery, Snowflake, etc.) pour interroger, visualiser et partager des dashboards.
L'outil brille par sa **profondeur d'analyse** : un **SQL Lab** intégré pour requêter directement les données brutes, un constructeur de graphiques drag-and-drop couvrant **plus de 40 visualisations** (cartes géographiques, sankey, heatmaps, time-series, funnel, gauge…), un système de **dashboards** composables, et un **RBAC** fin (rôles, permissions par dataset, row-level security).
À mettre en regard de **Metabase** (plus simple, idéal pour les non-techs) et de **Tableau / Power BI** (propriétaires, plus polished mais hors de prix). Superset vise le même public que Tableau avec une courbe d'apprentissage plus raide mais une flexibilité quasi illimitée.
-**SQL Lab** : éditeur SQL avec autocomplete, onglets multi-requêtes, résultats téléchargeables en CSV
-**40+ types de graphiques** : time-series, sankey, sunburst, word cloud, deck.gl, etc.
-**Dashboards personnalisables** : filtres cross-chart, auto-refresh, fullscreen
-**Connecteurs natifs** : PostgreSQL, MySQL, MariaDB, SQLite, ClickHouse, BigQuery, Snowflake, Druid, MSSQL, Oracle…
-**Alertes et scheduled reports** par email/Slack
-**Authentification** : DB, LDAP, OAuth, OIDC, REMOTE_USER
-**RBAC** granulaire + Row Level Security
-**API REST** complète
-**Jinja templating** dans les requêtes SQL pour des dashboards paramétrés
**Public cible** : entreprises, data analysts, équipes ops qui veulent explorer leurs données sans exporter vers Tableau/Looker. **Pas pour les débutants** absolus : la mise en place est plus lourde que Metabase.
## 🚀 Installation
### Option 1 : Docker Compose (recommandé)
```yaml
# docker-compose.yml
version: '3.8'
services:
superset:
image: apache/superset:latest
container_name: superset
restart: unless-stopped
environment:
SUPERSET_SECRET_KEY: "CHANGEZ_CE_SECRET_LONG_ET_ALEATOIRE"
MAPBOX_API_KEY: ""
ports:
- "8088:8088"
volumes:
- superset-data:/app/superset_home
- ./config:/etc/superset
depends_on:
- superset-db
labels:
- "traefik.enable=true"
- "traefik.http.routers.superset.rule=Host(`superset.example.com`)"
- "traefik.http.routers.superset.entrypoints=websecure"
- "traefik.http.routers.superset.tls.certresolver=letsencrypt"
- "traefik.http.services.superset.loadbalancer.server.port=8088"
superset-db:
image: postgres:16-alpine
container_name: superset-db
restart: unless-stopped
environment:
POSTGRES_DB: superset
POSTGRES_USER: superset
POSTGRES_PASSWORD: "changez_moi"
volumes:
- superset-db:/var/lib/postgresql/data
volumes:
superset-data:
superset-db:
```
```bash
# Initialisation
docker compose up -d superset-db
docker compose run --rm superset superset db upgrade
docker compose run --rm superset superset init
docker compose run --rm superset superset fab create-admin \
--username admin --firstname Admin --lastname User \
--email admin@example.com --password 'ChangeMe123!'
docker compose up -d superset
```
### Option 2 : Installation native (bare-metal)
```bash
# Nécessite Python 3.10+
pip install apache-superset
superset db upgrade
superset fab create-admin
superset init
superset run -p 8088 --with-threads --reload --debugger
```
## ⚙️ Configuration Initiale
1. **Accéder à l'UI** : `https://superset.example.com` et login avec le compte admin créé
2. **Ajouter une connexion DB** : Settings → Database Connections → + Database, saisir la SQLAlchemy URI (`postgresql://user:pwd@host:5432/db`)
3. **Créer un dataset** : Datasets → + Dataset, choisir la table et configurer les métriques
4. **Construire un chart** : Charts → + Chart, choisir le type, le dataset, écrire la requête
5. **Assembler un dashboard** : Dashboards → + Dashboard, glisser-déposer les charts, ajouter des filtres
6. **Configurer les alertes** : Charts → bell icon → seuil + canal (email/Slack)
## 🔄 Alternatives
### Open Source
- [[app-metabase]] — Plus simple et plus accessible aux non-techs
- **Redash** — Historique des outils BI SQL, plus basique
- **Lightdash** — Orienté dbt, plus moderne
- **Grafana** — Quand la source principale est du time-series
- **Count** — (ex Hyperquery) notebook-style BI
### Propriétaires
- **Tableau** — Le leader, cher (~70 $/user/mois)
- **Microsoft Power BI** — Intégré à l'écosystème Microsoft
- **Looker** — Google Cloud, orienté BigQuery
- **Mode Analytics** — Notebooks + dashboards
- **Sisense** — BI d'entreprise on-prem ou cloud
### Comparaison
| Critère | Apache Superset | Metabase | Tableau |
| :--- | :--- | :--- | :--- |
| Licence | Apache-2.0 | AGPL-3.0 | Propriétaire |
| Prix | Gratuit | Gratuit / Pro 25$/user | ~70$/user/mois |
| Types de charts | 40+ | ~20 | 50+ |
| SQL Lab | ✅ Avancé | ✅ Basique | ❌ |
| Self-hosted | ✅ | ✅ | ❌ |
| Cloud | ✅ | ✅ | ✅ |
| Courbe d'apprentissage | Raide | Douce | Moyenne |
| Communauté | Très grande | Grande | Propriétaire |
**Verdict** : Superset est le choix **pro open source** quand on a besoin de la profondeur d'analyse de Tableau sans le prix. Pour un usage plus léger, **Metabase** est plus pragmatique.
## 🔐 Sécurité
- **Authentification** : DB, LDAP, OAuth, OIDC, REMOTE_USER (SSO recommandé via Traefik)
- **HTTPS obligatoire** via [[app-traefik]] — la plateforme expose des credentials de BDD
- **Row Level Security** pour restreindre l'accès à certaines lignes par utilisateur/rôle
- **Secrets** : `SUPERSET_SECRET_KEY` doit être long et aléatoire, stocké hors de l'image
## 📚 Ressources
- [Site officiel](https://superset.apache.org/)
- [GitHub apache/superset](https://github.com/apache/superset)
- [Documentation](https://superset.apache.org/docs/intro)
- [Tutoriels officiels](https://superset.apache.org/docs/creating-charts-dashboards/exploring-data)
## Pages Liées
- [[cat-database]] — Catégorie Database / BI
- [[app-postgres]] — Source de données privilégiée
- [[app-mysql]] — Source de données courante
- [[app-traefik]] — Reverse-proxy HTTPS
- [[recettes-docker-compose]] — Recettes Docker Compose
- [[securisation-home-lab]] — Bonnes pratiques
- [[glossaire-homelab]] — Glossaire