ONDEV Logo

Expert en acquisition client digitale. Création de sites web et applications sur-mesure qui convertissent.

Services
  • Création de Sites Web
  • Applications Sur-Mesure
  • Publicité Digitale
  • Référencement SEO
  • Développeur Web Marseille
  • Création de Logo
  • Design UX/UI
  • Refonte d'Application
  • Maintenance Applicative
  • Audit de Code
  • Agence Vibe Coding
  • Logiciel Métier Sur-Mesure
  • Agence No Code
  • Portail Client & Extranet
  • Intranet Sur-Mesure
  • Refonte Site WordPress
  • Migration Angular vers React
Navigation
  • Accueil
  • Réalisations
  • Expertise
  • Qui sommes-nous
  • Blog
  • Contact
Guides
  • Nos guides
  • Comment créer un site internet
  • Pourquoi créer un site internet
  • Coût d'un site internet
  • Choisir son prestataire web
Contact

Mathieu Rabissoni

06 01 37 20 21WhatsAppmathieu@ondev.fr

Marseille, France

Suivez-nous

LinkedInInstagramFacebook
Zones d'intervention
Marseille|Aix-en-Provence|Aubagne|La Ciotat|Cassis|Allauch|Gardanne|Marignane|Vitrolles|Toutes nos zones

© 2026 ONDEV. Tous droits réservés.

Mentions légalesPolitique de confidentialitéPlan du site
ONDEV Logo
Réalisations
Contact
On en discute

Expertise

Création de Sites WebSite Vitrine MarseilleSite E-Commerce MarseilleRéférencement SEOOptimisation GEOApplications Web & MobileAgence CommunicationPublicité en LigneDéveloppeur Web Marseille
Réalisations

Ressources

Qui sommes-nous ?BlogGuides
Contact
AppelerWhatsApp
On en discute
  1. Accueil
  2. Blog
  3. Supabase Realtime, Storage et Edge Functions
Développement
24 juillet 20269 mn

Supabase Realtime, Storage et Edge Functions

Realtime, Storage, Edge Functions et API PostgREST : le guide clair des briques Supabase, avec exemples concrets et cas d'usage.

Mathieu Rabissoni

Mathieu Rabissoni

Expert Acquisition Client Digitale

Sommaire

01.Supabase, ce n'est pas qu'une base de données02.L'API auto-générée : un backend REST sans écrire de routes03.Realtime : le temps réel sans gérer de serveur WebSocket04.Storage : gérer fichiers et images avec de vraies règles d'accès05.Edge Functions : du serverless Deno au plus près de l'utilisateur06.Comment ces quatre briques s'assemblent dans une vraie app07.FAQ : Supabase Realtime, Storage et Edge Functions08.Conclusion : quatre briques, un backend complet

Supabase, ce n'est pas qu'une base de données

La plupart des développeurs découvrent Supabase pour son PostgreSQL managé, puis réalisent qu'ils tiennent là 80 % d'un backend complet. Realtime, Storage, Edge Functions et une API générée automatiquement : quatre briques qui remplacent des semaines de code serveur.

Dans cet article, vous allez découvrir :

  • •Comment l'API PostgREST vous donne un backend REST complet sans écrire une seule route
  • •Pourquoi Realtime remplace votre serveur WebSocket pour le chat et les notifications
  • •Comment structurer vos buckets Storage avec des règles d'accès qui tiennent la route
  • •Quand basculer une logique métier dans une Edge Function Deno (et quand ne surtout pas le faire)
Sur Wiloq, notre SaaS événementiel en production, ces quatre briques couvrent la quasi-totalité du backend. Aucun serveur à administrer.

L'API auto-générée : un backend REST sans écrire de routes

Dès que vous créez une table dans Supabase, PostgREST expose automatiquement une API REST complète par-dessus. Lecture, insertion, mise à jour, suppression : tout est là, filtres et pagination compris.

Concrètement, une table articles devient interrogeable immédiatement depuis votre front :

js
const { data } = await supabase
  .from('articles')
  .select('id, titre, auteur')
  .eq('statut', 'publie')
  .order('cree_le', { ascending: false })

