Aller au contenu

Bases de la sécurité

Supabase en panne, ou est-ce votre app ? Comment le savoir

Supabase est-il en panne, ou est-ce votre app ? Un projet en pause, une base pleine et un bug chez vous se ressemblent. Quatre vérifications les séparent.

Vlad Tkachenko17 min de lecture
Une rue la nuit bordée d'immeubles éclairés et, devant eux, un immeuble dont toutes les fenêtres sont éteintes.

En bref

  • Supabase est-il en panne ? Peut-être. Un projet en pause, un projet qui a atteint une limite et une erreur dans votre propre app produisent le même écran vide.
  • La page de statut de Supabase ne répond qu'à la première question. Votre liste de projets et les pages de votre projet répondent aux deux suivantes, et les codes de statut dans votre navigateur tranchent la dernière.
  • Une panne se termine sans vous. Un projet en pause reste arrêté jusqu'à ce que vous le relanciez, et au bout d'un an cette possibilité disparaît.

Votre app s'ouvre, puis plus rien ne se charge. La liste qui devrait afficher les commandes de vos clients est vide, le bouton de connexion tourne dans le vide, ou la page reste blanche. Quelqu'un vous a déjà écrit à ce sujet. Alors vous tapez « supabase en panne », parce que votre app a été construite avec Lovable ou Bolt sur un projet Supabase, et que Supabase est la seule pièce de la machine dont vous connaissez le nom.

C'est ici que la réponse habituelle se trompe. Elle dit : regardez la page de statut de Supabase. C'est le bon premier réflexe, et il répond à une question sur quatre. Votre projet cesse de répondre à votre app quand Supabase subit une panne, mais aussi quand Supabase l'a mis en pause, quand il a atteint une limite, et quand votre propre app est cassée alors que Supabase répond correctement à chaque requête. Vos clients voient le même écran vide dans les quatre cas, et la page de statut ne connaît que le premier.

Pensez-y comme à une coupure de courant chez vous. La première chose que fait tout le monde, c'est regarder par la fenêtre si les voisins sont aussi dans le noir. C'est la page de statut, et elle vous renseigne sur la rue. Elle ne dit rien de la lettre sur le paillasson, du tableau électrique dans le couloir ni de l'ampoule.

Chaque page Supabase, chaque incident et chaque chiffre de cet article ont été lus le 30 septembre 2026.

Supabase est-il en panne, ou est-ce votre app ?

Impossible de le savoir depuis l'écran, et c'est pour cela que la recherche vous laisse sans réponse. Quatre pannes différentes produisent le même résultat :

  1. Supabase est en panne. Quelque chose a lâché du côté de Supabase, en général dans une région ou sur un service. Toute la rue est dans le noir.
  2. Votre projet est en pause. Supabase arrête les projets gratuits restés environ une semaine sans activité. On vous a coupé l'électricité, et personne d'autre dans la rue n'est touché.
  3. Votre projet a atteint une limite. Il a rempli son espace et il est passé en lecture seule, ou il a manqué de capacité et a ralenti jusqu'à ce que les requêtes n'aboutissent plus, ou votre organisation a dépassé un quota et a été restreinte. Un disjoncteur a sauté.
  4. Votre app est cassée. Supabase répond, et quelque chose de votre côté, une clé, les règles d'accès d'une table ou un bout de code, transforme cette réponse en écran vide. Le courant passe. C'est l'ampoule.

Ici et dans la suite, votre projet désigne la base de données Supabase où votre app range ses données, avec la connexion, le stockage de fichiers et l'API qui l'entourent.

Quatre pannes différentes, un seul écran. Vos clients ne peuvent pas les distinguer, et vous non plus tant que vous n'avez pas vérifié.

Les vérifications ci-dessous les passent en revue dans l'ordre, la moins coûteuse d'abord, et chacune confirme ou écarte une panne.

Quatre vérifications, la moins coûteuse d'abord

Étape 1 : Supabase est-il en panne pour tout le monde ?

Ouvrez status.supabase.com. Si un incident en cours nomme votre région ou un service qu'utilise votre app, vous avez votre réponse, et la section sur les pannes, plus bas, vous dit quoi en faire.

