Aurabase Logo
aurabasedocs
docsFondationsDémarrage rapide

Démarrage rapide

De zéro à une API requêtable en cinq minutes. Postgres dédié, realtime, génération des types TypeScript incluses — aucune carte bancaire requise.

5 min de lecture·Niveau débutant·Révisé le 15 avr. 2026
#
Préalable

Prérequis

§ 01

Nous supposons que Node.js ≥ 20est installé et qu'un terminal POSIX est à portée. Aucune base de données locale n'est requise : Aurabase provisionne un schéma Postgres dédié à chaque projet.

Info
Vous venez de Supabase ou Firebase ? La plupart des concepts se transposent. Consultez le guide de migration.
#
SDK officiel

Installation du SDK

§ 02

Le SDK officiel expose un client typé pour CRUD, auth, realtime et storage. Il fonctionne de la même façon en Next.js, React, Node, Bun ou Deno.

terminalBASH
# Recommandé
pnpm add @aurabase/client
Astuce
Aurabase publie aussi @aurabase/next (helpers server/action + middleware) et @aurabase/react (hooks typés avec revalidation SWR-style).
#
Provisioning

Créer un projet

§ 03

Depuis le Studio, chaque projet reçoit quatre sous-schémas isolés. Vous récupérez un PROJECT_URL et un ANON_KEY publiables côté client, plus une SERVICE_ROLE_KEY à garder strictement côté serveur.

SchémaAccèsContient
project_{uuid}userVos tables métier
project_{uuid}_authsystemusers, sessions, oauth_accounts, mfa
project_{uuid}_storagesystembuckets, objects, rls_policies
project_{uuid}_platformsystemfunctions, jobs, cron_jobs, api_keys
Service role key
Ne jamais embarquer la service_role_key dans un bundle client. Elle contourne toutes les policies RLS. Réservez-la aux appels serveur (route handlers, server actions, jobs).
#
Premier code

Premier appel

§ 04

Créez un client Aurabase réutilisable en lisant les clés depuis les variables d'environnement, puis interrogez votre première table.

src/lib/aurabase.ts
TYPESCRIPT
import { createClient } from '@aurabase/client'
import type { Database } from './aurabase.types'
export const aura = createClient<Database>(
process.env.AURA_URL!,
process.env.AURA_ANON_KEY!,
)

Puis, dans une route handler ou un server component :

app/api/sensors/route.ts
TYPESCRIPT
import { aura } from '@/lib/aurabase'
export async function GET() {
const { data, error } = await aura
.from('sensors')
.select('id, value, captured_at')
.order('captured_at', { ascending: false })
.limit(10)
if (error) throw error
return Response.json(data)
}
Astuce
Les types Database sont régénérés à chaque migration via aura gen types. Les joins, filtres et retours sont inférés automatiquement.
#
Live by default

Brancher le realtime

§ 05

Trois transports auto-négociés : WebSocket, SSE, NATS. Le client choisit le meilleur selon le réseau — aucune configuration nécessaire.

components/LiveSensors.tsx
TYPESCRIPT
'use client'
import { aura } from '@/lib/aurabase'
import { useEffect } from 'react'
export function LiveSensors() {
useEffect(() => {
const channel = aura.channel('sensors:live')
.on('INSERT', ({ new: row }) => console.log(row))
.subscribe()
return () => channel.unsubscribe()
}, [])
}
Astuce
Les souscriptions sont multiplexées sur une seule connexion TCP. Ouvrez-en autant que nécessaire — zéro coût réseau additionnel.
Dernière mise à jour · 15 avr. 2026