Le vrai gain, c'est la sécurité. Les policies Row Level Security de PostgreSQL s'appliquent directement à l'API. Un utilisateur ne voit que ses propres lignes, sans que vous écriviez la moindre condition côté serveur.

Cette API générée est le socle de tout le reste. Si vous voulez comprendre comment elle s'articule avec l'authentification et la base, notre guide complet sur Supabase détaille l'architecture globale de la plateforme.

Realtime : le temps réel sans gérer de serveur WebSocket

Realtime écoute les changements de votre base et les pousse en direct vers les clients connectés, via WebSockets. Vous n'avez ni serveur de sockets à maintenir, ni file de messages à orchestrer.

Trois modes coexistent :

  • •Postgres Changes : réagir aux INSERT, UPDATE et DELETE d'une table
  • •Broadcast : envoyer des messages éphémères entre clients (curseurs, frappe en cours)
  • •Presence : savoir qui est en ligne dans un salon à l'instant T

Le cas d'usage le plus parlant reste le chat. Un nouveau message inséré en base arrive chez tous les participants sans rafraîchissement :

js
supabase
  .channel('messages')
  .on('postgres_changes',
    { event: 'INSERT', schema: 'public', table: 'messages' },
    (payload) => afficherMessage(payload.new)
  )
  .subscribe()

Même logique pour un fil de notifications, un tableau de bord temps réel ou un statut de commande qui évolue. C'est exactement le genre de fonctionnalité que nous avons câblée sur nos SaaS avec ce couple front/back moderne, comme expliqué dans notre article sur le combo Supabase et Next.js.

Storage : gérer fichiers et images avec de vraies règles d'accès

Storage est un service de stockage objet (compatible S3) intégré à Supabase. Vous y rangez avatars, documents, exports PDF ou images produits, organisés en buckets.

Un bucket peut être public (URL accessible directement) ou privé (accès contrôlé par policy). Uploader un fichier tient en quelques lignes :

js
const { data } = await supabase.storage
  .from('avatars')
  .upload(`public/${userId}.png`, fichier)

La force de Storage, c'est que les règles d'accès reposent sur le même moteur RLS que vos tables. Vous écrivez une policy qui dit, par exemple, un utilisateur ne peut téléverser que dans son propre dossier, et Supabase l'applique à chaque requête.

Pour les buckets privés, vous générez des URL signées à durée limitée : le fichier reste protégé, mais reste partageable temporairement. Idéal pour des documents clients sensibles.

Edge Functions : du serverless Deno au plus près de l'utilisateur

Tout ne doit pas vivre dans le front. Dès qu'une opération manipule une clé secrète ou une logique sensible, elle doit tourner côté serveur. C'est le rôle des Edge Functions : des fonctions serverless écrites en TypeScript, exécutées sur le runtime Deno, déployées sur un réseau edge mondial.

ts
Deno.serve(async (req) => {
  const { montant } = await req.json()
  // logique côté serveur, la clé secrète n'est jamais exposée au navigateur
  return new Response(JSON.stringify({ ok: true }))
})

Les cas d'usage typiques :

  • •Recevoir un webhook de paiement Stripe et mettre à jour la base
  • •Envoyer un email transactionnel via un service tiers
  • •Exécuter une logique métier qui ne doit jamais fuiter côté client
  • •Appeler une API externe avec une clé privée

La règle d'or : gardez les Edge Functions pour ce qui exige le serveur. Une simple lecture filtrée de données passe par l'API PostgREST, pas par une fonction. Trop de fonctions inutiles alourdissent la maintenance sans rien apporter.

Comment ces quatre briques s'assemblent dans une vraie app

Prises séparément, ces fonctionnalités sont utiles. Assemblées, elles forment un backend complet. Voici la répartition que nous appliquons sur nos projets.

BriqueÀ quoi ça sertCas d'usage typique
API PostgRESTCRUD sécurisé sur vos tableslistes, fiches, formulaires
Realtimepousser les changements en directchat, notifications, présence
Storagestocker et servir des fichiersavatars, documents, images
Edge Functionsexécuter de la logique serveurwebhooks, paiement, clé privée
Sur Wiloq, notre application SaaS de vestiaire numérique événementiel (plus de 12 fonctionnalités en production), les quatre briques cohabitent : PostgREST pour les données, Realtime pour les statuts en direct, Storage pour les justificatifs et Edge Functions pour les intégrations sensibles. Vous pouvez voir le résultat sur l'étude de cas Wiloq.