La page liste les services de Supabase un par un : la base de données et l'API par laquelle votre app la lit, Auth pour la connexion, Storage pour les fichiers envoyés, Realtime, Edge Functions, le tableau de bord et quelques autres. En dessous figure une liste de régions. Une région, c'est la partie du monde où tourne votre projet, et la vôtre apparaît sur la page Infrastructure des paramètres du projet, avec un code comme eu-west-1. Un incident dans us-east-1 n'a rien à voir avec un projet en Irlande, alors trouvez votre code avant de lire quoi que ce soit d'autre.

Ce que la page n'a pas, c'est une ligne pour votre projet. Elle signale les problèmes qui touchent assez de projets pour être annoncés, et les vrais incidents sont souvent très circonscrits. Les cinquante plus récents, qui remontent au 15 juillet 2026, comprennent un incident qui n'a mis à terre que les projets d'un ensemble de machines précis dans eu-west-1, un autre qui a rendu muets, après quelques heures de fonctionnement, les projets de la plus petite taille, celle du plan gratuit, et un troisième sur des erreurs 401 touchant une partie des nouveaux projets, resté ouvert 46 jours.

Une page verte vous dit donc que Supabase n'a annoncé aucun problème. Votre projet peut être en panne en dessous, et c'est l'objet des trois vérifications suivantes.

La page de statut rend compte de Supabase dans son ensemble. Elle n'a aucune ligne pour votre projet.

Le tableau de bord a sa propre ligne et ses propres incidents. Le 1er septembre 2026, personne ne pouvait s'y connecter, et une app peut très bien continuer de tourner pendant ce genre d'incident.

Tant que vous êtes sur la page, abonnez-vous aux mises à jour. Une adresse e-mail suffit, et Supabase publie aussi l'historique des incidents sous forme de flux RSS.

Étape 2 : votre projet est-il en pause ?

Ouvrez le tableau de bord Supabase et regardez votre liste de projets. Un projet avec Paused à côté de son nom a été arrêté par Supabase, le plus souvent un projet gratuit resté environ une semaine sans activité, et il le restera jusqu'à ce que vous le relanciez. Tout le reste sur la pause, y compris le délai d'un an et ce qu'il faut faire quand l'option de relance a disparu, se trouve dans que faire quand votre projet Supabase est en pause.

Étape 3 : votre projet a-t-il atteint une limite ?

Regardez ce qui fonctionne encore. Chaque limite casse quelque chose de différent, et le schéma vous dit quel disjoncteur a sauté.

Les pages se chargent et rien ne s'enregistre. C'est le mode lecture seule. Un projet gratuit passe en lecture seule quand sa base dépasse 500 Mo, et un projet payant quand son disque se remplit plus vite que Supabase n'a le droit de l'agrandir. La lecture fonctionne toujours, donc l'app a l'air normale jusqu'à ce que quelqu'un essaie de s'inscrire, de passer commande ou d'enregistrer un formulaire, et chaque écriture revient avec cannot execute INSERT in a read-only transaction. La sortie, c'est plus d'espace, en passant à une offre supérieure ou en supprimant des données. Ce que coupe chaque limite du plan gratuit couvre les deux, et le guide sur la taille de la base de Supabase donne le SQL.

Tout ralentit, puis plus rien ne répond. Le projet n'a plus de marge. Sa taille de calcul fixe la mémoire dont il dispose et l'effort qu'il peut demander à son disque, et les petites tailles ont droit chaque jour à une réserve pour dépasser ce niveau, que Supabase appelle le Disk IO Budget. Une fois cette réserve épuisée, la liste de Supabase elle-même mentionne parmi les suites possibles des temps de réponse qui grimpent nettement et une instance qui ne répond plus. La réserve se recharge le lendemain, et la page Database Health, sous Observability, vous montre où vous en êtes.

