Getting Started

De zéro à votre première requête en moins de 2 minutes. Ce guide vous accompagne pas à pas dans la prise en main de Lampion.

01

Créer un compte

Rendez-vous sur la console et créez votre compte. Trois options s'offrent à vous :

Google OAuth
Un clic, aucun mot de passe à retenir. Votre organisation personnelle est créée automatiquement.
GitHub OAuth
Idéal si votre workflow est centré sur GitHub. Même expérience, même rapidité.
Email + mot de passe
Inscription classique. Choisissez un mot de passe robuste, c'est parti.

À l'inscription, Lampion crée automatiquement votre organisation personnelle et vous attribue le rôle owner. Vous êtes sur le plan Free par défaut (3 projets, 3 branches par projet).

02

Créer un projet

Un projet = une base PostgreSQL complète avec branching, monitoring, scale to zero et backup intégrés. Depuis le dashboard, cliquez sur New Project et choisissez votre cloud et région.

Champs requis

name Nom de votre projet (ex: my-app)
region Région (défaut: fr-par-1, Paris)

Clouds et régions disponibles

scw-fr-par-1 — Paris, Scaleway (Vitry-sur-Seine)
ovh-gra-1 — Gravelines, OVH Cloud
nl-ams-1 — Amsterdam (Schiphol-Rijk) COMING SOON

À la création, Lampion provisionne automatiquement :

Timeline
Branche principale
Compute
Instance PostgreSQL
Mot de passe
Généré & unique
Connection string
Prête à l'emploi

Réponse du serveur

{
  "id": "abc123",
  "name": "my-app",
  "region": "fr-par-1",
  "endpoint_id": "ep-abc",
  "connection_string": "postgresql://cloud_admin:YaQYfbg...@db-test.lampion.cloud:5432/ep-abc.postgres?sslmode=require",
  "pg_password": "YaQYfbg...",
  "host": "db-test.lampion.cloud",
  "port": 5432
}
03

Se connecter à la base

Copiez la connection string depuis le dashboard et utilisez-la avec votre outil préféré. Le TLS (Transport Layer Security) est obligatoire — vos données sont chiffrées en transit.

psql Client PostgreSQL natif
$ psql "postgresql://cloud_admin:YaQYfbg...@db-test.lampion.cloud:5432/ep-abc.postgres?sslmode=require"

psql (17.5) — SSL connection (protocol: TLSv1.3)
ep-abc.postgres=>
Node.js pg / node-postgres
import pg from 'pg'

const pool = new pg.Pool({
  connectionString: process.env.DATABASE_URL,
  ssl: { rejectUnauthorized: true }
})

const { rows } = await pool.query('SELECT version()')
console.log(rows[0].version)
Python psycopg2 / asyncpg
import psycopg2

conn = psycopg2.connect(os.environ["DATABASE_URL"])
with conn.cursor() as cur:
    cur.execute("SELECT version()")
    print(cur.fetchone())

Connection pooling — Lampion intègre PgBouncer en mode transaction. Pour l'activer, connectez-vous via le paramètre options plutôt que via le nom de base. Le proxy TCP gère le multiplexage et le wake-on-connect de manière transparente.

04

Exécuter des requêtes

Deux façons d'interagir avec votre base : la console web (SQL Editor) ou directement via votre client.

Via le SQL Editor (console web)

Multi-onglets — travaillez sur plusieurs requêtes en parallèle
Historique — retrouvez vos 100 dernières requêtes
Explain Analyze — plan d'exécution en un clic
Export CSV — téléchargez les résultats
Import SQL — chargez un fichier .sql
Raccourcis — Ctrl+Enter (exécuter), Ctrl+S (sauvegarder)
Meta-commandes psql — \dt, \d, \l supportés
Requêtes sauvegardées — organisez vos snippets

Via psql ou votre client

ep-abc.postgres=> CREATE TABLE users (
  id SERIAL PRIMARY KEY,
  name TEXT NOT NULL,
  email TEXT UNIQUE,
  created_at TIMESTAMPTZ DEFAULT now()
);
CREATE TABLE

ep-abc.postgres=> INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com');
INSERT 0 1

ep-abc.postgres=> SELECT * FROM users;
 id | name  |       email        |         created_at
----+-------+--------------------+----------------------------
  1 | Alice | alice@example.com  | 2026-03-31 10:23:45.123+00

