Supabase en détail : composition d’une plateforme backend centrée sur Postgres
Une lecture technique de Postgres, PostgREST, GoTrue, Realtime, Storage, Kong, du développement local, du service géré, de l’auto-hébergement, des licences et des responsabilités.
Positionnement et signal actuel
Supabase se définit comme une plateforme de développement Postgres, pas comme une copie exacte de Firebase. Le dépôt affichait environ 106 724 étoiles pendant la collecte, avait gagné 59 étoiles entre deux instantanés de production et publiait une mise à jour de juillet. La plateforme réunit base de données, identité, API générées, temps réel, objets et fonctions tout en laissant un accès direct à SQL.
Usages et fonctions principales
Elle sert aux backends SaaS, à la connexion et la synchronisation mobiles, aux outils internes, aux produits avec fichiers protégés et aux prototypes qui doivent exposer vite une base au frontend. Elle propose Postgres géré, REST, GraphQL, Realtime, Auth, Storage, fonctions SQL et Edge Functions. Les clients officiels couvrent JavaScript, Flutter, Swift, Python et d’autres environnements, mais une fonction peut arriver à des dates différentes selon le SDK.
Architecture et fonctionnement
PostgreSQL est le centre des données et des autorisations. PostgREST génère REST depuis le schéma, GoTrue gère l’identité JWT, Realtime lit les changements de réplication et les diffuse par WebSocket, Storage place les objets hors base tout en contrôlant les droits via Postgres, et Kong sert de passerelle. SQL, sécurité par ligne et clients sont ainsi liés; le diagnostic d’une panne traverse parfois plusieurs services.
Socle technique et limites système
Le dépôt principal est un workspace TypeScript et pnpm qui contient site, Dashboard, exemples, configuration Docker et outils. L’exécution combine aussi Elixir, Go, extensions PostgreSQL, stockage d’objets et autres services. Supabase exploite l’offre gérée; l’auto-hébergement s’appuie souvent sur Docker Compose. Fonctions SQL et Edge Functions ne tournent pas au même endroit, ce qui impose de distinguer connexions, transactions, latence et droits.