Vous recevrez peut-être un e-mail indiquant que le projet « is running out of Disk IO Budget », ou verrez dans le tableau de bord un avertissement disant qu'il est unhealthy, avec le bouton Restart project en dessous. Prenez l'e-mail comme un indice. Après un incident le 10 septembre 2026, Supabase a prévenu les propriétaires concernés que l'e-mail sur le Disk IO qu'ils avaient reçu n'était plus valable : c'était l'incident qui l'avait déclenché.

Chaque requête échoue avec un 402. Votre organisation a été restreinte au titre de la Fair Use Policy de Supabase, pour être restée au-dessus d'un quota après sa période de grâce ou pour une facture impayée, et la restriction s'applique en général à tous les projets de l'organisation. Le 402 donne la raison avec un code comme exceed_db_size_quota ou overdue_payment, et Supabase indique que vous pouvez toujours accéder à vos données depuis le tableau de bord tant qu'elle dure. Passer à une offre supérieure lève tout de suite une restriction liée à l'usage, sinon elle se lève au début du cycle de facturation suivant.

C'est le tableau électrique. Ces trois cas se produisent dans votre propre projet, donc la page de statut n'en montre aucun.

Étape 4 : interrogez directement votre projet

Envoyez-lui une requête et lisez la réponse. Si Supabase répond normalement, le problème est de votre côté de la connexion.

La version la plus rapide ne demande aucun outil. L'adresse de votre projet ressemble à https://abcdefghijklmnopqrst.supabase.co, et la suite de lettres avant .supabase.co figure dans la barre d'adresse de votre navigateur chaque fois que le projet est ouvert dans le tableau de bord. Ajoutez /rest/v1/ à la fin, collez le tout dans un nouvel onglet et regardez ce qui revient.

  • Une ligne de texte entre accolades indiquant qu'aucune clé d'API n'a été trouvée. Supabase répond à l'adresse de votre projet. Il vous a éconduit parce que l'onglet n'a envoyé aucune clé, ce qui est normal. Le projet existe et il n'est pas en pause.
  • « Ce site est inaccessible » ou « serveur introuvable ». L'adresse ne se résout pas. La page d'aide de Supabase sur cette erreur donne les raisons habituelles : un projet en pause, un projet supprimé ou une adresse mal tapée.
  • Une page d'erreur avec un nombre dans les 500, ou rien après une longue attente. L'adresse existe et le projet derrière elle peine. Revenez à l'étape 3 et regardez de nouveau la page de statut.

La version complète, c'est l'onglet Network de votre navigateur, qui montre les réponses que reçoit votre app avec sa propre clé. Ouvrez votre app, appuyez sur F12, choisissez Network, rechargez la page et tapez dans la zone de filtre les lettres de l'adresse de votre projet. Chaque requête vers votre projet apparaît avec un code de statut, et ce code fait déjà l'essentiel du diagnostic. Les significations ci-dessous viennent de la liste des codes de statut de Supabase et de l'API de base de données qui tourne derrière :

StatutCe qu'il signifieOù aller
200Supabase a répondu et a renvoyé quelque choseVotre app, plus bas
401 ou 403Supabase a répondu et a refusé la clé, la table ou la sessionLa section suivante
402Votre organisation est restreinteÉtape 3
405 à l'enregistrement, alors que les lectures obtiennent 200La base est en lecture seuleÉtape 3
540Le projet est en pauseÉtape 2
503, 544 ou aucune réponseLe projet tourne mais ne suit pasÉtape 3, puis un redémarrage
échec, avec « name not resolved »L'adresse n'existe pas en ce momentÉtape 2, puis vérifiez l'adresse

La ligne à chercher en premier, c'est 200. Si les requêtes de votre app vers Supabase reviennent avec 200 et que l'écran reste vide, Supabase a fait sa part, et l'ampoule est chez vous. Les règles d'une table ne laissent peut-être voir aucune ligne à ce visiteur, ce qui arrive sous forme d'un 200 avec une liste vide. L'app pointe peut-être vers un autre projet que celui que vous regardez. Ou le code qui dessine la page a cassé sur ce qu'il a reçu, et c'est une question pour votre builder, avec la requête et sa réponse en main.

Pourquoi Supabase me renvoie-t-il soudain des erreurs 401 ?

