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

Nous supposons que Node.js ≥ 20 est 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

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

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

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

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