Nous avons capitalisé la même approche sur d'autres produits, de Swap&Share (SaaS d'échange de compétences) jusqu'à des applications métier à fort volume comme celle livrée pour Dassault (plus de 90 utilisateurs actifs). Le point commun : moins d'infrastructure à gérer, plus de temps sur la valeur produit.

Si vous voulez partir des fondations, notre guide pour créer une application avec Supabase reprend tout le parcours, du schéma de base au premier écran fonctionnel.

FAQ : Supabase Realtime, Storage et Edge Functions

Faut-il un serveur pour utiliser Supabase Realtime ?
Non. Realtime est un service managé : Supabase gère l'infrastructure WebSocket. Vous vous abonnez à un canal depuis le front et recevez les changements en direct, sans serveur de sockets à maintenir de votre côté.
Quelle différence entre l'API PostgREST et une Edge Function ?
L'API PostgREST sert à lire et écrire vos données de façon sécurisée via les policies RLS. Une Edge Function sert à exécuter de la logique serveur (webhook, paiement, clé privée). Règle simple : données par l'API, logique sensible par les Edge Functions.
Le Storage de Supabase est-il sécurisé pour des documents sensibles ?
Oui, à condition d'utiliser des buckets privés avec des policies RLS et des URL signées à durée limitée. Le fichier n'est alors accessible qu'aux utilisateurs autorisés, pour une durée que vous définissez.
Supabase convient-il à une application en production ou seulement aux prototypes ?
Aux deux. Supabase gère aussi bien un MVP qu'une application en production, comme Wiloq. Pour des besoins pointus (self-hosting, montée en charge, sécurité renforcée), l'accompagnement d'une agence Supabase permet de cadrer l'architecture dès le départ.

Conclusion : quatre briques, un backend complet

API auto-générée, Realtime, Storage et Edge Functions : Supabase vous donne les pièces pour construire un backend robuste sans réinventer l'infrastructure. Le vrai travail n'est plus de tout coder, mais de bien assembler ces briques et de sécuriser chaque accès.

C'est précisément là où une équipe expérimentée fait la différence. Vous avez un projet Supabase en tête, un MVP à lancer ou une application à faire monter en charge ? Parlons de votre projet : on cadre l'architecture et on avance vite, sans dette technique cachée.

Auteur

Mathieu Rabissoni

Mathieu Rabissoni

Expert Web

Infos

24 juillet 2026
9 mn
Développement

Service lié

Création site internet

Site sur-mesure avec SEO intégré, livré en 30 jours.

Découvrir

Travailler avec ONDEV

On construit pour vous un site sur mesure, adapté à vos enjeux business.

  • Sans dépendance technique
  • Sans frais de maintenance inutiles
On en discute ?

Avec nous c'est simple, rien n'est compliqué !

Nos réalisations

Refonte & SEO - Amadeus Centre d’Affaires
Refonte & Stratégie SEO

Refonte & SEO - Amadeus Centre d’Affaires

Wiloq - Application SaaS Vestiaire Numérique
Application SaaS

Wiloq - Application SaaS Vestiaire Numérique

Voir toutes les réalisations

Supabase, ce n'est pas qu'une base de données

La plupart des développeurs découvrent Supabase pour son PostgreSQL managé, puis réalisent qu'ils tiennent là 80 % d'un backend complet. Realtime, Storage, Edge Functions et une API générée automatiquement : quatre briques qui remplacent des semaines de code serveur.

Dans cet article, vous allez découvrir :

  • •Comment l'API PostgREST vous donne un backend REST complet sans écrire une seule route
  • •Pourquoi Realtime remplace votre serveur WebSocket pour le chat et les notifications
  • •Comment structurer vos buckets Storage avec des règles d'accès qui tiennent la route
  • •Quand basculer une logique métier dans une Edge Function Deno (et quand ne surtout pas le faire)
