[{"data":1,"prerenderedAt":799},["ShallowReactive",2],{"blog-fr-supabase-project-paused-recover":3,"blog-index-fr":452},{"id":4,"title":5,"body":6,"category":405,"cover":406,"coverAlt":407,"description":408,"draft":409,"extension":410,"faq":411,"image":429,"keywords":430,"meta":438,"navigation":439,"ogTitle":440,"path":441,"published":442,"seo":443,"stem":444,"tldr":445,"updated":450,"__hash__":451},"blog_fr\u002Fblog\u002Fsupabase-project-paused-recover.md","Projet Supabase en pause ? Vos données sont toujours là",{"type":7,"value":8,"toc":391},"minimark",[9,13,16,19,24,27,30,41,45,48,51,54,58,61,64,98,101,109,113,116,125,131,134,138,141,144,153,220,223,228,231,235,238,246,249,262,266,269,272,283,291,295,320,324,327,332,364,371,383],[10,11,12],"p",{},"Votre app ne répond plus. Chaque requête revient en erreur et, quand vous ouvrez\nvotre tableau de bord Supabase, le projet porte le mot Paused à côté de son nom,\navec un bouton Restaurer là où se trouvaient les panneaux habituels. Rien de ce\nque vous avez déployé n'a provoqué cela, et rien ne vous a prévenu.",[10,14,15],{},"C'est ici que les deux réponses habituelles se trompent. La première dit que\nvotre base de données a disparu, ce qui n'a jamais été vrai. La seconde dit de\nvous détendre, qu'un projet Supabase en pause pour inactivité conserve toutes\nses données, donc cliquez sur Restaurer et passez à autre chose. Celle-là est\nvraie aujourd'hui et cesse discrètement de l'être à une date que personne ne\nmentionne.",[10,17,18],{},"Il aide de voir le projet comme un box de stockage. Le loyer n'est plus payé,\ndonc la lumière est éteinte et la porte fermée. Vos cartons sont dedans,\nexactement comme vous les avez laissés. C'est là que se tient votre projet en ce\nmoment, et il existe une date après laquelle le box est vidé.",[20,21,23],"h2",{"id":22},"un-projet-supabase-en-pause-est-il-supprimé","Un projet Supabase en pause est-il supprimé ?",[10,25,26],{},"Non. Le projet est arrêté, et arrêter n'est pas retirer. Vos tables, vos lignes,\nvos règles Row Level Security et les fichiers téléversés par vos utilisateurs\nsont tous encore sur le disque. Ce qui a été éteint, c'est la base de données\ndevant eux, et c'est pourquoi votre app reçoit une erreur à chaque requête.",[10,28,29],{},"Cet écart rend la panique raisonnable. Vu de l'extérieur, l'app est cassée comme\nune app se casse quand sa base de données a disparu : listes vides, chargements\nqui ne finissent jamais, une erreur à chaque enregistrement. Vu du tableau de\nbord, c'est un projet avec un bouton dessus.",[10,31,32,33,40],{},"Supabase met en pause des projets sur le plan gratuit, et uniquement là. Selon\nleur propre documentation, ils peuvent mettre en pause les applications du plan\ngratuit qui montrent peu d'activité sur sept jours afin d'économiser des\nressources serveur, et les projets payants ne sont pas mis en pause pour\ninactivité. Leur\n",[34,35,39],"a",{"href":36,"rel":37},"https:\u002F\u002Fsupabase.com\u002Fdocs\u002Fguides\u002Fplatform\u002Ffree-project-pausing",[38],"nofollow","page sur la mise en pause","\nest celle à lire, car tout ce qui suit ici dépend de chiffres qui leur\nappartiennent.",[20,42,44],{"id":43},"pourquoi-supabase-a-t-il-mis-mon-projet-en-pause","Pourquoi Supabase a-t-il mis mon projet en pause ?",[10,46,47],{},"Parce que personne ne lui a parlé pendant environ une semaine.",[10,49,50],{},"Activité veut dire requêtes. Ouvrir le projet dans le tableau de bord compte.\nVotre app qui appelle la base de données compte. Ce qui ne compte pas, c'est que\nvotre app existe : un projet lancé le mois dernier et qui n'a pas encore trouvé\nde visiteurs est exactement la forme qui se fait mettre en pause. Cela ne touche\npresque jamais les apps fréquentées.",[10,52,53],{},"Le plan gratuit autorise par ailleurs deux projets actifs à la fois, et les\nprojets en pause cessent de compter dans cette limite. Un projet que vous avez\ngaré exprès et un projet qui s'est arrêté tout seul se ressemblent donc dans le\ntableau de bord, et tous les deux courent désormais contre la même horloge d'un\nan.",[20,55,57],{"id":56},"comment-restaurer-un-projet-supabase-en-pause","Comment restaurer un projet Supabase en pause ?",[10,59,60],{},"Ouvrez le tableau de bord, choisissez le projet, cliquez sur Restaurer. Dans la\nfenêtre, c'est toute la procédure, et cela représente quelques minutes d'attente\nplutôt qu'une migration.",[10,62,63],{},"Ce qui revient, c'est le projet que vous aviez. La même référence de projet,\ndonc la même URL d'API. Les mêmes tables, les mêmes règles, les mêmes buckets\nStorage. Supabase relance les projets gratuits sur la dernière version mineure\nde Postgres au passage, ce que vous ne remarquerez pas.",[10,65,66,67,71,72,75,76,81,82,84,85,88,89,92,93,97],{},"Les clés sont la partie qui risque de ne pas revenir telle quelle. Supabase a\nprévenu que les projets restaurés depuis le 1er novembre 2025 ne reçoivent plus\nles clés historiques, ",[68,69,70],"code",{},"anon"," et ",[68,73,74],{},"service_role",". ",[34,77,80],{"href":78,"rel":79},"https:\u002F\u002Fgithub.com\u002Forgs\u002Fsupabase\u002Fdiscussions\u002F29260",[38],"Selon les propres termes de\nSupabase",", les projets en\npause que l'on restaure risquent d'être cassés parce qu'ils n'auront plus les\nclés historiques. Si votre app envoie encore l'ancienne clé ",[68,83,70],{},", une longue\nchaîne qui commence par ",[68,86,87],{},"eyJ",", attendez-vous à ce que ses requêtes soient\nrefusées une fois le projet revenu. La solution consiste à mettre la clé\npubliable du projet, celle qui commence par ",[68,90,91],{},"sb_publishable_",", dans les réglages\nd'environnement de votre builder. ",[34,94,96],{"href":95},"\u002Fblog\u002Fsupabase-new-api-keys","Les deux formats de\nclé"," y sont comparés côte à côte.",[10,99,100],{},"Faites une chose avant de fermer l'onglet : prenez une copie des données pendant\nque la base tourne. Un projet en pause est le seul état dans lequel vous ne\npouvez rien exporter, et la raison de le faire aujourd'hui plutôt que la semaine\nprochaine, c'est l'horloge de la section suivante.",[10,102,103,104,108],{},"Tant que votre app est de nouveau debout, il vaut aussi la peine de savoir ce\nqu'elle montre à un inconnu. Notre scan gratuit lit votre site depuis\nl'extérieur et vous dit ce qu'il trouve. Il prend une vingtaine de secondes et\nne demande aucun compte : ",[34,105,107],{"href":106},"\u002Fsecurity-scanner","scannez votre app",".",[20,110,112],{"id":111},"combien-de-temps-ai-je-pour-le-restaurer","Combien de temps ai-je pour le restaurer ?",[10,114,115],{},"Un an à compter du jour de la mise en pause. Supabase le formule ainsi : une\nfois le projet en pause, il existe une fenêtre d'un an pour le restaurer sur la\nplateforme depuis Supabase Studio.",[10,117,118,119,124],{},"Vérifiez ce chiffre plutôt que de lui faire confiance, car il a déjà bougé une\nfois. Quand la limite a été\n",[34,120,123],{"href":121,"rel":122},"https:\u002F\u002Fsupabase.com\u002Fchangelog\u002F27497-paused-free-plan-projects-are-restorable-for-90-days",[38],"introduite en juin 2024","\nelle était de 90 jours, et tout ce qui a été écrit sur les projets en pause\navant que Supabase ne l'élargisse dit encore 90. Leur propre article d'aide en\nest le signe le plus net : la page dit un an, et l'URL où elle vit dit toujours\n90 jours.",[126,127],"diagram",{"alt":128,"caption":129,"src":130},"Une frise chronologique. Elle démarre sur un symbole de pause, traverse une longue bande surlignée contenant une clé, puis continue au-delà de la bande jusqu'à un fichier enregistré et un seau. Plus loin, un contour vide barré.","Dans la bande, un bouton vous rend le projet. Après elle, vous pouvez encore récupérer les données, et plus loin encore il ne reste rien à récupérer.","\u002Fblog\u002Fsupabase-project-paused-recover\u002Fthe-restore-window-1600x520.png",[10,132,133],{},"Calculez la date et mettez-la dans un calendrier pendant que vous y pensez.\nC'est un an après le jour où le projet est passé en pause, ce qui n'est presque\njamais un an après le jour où vous l'avez remarqué.",[20,135,137],{"id":136},"il-ny-a-pas-de-bouton-restaurer-que-se-passe-t-il","Il n'y a pas de bouton Restaurer. Que se passe-t-il ?",[10,139,140],{},"Vous obtenez un téléchargement au lieu d'une restauration, et cette différence\nest plus grande qu'elle n'en a l'air.",[10,142,143],{},"Une fois la fenêtre fermée, Supabase remplace l'option de restauration par deux\nchoses à emporter : la dernière sauvegarde logique, prise juste avant la mise en\npause, et tous vos objets Storage. Les deux se récupèrent sur la page de résumé\ndu projet. Vos données sont dans ces fichiers. Votre projet, lui, ne l'est pas,\net il ne reviendra pas.",[10,145,146,147,152],{},"Supabase documente\n",[34,148,151],{"href":149,"rel":150},"https:\u002F\u002Fsupabase.com\u002Fdocs\u002Fguides\u002Ftroubleshooting\u002Frestore-project-after-90-days-pause",[38],"la migration qui suit",".\nCe sont cinq étapes, et à elles toutes elles réclament un client Postgres, la\nCLI Supabase et un jeton d'accès à la Management API.",[154,155,156,169],"table",{},[157,158,159],"thead",{},[160,161,162,166],"tr",{},[163,164,165],"th",{},"Ce que vous récupérez",[163,167,168],{},"Comment cela arrive",[170,171,172,188,196,204,212],"tbody",{},[160,173,174,178],{},[175,176,177],"td",{},"Tables, lignes, types de colonnes, index et règles Row Level Security",[175,179,180,181,184,185],{},"Dans le fichier ",[68,182,183],{},".backup",", rejoué dans un projet neuf avec ",[68,186,187],{},"psql",[160,189,190,193],{},[175,191,192],{},"Les fichiers téléversés par vos utilisateurs",[175,194,195],{},"Téléchargés à part depuis la page de résumé, puis copiés dans les nouveaux buckets avec la CLI Supabase",[160,197,198,201],{},[175,199,200],{},"Les réglages Auth, Realtime, Storage et API",[175,202,203],{},"Supabase publie un script qui les recopie via sa Management API",[160,205,206,209],{},[175,207,208],{},"Extensions, webhooks de base de données et publications Realtime",[175,210,211],{},"Vous les réactivez à la main dans le nouveau projet",[160,213,214,217],{},[175,215,216],{},"Votre URL d'API et vos clés",[175,218,219],{},"Cela, vous ne le récupérez pas. Un nouveau projet a une nouvelle référence, donc l'URL et chaque clé changent avec elle, et tout ce qui garde les anciennes doit être mis à jour",[10,221,222],{},"Cette dernière ligne est celle que les gens découvrent trop tard. L'adresse que\nvotre app utilisait fait partie du projet que vous venez de perdre :\nreconstruire n'est donc pas qu'un travail sur les données. Les variables\nd'environnement de votre builder, tout ce que vous avez collé directement dans\nle code, chaque webhook, prestataire de paiement ou outil d'analytics pointant\nvers l'ancienne URL : chacun est un endroit où l'app casse une fois les données\nrevenues saines et sauves.",[126,224],{"alt":225,"caption":226,"src":227},"Deux couloirs. Dans celui du haut, un projet en pause est ouvert avec une clé et continue comme le même projet, sa liaison vers l'app intacte. Dans celui du bas, le projet devient un fichier enregistré et un seau de fichiers, qui alimentent un projet différent, et la ligne depuis l'app vers lui est en pointillés et barrée.","Les deux couloirs finissent avec vos lignes dans une base de données. Un seul finit avec l'app qui pointe encore au bon endroit.","\u002Fblog\u002Fsupabase-project-paused-recover\u002Frestore-or-rebuild-1600x600.png",[10,229,230],{},"Il reste une ligne après celle-là, et elle n'a aucun recours attaché. La note de\nSupabase est sans détour : une fois un projet supprimé, toutes les données\nassociées, sauvegardes comprises, sont retirées définitivement et ne peuvent pas\nêtre récupérées. Si votre tableau de bord vous propose des téléchargements en ce\nmoment, prenez-les tout de suite.",[20,232,234],{"id":233},"le-plan-gratuit-garde-t-il-une-sauvegarde-pendant-la-pause","Le plan gratuit garde-t-il une sauvegarde pendant la pause ?",[10,236,237],{},"Il y en a exactement une, et ce n'est pas le filet de sécurité que la plupart\ndes gens imaginent.",[10,239,240,241,245],{},"Le plan gratuit ne prend aucune sauvegarde planifiée. Rien n'est copié nulle\npart tant que votre projet tourne, ce qu'il\n",[34,242,244],{"href":243},"\u002Fblog\u002Fdoes-supabase-back-up-my-database","vaut mieux savoir avant que quelque chose tourne mal","\nque pendant. La copie qui apparaît dans votre tableau de bord à la fermeture de\nla fenêtre est une unique sauvegarde logique prise à l'instant de la pause, et\nelle devient téléchargeable précisément au moment où vous ne pouvez plus\nrestaurer.",[10,247,248],{},"Deux choses en découlent. La copie porte la date du jour où votre projet s'est\narrêté, ce qui s'avère suffisant, puisqu'un projet en pause n'a plus accepté une\nseule écriture depuis. Et elle vit dans le même compte que le projet dont elle\nvient, derrière le même identifiant, couverte par la même suppression. Elle est\ndans le box, derrière la même porte.",[10,250,251,252,256,257,261],{},"Le moment de prendre votre propre copie, c'est pendant que le projet tourne de\nnouveau.\n",[34,253,255],{"href":254},"\u002Fblog\u002Fback-up-supabase-free-tier","En faire une depuis le tableau de bord sans toucher à un terminal","\nest la voie du plan gratuit, et\n",[34,258,260],{"href":259},"\u002Fblog\u002Fthree-ways-to-back-up-a-supabase-database","trois façons de sauvegarder une base de données Supabase","\ncompare ce que chacune coûte.",[20,263,265],{"id":264},"comment-éviter-que-cela-recommence","Comment éviter que cela recommence ?",[10,267,268],{},"Donnez au projet quelque chose à répondre tous les deux ou trois jours, ou\nsortez-le du plan gratuit.",[10,270,271],{},"Supabase compte comme activité l'ouverture du projet dans le tableau de bord et\nles requêtes venant de votre application connectée. Une tâche planifiée qui\nappelle votre base une fois par jour suffit donc à garder le compteur éveillé,\net un petit service de cron ou un workflow planifié dans votre dépôt de code est\nla manière habituelle d'en mettre un en place.",[273,274,276],"callout",{"type":275},"warn",[10,277,278,282],{},[279,280,281],"strong",{},"Un ping garde le projet éveillé et rien d'autre."," Ce n'est pas une\nsauvegarde, il ne vous dit rien sur le moment où votre app casse pour toutes les\nautres raisons qui cassent une app, et une tâche planifiée qui a cessé de\ntourner en silence ressemble exactement à une tâche qui tourne encore. Ce qui\nenvoie le ping doit être quelque chose dont vous remarqueriez la panne, faute de\nquoi la première nouvelle sera le même badge Paused que celui que vous regardez\nmaintenant.",[10,284,285,286,290],{},"Passer à Pro supprime la question au lieu de la gérer. Les projets payants ne\nsont pas mis en pause pour inactivité, et Pro est aussi le plan où commencent\nles sauvegardes quotidiennes de Supabase, sur une fenêtre de sept jours. ",[34,287,289],{"href":288},"\u002Fblog\u002Fsupabase-free-plan-limits","Ce que Pro change d'autre, limite par limite",", fait l'objet d'un article à part.",[20,292,294],{"id":293},"quoi-faire-cette-semaine","Quoi faire cette semaine",[296,297,298],"key-takeaways",{},[299,300,301,308,311,314,317],"ul",{},[302,303,304,305,307],"li",{},"Cliquez sur Restaurer aujourd'hui si le bouton est là. Cela prend quelques minutes, et c'est la seule voie qui garde votre URL. Si votre app utilise encore l'ancienne clé ",[68,306,70],{},", donnez-lui la clé publiable une fois le projet revenu.",[302,309,310],{},"Si le bouton a disparu, téléchargez d'abord le fichier de sauvegarde et vos fichiers Storage. Un projet supprimé les emporte.",[302,312,313],{},"Prenez votre propre copie de la base dès que le projet tourne, car le plan gratuit n'en prend aucune pour vous.",[302,315,316],{},"Mettez quelque chose sur une minuterie qui appelle votre projet, et assurez-vous que vous remarqueriez l'arrêt de cette minuterie.",[302,318,319],{},"Gardez une copie de vos données hors de votre compte Supabase, là où ni une pause, ni une fenêtre expirée, ni une suppression ne peut l'atteindre.",[20,321,323],{"id":322},"où-se-place-reeve-care","Où se place Reeve Care",[10,325,326],{},"Une pause est une panne qui n'en a pas l'air. Vos pages continuent de charger,\nparce que c'est votre builder qui les sert ; ce qui s'est arrêté, c'est tout ce\nqu'il y a derrière. C'est une bonne partie de la raison pour laquelle personne\nne vous a prévenu.",[126,328],{"alt":329,"caption":330,"src":331},"Un panneau Reeve Care à deux rangées. Dans la première, le contour en pointillés d'un compte Supabase est barré tandis que des fichiers enregistrés se tiennent à l'extérieur, cochés. Dans la seconde, un site est observé à la loupe et une alerte est levée.","Les copies se tiennent hors du compte dont elles viennent. L'app est surveillée de l'extérieur elle aussi, et une vérification qui cesse d'obtenir une réponse déclenche quelque chose.","\u002Fblog\u002Fsupabase-project-paused-recover\u002Fcare-outside-and-watching-1600x520.png",[299,333,334,340,346,352,358],{},[302,335,336,339],{},[279,337,338],{},"Un projet en pause ne peut pas être copié, et une copie qui échoue vous\nenvoie un e-mail."," Care se connecte à votre base selon son propre calendrier\nplutôt que d'attendre que votre app s'en aperçoive : la nuit où elle cesse de\nrépondre est la nuit où vous l'apprenez.",[302,341,342,345],{},[279,343,344],{},"La copie vit hors de votre compte Supabase."," Chiffrée, sur un stockage que\nnous détenons, de sorte qu'un projet mis en pause, expiré ou supprimé\nn'emporte pas les sauvegardes avec lui.",[302,347,348,351],{},[279,349,350],{},"Chaque copie est relue avant de compter."," La date affichée dans votre\ntableau de bord est la dernière sauvegarde ayant passé ce contrôle, jamais la\ndernière tentée.",[302,353,354,357],{},[279,355,356],{},"Restaurer est un bouton",", et une capture de l'état actuel est prise avant\nde commencer, de sorte que la restauration a elle aussi son annulation.",[302,359,360,363],{},[279,361,362],{},"Les fichiers téléversés par vos utilisateurs sont copiés eux aussi",", dès que\nvous connectez vos buckets Storage. C'est une deuxième clé et elle est\nfacultative, car la clé que Supabase émet pour Storage sait aussi écrire, et\nnous préférons la demander à part plutôt que de la fondre avec une clé qui ne\nle peut pas.",[10,365,366,367,370],{},"Deux limites, avant que vous ne décidiez quoi que ce soit. Care sauvegarde\n",[279,368,369],{},"Supabase"," et rien d'autre à ce jour, et si vos données vivent ailleurs nous\nle disons avant que vous payiez plutôt qu'après. Et rien de tout cela n'empêche\nun projet de passer en pause : la pause se produit à l'intérieur de Supabase, où\nnous sommes un client comme un autre. Ce qui change, c'est où se tiennent vos\ndonnées le jour où cela arrive.",[10,372,373,374,378,379,108],{},"Laissez aussi les sauvegardes de Supabase activées le jour où vous passez à un\nplan payant. Deux copies à deux endroits, c'est toute l'idée, et la moins chère\ndes deux est déjà dans votre facture. Ce que contient chaque plan est sur la\n",[34,375,377],{"href":376},"\u002Fpricing","page des tarifs",", et la copie, le contrôle et la restauration sont\ndessinés étape par étape sur la\n",[34,380,382],{"href":381},"\u002Fsupabase-backups","page des sauvegardes Supabase",[10,384,385,386,390],{},"Avant de fermer cet onglet, ouvrez votre tableau de bord et regardez lequel des\ndeux boutons votre projet vous propose. Ce seul fait décide si aujourd'hui est\ncinq minutes d'attente ou une reconstruction, et la\n",[34,387,389],{"href":388},"\u002Fchecklist","checklist de sécurité en 10 minutes"," couvre les sauvegardes avec\ntout le reste de ce qu'il vaut la peine de confirmer une fois votre app de\nnouveau en ligne.",{"title":392,"searchDepth":393,"depth":393,"links":394},"",3,[395,397,398,399,400,401,402,403,404],{"id":22,"depth":396,"text":23},2,{"id":43,"depth":396,"text":44},{"id":56,"depth":396,"text":57},{"id":111,"depth":396,"text":112},{"id":136,"depth":396,"text":137},{"id":233,"depth":396,"text":234},{"id":264,"depth":396,"text":265},{"id":293,"depth":396,"text":294},{"id":322,"depth":396,"text":323},"Backups","\u002Fblog\u002Fsupabase-project-paused-recover\u002Fcover-1200x630.png","Un symbole de pause à côté d'une boîte de projet fermée, avec la base de données et les fichiers téléversés toujours dedans.","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.",false,"md",[412,414,417,420,423,426],{"q":23,"a":413},"Non. Une pause arrête la base de données, elle ne retire rien. Vos tables, vos lignes, vos règles Row Level Security et les fichiers téléversés sont tous toujours sur le disque, et c'est pour cela que le tableau de bord vous propose un bouton Restaurer plutôt que des excuses. Ce que la pause casse, c'est votre app, puisque chaque requête qu'elle envoie revient désormais en erreur.",{"q":415,"a":416},"Combien de temps ai-je pour restaurer un projet Supabase en pause ?","Un an à compter du jour de la mise en pause. Supabase parle d'une fenêtre d'un an pour restaurer le projet depuis Supabase Studio. Ce chiffre a déjà bougé : c'était 90 jours quand la limite est arrivée en juin 2024, et l'article d'aide que Supabase publie à ce sujet porte encore 90 jours dans son URL. Lisez la valeur actuelle sur leur page consacrée à la mise en pause et nulle part ailleurs.",{"q":418,"a":419},"Mon projet n'a pas de bouton Restaurer. Et maintenant ?","La fenêtre est fermée, et Supabase a remplacé ce bouton par deux téléchargements : la dernière sauvegarde logique, prise juste avant la mise en pause, et tous vos fichiers Storage. Les deux se trouvent sur la page de résumé du projet. Vos données sont dedans, et revenir à une app qui fonctionne passe par créer un nouveau projet et y rejouer ces fichiers. Téléchargez les deux aujourd'hui, car un projet supprimé emporte ses sauvegardes définitivement.",{"q":421,"a":422},"Mon URL de projet et mes clés API resteront-elles les mêmes ?","Si vous cliquez sur Restaurer dans la fenêtre, l'URL oui : le projet revient avec la même référence de projet, à partir de laquelle votre URL est construite. Les clés, peut-être pas. Supabase a prévenu que les projets restaurés depuis le 1er novembre 2025 reviennent sans les clés historiques anon et service_role, donc une app qui utilise encore la clé anon a besoin à la place de la clé publiable du projet. Si vous devez reconstruire dans un nouveau projet, les deux changent : un nouveau projet a une nouvelle référence, donc l'URL de l'API et chaque clé changent avec elle. Cela veut dire mettre à jour les variables d'environnement de votre builder et tout ce qui a noté l'ancienne adresse, webhooks et services tiers compris.",{"q":424,"a":425},"Comment éviter que Supabase remette mon projet en pause ?","Donnez-lui quelque chose à répondre au moins une fois par semaine, ou sortez-le du plan gratuit. Supabase compte comme activité l'ouverture du tableau de bord et les requêtes venant de votre application connectée : une tâche planifiée qui appelle votre projet une fois par jour garde le compteur éveillé. Passer à Pro supprime la question, puisque les projets payants ne sont pas mis en pause pour inactivité, et c'est aussi là que commencent les sauvegardes quotidiennes.",{"q":427,"a":428},"Mon projet a disparu du tableau de bord, il n'est pas en pause. Puis-je le récupérer ?","Commencez par établir lequel des deux cas vous avez, car ce sont deux situations différentes. Un projet en pause reste listé, avec Restaurer à côté de son nom et les données gelées sur le disque. S'il n'apparaît plus du tout, le tableau de bord n'offre aucune annulation de suppression : il reste un ticket de support chez Supabase et une copie que vous avez faite vous-même. Cette seconde option est tout l'argument pour avoir une sauvegarde avant le jour où elle sert.","\u002Fblog\u002Fsupabase-project-paused-recover\u002Fcard-800x500.png",[431,432,433,434,435,436,437],"projet supabase en pause","supabase plan gratuit en pause","restaurer projet supabase en pause","récupérer projet supabase supprimé","relancer projet supabase","supabase inactif 7 jours","garder projet supabase actif",{},true,"Projet Supabase en pause ? Que faire maintenant","\u002Fblog\u002Fsupabase-project-paused-recover","2026-09-12",{"title":5,"description":408},"blog\u002Fsupabase-project-paused-recover",[446,447,448,449],"Un projet Supabase mis en pause pour inactivité n'est pas un projet supprimé. Les données sont gelées sur le disque et le tableau de bord affiche un bouton Restaurer.","Vous avez un an à compter du jour de la mise en pause pour le restaurer depuis le tableau de bord. Les projets gratuits passent en pause après une semaine de faible activité.","Passé cette année, le bouton Restaurer est remplacé par un téléchargement, et le seul retour possible est un nouveau projet avec une nouvelle URL et de nouvelles clés.","Le plan gratuit ne copie rien tant que votre projet tourne : la seule sauvegarde qui existe est celle prise à l'instant de la pause.","2026-09-30","tyPPuplMmgHYHyrgTOHLu4YhM5AaZ3_FkbH_EyPjeZk",[453,460,466,472,478,484,490,496,502,508,514,519,524,530,536,542,547,553,559,565,571,577,583,589,595,601,607,613,619,625,626,632,638,644,650,656,662,668,674,680,686,692,698,703,709,715,721,727,733,739,745,751,757,763,768,773,778,784,789,794],{"path":454,"title":455,"description":456,"published":457,"category":458,"image":459,"draft":409},"\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","Bases de la sécurité","\u002Fblog\u002Fbase44-security-scan\u002Fcard-800x500.png",{"path":461,"title":462,"description":463,"published":464,"category":458,"image":465,"draft":409},"\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":467,"title":468,"description":469,"published":470,"category":458,"image":471,"draft":409},"\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":473,"title":474,"description":475,"published":476,"category":458,"image":477,"draft":409},"\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":479,"title":480,"description":481,"published":482,"category":458,"image":483,"draft":409},"\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":485,"title":486,"description":487,"published":488,"category":458,"image":489,"draft":409},"\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":491,"title":492,"description":493,"published":494,"category":458,"image":495,"draft":409},"\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":497,"title":498,"description":499,"published":500,"category":458,"image":501,"draft":409},"\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":503,"title":504,"description":505,"published":506,"category":458,"image":507,"draft":409},"\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":509,"title":510,"description":511,"published":512,"category":458,"image":513,"draft":409},"\u002Fblog\u002Fis-supabase-down-or-your-app","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.","2026-10-01","\u002Fblog\u002Fis-supabase-down-or-your-app\u002Fcard-800x500.png",{"path":515,"title":516,"description":517,"published":450,"category":458,"image":518,"draft":409},"\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.","\u002Fblog\u002Fdoes-supabase-encrypt-my-data\u002Fcard-800x500.png",{"path":288,"title":520,"description":521,"published":522,"category":458,"image":523,"draft":409},"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":525,"title":526,"description":527,"published":528,"category":405,"image":529,"draft":409},"\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","\u002Fblog\u002Ftest-your-supabase-backup\u002Fcard-800x500.png",{"path":531,"title":532,"description":533,"published":534,"category":405,"image":535,"draft":409},"\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":537,"title":538,"description":539,"published":540,"category":405,"image":541,"draft":409},"\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":543,"title":544,"description":545,"published":540,"category":458,"image":546,"draft":409},"\u002Fblog\u002Fsupabase-permission-denied-for-table","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":548,"title":549,"description":550,"published":551,"category":458,"image":552,"draft":409},"\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":554,"title":555,"description":556,"published":557,"category":458,"image":558,"draft":409},"\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":560,"title":561,"description":562,"published":563,"category":405,"image":564,"draft":409},"\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":566,"title":567,"description":568,"published":569,"category":458,"image":570,"draft":409},"\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":572,"title":573,"description":574,"published":575,"category":458,"image":576,"draft":409},"\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":578,"title":579,"description":580,"published":581,"category":458,"image":582,"draft":409},"\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":584,"title":585,"description":586,"published":587,"category":458,"image":588,"draft":409},"\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":590,"title":591,"description":592,"published":593,"category":458,"image":594,"draft":409},"\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":596,"title":597,"description":598,"published":599,"category":458,"image":600,"draft":409},"\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":602,"title":603,"description":604,"published":605,"category":458,"image":606,"draft":409},"\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":608,"title":609,"description":610,"published":611,"category":458,"image":612,"draft":409},"\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":614,"title":615,"description":616,"published":617,"category":405,"image":618,"draft":409},"\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":620,"title":621,"description":622,"published":623,"category":405,"image":624,"draft":409},"\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":441,"title":5,"description":408,"published":442,"category":405,"image":429,"draft":409},{"path":627,"title":628,"description":629,"published":630,"category":458,"image":631,"draft":409},"\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":633,"title":634,"description":635,"published":636,"category":458,"image":637,"draft":409},"\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":639,"title":640,"description":641,"published":642,"category":458,"image":643,"draft":409},"\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":645,"title":646,"description":647,"published":648,"category":458,"image":649,"draft":409},"\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":651,"title":652,"description":653,"published":654,"category":458,"image":655,"draft":409},"\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":657,"title":658,"description":659,"published":660,"category":458,"image":661,"draft":409},"\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":663,"title":664,"description":665,"published":666,"category":458,"image":667,"draft":409},"\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":669,"title":670,"description":671,"published":672,"category":458,"image":673,"draft":409},"\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":675,"title":676,"description":677,"published":678,"category":458,"image":679,"draft":409},"\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":681,"title":682,"description":683,"published":684,"category":458,"image":685,"draft":409},"\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":687,"title":688,"description":689,"published":690,"category":405,"image":691,"draft":409},"\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":693,"title":694,"description":695,"published":696,"category":458,"image":697,"draft":409},"\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":254,"title":699,"description":700,"published":701,"category":405,"image":702,"draft":409},"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":704,"title":705,"description":706,"published":707,"category":458,"image":708,"draft":409},"\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":710,"title":711,"description":712,"published":713,"category":458,"image":714,"draft":409},"\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":716,"title":717,"description":718,"published":719,"category":458,"image":720,"draft":409},"\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":722,"title":723,"description":724,"published":725,"category":458,"image":726,"draft":409},"\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":728,"title":729,"description":730,"published":731,"category":405,"image":732,"draft":409},"\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":734,"title":735,"description":736,"published":737,"category":405,"image":738,"draft":409},"\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":740,"title":741,"description":742,"published":743,"category":458,"image":744,"draft":409},"\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":746,"title":747,"description":748,"published":749,"category":458,"image":750,"draft":409},"\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":752,"title":753,"description":754,"published":755,"category":405,"image":756,"draft":409},"\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":758,"title":759,"description":760,"published":761,"category":458,"image":762,"draft":409},"\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":764,"title":765,"description":766,"published":761,"category":458,"image":767,"draft":409},"\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":95,"title":769,"description":770,"published":771,"category":458,"image":772,"draft":409},"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":243,"title":774,"description":775,"published":776,"category":405,"image":777,"draft":409},"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":779,"title":780,"description":781,"published":782,"category":458,"image":783,"draft":409},"\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":785,"title":786,"description":787,"published":782,"category":405,"image":788,"draft":409},"\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":259,"title":790,"description":791,"published":792,"category":405,"image":793,"draft":409},"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":795,"title":796,"description":797,"published":792,"category":458,"image":798,"draft":409},"\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",1791618969142]