Parce que Supabase a répondu et a refusé celui qui demandait. Un 401 signifie que la requête a atteint votre projet, donc la plateforme fonctionne. Ce qui a été refusé est l'une de trois choses, et le message vous dit laquelle : cliquez sur la requête dans l'onglet Network et ouvrez sa Response.

  • La clé. Le message dit Invalid API key ou Legacy API keys are disabled. Votre app envoie une clé que le projet n'accepte plus. L'ancienne clé anon, une longue chaîne qui commence par eyJ, cesse de fonctionner quand quelqu'un désactive les clés historiques dans les paramètres du projet, et Supabase a prévenu qu'un projet en pause restauré depuis le 1er novembre 2025 revient sans elle. Selon les propres termes de Supabase, les projets en pause que l'on restaure risquent d'être cassés parce qu'ils n'auront plus les clés historiques. La solution consiste à mettre la clé publiable actuelle du projet, celle qui commence par sb_publishable_, dans les réglages d'environnement de votre builder. Les deux formats de clé y sont comparés côte à côte.
  • La table. Le message dit permission denied for table. La clé est bonne, et cette table n'a pas été ouverte à ce type de visiteur. À partir du 30 octobre 2026, une nouvelle table Supabase commence ainsi, et la bonne façon de l'ouvrir a son propre article.
  • La session. Les pages sans connexion fonctionnent, les personnes connectées reçoivent des erreurs 401 qui vont et viennent, et le message mentionne en général un JWT, le jeton signé que votre app garde pour chaque personne connectée. Du 14 août au 29 septembre 2026, la page de statut de Supabase a affiché un incident intitulé « 401 errors due to JWT rejections » : une partie des nouveaux projets rejetaient des sessions qui venaient d'être renouvelées. La solution de Supabase, publiée le 29 septembre, est une nouvelle version du projet que vous installez vous-même, avec le bouton Upgrade project de la page General des paramètres du projet.

Cette mise à niveau met le projet hors ligne pendant qu'elle tourne, et le tableau de bord vous montre une estimation de la durée avant que vous confirmiez. Le guide de mise à niveau de Supabase recommande de faire d'abord une copie de vos données. Sur le plan gratuit, personne d'autre n'en fait, et en faire une depuis le tableau de bord ne demande aucun terminal.

Comment redémarrer un projet Supabase ?

Depuis le tableau de bord : ouvrez le projet, allez dans Project Settings, puis General, et appuyez sur Restart project sous Project availability. La flèche à côté du bouton propose Fast database reboot, qui ne redémarre que la base de données et raccourcit la coupure. Dans les deux cas, Supabase prévient de quelques minutes hors ligne.

Un redémarrage est le bon outil pour un projet surchargé ou signalé comme unhealthy, et c'est ce que Supabase a demandé aux propriétaires concernés après l'incident du 10 septembre. Si le projet est trop petit pour son travail, le problème revient, et la solution durable est une taille de calcul plus grande ou des requêtes plus légères. Un projet en pause a besoin de Resume project, qui se trouve au même endroit. Une base pleine est toujours pleine après un redémarrage, et une clé refusée reste refusée.

Ne touchez pas au bouton pendant un incident qui mentionne les actions sur les projets. Le 4 septembre 2026, les redémarrages, les restaurations et les changements de taille de calcul renvoyaient des erreurs dans toutes les régions, Supabase a demandé de ne pas les tenter, et les a même désactivés un moment.

Que pouvez-vous faire pendant une panne de Supabase ?

Très peu de choses, et attendre est la bonne décision. C'est à Supabase de réparer la panne, et votre projet revient sans que vous y touchiez.

Cela fait de la panne le seul cas de cet article que l'attente règle, et c'est pour cela que l'étape 2 passe avant tout ce que vous ferez ici. Une coupure de courant, on l'attend. Une coupure de votre abonnement dure jusqu'à ce que vous appeliez le fournisseur, et un projet en pause reste arrêté jusqu'à ce que vous le relanciez, avec un an au compteur à partir du jour où il s'est arrêté.

Une panne revient toute seule. Un projet en pause revient quand vous le relancez, et seulement dans l'année.

