ASTRABASE · DEVELOPER EXPERIENCE V2

Un SDK JavaScript pour piloter Astrabase.

Depuis Node.js, gérez vos projets, déclenchez des déploiements autorisés, consultez les audits, gérez les domaines, les formulaires, les flags et le cache. Toutes les méthodes appellent l'API réelle de la console et respectent ses droits et quotas.

Client de l'API de gestion Astrabase (control plane), non SDK PostgREST/Supabase universel. Fichier JavaScript ESM autonome, sans dépendance runtime ni package npm annoncé.

1 — Préparez l'accès

Connectez-vous à la console Astrabase, puis créez un token API avec une durée limitée. Chaque action est vérifiée côté serveur selon les permissions et le rôle du compte ou du projet.

Ne collez jamais ce token dans un navigateur public, un dépôt Git, un site statique, une URL ou un journal. Utilisez une variable d'environnement privée côté serveur ou dans un gestionnaire de secrets CI.

2 — Importez le fichier

Placez astrabase-client.mjs et éventuellement astrabase-client.d.mts côte à côte dans votre projet Node.js 22+. Les types améliorent l'autocomplétion ; aucun identifiant n'est inclus dans le téléchargement.

Vous pouvez également consulter directement la description OpenAPI partielle et les capacités produit.

3 — Exemple exécutable : lister ses projets

Définissez localement ASTRABASE_API_TOKEN dans votre environnement serveur, puis lancez ce fichier avec node list-projects.mjs.

import { AstrabaseClient } from './astrabase-client.mjs';

const token = process.env.ASTRABASE_API_TOKEN;
if (!token) throw new Error('ASTRABASE_API_TOKEN manquant');

const client = new AstrabaseClient({
  baseUrl: 'https://cloud.astrabase.fr',
  token
});
const { projects } = await client.projects();
console.log(projects.map(({ id, name }) => ({ id, name })));

Pour obtenir une vue d'ensemble d'un projet autorisé :

const projectId = projects[0]?.id;
if (projectId) {
  const [report, deploys] = await Promise.all([
    client.insights(projectId),
    client.deployments(projectId)
  ]);
  console.log({ report, deploys });
}

Gestion de projets et livraisons

Projets, versions, prévisualisations, déploiements ZIP/Git, rollback, domaines et diagnostics. Le SDK ne contourne ni les rôles ni les restrictions des runners.

Modules Cloud déjà reliés

Variables, inventaire de serveurs, secrets (inventaire), cache à TTL, feature flags, signalement d'erreurs structurées, modèles Mail, envoi transactionnel et formulaires privés.

Sécurité et contrôle

Validation des routes, contrôle du domaine HTTPS, délai maximal de requête, signal AbortSignal, erreurs HTTP typées ; aucun retry automatique d'une mutation. Les permissions réelles restent au serveur.

API et état des modules

La description OpenAPI de la console couvre une partie des routes seulement. L'API de données PostgreSQL/Auth/Storage fonctionne sur une architecture distincte ; il ne faut pas y réutiliser une clé secrète du plan de contrôle.

Référence et limites

SDK actuel : client de gestion en accès authentifié, à utiliser côté serveur ou en contexte réellement same-origin autorisé. Le nom npm @astrabase/js n'est pas présenté comme publié ; les méthodes de données (Postgres, Auth utilisateur, Storage direct, Realtime, Functions) auront leur SDK dédié après vérification des contrats correspondants.

Requêtes : client.request('/api/...'), options method, body, response: 'json'|'text'|'csv'|'bytes', signal. Gestion des erreurs : AstrabaseApiError.status. Un code 401/403 nécessite des droits supplémentaires ; un code 501 signifie que le module n'est pas pris en charge dans le mode de stockage utilisé.

Certains services requièrent une configuration SMTP, un backend disponible ou un environnement d'exécution isolé. Pour la sécurité des données et des comptes, consultez la page Sécurité.