[{"data":1,"prerenderedAt":338},["ShallowReactive",2],{"blog-fr-supabase-branching-is-not-a-backup":3},{"id":4,"title":5,"body":6,"category":297,"cover":298,"coverAlt":299,"description":300,"draft":301,"extension":302,"faq":303,"image":318,"keywords":319,"meta":326,"navigation":327,"ogTitle":328,"path":329,"published":330,"seo":331,"stem":332,"tldr":333,"updated":330,"__hash__":337},"blog_fr\u002Fblog\u002Fsupabase-branching-is-not-a-backup.md","Le branching Supabase n'est pas une sauvegarde de vos données.",{"type":7,"value":8,"toc":285},"minimark",[9,13,16,24,29,32,35,38,122,131,135,138,141,144,148,151,154,160,163,167,170,173,199,203,206,209,214,223,227,230,233,240,243,246,249,253,273],[10,11,12],"p",{},"Vous avez activé le branching Supabase parce que cela ressemblait à la façon\nsérieuse de travailler. Il y a maintenant une branche de preview à côté de votre\nprojet, les changements y sont essayés avant que quiconque les voie, et\nl'ensemble paraît nettement plus sûr que le mois dernier.",[10,14,15],{},"C'est effectivement plus sûr. Ce n'est simplement pas une sauvegarde, et la\ndifférence se voit exactement un jour.",[10,17,18,19,23],{},"Voici ce que les guides sur le branching passent sous silence : ",[20,21,22],"strong",{},"une branche est\nune seconde base de données à côté de la première, et non une version antérieure\nde celle-ci."," Le branching est l'endroit où vous allez avant de faire un\nchangement. Une sauvegarde est l'endroit où vous allez une fois que quelque chose\na mal tourné. Activer le branching ne dépose une copie de vos données nulle part.",[25,26,28],"h2",{"id":27},"le-branching-supabase-est-il-une-sauvegarde","Le branching Supabase est-il une sauvegarde ?",[10,30,31],{},"Non. Une branche démarre comme une base vide habillée de votre schéma, et rien\ndans le branching ne remet en place un état antérieur de vos données.",[10,33,34],{},"La documentation de Supabase est directe là-dessus : « Les nouvelles branches ne\ndémarrent avec aucune donnée de votre projet principal. Cela vise à mieux\nprotéger vos données de production sensibles. » Une branche est construite à\npartir de vos migrations, et une migration décrit la forme d'une base de données.\nLes tables, les colonnes, les policies. Jamais les lignes.",[10,36,37],{},"La branche posée à côté de votre projet n'est donc pas la copie de mardi. C'est\nune base neuve qui n'a jamais vu vos utilisateurs.",[39,40,41,56],"table",{},[42,43,44],"thead",{},[45,46,47,50,53],"tr",{},[48,49],"th",{},[48,51,52],{},"Une branche Supabase",[48,54,55],{},"Une sauvegarde",[57,58,59,71,89,100,111],"tbody",{},[45,60,61,65,68],{},[62,63,64],"td",{},"Contient vos lignes d'un instant antérieur",[62,66,67],{},"Seulement si vous les y avez clonées",[62,69,70],{},"Oui, c'est tout son métier",[45,72,73,76,83],{},[62,74,75],{},"Peut remettre la production en état",[62,77,78],{},[79,80,82],"key-verdict",{"type":81},"danger","Jamais",[62,84,85],{},[79,86,88],{"type":87},"safe","Oui",[45,90,91,94,97],{},[62,92,93],{},"Vit en dehors de votre compte Supabase",[62,95,96],{},"Non, c'est un autre projet à l'intérieur",[62,98,99],{},"Cela dépend de laquelle des trois voies",[45,101,102,105,108],{},[62,103,104],{},"Sera encore là le mois prochain",[62,106,107],{},"Seulement si vous l'avez rendue persistante",[62,109,110],{},"Aussi longtemps que vous la gardez",[45,112,113,116,119],{},[62,114,115],{},"À quoi cela sert",[62,117,118],{},"Tester un changement avant qu'il touche quiconque",[62,120,121],{},"Revenir à l'avant, quand rien n'avait touché personne",[10,123,124,125,130],{},"Si vous n'avez jamais établi ce qui copie réellement votre base, c'est\nexactement la tâche vers laquelle cet article veut vous envoyer, et\n",[126,127,129],"a",{"href":128},"\u002Fblog\u002Fdoes-supabase-back-up-my-database","votre plan en règle l'essentiel en deux minutes",".",[25,132,134],{"id":133},"ce-quune-branche-est-réellement","Ce qu'une branche est réellement",[10,136,137],{},"Un second projet Supabase entier, avec tout ce qui va avec.",[10,139,140],{},"« Chaque branche est un environnement distinct avec sa propre instance Supabase\net ses propres identifiants d'API », dit la documentation. Sa propre chaîne de\nconnexion, ses propres clés, son propre Storage, ses propres comptes de\nconnexion, ses propres lignes. Rien à l'intérieur n'est câblé au projet sur\nlequel vivent vos utilisateurs, et c'est précisément ce qui permet d'y casser des\nchoses sans risque.",[10,142,143],{},"Cet isolement est toute la fonctionnalité, et c'est aussi pourquoi elle ne peut\npas servir de sauvegarde. La copie de vos données que vous espériez n'a jamais\nété prise, et l'endroit où vous iriez la chercher est vide depuis le jour de sa\ncréation.",[25,145,147],{"id":146},"ce-quun-merge-fait-et-ce-quil-ne-fait-pas","Ce qu'un merge fait, et ce qu'il ne fait pas",[10,149,150],{},"Il porte vos changements de schéma jusqu'en production. Il ne porte jamais de\nlignes, dans aucun sens, à aucun moment.",[10,152,153],{},"Quand vous mergez, Supabase applique les migrations de votre branche à votre base\nde production et déploie vos changements d'Edge Functions. C'est toute la\ncargaison. Une nouvelle table, une nouvelle colonne, une policy réécrite : cela\nvoyage. Les lignes créées pendant vos tests restent dans la branche, et les\nlignes en production restent exactement telles qu'elles étaient, y compris celles\nque vous espériez remplacer.",[155,156],"diagram",{"alt":157,"caption":158,"src":159},"Trois voies franchissent une porte vers une base de données de production. Une grille de cellules de tableau passe et porte une coche. Un bloc de code passe et porte une coche. Une pile de lignes de données s'arrête à la porte et porte une croix.","Un merge déploie la forme de votre base et le code autour. Les lignes sont la seule chose qu'il n'a jamais été conçu pour déplacer.","\u002Fblog\u002Fsupabase-branching-is-not-a-backup\u002Fwhat-a-merge-carries-1600x640.png",[10,161,162],{},"Les gens attendent une version de cela qui n'existe pas : un merge qui irait\npiocher dans la production pour y remettre les choses en état. Ce que le\nbranching a à la place, c'est un déploiement, appliqué vers l'avant, sur ce qui\nse trouve en production à ce moment-là.",[25,164,166],{"id":165},"mais-jai-cloné-mes-données-de-production-dans-la-branche","Mais j'ai cloné mes données de production dans la branche",[10,168,169],{},"Alors vous avez une copie de vos lignes, et trois choses à propos de cette copie\ndécident de ce qu'elle vaut le jour où vous en aurez besoin.",[10,171,172],{},"C'est possible et ce n'est pas obscur. La CLI Supabase décrit l'option comme le\nfait de cloner les données de production vers la base de la branche, et l'API de\nmanagement prend la même option à la création d'une branche. Si vous l'avez\nutilisée, votre branche contient bel et bien vos données.",[174,175,176,183,193],"ul",{},[177,178,179,182],"li",{},[20,180,181],{},"Elle a été prise une fois."," Le clone se produit à la création de la branche\net rien ne le complète ensuite. Chaque commande, chaque inscription et chaque\ncommentaire depuis vit en production et nulle part ailleurs, et c'est toute la\ndifférence entre une copie et un calendrier.",[177,184,185,188,189,130],{},[20,186,187],{},"Elle est dans le même compte."," Une branche est un autre projet sous la même\norganisation, sur la même carte, derrière le même identifiant. Toutes les\nfaçons de perdre votre compte Supabase emportent la branche avec, et\n",[126,190,192],{"href":191},"\u002Fblog\u002Fthree-ways-to-back-up-a-supabase-database","c'est un désastre différent de celui d'abîmer ses propres données",[177,194,195,198],{},[20,196,197],{},"Personne ne l'a relue."," Un clone à moitié terminé est indiscernable d'un\nclone abouti, vu de l'extérieur, jusqu'au moment où vous l'ouvrez.",[25,200,202],{"id":201},"la-branche-est-la-partie-conçue-pour-disparaître","La branche est la partie conçue pour disparaître",[10,204,205],{},"Une branche de preview est supprimée quand sa pull request est mergée ou fermée.\nC'est le comportement documenté de la fonctionnalité.",[10,207,208],{},"Supabase qualifie les branches de preview d'« éphémères et adaptées à des tests\nciblés » et indique qu'elles « sont automatiquement supprimées lorsqu'une PR est\nmergée ou fermée ». L'autre catégorie, les branches persistantes, est « faite\npour durer et recommandée pour des environnements comme le staging, la QA ou le\ndéveloppement », et celles-là survivent à la fermeture de la pull request.",[155,210],{"alt":211,"caption":212,"src":213},"Deux chronologies vont de gauche à droite et se terminent chacune sur une rupture de la ligne. Sur celle du haut, des fichiers enregistrés se tiennent à trois points antérieurs, et une flèche revient de la rupture vers le plus proche, avec une coche. Sur celle du bas, une seconde ligne se détache et longe la première en portant une base de données vide, et une flèche de retour depuis la rupture n'atteint rien, avec une croix.","Une sauvegarde se tient derrière vous sur la chronologie, à un instant que vous pouvez nommer. Une branche longe votre route, et derrière elle il n'y a rien à saisir.","\u002Fblog\u002Fsupabase-branching-is-not-a-backup\u002Fbehind-you-beside-you-1600x680.png",[10,215,216,217,130],{},"Avec le réglage par défaut, la branche qui détient votre unique copie clonée est\ndonc ce que votre flux de travail jette le jour où le travail se termine. La\ngarder signifie la rendre persistante, et une branche persistante est un second\nprojet Supabase qui tourne. Supabase propose le branching sur les plans payants\net le facture par branche et par heure, sur\n",[126,218,222],{"href":219,"rel":220},"https:\u002F\u002Fsupabase.com\u002Fpricing",[221],"nofollow","leur page de prix",[25,224,226],{"id":225},"à-quoi-le-branching-sert-vraiment","À quoi le branching sert vraiment",[10,228,229],{},"À beaucoup de choses, et cet article serait malhonnête s'il ne le disait pas.",[10,231,232],{},"Une branche est l'endroit le moins cher pour découvrir qu'une migration supprime\nune colonne, avant qu'elle ne supprime la colonne où sont assis vos clients. Elle\nvous laisse répéter un changement de policy contre une base façonnée exactement\ncomme la vôtre, avec ses propres clés, de sorte qu'une erreur n'atteint personne.\nElle donne à une IA un endroit où avoir tort qui n'est pas votre application en\nproduction. Une sauvegarde ne fait rien de tout cela.",[10,234,235,236,130],{},"L'écart porte sur le type d'accident couvert. Le branching protège les\nchangements qui passent par une pull request. L'essentiel de ce qui coûte\nréellement leurs données aux gens n'y passe jamais : une suppression dans\nl'éditeur de tables Supabase qui a touché plus de lignes que prévu, un script de\nseed pointé sur le projet en production, une migration écrite par une IA et\nvalidée à une heure du matin, un nettoyage de ce qui ressemblait à des données de\ntest. Aucun de ces cas ne traverse une branche en route vers la production, et\nc'est la même raison qui fait que\n",[126,237,239],{"href":238},"\u002Fblog\u002Fversion-history-is-not-a-backup","revenir en arrière sur le code ne ramène pas une table supprimée",[10,241,242],{},"Ce second type d'accident est ce à quoi une sauvegarde répond. Elle se tient\nderrière vous dans le temps et détient l'état de votre base à un instant que vous\npouvez nommer, pour qu'une erreur commise hors de votre flux de travail ait\nencore quelque part où revenir.",[10,244,245],{},"C'est aussi ce qu'est Reeve Care : des copies planifiées de votre base Supabase,\nconservées en dehors de votre compte Supabase, relues et vérifiées avant qu'aucune\nne compte comme prise. Connectez vos buckets Storage et les fichiers déposés par\nvos utilisateurs voyagent avec, si bien qu'une restauration remet les lignes et\nles images vers lesquelles elles pointent.",[10,247,248],{},"Gardez le branching activé dans tous les cas. Rien de ce qui précède n'est un\nargument pour le désactiver.",[25,250,252],{"id":251},"ce-quil-faut-faire-cette-semaine","Ce qu'il faut faire cette semaine",[254,255,256],"key-takeaways",{},[174,257,258,261,264,267,270],{},[177,259,260],{},"Trouvez ce qui copie votre base selon un calendrier, indépendamment de ce qui la branche. Si l'établir prend plus d'une minute, la réponse est que rien ne le fait.",[177,262,263],{},"Si vous traitiez une branche clonée comme votre filet de sécurité, notez la date de sa création et la date de fermeture de sa pull request. Ce sont les deux bouts de ce qu'elle couvre.",[177,265,266],{},"Activez la sauvegarde incluse dans votre plan Supabase. C'est la chose la moins chère de cette liste et elle couvre le désastre ordinaire, celui où vous avez abîmé vos propres données.",[177,268,269],{},"Gardez une copie en dehors de votre compte Supabase, car une branche et une sauvegarde de plateforme sont toutes deux derrière le même identifiant que ce qu'elles protègent.",[177,271,272],{},"Restaurez une copie dans un projet jetable, pour que la première lecture de ce fichier ne soit pas le jour où vous en avez besoin.",[10,274,275,276,280,281,130],{},"Avant de fermer cet onglet, ouvrez votre projet Supabase et regardez si quelque\nchose en prend une copie selon un calendrier. Cette seule réponse est tout le\ntravail du jour, et le branching n'y change rien. La\n",[126,277,279],{"href":278},"\u002Fchecklist","checklist sécurité en 10 minutes"," la couvre avec le reste de ce\nqu'il vaut la peine de vérifier sur une application fraîchement lancée, et ce que\ncontient une copie et ce que fait vraiment le bouton de restauration est détaillé\nsur la ",[126,282,284],{"href":283},"\u002Fsupabase-backups","page sauvegardes Supabase",{"title":286,"searchDepth":287,"depth":287,"links":288},"",3,[289,291,292,293,294,295,296],{"id":27,"depth":290,"text":28},2,{"id":133,"depth":290,"text":134},{"id":146,"depth":290,"text":147},{"id":165,"depth":290,"text":166},{"id":201,"depth":290,"text":202},{"id":225,"depth":290,"text":226},{"id":251,"depth":290,"text":252},"Backups","\u002Fblog\u002Fsupabase-branching-is-not-a-backup\u002Fcover-1200x630.png","Une ligne de données se poursuit, tandis qu'une seconde ligne s'en détache et emporte à côté une base de données vide.","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.",false,"md",[304,306,309,312,315],{"q":28,"a":305},"Non. Une branche est une base de données Supabase distincte, construite à partir de vos migrations, et Supabase documente que les nouvelles branches démarrent sans aucune donnée de votre projet principal. Le branching vous donne un endroit où tester un changement avant qu'il n'atteigne la production. Une sauvegarde vous donne une copie de vos données à un instant que vous pouvez nommer, pour pouvoir y revenir. Ce sont deux métiers différents, et activer le premier ne fait rien pour le second.",{"q":307,"a":308},"Une branche de preview Supabase contient-elle mes données de production ?","Pas par défaut. Supabase indique que les nouvelles branches ne démarrent avec aucune donnée du projet principal, et donne comme raison la protection de vos données de production. Vous pouvez demander un clone au moment de créer la branche, et la CLI décrit cette option comme le clonage des données de production vers la base de la branche. Si vous ne l'avez pas demandé, votre branche a vos tables et aucune de vos lignes.",{"q":310,"a":311},"Puis-je restaurer ma base de production depuis une branche ?","Il n'y a pas de restauration dans le branching. Un merge applique les migrations de la branche à votre base de production et déploie vos changements d'Edge Functions ; rien sur ce chemin ne déplace de lignes, et rien n'y inverse quoi que ce soit. Si vous avez cloné des données de production dans une branche, vous pourriez en extraire un dump et le rejouer vous-même, mais à ce moment-là ce qui vous protège est le dump, pas la branche.",{"q":313,"a":314},"Que devient ma branche quand je merge la pull request ?","Une branche de preview est supprimée. Supabase décrit les branches de preview comme éphémères et indique qu'elles sont automatiquement supprimées lorsqu'une pull request est mergée ou fermée. Les branches persistantes sont l'autre catégorie, prévues pour du staging ou de la QA, et elles ne disparaissent pas à la fermeture de la pull request. Donc si une branche détient la seule copie de quelque chose qui compte pour vous, le réglage par défaut la jette le jour où le travail se termine.",{"q":316,"a":317},"Le branching coûte-t-il plus cher ?","Oui. Supabase propose le branching sur les plans payants et le facture par branche et par heure, en plus de votre abonnement. Lisez le tarif actuel sur leur page de prix plutôt qu'ici, car il leur appartient. En pratique : une branche persistante qu'on laisse tourner est un second projet Supabase que vous payez chaque heure de son existence.","\u002Fblog\u002Fsupabase-branching-is-not-a-backup\u002Fcard-800x500.png",[320,321,322,323,324,325],"supabase branching sauvegarde","le branching supabase est-il une sauvegarde","supabase branche preview donnees","supabase branching vs sauvegarde","supabase branche donnees de production","supabase branching base de donnees",{},true,"Le branching Supabase n'est pas une sauvegarde","\u002Fblog\u002Fsupabase-branching-is-not-a-backup","2026-08-25",{"title":5,"description":300},"blog\u002Fsupabase-branching-is-not-a-backup",[334,335,336],"Le branching Supabase n'est pas une sauvegarde. Une branche est une seconde base de données pour tester des changements, et elle démarre sans aucune de vos données de production.","Un merge applique vos changements de schéma à la production. Il ne transporte jamais de lignes, et aucune opération ne remet en place un état antérieur de vos données.","Même une branche dans laquelle vous clonez vos données vit dans le même compte, et une branche de preview est supprimée à la fermeture de sa pull request.","EkrUja9bfiT22zIxkQFUv9BAwd3fJ8lUU00rCuECawQ",1787826048205]