Ce qui vaut la peine pendant que vous attendez :

  • Vérifiez que cela vous concerne. Regardez si l'incident nomme votre région ou un service qu'utilise votre app.
  • Abonnez-vous à cet incident, pour recevoir la mise à jour qui en annonce la fin.
  • Prévenez vos utilisateurs. Une ligne là où ils vous cherchent, pour dire que l'app est touchée par une panne chez son fournisseur de base de données et qu'elle reviendra.
  • Laissez le projet tranquille. Pendant l'incident du 4 septembre, Supabase a déconseillé de créer des projets, de modifier des configurations, de redémarrer ou de changer la taille de calcul tant que l'incident n'était pas résolu. Les projets en service ont continué de tourner pendant que ces actions échouaient.

Il n'y a d'ailleurs rien à réclamer pour l'indisponibilité, sauf si vous êtes client Enterprise. L'engagement de disponibilité de Supabase, avec des crédits de service pour un mois sous les 99,9 %, est rédigé pour les seuls clients Enterprise.

Ce qu'il faut avoir en place avant la prochaine fois

Quatre choses, toutes plus faciles un jour où rien ne va mal :

  • Votre région, notée à côté de l'adresse de votre projet, et un abonnement à la page de statut.
  • Votre app sur la clé publiable. Supabase retire les anciennes clés anon et service_role d'ici la fin de 2026, et une app qui en envoie encore une commencera à accumuler les erreurs 401 quand elles disparaîtront.
  • Une copie de votre base hors de votre compte Supabase. Une panne, une pause et une restriction se produisent toutes à l'intérieur de Supabase, et une copie rangée ailleurs est hors de leur portée. Sur le plan gratuit, Supabase ne garde aucune copie pour vous.
  • Quelque chose qui remarque quand votre app ne répond plus et vous prévient avant qu'un client n'ait à le faire.

Où Reeve intervient

Reeve Monitor surveille l'adresse que chargent vos visiteurs. Reeve Care se connecte en plus à la base de données Supabase qui se trouve derrière, et en garde une copie hors de votre compte Supabase.

  • Monitor vérifie l'adresse de votre app toutes les 60 secondes depuis l'extérieur, et vous envoie un e-mail quand elle ne répond plus, puis un autre quand elle revient. Il relance aussi toutes les heures nos neuf vérifications de sécurité, sur trois apps au maximum.
  • Care se connecte lui-même à votre base Supabase pour en faire une copie, chaque jour avec Care et plus souvent avec les offres au-dessus. Une nuit où la base ne répond pas, c'est une copie qui n'a pas pu être faite, et vous recevez un e-mail qui explique ce qui s'est passé.
  • La copie est conservée hors de votre compte Supabase, chiffrée, et relue avant d'être comptée, si bien qu'une pause ou une restriction laisse votre dernière bonne copie là où vous pouvez l'atteindre.
  • Restaurer, c'est un bouton, et un instantané de l'état actuel est pris d'abord, si bien que la restauration a son propre retour arrière.

Ce que couvre chaque offre se trouve sur la page des tarifs, et la copie, la vérification et la restauration sont dessinées étape par étape sur la page consacrée aux sauvegardes Supabase.

Que faire maintenant

Que faire

  • Trouvez la région de votre projet sur la page Infrastructure de ses paramètres, et abonnez-vous à la page de statut de Supabase.
  • Quand votre app reste vide, vérifiez dans l'ordre : la page de statut, la mention Paused dans votre liste de projets, des pages qui se chargent alors que l'enregistrement échoue, et les codes de statut dans l'onglet Network de votre navigateur.
  • Si le projet est en pause, relancez-le aujourd'hui. Attendre ne fait que consommer l'année dont vous disposez.
  • Si des requêtes reviennent en 401, lisez le message avant de changer quoi que ce soit. Une clé, une table et une session ont chacune leur propre solution.
  • Pendant une vraie panne, laissez le projet tranquille : pas de redémarrage, de restauration ni de mise à niveau tant que l'incident n'est pas résolu.
  • Passez votre app sur la clé sb_publishable_ et gardez une copie de votre base hors de Supabase, tant que rien n'est cassé.

