[{"data":1,"prerenderedAt":1071},["ShallowReactive",2],{"blog-fr-is-supabase-down-or-your-app":3,"blog-index-fr":717},{"id":4,"title":5,"body":6,"category":670,"cover":671,"coverAlt":672,"description":673,"draft":674,"extension":675,"faq":676,"image":694,"keywords":695,"meta":705,"navigation":706,"ogTitle":707,"path":708,"published":709,"seo":710,"stem":711,"tldr":712,"updated":709,"__hash__":716},"blog_fr\u002Fblog\u002Fis-supabase-down-or-your-app.md","Supabase en panne, ou est-ce votre app ? Comment le savoir",{"type":7,"value":8,"toc":652},"minimark",[9,13,16,19,22,27,30,59,62,68,71,75,80,91,103,109,112,117,120,123,127,135,139,142,163,169,172,186,189,193,196,211,238,251,371,377,381,384,449,463,467,470,473,476,480,483,486,491,494,520,529,533,536,569,573,578,604,616,620,646],[10,11,12],"p",{},"Votre app s'ouvre, puis plus rien ne se charge. La liste qui devrait afficher\nles commandes de vos clients est vide, le bouton de connexion tourne dans le\nvide, ou la page reste blanche. Quelqu'un vous a déjà écrit à ce sujet. Alors\nvous tapez « supabase en panne », parce que votre app a été construite avec\nLovable ou Bolt sur un projet Supabase, et que Supabase est la seule pièce de la\nmachine dont vous connaissez le nom.",[10,14,15],{},"C'est ici que la réponse habituelle se trompe. Elle dit : regardez la page de\nstatut de Supabase. C'est le bon premier réflexe, et il répond à une question\nsur quatre. Votre projet cesse de répondre à votre app quand Supabase subit une\npanne, mais aussi quand Supabase l'a mis en pause, quand il a atteint une\nlimite, et quand votre propre app est cassée alors que Supabase répond\ncorrectement à chaque requête. Vos clients voient le même écran vide dans les\nquatre cas, et la page de statut ne connaît que le premier.",[10,17,18],{},"Pensez-y comme à une coupure de courant chez vous. La première chose que fait\ntout le monde, c'est regarder par la fenêtre si les voisins sont aussi dans le\nnoir. C'est la page de statut, et elle vous renseigne sur la rue. Elle ne dit\nrien de la lettre sur le paillasson, du tableau électrique dans le couloir ni de\nl'ampoule.",[10,20,21],{},"Chaque page Supabase, chaque incident et chaque chiffre de cet article ont été\nlus le 30 septembre 2026.",[23,24,26],"h2",{"id":25},"supabase-est-il-en-panne-ou-est-ce-votre-app","Supabase est-il en panne, ou est-ce votre app ?",[10,28,29],{},"Impossible de le savoir depuis l'écran, et c'est pour cela que la recherche vous\nlaisse sans réponse. Quatre pannes différentes produisent le même résultat :",[31,32,33,41,47,53],"ol",{},[34,35,36,40],"li",{},[37,38,39],"strong",{},"Supabase est en panne."," Quelque chose a lâché du côté de Supabase, en\ngénéral dans une région ou sur un service. Toute la rue est dans le noir.",[34,42,43,46],{},[37,44,45],{},"Votre projet est en pause."," Supabase arrête les projets gratuits restés\nenviron une semaine sans activité. On vous a coupé l'électricité, et personne\nd'autre dans la rue n'est touché.",[34,48,49,52],{},[37,50,51],{},"Votre projet a atteint une limite."," Il a rempli son espace et il est passé\nen lecture seule, ou il a manqué de capacité et a ralenti jusqu'à ce que les\nrequêtes n'aboutissent plus, ou votre organisation a dépassé un quota et a\nété restreinte. Un disjoncteur a sauté.",[34,54,55,58],{},[37,56,57],{},"Votre app est cassée."," Supabase répond, et quelque chose de votre côté,\nune clé, les règles d'accès d'une table ou un bout de code, transforme cette\nréponse en écran vide. Le courant passe. C'est l'ampoule.",[10,60,61],{},"Ici et dans la suite, votre projet désigne la base de données Supabase où votre\napp range ses données, avec la connexion, le stockage de fichiers et l'API qui\nl'entourent.",[63,64],"diagram",{"alt":65,"caption":66,"src":67},"Quatre vignettes à gauche, toutes dessinées en ambre : un nuage, un signe pause, un interrupteur qui a sauté et un éditeur de code. Leurs lignes se rejoignent et aboutissent à une seule fenêtre de navigateur vide, avec un cercle de chargement au milieu.","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é.","\u002Fblog\u002Fis-supabase-down-or-your-app\u002Ffour-causes-one-screen-1600x620.png",[10,69,70],{},"Les vérifications ci-dessous les passent en revue dans l'ordre, la moins\ncoûteuse d'abord, et chacune confirme ou écarte une panne.",[23,72,74],{"id":73},"quatre-vérifications-la-moins-coûteuse-dabord","Quatre vérifications, la moins coûteuse d'abord",[76,77,79],"h3",{"id":78},"étape-1-supabase-est-il-en-panne-pour-tout-le-monde","Étape 1 : Supabase est-il en panne pour tout le monde ?",[10,81,82,83,90],{},"Ouvrez ",[84,85,89],"a",{"href":86,"rel":87},"https:\u002F\u002Fstatus.supabase.com\u002F",[88],"nofollow","status.supabase.com",". Si un incident en\ncours nomme votre région ou un service qu'utilise votre app, vous avez votre\nréponse, et la section sur les pannes, plus bas, vous dit quoi en faire.",[10,92,93,94,98,99,102],{},"La page liste les services de Supabase un par un : la base de données et l'API\npar laquelle votre app la lit, Auth pour la connexion, Storage pour les fichiers\nenvoyés, Realtime, Edge Functions, le tableau de bord et quelques autres. En\ndessous figure une liste de régions. Une région, c'est la partie du monde où\ntourne votre projet, et la vôtre apparaît sur la page Infrastructure des\nparamètres du projet, avec un code comme ",[95,96,97],"code",{},"eu-west-1",". Un incident dans\n",[95,100,101],{},"us-east-1"," n'a rien à voir avec un projet en Irlande, alors trouvez votre code\navant de lire quoi que ce soit d'autre.",[10,104,105,106,108],{},"Ce que la page n'a pas, c'est une ligne pour votre projet. Elle signale les\nproblèmes qui touchent assez de projets pour être annoncés, et les vrais\nincidents sont souvent très circonscrits. Les cinquante plus récents, qui\nremontent au 15 juillet 2026, comprennent un incident qui n'a mis à terre que\nles projets d'un ensemble de machines précis dans ",[95,107,97],{},", un autre qui a\nrendu muets, après quelques heures de fonctionnement, les projets de la plus\npetite taille, celle du plan gratuit, et un troisième sur des erreurs 401\ntouchant une partie des nouveaux projets, resté ouvert 46 jours.",[10,110,111],{},"Une page verte vous dit donc que Supabase n'a annoncé aucun problème. Votre\nprojet peut être en panne en dessous, et c'est l'objet des trois vérifications\nsuivantes.",[63,113],{"alt":114,"caption":115,"src":116},"Un tableau de statut dont chaque ligne est allumée en vert. En dessous, une rangée de projets, tous éclairés sauf un, éteint et entouré d'un cercle.","La page de statut rend compte de Supabase dans son ensemble. Elle n'a aucune ligne pour votre projet.","\u002Fblog\u002Fis-supabase-down-or-your-app\u002Fgreen-page-dark-project-1600x620.png",[10,118,119],{},"Le tableau de bord a sa propre ligne et ses propres incidents. Le 1er septembre\n2026, personne ne pouvait s'y connecter, et une app peut très bien continuer de\ntourner pendant ce genre d'incident.",[10,121,122],{},"Tant que vous êtes sur la page, abonnez-vous aux mises à jour. Une adresse\ne-mail suffit, et Supabase publie aussi l'historique des incidents sous forme de\nflux RSS.",[76,124,126],{"id":125},"étape-2-votre-projet-est-il-en-pause","Étape 2 : votre projet est-il en pause ?",[10,128,129,130,134],{},"Ouvrez le tableau de bord Supabase et regardez votre liste de projets. Un projet\navec Paused à côté de son nom a été arrêté par Supabase, le plus souvent un\nprojet gratuit resté environ une semaine sans activité, et il le restera jusqu'à\nce que vous le relanciez. Tout le reste sur la pause, y compris le délai d'un an\net ce qu'il faut faire quand l'option de relance a disparu, se trouve dans ",[84,131,133],{"href":132},"\u002Fblog\u002Fsupabase-project-paused-recover","que\nfaire quand votre projet Supabase est en\npause",".",[76,136,138],{"id":137},"étape-3-votre-projet-a-t-il-atteint-une-limite","Étape 3 : votre projet a-t-il atteint une limite ?",[10,140,141],{},"Regardez ce qui fonctionne encore. Chaque limite casse quelque chose de\ndifférent, et le schéma vous dit quel disjoncteur a sauté.",[10,143,144,147,148,151,152,156,157,162],{},[37,145,146],{},"Les pages se chargent et rien ne s'enregistre."," C'est le mode lecture seule.\nUn projet gratuit passe en lecture seule quand sa base dépasse 500 Mo, et un\nprojet payant quand son disque se remplit plus vite que Supabase n'a le droit de\nl'agrandir. La lecture fonctionne toujours, donc l'app a l'air normale jusqu'à\nce que quelqu'un essaie de s'inscrire, de passer commande ou d'enregistrer un\nformulaire, et chaque écriture revient avec\n",[95,149,150],{},"cannot execute INSERT in a read-only transaction",". La sortie, c'est plus\nd'espace, en passant à une offre supérieure ou en supprimant des données. ",[84,153,155],{"href":154},"\u002Fblog\u002Fsupabase-free-plan-limits","Ce\nque coupe chaque limite du plan gratuit"," couvre\nles deux, et le ",[84,158,161],{"href":159,"rel":160},"https:\u002F\u002Fsupabase.com\u002Fdocs\u002Fguides\u002Fplatform\u002Fdatabase-size",[88],"guide sur la taille de la\nbase"," de Supabase donne\nle SQL.",[10,164,165,168],{},[37,166,167],{},"Tout ralentit, puis plus rien ne répond."," Le projet n'a plus de marge. Sa\ntaille de calcul fixe la mémoire dont il dispose et l'effort qu'il peut demander\nà son disque, et les petites tailles ont droit chaque jour à une réserve pour\ndépasser ce niveau, que Supabase appelle le Disk IO Budget. Une fois cette\nréserve épuisée, la liste de Supabase elle-même mentionne parmi les suites\npossibles des temps de réponse qui grimpent nettement et une instance qui ne\nrépond plus. La réserve se recharge le lendemain, et la page Database Health,\nsous Observability, vous montre où vous en êtes.",[10,170,171],{},"Vous recevrez peut-être un e-mail indiquant que le projet « is running out of\nDisk IO Budget », ou verrez dans le tableau de bord un avertissement disant\nqu'il est unhealthy, avec le bouton Restart project en dessous. Prenez l'e-mail\ncomme un indice. Après un incident le 10 septembre 2026, Supabase a prévenu les\npropriétaires concernés que l'e-mail sur le Disk IO qu'ils avaient reçu n'était\nplus valable : c'était l'incident qui l'avait déclenché.",[10,173,174,177,178,181,182,185],{},[37,175,176],{},"Chaque requête échoue avec un 402."," Votre organisation a été restreinte au\ntitre de la Fair Use Policy de Supabase, pour être restée au-dessus d'un quota\naprès sa période de grâce ou pour une facture impayée, et la restriction\ns'applique en général à tous les projets de l'organisation. Le 402 donne la\nraison avec un code comme ",[95,179,180],{},"exceed_db_size_quota"," ou ",[95,183,184],{},"overdue_payment",", et\nSupabase indique que vous pouvez toujours accéder à vos données depuis le\ntableau de bord tant qu'elle dure. Passer à une offre supérieure lève tout de\nsuite une restriction liée à l'usage, sinon elle se lève au début du cycle de\nfacturation suivant.",[10,187,188],{},"C'est le tableau électrique. Ces trois cas se produisent dans votre propre\nprojet, donc la page de statut n'en montre aucun.",[76,190,192],{"id":191},"étape-4-interrogez-directement-votre-projet","Étape 4 : interrogez directement votre projet",[10,194,195],{},"Envoyez-lui une requête et lisez la réponse. Si Supabase répond normalement, le\nproblème est de votre côté de la connexion.",[10,197,198,199,202,203,206,207,210],{},"La version la plus rapide ne demande aucun outil. L'adresse de votre projet\nressemble à ",[95,200,201],{},"https:\u002F\u002Fabcdefghijklmnopqrst.supabase.co",", et la suite de lettres\navant ",[95,204,205],{},".supabase.co"," figure dans la barre d'adresse de votre navigateur chaque\nfois que le projet est ouvert dans le tableau de bord. Ajoutez ",[95,208,209],{},"\u002Frest\u002Fv1\u002F"," à la\nfin, collez le tout dans un nouvel onglet et regardez ce qui revient.",[212,213,214,220,232],"ul",{},[34,215,216,219],{},[37,217,218],{},"Une ligne de texte entre accolades indiquant qu'aucune clé d'API n'a été\ntrouvée."," Supabase répond à l'adresse de votre projet. Il vous a éconduit\nparce que l'onglet n'a envoyé aucune clé, ce qui est normal. Le projet existe\net il n'est pas en pause.",[34,221,222,225,226,231],{},[37,223,224],{},"« Ce site est inaccessible » ou « serveur introuvable »."," L'adresse ne se\nrésout pas. La ",[84,227,230],{"href":228,"rel":229},"https:\u002F\u002Fsupabase.com\u002Fdocs\u002Fguides\u002Ftroubleshooting\u002Fnxdomain-error-connecting-to-a-supabase-project",[88],"page d'aide de Supabase sur cette\nerreur","\ndonne les raisons habituelles : un projet en pause, un projet supprimé ou une\nadresse mal tapée.",[34,233,234,237],{},[37,235,236],{},"Une page d'erreur avec un nombre dans les 500, ou rien après une longue\nattente."," L'adresse existe et le projet derrière elle peine. Revenez à\nl'étape 3 et regardez de nouveau la page de statut.",[10,239,240,241,244,245,250],{},"La version complète, c'est l'onglet ",[37,242,243],{},"Network"," de votre navigateur, qui montre\nles réponses que reçoit votre app avec sa propre clé. Ouvrez votre app, appuyez\nsur F12, choisissez Network, rechargez la page et tapez dans la zone de filtre\nles lettres de l'adresse de votre projet. Chaque requête vers votre projet\napparaît avec un code de statut, et ce code fait déjà l'essentiel du diagnostic.\nLes significations ci-dessous viennent de la ",[84,246,249],{"href":247,"rel":248},"https:\u002F\u002Fsupabase.com\u002Fdocs\u002Fguides\u002Ftroubleshooting\u002Fhttp-status-codes",[88],"liste des codes de\nstatut"," de\nSupabase et de l'API de base de données qui tourne derrière :",[252,253,254,270],"table",{},[255,256,257],"thead",{},[258,259,260,264,267],"tr",{},[261,262,263],"th",{},"Statut",[261,265,266],{},"Ce qu'il signifie",[261,268,269],{},"Où aller",[271,272,273,287,303,316,329,342,360],"tbody",{},[258,274,275,281,284],{},[276,277,278],"td",{},[95,279,280],{},"200",[276,282,283],{},"Supabase a répondu et a renvoyé quelque chose",[276,285,286],{},"Votre app, plus bas",[258,288,289,297,300],{},[276,290,291,181,294],{},[95,292,293],{},"401",[95,295,296],{},"403",[276,298,299],{},"Supabase a répondu et a refusé la clé, la table ou la session",[276,301,302],{},"La section suivante",[258,304,305,310,313],{},[276,306,307],{},[95,308,309],{},"402",[276,311,312],{},"Votre organisation est restreinte",[276,314,315],{},"Étape 3",[258,317,318,324,327],{},[276,319,320,323],{},[95,321,322],{},"405"," à l'enregistrement, alors que les lectures obtiennent 200",[276,325,326],{},"La base est en lecture seule",[276,328,315],{},[258,330,331,336,339],{},[276,332,333],{},[95,334,335],{},"540",[276,337,338],{},"Le projet est en pause",[276,340,341],{},"Étape 2",[258,343,344,354,357],{},[276,345,346,349,350,353],{},[95,347,348],{},"503",", ",[95,351,352],{},"544"," ou aucune réponse",[276,355,356],{},"Le projet tourne mais ne suit pas",[276,358,359],{},"Étape 3, puis un redémarrage",[258,361,362,365,368],{},[276,363,364],{},"échec, avec « name not resolved »",[276,366,367],{},"L'adresse n'existe pas en ce moment",[276,369,370],{},"Étape 2, puis vérifiez l'adresse",[10,372,373,374,376],{},"La ligne à chercher en premier, c'est ",[95,375,280],{},". Si les requêtes de votre app vers\nSupabase reviennent avec 200 et que l'écran reste vide, Supabase a fait sa part,\net l'ampoule est chez vous. Les règles d'une table ne laissent peut-être voir\naucune ligne à ce visiteur, ce qui arrive sous forme d'un 200 avec une liste\nvide. L'app pointe peut-être vers un autre projet que celui que vous regardez.\nOu le code qui dessine la page a cassé sur ce qu'il a reçu, et c'est une\nquestion pour votre builder, avec la requête et sa réponse en main.",[23,378,380],{"id":379},"pourquoi-supabase-me-renvoie-t-il-soudain-des-erreurs-401","Pourquoi Supabase me renvoie-t-il soudain des erreurs 401 ?",[10,382,383],{},"Parce que Supabase a répondu et a refusé celui qui demandait. Un 401 signifie\nque la requête a atteint votre projet, donc la plateforme fonctionne. Ce qui a\nété refusé est l'une de trois choses, et le message vous dit laquelle : cliquez\nsur la requête dans l'onglet Network et ouvrez sa Response.",[212,385,386,423,437],{},[34,387,388,391,392,395,396,399,400,403,404,407,408,413,414,417,418,422],{},[37,389,390],{},"La clé."," Le message dit ",[95,393,394],{},"Invalid API key"," ou\n",[95,397,398],{},"Legacy API keys are disabled",". Votre app envoie une clé que le projet\nn'accepte plus. L'ancienne clé ",[95,401,402],{},"anon",", une longue chaîne qui commence par\n",[95,405,406],{},"eyJ",", cesse de fonctionner quand quelqu'un désactive les clés historiques\ndans les paramètres du projet, et Supabase a prévenu qu'un projet en pause\nrestauré depuis le 1er novembre 2025 revient sans elle. ",[84,409,412],{"href":410,"rel":411},"https:\u002F\u002Fgithub.com\u002Forgs\u002Fsupabase\u002Fdiscussions\u002F29260",[88],"Selon les propres\ntermes de Supabase",", les\nprojets en pause que l'on restaure risquent d'être cassés parce qu'ils\nn'auront plus les clés historiques. La solution consiste à mettre la clé\npubliable actuelle du projet, celle qui commence par ",[95,415,416],{},"sb_publishable_",", dans\nles réglages d'environnement de votre builder. ",[84,419,421],{"href":420},"\u002Fblog\u002Fsupabase-new-api-keys","Les deux formats de\nclé"," y sont comparés côte à côte.",[34,424,425,391,428,431,432,436],{},[37,426,427],{},"La table.",[95,429,430],{},"permission denied for table",". La clé est bonne,\net cette table n'a pas été ouverte à ce type de visiteur. À partir du 30\noctobre 2026, une nouvelle table Supabase commence ainsi, et ",[84,433,435],{"href":434},"\u002Fblog\u002Fsupabase-permission-denied-for-table","la bonne façon\nde l'ouvrir"," a son propre article.",[34,438,439,442,443,448],{},[37,440,441],{},"La session."," Les pages sans connexion fonctionnent, les personnes\nconnectées reçoivent des erreurs 401 qui vont et viennent, et le message\nmentionne en général un JWT, le jeton signé que votre app garde pour chaque\npersonne connectée. Du 14 août au 29 septembre 2026, la page de statut de\nSupabase a affiché un incident intitulé ",[84,444,447],{"href":445,"rel":446},"https:\u002F\u002Fstatus.supabase.com\u002Fincidents\u002F6q5902p2xd9f",[88],"« 401 errors due to JWT rejections\n»"," : une partie des\nnouveaux projets rejetaient des sessions qui venaient d'être renouvelées. La\nsolution de Supabase, publiée le 29 septembre, est une nouvelle version du\nprojet que vous installez vous-même, avec le bouton Upgrade project de la page\nGeneral des paramètres du projet.",[10,450,451,452,457,458,462],{},"Cette mise à niveau met le projet hors ligne pendant qu'elle tourne, et le\ntableau de bord vous montre une estimation de la durée avant que vous\nconfirmiez. Le ",[84,453,456],{"href":454,"rel":455},"https:\u002F\u002Fsupabase.com\u002Fdocs\u002Fguides\u002Fplatform\u002Fupgrading",[88],"guide de mise à\nniveau"," de Supabase\nrecommande de faire d'abord une copie de vos données. Sur le plan gratuit,\npersonne d'autre n'en fait, et ",[84,459,461],{"href":460},"\u002Fblog\u002Fback-up-supabase-free-tier","en faire une depuis le tableau de\nbord"," ne demande aucun terminal.",[23,464,466],{"id":465},"comment-redémarrer-un-projet-supabase","Comment redémarrer un projet Supabase ?",[10,468,469],{},"Depuis le tableau de bord : ouvrez le projet, allez dans Project Settings, puis\nGeneral, et appuyez sur Restart project sous Project availability. La flèche à\ncôté du bouton propose Fast database reboot, qui ne redémarre que la base de\ndonnées et raccourcit la coupure. Dans les deux cas, Supabase prévient de\nquelques minutes hors ligne.",[10,471,472],{},"Un redémarrage est le bon outil pour un projet surchargé ou signalé comme\nunhealthy, et c'est ce que Supabase a demandé aux propriétaires concernés après\nl'incident du 10 septembre. Si le projet est trop petit pour son travail, le\nproblème revient, et la solution durable est une taille de calcul plus grande ou\ndes requêtes plus légères. Un projet en pause a besoin de Resume project, qui se\ntrouve au même endroit. Une base pleine est toujours pleine après un\nredémarrage, et une clé refusée reste refusée.",[10,474,475],{},"Ne touchez pas au bouton pendant un incident qui mentionne les actions sur les\nprojets. Le 4 septembre 2026, les redémarrages, les restaurations et les\nchangements de taille de calcul renvoyaient des erreurs dans toutes les régions,\nSupabase a demandé de ne pas les tenter, et les a même désactivés un moment.",[23,477,479],{"id":478},"que-pouvez-vous-faire-pendant-une-panne-de-supabase","Que pouvez-vous faire pendant une panne de Supabase ?",[10,481,482],{},"Très peu de choses, et attendre est la bonne décision. C'est à Supabase de\nréparer la panne, et votre projet revient sans que vous y touchiez.",[10,484,485],{},"Cela fait de la panne le seul cas de cet article que l'attente règle, et c'est\npour cela que l'étape 2 passe avant tout ce que vous ferez ici. Une coupure de\ncourant, on l'attend. Une coupure de votre abonnement dure jusqu'à ce que vous\nappeliez le fournisseur, et un projet en pause reste arrêté jusqu'à ce que vous\nle relanciez, avec un an au compteur à partir du jour où il s'est arrêté.",[63,487],{"alt":488,"caption":489,"src":490},"Deux lignes de temps. Sur celle du haut, une ligne chute puis remonte toute seule. Sur celle du bas, la ligne chute et reste en bas. Un bouton de mise en marche posé dessus ouvre un chemin en pointillés qui remonte, et la ligne du bas continue jusqu'à une marque barrée.","Une panne revient toute seule. Un projet en pause revient quand vous le relancez, et seulement dans l'année.","\u002Fblog\u002Fis-supabase-down-or-your-app\u002Fwait-or-act-1600x560.png",[10,492,493],{},"Ce qui vaut la peine pendant que vous attendez :",[212,495,496,502,508,514],{},[34,497,498,501],{},[37,499,500],{},"Vérifiez que cela vous concerne."," Regardez si l'incident nomme votre région\nou un service qu'utilise votre app.",[34,503,504,507],{},[37,505,506],{},"Abonnez-vous à cet incident",", pour recevoir la mise à jour qui en annonce\nla fin.",[34,509,510,513],{},[37,511,512],{},"Prévenez vos utilisateurs."," Une ligne là où ils vous cherchent, pour dire\nque l'app est touchée par une panne chez son fournisseur de base de données et\nqu'elle reviendra.",[34,515,516,519],{},[37,517,518],{},"Laissez le projet tranquille."," Pendant l'incident du 4 septembre, Supabase\na déconseillé de créer des projets, de modifier des configurations, de\nredémarrer ou de changer la taille de calcul tant que l'incident n'était pas\nrésolu. Les projets en service ont continué de tourner pendant que ces actions\néchouaient.",[10,521,522,523,528],{},"Il n'y a d'ailleurs rien à réclamer pour l'indisponibilité, sauf si vous êtes\nclient Enterprise. L'",[84,524,527],{"href":525,"rel":526},"https:\u002F\u002Fsupabase.com\u002Fsla",[88],"engagement de disponibilité"," de\nSupabase, avec des crédits de service pour un mois sous les 99,9 %, est rédigé\npour les seuls clients Enterprise.",[23,530,532],{"id":531},"ce-quil-faut-avoir-en-place-avant-la-prochaine-fois","Ce qu'il faut avoir en place avant la prochaine fois",[10,534,535],{},"Quatre choses, toutes plus faciles un jour où rien ne va mal :",[212,537,538,544,557,563],{},[34,539,540,543],{},[37,541,542],{},"Votre région, notée"," à côté de l'adresse de votre projet, et un abonnement\nà la page de statut.",[34,545,546,549,550,552,553,556],{},[37,547,548],{},"Votre app sur la clé publiable."," Supabase retire les anciennes clés ",[95,551,402],{},"\net ",[95,554,555],{},"service_role"," d'ici la fin de 2026, et une app qui en envoie encore une\ncommencera à accumuler les erreurs 401 quand elles disparaîtront.",[34,558,559,562],{},[37,560,561],{},"Une copie de votre base hors de votre compte Supabase."," Une panne, une\npause et une restriction se produisent toutes à l'intérieur de Supabase, et\nune copie rangée ailleurs est hors de leur portée. Sur le plan gratuit,\nSupabase ne garde aucune copie pour vous.",[34,564,565,568],{},[37,566,567],{},"Quelque chose qui remarque quand votre app ne répond plus"," et vous prévient\navant qu'un client n'ait à le faire.",[23,570,572],{"id":571},"où-reeve-intervient","Où Reeve intervient",[10,574,575],{},[37,576,577],{},"Reeve Monitor surveille l'adresse que chargent vos visiteurs. Reeve Care se\nconnecte en plus à la base de données Supabase qui se trouve derrière, et en\ngarde une copie hors de votre compte Supabase.",[212,579,580,586,592,598],{},[34,581,582,585],{},[37,583,584],{},"Monitor vérifie l'adresse de votre app toutes les 60 secondes"," depuis\nl'extérieur, et vous envoie un e-mail quand elle ne répond plus, puis un autre\nquand elle revient. Il relance aussi toutes les heures nos neuf vérifications\nde sécurité, sur trois apps au maximum.",[34,587,588,591],{},[37,589,590],{},"Care se connecte lui-même à votre base Supabase"," pour en faire une copie,\nchaque jour avec Care et plus souvent avec les offres au-dessus. Une nuit où\nla base ne répond pas, c'est une copie qui n'a pas pu être faite, et vous\nrecevez un e-mail qui explique ce qui s'est passé.",[34,593,594,597],{},[37,595,596],{},"La copie est conservée hors de votre compte Supabase",", chiffrée, et relue\navant d'être comptée, si bien qu'une pause ou une restriction laisse votre\ndernière bonne copie là où vous pouvez l'atteindre.",[34,599,600,603],{},[37,601,602],{},"Restaurer, c'est un bouton",", et un instantané de l'état actuel est pris\nd'abord, si bien que la restauration a son propre retour arrière.",[10,605,606,607,611,612,134],{},"Ce que couvre chaque offre se trouve sur la ",[84,608,610],{"href":609},"\u002Fpricing","page des tarifs",", et la\ncopie, la vérification et la restauration sont dessinées étape par étape sur la\n",[84,613,615],{"href":614},"\u002Fsupabase-backups","page consacrée aux sauvegardes Supabase",[23,617,619],{"id":618},"que-faire-maintenant","Que faire maintenant",[621,622,623],"key-takeaways",{},[212,624,625,628,631,634,637,640],{},[34,626,627],{},"Trouvez la région de votre projet sur la page Infrastructure de ses paramètres, et abonnez-vous à la page de statut de Supabase.",[34,629,630],{},"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.",[34,632,633],{},"Si le projet est en pause, relancez-le aujourd'hui. Attendre ne fait que consommer l'année dont vous disposez.",[34,635,636],{},"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.",[34,638,639],{},"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.",[34,641,642,643,645],{},"Passez votre app sur la clé ",[95,644,416],{}," et gardez une copie de votre base hors de Supabase, tant que rien n'est cassé.",[10,647,648,649,134],{},"Avant de fermer cet onglet, ouvrez les paramètres Infrastructure de votre\nprojet, notez le code de sa région à côté de son adresse et abonnez-vous à la\npage de statut. Si l'écran vide d'aujourd'hui s'est révélé être une pause,\n",[84,650,651],{"href":132},"voici la suite",{"title":653,"searchDepth":654,"depth":654,"links":655},"",3,[656,658,664,665,666,667,668,669],{"id":25,"depth":657,"text":26},2,{"id":73,"depth":657,"text":74,"children":659},[660,661,662,663],{"id":78,"depth":654,"text":79},{"id":125,"depth":654,"text":126},{"id":137,"depth":654,"text":138},{"id":191,"depth":654,"text":192},{"id":379,"depth":657,"text":380},{"id":465,"depth":657,"text":466},{"id":478,"depth":657,"text":479},{"id":531,"depth":657,"text":532},{"id":571,"depth":657,"text":572},{"id":618,"depth":657,"text":619},"Bases de la sécurité","\u002Fblog\u002Fis-supabase-down-or-your-app\u002Fcover-1200x630.png","Une rue la nuit bordée d'immeubles éclairés et, devant eux, un immeuble dont toutes les fenêtres sont éteintes.","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.",false,"md",[677,680,683,686,688,691],{"q":678,"a":679},"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.",{"q":681,"a":682},"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é.",{"q":684,"a":685},"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.",{"q":380,"a":687},"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.",{"q":689,"a":690},"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.",{"q":692,"a":693},"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.","\u002Fblog\u002Fis-supabase-down-or-your-app\u002Fcard-800x500.png",[696,697,698,699,700,701,702,703,704],"supabase en panne","supabase down","supabase ne fonctionne pas","statut supabase","supabase status","panne supabase","supabase erreur 401","redémarrer un projet supabase","mon app ne se connecte pas à supabase",{},true,"Supabase en panne, ou est-ce votre app ?","\u002Fblog\u002Fis-supabase-down-or-your-app","2026-10-01",{"title":5,"description":673},"blog\u002Fis-supabase-down-or-your-app",[713,714,715],"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.","W9nGugsjTrIetaguOkUlDszyDMvOs9OihnZwcvaEgP8",[718,724,730,736,742,748,754,760,766,772,778,779,785,790,797,803,809,813,819,825,831,837,843,849,855,861,867,873,879,885,891,896,902,908,914,920,926,932,938,944,950,956,962,968,973,979,985,991,997,1003,1009,1015,1021,1027,1033,1038,1043,1049,1055,1060,1066],{"path":719,"title":720,"description":721,"published":722,"category":670,"image":723,"draft":674},"\u002Fblog\u002Fstorage-upload-violates-row-level-security","\"Row-level security policy for table objects\" à l'upload","\"New row violates row-level security policy for table objects\" signifie que votre upload n'a pas de règle insert. Rendre le bucket public n'en ajoute aucune.","2026-10-11","\u002Fblog\u002Fstorage-upload-violates-row-level-security\u002Fcard-800x500.png",{"path":725,"title":726,"description":727,"published":728,"category":670,"image":729,"draft":674},"\u002Fblog\u002Fbase44-security-scan","Scan de sécurité Base44 : ce que lui seul peut voir","Le scan de sécurité Base44 vérifie sept types de problèmes depuis l’intérieur. Voici la moitié que lui seul lit, et celle qu’il ne regarde jamais.","2026-10-10","\u002Fblog\u002Fbase44-security-scan\u002Fcard-800x500.png",{"path":731,"title":732,"description":733,"published":734,"category":670,"image":735,"draft":674},"\u002Fblog\u002Fapi-key-leaked-what-to-do","Votre clé API a fuité. L'ordre dans lequel agir","Une clé API a fuité et vous ne savez pas par quoi commencer. Toutes les clés de votre frontend n'en sont pas une, et l'ordre compte plus que la vitesse.","2026-10-09","\u002Fblog\u002Fapi-key-leaked-what-to-do\u002Fcard-800x500.png",{"path":737,"title":738,"description":739,"published":740,"category":670,"image":741,"draft":674},"\u002Fblog\u002Finfinite-recursion-in-policy-for-relation","\"Infinite recursion detected in policy\" sans désactiver RLS","\"Infinite recursion detected in policy for relation\" signifie que votre policy a interrogé la table qu'elle protège. Voici comment rompre le cercle.","2026-10-08","\u002Fblog\u002Finfinite-recursion-in-policy-for-relation\u002Fcard-800x500.png",{"path":743,"title":744,"description":745,"published":746,"category":670,"image":747,"draft":674},"\u002Fblog\u002Fno-api-key-found-in-request","\"No API key found in request\" sur Supabase, et le mauvais correctif","\"No API key found in request\" veut dire que votre requête est arrivée sans clé. La plupart des réponses pointent vers les règles de votre base.","2026-10-07","\u002Fblog\u002Fno-api-key-found-in-request\u002Fcard-800x500.png",{"path":749,"title":750,"description":751,"published":752,"category":670,"image":753,"draft":674},"\u002Fblog\u002Fis-base44-safe","Base44 est-il sûr ? Ce que 5 442 applications ont montré","Base44 est-il sûr ? Neuf vérifications sur 5 442 applications Base44 en ligne. Presque toutes ont eu un B, pour des raisons que personne n’a choisies.","2026-10-06","\u002Fblog\u002Fis-base44-safe\u002Fcard-800x500.png",{"path":755,"title":756,"description":757,"published":758,"category":670,"image":759,"draft":674},"\u002Fblog\u002Fmove-a-secret-to-an-edge-function","Cacher une clé API : la déplacer dans une Edge Function Supabase","Cacher une clé API veut dire la sortir du navigateur, et une Edge Function Supabase est le plus petit endroit où la mettre. Deux étapes comptent davantage.","2026-10-05","\u002Fblog\u002Fmove-a-secret-to-an-edge-function\u002Fcard-800x500.png",{"path":761,"title":762,"description":763,"published":764,"category":670,"image":765,"draft":674},"\u002Fblog\u002Fenv-file-exposed-on-your-server","Votre fichier .env est-il exposé ? Les douze chemins à vérifier","Votre fichier .env est-il exposé sur votre propre serveur web ? Douze adresses vous le disent, et une réponse signifie que tout son contenu est public.","2026-10-04","\u002Fblog\u002Fenv-file-exposed-on-your-server\u002Fcard-800x500.png",{"path":767,"title":768,"description":769,"published":770,"category":670,"image":771,"draft":674},"\u002Fblog\u002Fis-v0-safe","Sécurité de v0 : les 1 790 applications scannées ont toutes eu A","La sécurité de v0 mesurée sur 1 790 applications en ligne : toutes ont eu A. Seules 17 citaient une base de données, et c’est surtout cela que ce A mesure.","2026-10-03","\u002Fblog\u002Fis-v0-safe\u002Fcard-800x500.png",{"path":773,"title":774,"description":775,"published":776,"category":670,"image":777,"draft":674},"\u002Fblog\u002Fis-bolt-safe","Bolt est-il sûr ? Ce que 1 123 applications Bolt ont montré","Bolt est-il sûr ? Neuf vérifications sur 1 123 applications Bolt en ligne. L’hébergement était propre. Les trouvailles : des clés et des tables ouvertes.","2026-10-02","\u002Fblog\u002Fis-bolt-safe\u002Fcard-800x500.png",{"path":708,"title":5,"description":673,"published":709,"category":670,"image":694,"draft":674},{"path":780,"title":781,"description":782,"published":783,"category":670,"image":784,"draft":674},"\u002Fblog\u002Fdoes-supabase-encrypt-my-data","Supabase chiffre-t-il mes données ? Oui. Ce que cela arrête","Supabase chiffre-t-il les données ? Oui : AES-256 au repos, TLS en transit, SOC 2 et ISO 27001. Ce que couvre chacun, et la fuite qu'aucun n'arrête.","2026-09-30","\u002Fblog\u002Fdoes-supabase-encrypt-my-data\u002Fcard-800x500.png",{"path":154,"title":786,"description":787,"published":788,"category":670,"image":789,"draft":674},"Limites du plan gratuit Supabase : ce qui se passe à chacune","Les limites du plan gratuit Supabase : 500 Mo de base, 5 Go d'egress, aucune sauvegarde. Ce qui se passe à chaque seuil, et ce que change Pro à $25.","2026-09-29","\u002Fblog\u002Fsupabase-free-plan-limits\u002Fcard-800x500.png",{"path":791,"title":792,"description":793,"published":794,"category":795,"image":796,"draft":674},"\u002Fblog\u002Ftest-your-supabase-backup","Testez votre sauvegarde Supabase avant d'en avoir besoin","Comment tester votre sauvegarde Supabase : la restaurer dans un projet d'exercice, compter les lignes, se connecter, chercher la ligne qui manque.","2026-09-28","Backups","\u002Fblog\u002Ftest-your-supabase-backup\u002Fcard-800x500.png",{"path":798,"title":799,"description":800,"published":801,"category":795,"image":802,"draft":674},"\u002Fblog\u002Fsupabase-backup-github-action","Sauvegarde Supabase gratuite avec une GitHub Action, et le piège","Une sauvegarde Supabase par GitHub Action est gratuite et convient à beaucoup d'apps. Le workflow, la bonne connection string et l'egress de chaque run.","2026-09-27","\u002Fblog\u002Fsupabase-backup-github-action\u002Fcard-800x500.png",{"path":804,"title":805,"description":806,"published":807,"category":795,"image":808,"draft":674},"\u002Fblog\u002Fdownload-your-supabase-backup","Pourquoi vous ne pouvez pas télécharger votre sauvegarde Supabase","Impossible de télécharger votre sauvegarde Supabase sur un projet récent : la copie quotidienne est physique. Comment le vérifier et garder la vôtre.","2026-09-26","\u002Fblog\u002Fdownload-your-supabase-backup\u002Fcard-800x500.png",{"path":434,"title":810,"description":811,"published":807,"category":670,"image":812,"draft":674},"Supabase \"permission denied for table\" : le grant manquant","Dès le 30 octobre, une nouvelle table Supabase répond \"permission denied for table\" tant que l'accès n'est pas accordé. Le grant de l'e-mail est la moitié.","\u002Fblog\u002Fsupabase-permission-denied-for-table\u002Fcard-800x500.png",{"path":814,"title":815,"description":816,"published":817,"category":670,"image":818,"draft":674},"\u002Fblog\u002Fopen-api-endpoint-exposed","Un endpoint d'API ouvert est-il un problème de sécurité ?","Votre scan a signalé un endpoint d'API ouvert. Que cela compte dépend de ce qui est revenu, et la plupart de ceux trouvés étaient à la plateforme.","2026-09-25","\u002Fblog\u002Fopen-api-endpoint-exposed\u002Fcard-800x500.png",{"path":820,"title":821,"description":822,"published":823,"category":670,"image":824,"draft":674},"\u002Fblog\u002Flovable-security-scan","Scan de sécurité Lovable : ce qu’il ne peut pas prouver","Scan de sécurité Lovable : ce que vérifient le Quick scan et le Deep scan, quand chacun part, et la seule chose qu’un scan de l’intérieur ne prouve pas.","2026-09-24","\u002Fblog\u002Flovable-security-scan\u002Fcard-800x500.png",{"path":826,"title":827,"description":828,"published":829,"category":795,"image":830,"draft":674},"\u002Fblog\u002Fsupabase-backup-auth-users","Pourquoi votre dump Supabase ne contient aucun utilisateur","Lancez supabase db dump tout seul et vous obtenez la forme de votre base et aucune de ses lignes, sans le schéma auth où vivent vos utilisateurs.","2026-09-23","\u002Fblog\u002Fsupabase-backup-auth-users\u002Fcard-800x500.png",{"path":832,"title":833,"description":834,"published":835,"category":670,"image":836,"draft":674},"\u002Fblog\u002Fdomain-and-certificate-expiry","Domaine expiré, site hors ligne : ce qui se passe ensuite","Votre domaine a expiré et votre site est hors ligne. Le compte à rebours qui démarre, pourquoi le certificat est le moindre souci, et comment vérifier les deux.","2026-09-22","\u002Fblog\u002Fdomain-and-certificate-expiry\u002Fcard-800x500.png",{"path":838,"title":839,"description":840,"published":841,"category":670,"image":842,"draft":674},"\u002Fblog\u002Fis-lovable-safe","Lovable est-il sûr ? Ce que 18 554 applications Lovable ont montré","Lovable est-il sûr ? 18 554 applications, neuf vérifications. La plateforme était la plus propre des cinq. Les trouvailles étaient dans les applications.","2026-09-21","\u002Fblog\u002Fis-lovable-safe\u002Fcard-800x500.png",{"path":844,"title":845,"description":846,"published":847,"category":670,"image":848,"draft":674},"\u002Fblog\u002Fvibe-coded-app-security-checklist","La checklist de sécurité du vibe coding, en neuf vérifications","Une checklist de sécurité du vibe coding en neuf points, chacun vérifiable de l’extérieur sur votre appli en ligne, et chacun avec un test d’une ligne.","2026-09-20","\u002Fblog\u002Fvibe-coded-app-security-checklist\u002Fcard-800x500.png",{"path":850,"title":851,"description":852,"published":853,"category":670,"image":854,"draft":674},"\u002Fblog\u002Fstripe-secret-key-in-frontend","Une clé secrète Stripe dans votre frontend peut déplacer de l’argent","Une clé secrète Stripe exposée dans votre frontend peut rembourser, débiter et lire chaque fiche client que vous détenez. Votre clé pk_live_ y a sa place.","2026-09-19","\u002Fblog\u002Fstripe-secret-key-in-frontend\u002Fcard-800x500.png",{"path":856,"title":857,"description":858,"published":859,"category":670,"image":860,"draft":674},"\u002Fblog\u002Fvite-and-next-public-env-vars","Variables d’environnement Vite exposées : le préfixe dit publier","Variables d’environnement Vite exposées : votre appli a fait ce que le préfixe demandait. VITE_ et NEXT_PUBLIC_ veulent dire publier, et l’IA ignorait le prix.","2026-09-18","\u002Fblog\u002Fvite-and-next-public-env-vars\u002Fcard-800x500.png",{"path":862,"title":863,"description":864,"published":865,"category":670,"image":866,"draft":674},"\u002Fblog\u002Fbase44-source-maps","Sécurité Base44 : ce qu’un scan signale, et ce qui dépend de vous","Sécurité Base44 sur 5 438 applis : trois signalements sur presque chacune sont ceux de la plateforme, la source map est le badge Base44, votre part est courte.","2026-09-17","\u002Fblog\u002Fbase44-source-maps\u002Fcard-800x500.png",{"path":868,"title":869,"description":870,"published":871,"category":670,"image":872,"draft":674},"\u002Fblog\u002Fis-cursor-ai-safe","Cursor AI est-il sûr ? L’éditeur, le code et l’appli publiée","Cursor AI est-il sûr ? Trois questions dans une recherche : ce que Cursor garde, ce que son code rate, et si l’appli que vous avez publiée est ouverte.","2026-09-16","\u002Fblog\u002Fis-cursor-ai-safe\u002Fcard-800x500.png",{"path":874,"title":875,"description":876,"published":877,"category":670,"image":878,"draft":674},"\u002Fblog\u002Fis-replit-safe","Replit est-il sûr ? Ce que 3 042 applications Replit nous ont montré","Replit est-il sûr ? 3 042 applications Replit en ligne, neuf vérifications externes. Les trouvailles étaient dans l’application publiée, pas chez l’hébergeur.","2026-09-15","\u002Fblog\u002Fis-replit-safe\u002Fcard-800x500.png",{"path":880,"title":881,"description":882,"published":883,"category":795,"image":884,"draft":674},"\u002Fblog\u002Fsupabase-storage-backup","Supabase storage backup : votre copie de base n'a aucun fichier","Un Supabase storage backup est une tâche à part. Les sauvegardes de la base gardent la liste de vos fichiers et aucun des fichiers, donc chaque upload casse.","2026-09-14","\u002Fblog\u002Fsupabase-storage-backup\u002Fcard-800x500.png",{"path":886,"title":887,"description":888,"published":889,"category":795,"image":890,"draft":674},"\u002Fblog\u002Fsupabase-point-in-time-recovery","Point-in-time recovery Supabase : prix et limites","Le point-in-time recovery de Supabase rembobine votre base à la seconde près sur la dernière semaine. $100 par mois en plus de Pro, et rien que la base.","2026-09-13","\u002Fblog\u002Fsupabase-point-in-time-recovery\u002Fcard-800x500.png",{"path":132,"title":892,"description":893,"published":894,"category":795,"image":895,"draft":674},"Projet Supabase en pause ? Vos données sont toujours là","Supabase a mis votre projet en pause après une semaine sans activité. Rien n'est supprimé, Restaurer est à côté du nom, et vous avez un an pour cliquer.","2026-09-12","\u002Fblog\u002Fsupabase-project-paused-recover\u002Fcard-800x500.png",{"path":897,"title":898,"description":899,"published":900,"category":670,"image":901,"draft":674},"\u002Fblog\u002Fsafest-ai-app-builder","Quel builder d'app IA est le plus sûr ? 30 998 apps testées","Quel builder d'app IA est le plus sûr ? Nous avons scanné 30 998 apps actives de Lovable, Base44, Replit, v0 et Bolt. Ce n'est pas le builder qui décide.","2026-09-11","\u002Fblog\u002Fsafest-ai-app-builder\u002Fcard-800x500.png",{"path":903,"title":904,"description":905,"published":906,"category":670,"image":907,"draft":674},"\u002Fblog\u002Fenable-rls-on-every-supabase-table","Activer Row Level Security sur chaque table Supabase, et le prouver","Activer Row Level Security dans Supabase sans politique ferme la table entièrement. Une politique sans le réglage ne fait rien. Voici le SQL, et le test.","2026-09-10","\u002Fblog\u002Fenable-rls-on-every-supabase-table\u002Fcard-800x500.png",{"path":909,"title":910,"description":911,"published":912,"category":670,"image":913,"draft":674},"\u002Fblog\u002Fsupabase-rls-disabled-in-public","Supabase \"RLS disabled in public\" : ce que l'alerte rate","Supabase signale \"RLS disabled in public\" comme une erreur. Elle ne dit rien de la politique de lecture qui laisse votre table tout aussi ouverte.","2026-09-09","\u002Fblog\u002Fsupabase-rls-disabled-in-public\u002Fcard-800x500.png",{"path":915,"title":916,"description":917,"published":918,"category":670,"image":919,"draft":674},"\u002Fblog\u002Frotate-supabase-service-role-key","Faire tourner une clé service_role Supabase qui a fuité","Supabase dit de colmater la fuite d'abord. D'autres guides disent de faire tourner la clé tout de suite. Tout dépend d'où votre clé service_role a fuité.","2026-09-08","\u002Fblog\u002Frotate-supabase-service-role-key\u002Fcard-800x500.png",{"path":921,"title":922,"description":923,"published":924,"category":670,"image":925,"draft":674},"\u002Fblog\u002Fvibe-coding-security-scanners-compared","Scanners de sécurité vibe coding comparés, le nôtre compris","Le meilleur scanner de sécurité vibe coding tient à trois questions qu'aucune liste de fonctions ne traite. Dix outils comparés, avec les prix.","2026-09-07","\u002Fblog\u002Fvibe-coding-security-scanners-compared\u002Fcard-800x500.png",{"path":927,"title":928,"description":929,"published":930,"category":670,"image":931,"draft":674},"\u002Fblog\u002Fsupabase-security-checker","Supabase security checker : les cinq vérifications à faire soi-même","Un Supabase security checker lit votre app publiée plutôt que les réglages de votre projet. Voici les cinq vérifications, et comment faire chacune vous-même.","2026-09-06","\u002Fblog\u002Fsupabase-security-checker\u002Fcard-800x500.png",{"path":933,"title":934,"description":935,"published":936,"category":670,"image":937,"draft":674},"\u002Fblog\u002Fvibe-coding-security-scanner","Scanner de sécurité vibe coding : ce qu’un scan d’URL rate","Un scanner de sécurité vibe coding lit votre app en ligne depuis l’extérieur. Ce qu’il couvre, les quatre choses qu’il ne voit pas, et comment lire le résultat.","2026-09-05","\u002Fblog\u002Fvibe-coding-security-scanner\u002Fcard-800x500.png",{"path":939,"title":940,"description":941,"published":942,"category":670,"image":943,"draft":674},"\u002Fblog\u002Fmissing-security-headers","En-têtes de sécurité manquants : quand cela compte","Les en-têtes de sécurité manquants sont notre constat le plus fréquent. Contre quoi ils protègent, et quand ils comptent le moins dans votre rapport.","2026-09-04","\u002Fblog\u002Fmissing-security-headers\u002Fcard-800x500.png",{"path":945,"title":946,"description":947,"published":948,"category":670,"image":949,"draft":674},"\u002Fblog\u002Fopenai-api-key-exposed-in-frontend","Votre clé API OpenAI est exposée dans votre frontend. Changez-la.","Une clé API OpenAI exposée dans votre frontend ne peut être liée à aucun domaine. Changez-la aujourd'hui, passez par votre serveur et plafonnez la dépense.","2026-09-03","\u002Fblog\u002Fopenai-api-key-exposed-in-frontend\u002Fcard-800x500.png",{"path":951,"title":952,"description":953,"published":954,"category":670,"image":955,"draft":674},"\u002Fblog\u002Fwhat-secrets-leak-from-vibe-coded-apps","Clé API exposée dans le frontend : ce que 30 998 applis livrent","Une clé API exposée dans votre frontend est le plus souvent une clé Google Maps. Nous avons scanné 30 998 applis vibe-codées et compté ce qui fuit vraiment.","2026-09-02","\u002Fblog\u002Fwhat-secrets-leak-from-vibe-coded-apps\u002Fcard-800x500.png",{"path":957,"title":958,"description":959,"published":960,"category":795,"image":961,"draft":674},"\u002Fblog\u002Fsupabase-backup-tools-compared","Outils de sauvegarde Supabase comparés, le nôtre compris","Quatre familles d'outil de sauvegarde Supabase, ce que chacun copie vraiment, et quand une GitHub Action gratuite bat le fait de payer, nous compris.","2026-09-01","\u002Fblog\u002Fsupabase-backup-tools-compared\u002Fcard-800x500.png",{"path":963,"title":964,"description":965,"published":966,"category":670,"image":967,"draft":674},"\u002Fblog\u002Freplit-secrets-explained","Utiliser les secrets sur Replit, et ce qui est publié quand même","Utiliser les secrets sur Replit : en ajouter un, le relire, corriger les deux causes du undefined. Et les clés que l'outil Secrets ne peut pas protéger.","2026-08-31","\u002Fblog\u002Freplit-secrets-explained\u002Fcard-800x500.png",{"path":460,"title":969,"description":970,"published":971,"category":795,"image":972,"draft":674},"Sauvegardes du plan gratuit Supabase : en faire une sans terminal","Le plan gratuit de Supabase ne fait aucune sauvegarde : la copie vient de vous. Comment la faire depuis le tableau de bord, et ce que le CSV oublie.","2026-08-30","\u002Fblog\u002Fback-up-supabase-free-tier\u002Fcard-800x500.png",{"path":974,"title":975,"description":976,"published":977,"category":670,"image":978,"draft":674},"\u002Fblog\u002Fis-supabase-secure","Supabase est-il sûr ? Oui. Votre projet est une autre question","Supabase est-il sûr ? La plateforme est auditée, chiffrée et testée en intrusion. Sa documentation dit où cela s'arrête et où vos réglages commencent.","2026-08-29","\u002Fblog\u002Fis-supabase-secure\u002Fcard-800x500.png",{"path":980,"title":981,"description":982,"published":983,"category":670,"image":984,"draft":674},"\u002Fblog\u002Fwhere-to-find-supabase-api-keys","Où trouver vos clés API Supabase : anon, service_role et URL","L'URL du projet, la clé anon et la clé service_role tiennent sur une page du tableau de bord. Voici où elle est, et laquelle des quatre va dans votre app.","2026-08-28","\u002Fblog\u002Fwhere-to-find-supabase-api-keys\u002Fcard-800x500.png",{"path":986,"title":987,"description":988,"published":989,"category":670,"image":990,"draft":674},"\u002Fblog\u002Fnew-row-violates-row-level-security-policy","New row violates row-level security policy sur Supabase : et après ?","\"New row violates row-level security policy\" signifie que Supabase a refusé une écriture. Le correctif rapide rouvre la table à tout le monde.","2026-08-27","\u002Fblog\u002Fnew-row-violates-row-level-security-policy\u002Fcard-800x500.png",{"path":992,"title":993,"description":994,"published":995,"category":670,"image":996,"draft":674},"\u002Fblog\u002Fcors-wildcard-security-risk","Un joker CORS est-il un risque de sécurité ? Rarement.","Un joker CORS est-il un risque de sécurité ? C'est souvent le réglage par défaut de votre builder, et il ne livre rien que votre serveur ne donnait déjà.","2026-08-26","\u002Fblog\u002Fcors-wildcard-security-risk\u002Fcard-800x500.png",{"path":998,"title":999,"description":1000,"published":1001,"category":795,"image":1002,"draft":674},"\u002Fblog\u002Fsupabase-branching-is-not-a-backup","Le branching Supabase n'est pas une sauvegarde de vos données.","Pourquoi le branching Supabase n'est pas une sauvegarde : une branche démarre sans vos données, et un merge ne déplace que le schéma. À quoi il sert vraiment.","2026-08-25","\u002Fblog\u002Fsupabase-branching-is-not-a-backup\u002Fcard-800x500.png",{"path":1004,"title":1005,"description":1006,"published":1007,"category":795,"image":1008,"draft":674},"\u002Fblog\u002Fhow-to-restore-a-supabase-backup","Restaurer une sauvegarde Supabase, et ce qui casse après","Restaurer une sauvegarde Supabase depuis le tableau de bord ou un fichier de dump, ce que la restauration remplace et pourquoi votre app peut rester cassée.","2026-08-24","\u002Fblog\u002Fhow-to-restore-a-supabase-backup\u002Fcard-800x500.png",{"path":1010,"title":1011,"description":1012,"published":1013,"category":670,"image":1014,"draft":674},"\u002Fblog\u002Fsupabase-storage-bucket-public","Votre bucket Supabase Storage est public. Est-ce un problème ?","Un bucket Supabase Storage public signifie que celui qui a l'URL d'un fichier peut l'ouvrir. Il ne signifie pas que quelqu'un peut lister ce qu'il contient.","2026-08-23","\u002Fblog\u002Fsupabase-storage-bucket-public\u002Fcard-800x500.png",{"path":1016,"title":1017,"description":1018,"published":1019,"category":670,"image":1020,"draft":674},"\u002Fblog\u002Fgoogle-api-key-exposed-in-frontend","Une clé API Google dans votre frontend, est-ce un problème ?","Une clé API Google exposée dans votre frontend est la clé que notre scanner trouve le plus souvent, et en général tout va bien. Un réglage gratuit tranche.","2026-08-22","\u002Fblog\u002Fgoogle-api-key-exposed-in-frontend\u002Fcard-800x500.png",{"path":1022,"title":1023,"description":1024,"published":1025,"category":795,"image":1026,"draft":674},"\u002Fblog\u002Fai-agent-deleted-my-database","Un agent IA a supprimé mes données Supabase. Que puis-je récupérer ?","Un agent IA a supprimé des données de votre base. Ce que vous pouvez récupérer était déjà décidé avant, et les prochaines minutes décident du reste.","2026-08-21","\u002Fblog\u002Fai-agent-deleted-my-database\u002Fcard-800x500.png",{"path":1028,"title":1029,"description":1030,"published":1031,"category":670,"image":1032,"draft":674},"\u002Fblog\u002Fcan-anyone-read-your-supabase-database","Qui peut lire votre base Supabase ? Nous avons testé 3 680 apps","N'importe qui peut-il lire votre base de données Supabase sans se connecter ? Nous avons scanné 30 998 apps en ligne créées avec des builders IA.","2026-08-18","\u002Fblog\u002Fcan-anyone-read-your-supabase-database\u002Fcard-800x500.png",{"path":1034,"title":1035,"description":1036,"published":1031,"category":670,"image":1037,"draft":674},"\u002Fblog\u002Fsource-maps-exposed-in-production","Source maps exposées : votre app publie son code original","Une source map exposée laisse n'importe qui lire le code original de votre app, commentaires compris. Le test de 30 secondes, et ce qui compte vraiment.","\u002Fblog\u002Fsource-maps-exposed-in-production\u002Fcard-800x500.png",{"path":420,"title":1039,"description":1040,"published":1041,"category":670,"image":1042,"draft":674},"Les nouvelles clés API Supabase : laquelle va dans votre app ?","Supabase a remplacé anon et service_role par des clés publiables et secrètes. Laquelle a sa place dans votre app, et laquelle jamais ?","2026-08-12","\u002Fblog\u002Fsupabase-new-api-keys\u002Fcard-800x500.png",{"path":1044,"title":1045,"description":1046,"published":1047,"category":795,"image":1048,"draft":674},"\u002Fblog\u002Fdoes-supabase-back-up-my-database","Supabase sauvegarde-t-il ma base de données ? Cela dépend du plan.","Supabase sauvegarde-t-il votre base de données ? Chaque jour sur les plans payants, jamais sur le gratuit. Comment savoir ce que vous avez vraiment.","2026-08-11","\u002Fblog\u002Fdoes-supabase-back-up-my-database\u002Fcard-800x500.png",{"path":1050,"title":1051,"description":1052,"published":1053,"category":670,"image":1054,"draft":674},"\u002Fblog\u002Fsupabase-rls-on-but-table-still-public","Supabase Row Level Security est activé. La table reste publique.","Activer Supabase Row Level Security ne protège pas une table. Ce sont vos politiques, et celle qui a réparé votre app laisse peut-être entrer tout le monde.","2026-08-10","\u002Fblog\u002Fsupabase-rls-on-but-table-still-public\u002Fcard-800x500.png",{"path":1056,"title":1057,"description":1058,"published":1053,"category":795,"image":1059,"draft":674},"\u002Fblog\u002Fversion-history-is-not-a-backup","L'historique des versions n'est pas une sauvegarde de vos données.","Lovable et Bolt tiennent un historique des versions de votre code. Votre base de données est un service à part, et revenir en arrière ne la ramène pas.","\u002Fblog\u002Fversion-history-is-not-a-backup\u002Fcard-800x500.png",{"path":1061,"title":1062,"description":1063,"published":1064,"category":795,"image":1065,"draft":674},"\u002Fblog\u002Fthree-ways-to-back-up-a-supabase-database","Trois façons de sauvegarder une base Supabase, et ce qui manque","Le tableau de bord, pg_dump et un service géré. Ce que chacun enregistre, ce qu'il laisse de côté sans le dire, et lequel survit à la perte du compte.","2026-08-09","\u002Fblog\u002Fthree-ways-to-back-up-a-supabase-database\u002Fcard-800x500.png",{"path":1067,"title":1068,"description":1069,"published":1064,"category":670,"image":1070,"draft":674},"\u002Fblog\u002Fwhich-api-keys-are-safe-in-your-frontend","Quelles clés API sont sûres côté navigateur, et lesquelles non","Votre clé anon Supabase est faite pour être publique. Votre clé service_role non, et elle ignore toutes les règles que vous posez. Comment les distinguer.","\u002Fblog\u002Fwhich-api-keys-are-safe-in-your-frontend\u002Fcard-800x500.png",1791705960642]