Sur Wiloq, notre SaaS événementiel en production, ces quatre briques couvrent la quasi-totalité du backend. Aucun serveur à administrer.

L'API auto-générée : un backend REST sans écrire de routes

Dès que vous créez une table dans Supabase, PostgREST expose automatiquement une API REST complète par-dessus. Lecture, insertion, mise à jour, suppression : tout est là, filtres et pagination compris.

Concrètement, une table articles devient interrogeable immédiatement depuis votre front :

js
const { data } = await supabase
  .from('articles')
  .select('id, titre, auteur')
  .eq('statut', 'publie')
  .order('cree_le', { ascending: false })

Le vrai gain, c'est la sécurité. Les policies Row Level Security de PostgreSQL s'appliquent directement à l'API. Un utilisateur ne voit que ses propres lignes, sans que vous écriviez la moindre condition côté serveur.

Cette API générée est le socle de tout le reste. Si vous voulez comprendre comment elle s'articule avec l'authentification et la base, notre guide complet sur Supabase détaille l'architecture globale de la plateforme.

Realtime : le temps réel sans gérer de serveur WebSocket

Realtime écoute les changements de votre base et les pousse en direct vers les clients connectés, via WebSockets. Vous n'avez ni serveur de sockets à maintenir, ni file de messages à orchestrer.

Trois modes coexistent :

  • •Postgres Changes : réagir aux INSERT, UPDATE et DELETE d'une table
  • •Broadcast : envoyer des messages éphémères entre clients (curseurs, frappe en cours)
  • •Presence : savoir qui est en ligne dans un salon à l'instant T

Le cas d'usage le plus parlant reste le chat. Un nouveau message inséré en base arrive chez tous les participants sans rafraîchissement :

js
supabase
  .channel('messages')
  .on('postgres_changes',
    { event: 'INSERT', schema: 'public', table: 'messages' },
    (payload) => afficherMessage(payload.new)
  )
  .subscribe()

Même logique pour un fil de notifications, un tableau de bord temps réel ou un statut de commande qui évolue. C'est exactement le genre de fonctionnalité que nous avons câblée sur nos SaaS avec ce couple front/back moderne, comme expliqué dans notre article sur le combo Supabase et Next.js.

Storage : gérer fichiers et images avec de vraies règles d'accès

Storage est un service de stockage objet (compatible S3) intégré à Supabase. Vous y rangez avatars, documents, exports PDF ou images produits, organisés en buckets.

Un bucket peut être public (URL accessible directement) ou privé (accès contrôlé par policy). Uploader un fichier tient en quelques lignes :

js
const { data } = await supabase.storage
  .from('avatars')
  .upload(`public/${userId}.png`, fichier)

La force de Storage, c'est que les règles d'accès reposent sur le même moteur RLS que vos tables. Vous écrivez une policy qui dit, par exemple, un utilisateur ne peut téléverser que dans son propre dossier, et Supabase l'applique à chaque requête.

Pour les buckets privés, vous générez des URL signées à durée limitée : le fichier reste protégé, mais reste partageable temporairement. Idéal pour des documents clients sensibles.

Edge Functions : du serverless Deno au plus près de l'utilisateur

Tout ne doit pas vivre dans le front. Dès qu'une opération manipule une clé secrète ou une logique sensible, elle doit tourner côté serveur. C'est le rôle des Edge Functions : des fonctions serverless écrites en TypeScript, exécutées sur le runtime Deno, déployées sur un réseau edge mondial.

ts
Deno.serve(async (req) => {
  const { montant } = await req.json()
  // logique côté serveur, la clé secrète n'est jamais exposée au navigateur
  return new Response(JSON.stringify({ ok: true }))
})

Les cas d'usage typiques :

  • •Recevoir un webhook de paiement Stripe et mettre à jour la base
  • •Envoyer un email transactionnel via un service tiers
  • •Exécuter une logique métier qui ne doit jamais fuiter côté client
  • •Appeler une API externe avec une clé privée

La règle d'or : gardez les Edge Functions pour ce qui exige le serveur. Une simple lecture filtrée de données passe par l'API PostgREST, pas par une fonction. Trop de fonctions inutiles alourdissent la maintenance sans rien apporter.