Scale to zero — si votre compute est suspendu (après 5 min d'inactivité), la première connexion le réveille automatiquement en moins d'une seconde. Aucune action de votre part.

05

Créer une branche

Le branching est la killer feature de Lampion. Comme git branch, mais pour vos données. Chaque branche est un fork CoW (Copy-on-Write) instantané : elle partage les pages non modifiées avec la branche parente.

Cas d'usage

Tester une migration
Branchez, exécutez votre ALTER TABLE, validez. Pas de risque en prod.
Environnement de staging
Un fork complet de votre base de prod, en lecture/écriture, sans copie.
Preview pour la CI/CD (Continuous Integration/Delivery)
Une branche par pull request. Automatisable via l'API.

Comment ça marche

1. Lampion capture le LSN (Log Sequence Number) actuel
2. Le pageserver crée un fork CoW à ce LSN
3. Un nouveau compute démarre sur ce fork
4. Les seed scripts s'exécutent automatiquement
5. Vous recevez une connection string dédiée
Console ou via l'API

Création

curl -X POST -H "Authorization: Bearer $TOKEN" \
  -d '{"name":"staging","parent_id":"main-tid"}' \
  https://api-test.lampion.cloud/v1/projects/{id}/branches

Réponse

{
  "id": "new-tid",
  "name": "staging",
  "compute_id": "ep-new",
  "pg_port": 55436
}
06

Monitoring et métriques

Chaque projet dispose d'un dashboard de monitoring temps réel accessible depuis la console.

Connexions
Total, actives, idle, en attente. Visualisez en temps réel la charge réseau de votre base.
Performance
Cache hit ratio, transactions committed/rolled back, CPU et mémoire du compute.
Stockage
Taille logique, physique et WAL (Write-Ahead Log). Taille par base de données.
Historique 24h
Graphes interactifs avec un snapshot toutes les 30 secondes. Jusqu'à 72h via l'API.
Query Analysis
Top slow queries via pg_stat_statements. Tri par temps total, temps moyen ou nombre d'appels.
07

Sauvegardes et restauration

Lampion offre deux mécanismes de sauvegarde complémentaires.

Snapshots (PITR)
Capturez l'état exact de votre base à un instant T via le LSN (Log Sequence Number) du pageserver. Restaurez vers une nouvelle branche en un clic — vos données de production ne sont jamais touchées.
POST /v1/projects/{id}/backups
{"name": "before-migration", "branch_id": "main-tid"}

POST /v1/projects/{id}/backups/{bid}/restore
→ Crée une branche à ce LSN exact
pg_dump via l'API
Exportez votre base au format SQL standard. Utile pour la migration vers un autre provider, l'archivage, ou le debugging. Filtrage par table possible.
GET /v1/projects/{id}/endpoints/{eid}/dump
→ Télécharge un fichier .sql

GET ...?table=users
→ Dump d'une seule table
08

Inviter son équipe

Lampion est conçu pour le travail en équipe. Invitez des collègues et attribuez des rôles granulaires.

ROLE PERMISSIONS CAS D'USAGE
owner Tout (création, suppression, invitations, webhooks, audit) Admin de l'équipe
developer Créer/modifier des projets, branches, requêtes, API keys Développeur au quotidien
viewer Lecture seule (GET uniquement) Stakeholder, QA (Quality Assurance), monitoring
analyst Lecture seule, branches anonymisées uniquement. Connection string dédiée (données masquées). Data analyst, prestataire externe, accès sans PII (Personally Identifiable Information)

Audit log — chaque action (création de projet, invitation, changement de rôle, suppression) est tracée dans le journal d'audit de votre organisation. Accessible aux owners via GET /v1/orgs/audit-log.

09

Utiliser l'API

Tout ce que vous faites dans la console est faisable via l'API REST. Créez une clé dans Settings > API Keys.

Authentification

# Chaque requête nécessite un Bearer token
curl -H "Authorization: Bearer lmp_live_xxx" \
  https://api-test.lampion.cloud/v1/projects

Format de clé

Préfixe : lmp_live_
Scope : organisation courante
Permissions : rôle developer
La clé n'est affichée qu'une seule fois

Pour la référence complète de tous les endpoints, consultez la documentation API — 40+ endpoints couvrant projets, branches, computes, SQL, métriques, webhooks, et plus.

10

Aller plus loin

Vous maîtrisez les bases. Voici les fonctionnalités avancées pour tirer le maximum de Lampion.

Database Seeding
Attachez des scripts SQL à votre projet. Ils s'exécutent automatiquement sur chaque nouvelle branche — données de test, fixtures, fonctions utilitaires.
Query Replay
Capturez les requêtes d'une branche, rejouez-les sur une autre. Détectez les régressions de performance avant de merger une migration.
Read Replicas
Ajoutez des réplicas en lecture seule sur une branche pour distribuer la charge de vos requêtes analytiques.
Webhooks
Recevez des notifications HTTP signées (HMAC-SHA256) sur les événements : création, suppression, suspend/resume.
Extensions
Installez pgvector, PostGIS, pg_cron et d'autres extensions PostgreSQL en un clic depuis la console ou l'API.
Data Residency
Vérifiez où vos données résident physiquement : région, datacenter, provider, certifications ISO 27001 / HDS.

Prêt à commencer ?

Créez votre première base PostgreSQL en quelques secondes.