[{"data":1,"prerenderedAt":419},["ShallowReactive",2],{"blog-fr-supabase-new-api-keys":3},{"id":4,"title":5,"body":6,"category":382,"cover":383,"coverAlt":383,"description":384,"draft":385,"extension":386,"faq":387,"image":400,"keywords":401,"meta":407,"navigation":408,"ogTitle":409,"path":410,"published":411,"seo":412,"stem":413,"tldr":414,"updated":411,"__hash__":418},"blog_fr\u002Fblog\u002Fsupabase-new-api-keys.md","Les nouvelles clés API Supabase : laquelle va dans votre app ?",{"type":7,"value":8,"toc":371},"minimark",[9,30,33,38,49,80,88,95,101,105,108,114,119,123,126,212,218,225,229,232,267,270,279,283,292,318,327,331,358],[10,11,12,13,17,18,21,22,25,26,29],"p",{},"Si vous avez ouvert votre tableau de bord Supabase récemment et trouvé des clés\nqui commencent par ",[14,15,16],"code",{},"sb_publishable_"," et ",[14,19,20],{},"sb_secret_"," là où se trouvaient ",[14,23,24],{},"anon","\net ",[14,27,28],{},"service_role",", rien n'est cassé. Supabase a renommé ses clés API, et la\npaire que vous connaissiez est en train de sortir.",[10,31,32],{},"Le changement est petit dans ce qu'il fait et grand dans ce qu'il évite. Les\ndeux clés remplissent toujours exactement les deux mêmes rôles. Ce qui est\nnouveau, c'est que vous voyez désormais laquelle est laquelle sans rien ouvrir.",[34,35,37],"h2",{"id":36},"ce-que-supabase-a-réellement-changé","Ce que Supabase a réellement changé",[10,39,40,41,48],{},"Supabase a\n",[42,43,47],"a",{"href":44,"rel":45},"https:\u002F\u002Fsupabase.com\u002Fblog\u002Fjwt-signing-keys",[46],"nofollow","annoncé les nouvelles clés en juillet 2025",",\nen même temps qu'un changement dans la façon dont il signe les jetons\nd'authentification. Deux choses en ont remplacé deux autres :",[50,51,52,68],"ul",{},[53,54,55,56,60,61,64,65,67],"li",{},"La clé ",[57,58,59],"strong",{},"publiable",", ",[14,62,63],{},"sb_publishable_…",", remplace la clé ",[14,66,24],{},".",[53,69,70,71,60,74,77,78,67],{},"Les clés ",[57,72,73],{},"secrètes",[14,75,76],{},"sb_secret_…",", remplacent la clé ",[14,79,28],{},[10,81,82,83,87],{},"Les droits sont inchangés. Une clé publiable identifie toujours votre projet et\nne porte aucun droit propre ; une clé secrète contourne toujours toutes les\nrègles que vous avez écrites. Si vous savez déjà\n",[42,84,86],{"href":85},"\u002Fblog\u002Fwhich-api-keys-are-safe-in-your-frontend","quelles clés sont sûres dans un frontend",",\nrien de cette intuition n'est devenu faux.",[10,89,90,91,94],{},"Deux différences pratiques valent d'être connues. Vous pouvez détenir\n",[57,92,93],{},"plusieurs"," clés secrètes à la fois et les révoquer une par une : faire\ntourner une clé ne signifie donc plus un moment où tout ce qui l'utilisait est\ncassé. Et les anciennes clés avaient une propriété que presque personne n'avait\nremarquée : c'étaient des JWT qui expirent dix ans après la création du projet.\nLes nouvelles ne portent pas d'expiration en elles.",[96,97],"diagram",{"alt":98,"caption":99,"src":100},"Deux clés dessinées l'une au-dessus de l'autre. L'ancienne est faite de trois blocs séparés par des points, celui du milieu étant ouvert pour montrer le mot role. La nouvelle est une seule chaîne, dont le premier mot sb tiret bas secret est mis en évidence à l'avant.","Les mêmes deux métiers, deux formes différentes. Dans l'ancienne paire le rôle est enfoui au milieu ; dans la nouvelle, c'est la première chose que vous lisez.","\u002Fblog\u002Fsupabase-new-api-keys\u002Ftwo-key-formats-1600x640.png",[34,102,104],{"id":103},"laquelle-des-deux-a-sa-place-dans-votre-application","Laquelle des deux a sa place dans votre application",[10,106,107],{},"La clé publiable, et elle seule.",[10,109,110,111,113],{},"Votre application tourne dans le navigateur de votre visiteur, et la requête\nvers votre base part de là. Elle doit dire à quel projet elle appartient, et cet\nidentifiant parvient à chaque visiteur par conception. ",[14,112,63],{}," est la\nclé construite pour cela : la trouver dans votre application n'est pas un\nproblème, et ne l'a jamais été.",[10,115,116,118],{},[14,117,76],{}," est l'inverse. Elle lit et écrit chaque ligne de chaque table\ndepuis n'importe où, en ignorant entièrement vos politiques, et c'est toute sa\nraison d'être. Sa place est sur un serveur, dans une edge function, dans un\nworker : nulle part où un navigateur peut aller. Si l'une a déjà été collée dans\ndu code frontend, renouvelez-la dans le tableau de bord avant de modifier quoi\nque ce soit : supprimer la ligne ne ferme pas la porte.",[34,120,122],{"id":121},"comment-savoir-laquelle-vous-avez","Comment savoir laquelle vous avez",[10,124,125],{},"Lisez les premiers caractères. C'est désormais toute la vérification.",[127,128,129,145],"table",{},[130,131,132],"thead",{},[133,134,135,139,142],"tr",{},[136,137,138],"th",{},"Ce que vous voyez",[136,140,141],{},"Ce que c'est",[136,143,144],{},"Sûre dans le navigateur ?",[146,147,148,165,180,197],"tbody",{},[133,149,150,155,158],{},[151,152,153],"td",{},[14,154,63],{},[151,156,157],{},"clé publiable actuelle",[151,159,160],{},[161,162,164],"key-verdict",{"type":163},"safe","À sa place",[133,166,167,171,174],{},[151,168,169],{},[14,170,76],{},[151,172,173],{},"clé secrète actuelle",[151,175,176],{},[161,177,179],{"type":178},"danger","Jamais",[133,181,182,190,193],{},[151,183,184,187,188],{},[14,185,186],{},"eyJ…"," avec ",[14,189,24],{},[151,191,192],{},"ancienne clé publiable",[151,194,195],{},[161,196,164],{"type":163},[133,198,199,205,208],{},[151,200,201,187,203],{},[14,202,186],{},[14,204,28],{},[151,206,207],{},"ancienne clé secrète",[151,209,210],{},[161,211,179],{"type":178},[10,213,214,215,67],{},"Une clé actuelle est une longue chaîne en deux moitiés : un milieu aléatoire et\nune courte somme de contrôle à la fin. Une ancienne clé est faite de trois blocs\nséparés par des points, et celui du milieu est du texte lisible plutôt que du\nchiffrement, ce qui est la raison pour laquelle distinguer l'ancienne paire supposait de la décoder\net de lire le champ ",[14,216,217],{},"role",[10,219,220,221,67],{},"Si vous trouvez une clé dans votre application sans savoir laquelle c'est, notre\nscan gratuit lit votre site en ligne depuis l'extérieur et nomme ce qu'il voit.\nCela prend une vingtaine de secondes et ne demande aucun compte :\n",[42,222,224],{"href":223},"\u002F#scan","scanner votre application",[34,226,228],{"id":227},"mes-anciennes-clés-anon-et-service_role-fonctionnent-elles-encore","Mes anciennes clés anon et service_role fonctionnent-elles encore ?",[10,230,231],{},"Aujourd'hui, oui. Supabase a publié un calendrier, pas un interrupteur :",[127,233,234,244],{},[130,235,236],{},[133,237,238,241],{},[136,239,240],{},"Quand",[136,242,243],{},"Ce qui se passe",[146,245,246,259],{},[133,247,248,251],{},[151,249,250],{},"1er novembre 2025",[151,252,253,254,256,257,67],{},"Les projets restaurés après cette date n'obtiennent plus du tout ",[14,255,24],{}," ni ",[14,258,28],{},[133,260,261,264],{},[151,262,263],{},"Fin 2026, date non fixée",[151,265,266],{},"Tous les projets devront utiliser les nouvelles clés.",[10,268,269],{},"Il n'y a donc pas d'urgence cette semaine, et il y a une échéance cette année.\nSi votre application a été construite avant le renommage et n'a pas été touchée\ndepuis, elle tourne en ce moment sur d'anciennes clés et continuera un moment.",[10,271,272,273,275,276,278],{},"L'argument pour bouger tôt n'est pas l'échéance. C'est le jour où quelqu'un\ncolle la mauvaise clé dans un prompt : ",[14,274,20],{}," s'annonce, ",[14,277,186],{}," non.",[34,280,282],{"id":281},"comment-changer-sans-casser-votre-application","Comment changer sans casser votre application",[10,284,285,286,291],{},"Le ",[42,287,290],{"href":288,"rel":289},"https:\u002F\u002Fsupabase.com\u002Fdocs\u002Fguides\u002Fgetting-started\u002Fmigrating-to-new-api-keys",[46],"guide de migration","\nde Supabase est la référence. La version courte, pour une application que vous\nn'avez pas écrite à la main :",[293,294,295,302,305,312,315],"ol",{},[53,296,297,298,301],{},"Dans le tableau de bord, ouvrez ",[57,299,300],{},"Settings → API Keys"," et créez les nouvelles\nclés. Cela les ajoute ; cela ne retire pas les anciennes, et les deux paires\nfonctionnent en même temps.",[53,303,304],{},"Trouvez l'endroit où votre application crée son client Supabase et remplacez\nla clé publiable. Dans un builder comme Lovable ou Bolt, c'est en général une\nvaleur dans les réglages du projet plutôt qu'une ligne de code.",[53,306,307,308,311],{},"Remplacez la clé secrète partout où elle est utilisée ",[57,309,310],{},"sur un serveur"," :\nedge functions, webhooks, tâches planifiées, tout ce qui n'est pas le\nnavigateur.",[53,313,314],{},"Chargez votre application et parcourez les parties qui lisent et écrivent des\ndonnées. Une mauvaise clé publiable échoue immédiatement et bruyamment, ce\nqui est le bon cas.",[53,316,317],{},"Une fois seulement que tout marche, désactivez les anciennes clés.",[10,319,320,321,323,324,326],{},"L'étape 5 est celle à garder pour la fin, et elle mérite d'être faite\ndélibérément plutôt que jamais : les projets à moitié migrés, où l'application\ntransporte encore une ancienne clé ",[14,322,24],{}," à côté d'une ",[14,325,16],{}," active,\nsont fréquents et déroutants à déboguer.",[34,328,330],{"id":329},"que-faire-cette-semaine","Que faire cette semaine",[332,333,334],"key-takeaways",{},[50,335,336,339,348,351],{},[53,337,338],{},"Ouvrez Settings → API Keys et regardez quelles paires possède votre projet. Cela prend une minute et vous dit où vous en êtes.",[53,340,341,342,344,345,347],{},"Si vous trouvez ",[14,343,76],{}," ou ",[14,346,28],{}," quelque part dans du code frontend, renouvelez la clé aujourd'hui. C'est le seul point urgent ici.",[53,349,350],{},"Créez les nouvelles clés et basculez votre application quand vous aurez une demi-heure, pas à cause de l'échéance, mais parce que le préfixe rend la prochaine erreur évidente.",[53,352,353,354,67],{},"Profitez-en pour regarder Row Level Security. La nouvelle clé ne change rien à ce que vos politiques autorisent, et ",[42,355,357],{"href":356},"\u002Fblog\u002Fsupabase-rls-on-but-table-still-public","activer RLS n'est pas la même chose qu'être protégé",[10,359,360,361,365,366,370],{},"Si vous voulez la version propre à la plateforme de ce qu'il faut vérifier, nous\navons un guide en langage clair pour les\n",[42,362,364],{"href":363},"\u002Fis-your-supabase-app-safe","applications Supabase",", et la\n",[42,367,369],{"href":368},"\u002Fchecklist","checklist sécurité en 10 minutes"," couvre ce point à côté des autres\nchoses à désactiver dans une application fraîchement lancée.",{"title":372,"searchDepth":373,"depth":373,"links":374},"",3,[375,377,378,379,380,381],{"id":36,"depth":376,"text":37},2,{"id":103,"depth":376,"text":104},{"id":121,"depth":376,"text":122},{"id":227,"depth":376,"text":228},{"id":281,"depth":376,"text":282},{"id":329,"depth":376,"text":330},"Bases de la sécurité",null,"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 ?",false,"md",[388,391,394,397],{"q":389,"a":390},"sb_publishable_ est-elle la même chose que la clé anon ?","Elle fait le même métier. Elle nomme votre projet pour qu'une requête sache où aller, elle ne porte aucun droit propre, et elle est faite pour vivre dans votre application où n'importe qui peut la lire. Dans les deux cas, ce qui protège vos données est Row Level Security, pas la clé.",{"q":392,"a":393},"Mes clés anon et service_role fonctionnent-elles encore ?","Oui, aujourd'hui. Supabase les a laissées en service pendant la migration et vous pouvez détenir les deux paires en même temps. L'annonce est que fin 2026 tous les projets devront passer aux nouvelles clés, sans que la date exacte soit fixée.",{"q":395,"a":396},"J'ai les deux paires dans mon tableau de bord. Laquelle mon app doit-elle utiliser ?","La clé publiable, sb_publishable_. Le changement tient en une ligne : remplacez la clé que votre application passe au moment où elle crée le client Supabase. Rien ne change pour vos tables ni vos politiques, puisque la nouvelle clé a exactement les droits qu'avait la clé anon.",{"q":398,"a":399},"Le nouveau format rend-il mon application plus sûre à lui seul ?","Non. Il rend la clé dangereuse plus facile à repérer, ce qui vaut de l'argent en erreurs évitées, mais une clé publiable lit toujours tout ce que vos politiques l'autorisent à lire. Si Row Level Security est désactivé, la nouvelle clé ouvre votre base exactement aussi grand que l'ancienne.","\u002Fblog\u002Fsupabase-new-api-keys\u002Fcard-800x500.png",[402,403,404,405,406],"nouvelles clés api supabase","clé sb_publishable","clé sb_secret","clé anon supabase obsolète","migration clés api supabase",{},true,"Les nouvelles clés API de Supabase, expliquées","\u002Fblog\u002Fsupabase-new-api-keys","2026-08-12",{"title":5,"description":384},"blog\u002Fsupabase-new-api-keys",[415,416,417],"Supabase délivre désormais des clés sb_publishable_ et sb_secret_. Elles remplacent anon et service_role et font exactement les deux mêmes métiers.","La clé publiable a sa place dans votre application. La clé secrète jamais, et vous les distinguez maintenant aux premiers caractères.","Vos anciennes clés fonctionnent encore aujourd'hui. Supabase a annoncé que tous les projets devront en changer fin 2026.","gCHnuM7wWwE4njXTnsErYlIz12eXnirU8LlR-_6rlPQ",1787826048205]