Comment ces quatre briques s'assemblent dans une vraie app

Prises séparément, ces fonctionnalités sont utiles. Assemblées, elles forment un backend complet. Voici la répartition que nous appliquons sur nos projets.

BriqueÀ quoi ça sertCas d'usage typique
API PostgRESTCRUD sécurisé sur vos tableslistes, fiches, formulaires
Realtimepousser les changements en directchat, notifications, présence
Storagestocker et servir des fichiersavatars, documents, images
Edge Functionsexécuter de la logique serveurwebhooks, paiement, clé privée
Sur Wiloq, notre application SaaS de vestiaire numérique événementiel (plus de 12 fonctionnalités en production), les quatre briques cohabitent : PostgREST pour les données, Realtime pour les statuts en direct, Storage pour les justificatifs et Edge Functions pour les intégrations sensibles. Vous pouvez voir le résultat sur l'étude de cas Wiloq.

Nous avons capitalisé la même approche sur d'autres produits, de Swap&Share (SaaS d'échange de compétences) jusqu'à des applications métier à fort volume comme celle livrée pour Dassault (plus de 90 utilisateurs actifs). Le point commun : moins d'infrastructure à gérer, plus de temps sur la valeur produit.

Si vous voulez partir des fondations, notre guide pour créer une application avec Supabase reprend tout le parcours, du schéma de base au premier écran fonctionnel.

FAQ : Supabase Realtime, Storage et Edge Functions

Faut-il un serveur pour utiliser Supabase Realtime ?
Non. Realtime est un service managé : Supabase gère l'infrastructure WebSocket. Vous vous abonnez à un canal depuis le front et recevez les changements en direct, sans serveur de sockets à maintenir de votre côté.
Quelle différence entre l'API PostgREST et une Edge Function ?
L'API PostgREST sert à lire et écrire vos données de façon sécurisée via les policies RLS. Une Edge Function sert à exécuter de la logique serveur (webhook, paiement, clé privée). Règle simple : données par l'API, logique sensible par les Edge Functions.
Le Storage de Supabase est-il sécurisé pour des documents sensibles ?
Oui, à condition d'utiliser des buckets privés avec des policies RLS et des URL signées à durée limitée. Le fichier n'est alors accessible qu'aux utilisateurs autorisés, pour une durée que vous définissez.
Supabase convient-il à une application en production ou seulement aux prototypes ?
Aux deux. Supabase gère aussi bien un MVP qu'une application en production, comme Wiloq. Pour des besoins pointus (self-hosting, montée en charge, sécurité renforcée), l'accompagnement d'une agence Supabase permet de cadrer l'architecture dès le départ.

Conclusion : quatre briques, un backend complet

API auto-générée, Realtime, Storage et Edge Functions : Supabase vous donne les pièces pour construire un backend robuste sans réinventer l'infrastructure. Le vrai travail n'est plus de tout coder, mais de bien assembler ces briques et de sécuriser chaque accès.

C'est précisément là où une équipe expérimentée fait la différence. Vous avez un projet Supabase en tête, un MVP à lancer ou une application à faire monter en charge ? Parlons de votre projet : on cadre l'architecture et on avance vite, sans dette technique cachée.

Mathieu Rabissoni

Mathieu Rabissoni

Expert Web

24 juillet 2026
9 mn
Développement

Service lié

Création site internet

Site sur-mesure avec SEO intégré, livré en 30 jours.

Découvrir

Travailler avec ONDEV

On construit pour vous un site sur mesure, adapté à vos enjeux business.

On en discute ?
Mathieu Rabissoni

Mathieu Rabissoni

Expert Acquisition Client Digitale

Passionné par le web depuis toujours, j'aide les entreprises à acquérir des clients grâce au digital. Sites web, applications, SEO : je transforme vos idées en solutions performantes.

En savoir plus

Services ONDEV liés à cet article

Création site internet Marseille•Application web sur-mesure•Refonte de site internet•Expert Next.js Marseille•Agence web Marseille•Nos réalisations

Besoin d'aide pour votre projet ?

Discutons de vos objectifs et voyons comment je peux vous aider à les atteindre.

Prendre rendez-vousAppelerWhatsApp