Avant de fermer cet onglet, ouvrez les paramètres Infrastructure de votre projet, notez le code de sa région à côté de son adresse et abonnez-vous à la page de statut. Si l'écran vide d'aujourd'hui s'est révélé être une pause, voici la suite.

FAQ

Supabase est-il en panne en ce moment ?

Consultez status.supabase.com, où Supabase publie ses propres incidents, service par service et région par région. Cherchez d'abord la région de votre projet : elle figure sur la page Infrastructure des paramètres du projet, avec un code comme eu-west-1. Si rien sur la page de statut ne nomme cette région ou un service qu'utilise votre app, Supabase n'a annoncé aucun problème, et le prochain endroit où regarder est votre propre projet.

Mon app est cassée mais la page de statut de Supabase est verte. Que faire ?

Regardez votre propre projet. Vérifiez dans la liste des projets du tableau de bord Supabase si le mot Paused apparaît, puis si le projet est signalé comme unhealthy, passé en lecture seule ou restreint. Si tout cela paraît normal, ouvrez votre app, appuyez sur F12, choisissez l'onglet Network et rechargez. Une requête vers votre projet qui revient avec 200 signifie que Supabase a répondu, et que le problème est de votre côté.

Un projet Supabase en pause, est-ce la même chose qu'une panne ?

Non, et les deux demandent des réactions opposées. Une panne relève de Supabase et se termine quand ils la réparent, donc attendre est la bonne réponse. Une pause, c'est Supabase qui arrête votre projet, le plus souvent un projet gratuit resté une semaine sans activité, et rien ne change tant que vous ne le relancez pas depuis le tableau de bord. Vous avez un an pour le faire. Ensuite, le tableau de bord propose un téléchargement à la place, et revenir en ligne demande un nouveau projet avec une nouvelle adresse.

Pourquoi Supabase me renvoie-t-il soudain des erreurs 401 ?

Un 401 signifie que Supabase a répondu et a refusé celui qui demandait. Votre app envoie peut-être une clé que le projet n'accepte plus, ce qui arrive quand l'ancienne clé anon est désactivée ou qu'un projet en pause est restauré sans elle. Une table peut refuser avec permission denied. Ou bien les sessions sont rejetées : du 14 août au 29 septembre 2026, c'est exactement ce qui est arrivé à une partie des nouveaux projets, et la solution est Upgrade project sur la page General.

Comment redémarrer mon projet Supabase ?

Ouvrez le projet dans le tableau de bord Supabase et allez dans Project Settings, puis General. Sous Project availability, Restart project redémarre tout, et la flèche à côté propose Fast database reboot, qui ne redémarre que la base de données, avec une coupure plus courte. Comptez quelques minutes hors ligne dans les deux cas. Un redémarrage aide un projet surchargé ou signalé comme unhealthy. Un projet en pause a besoin de Resume, sur la même page, et une base pleine a besoin de place.

Puis-je faire quelque chose pendant une panne de Supabase ?

Très peu de choses, et attendre est la bonne décision. Vérifiez que l'incident nomme votre région, abonnez-vous à ses mises à jour et dites à vos utilisateurs ce qu'ils voient. Laissez de côté redémarrages, restaurations, mises à niveau et changements de taille de calcul jusqu'à sa résolution : lors d'un incident touchant toute la plateforme le 4 septembre 2026, Supabase a déconseillé exactement cela. La garantie de disponibilité assortie de crédits ne couvre que les clients Enterprise.

Écrit par

Vlad Tkachenko

Fondateur de Reeve

Je passe mes journées à examiner des applications créées avec Lovable, Bolt, v0, Cursor et Replit, et la courte liste d'erreurs qui y reviennent sans cesse.

En savoir plus sur l'auteur

À lire ensuite

Tous les articles

Vous ne savez pas où en est votre propre application ?

Lancez une analyse gratuite et obtenez une note claire de A à F en une vingtaine de secondes. Sans compte, sans carte.

Analyser mon application

Vérification externe automatisée, pas un audit complet. L'absence de problème n'est pas une garantie de sécurité.