2 min de lecture

À propos & Architecture

PgArachne™ sert de serveur web léger et haute performance qui se place entre vos clients HTTP et la base de données PostgreSQL. Il élimine le besoin de langages backend traditionnels (comme Python, Node.js ou PHP) en mappant les requêtes HTTP directement aux fonctions de la base de données.

Capacités Techniques Principales

  • Passerelle JSON-RPC 2.0 : Toutes les interactions API suivent la spécification stricte JSON-RPC 2.0. Il n’y a pas d’endpoints REST à concevoir ; vous appelez simplement les fonctions SQL par leur nom via des requêtes POST.
  • Authentification Native BDD : Pas de tables utilisateurs séparées. Les utilisateurs se connectent avec leurs identifiants PostgreSQL réels pour recevoir un JWT. Alternativement, les comptes de service peuvent utiliser des Tokens API persistants.
  • Masquage de Rôle : PgArachne™ se connecte en tant qu’utilisateur proxy mais exécute chaque requête en utilisant SET LOCAL ROLE pour basculer vers l’identité de l’utilisateur authentifié. La sécurité au niveau des lignes (RLS) fonctionne automatiquement.
  • MCP (Model Context Protocol) : Un endpoint MCP natif permet aux clients IA comme Claude Desktop, Cursor et autres outils MCP-compatibles de découvrir et appeler vos fonctions PostgreSQL directement comme des outils — sans aucun code de glue supplémentaire. La même authentification et sécurité des rôles s’applique. Les ressources (tables/vues) et les modèles de prompts sont également exposés via MCP.
  • Notifications temps réel (SSE) : Abonnez‑vous aux canaux PostgreSQL NOTIFY via SSE pour des mises à jour en direct sans polling.
  • Serveur de Fichiers Statiques : PgArachne™ peut servir des assets statiques (HTML, JS, CSS), vous permettant d’héberger des applications monopage (SPA) ou l’outil Explorer directement.

Cette architecture simplifie considérablement la stack : Base de données ↔ PgArachne ↔ Frontend/Agent IA.

Structure des endpoints : Tous les endpoints de base de données partagent un préfixe commun (par défaut db, configurable via API_PREFIX) :
POST /{prefixe}/{base_de_donnees}/jsonrpc — passerelle JSON-RPC 2.0
GET  /{prefixe}/{base_de_donnees}/sse    — stream PostgreSQL NOTIFY
POST /{prefixe}/{base_de_donnees}/mcp   — Model Context Protocol

Voir les Décisions d’Architecture Détaillées