Secrets : clés requises par le code de votre site
Certaines fonctionnalités ont besoin d'une clé, d'un jeton ou d'un mot de passe pour un autre service. Secrets est l'endroit où vous gardez ces valeurs, pour que le code de votre site puisse les utiliser sans que la valeur apparaisse jamais dans une page, un fichier ou le studio. Cette page explique comment les ajouter, les modifier et les supprimer, et les règles que Briks s'impose à leur sujet.
Ce qu'est un secret
Un secret est une valeur dotée d'un nom. La valeur est en général une clé d'API : le mot de passe qu'un programme utilise pour parler à un autre, comme la clé que vous donne un service d'envoi d'e-mails. Le nom est la manière dont le code de votre site la réclame, par exemple MAILING_LIST_KEY.
La partie de votre site qui lit les secrets s'exécute sur le serveur, derrière ses routes (des adresses sous /api/ qui exécutent du code au lieu d'afficher une page). La valeur y reste. Elle n'est pas dans les pages du site, elle n'est pas envoyée aux navigateurs des visiteurs, et elle n'est pas dans le code que vous pouvez télécharger.
Une fois enregistrée, une valeur ne peut plus jamais être affichée, par personne, vous compris. Le studio ne garde que le nom, la personne qui l'a enregistrée et la date. Conservez votre propre copie en lieu sûr, par exemple dans un gestionnaire de mots de passe.
Vous n'avez besoin de secrets que lorsque le code de votre site fait appel à un service qui exige une clé. Un site vitrine avec un formulaire de contact n'en demande aucun.
Avant de commencer
- Publiez d'abord le site une fois. Les secrets ne sont conservés que sur le site publié, jamais par le studio. Tant que le site n'est pas publié, la page affiche Publish the site first et rien ne peut être ajouté.
- Vérifiez votre rôle. Les Editors, Admins et Owners ajoutent, modifient et suppriment les secrets. Les Viewers voient les noms et la date d'enregistrement de chacun.
- Choisissez un nom. Des lettres, des chiffres et des tirets bas, en commençant par une lettre, jusqu'à 128 caractères. Les majuscules avec tirets bas sont le style habituel. Les noms commençant par
BRIKS_sont réservés au studio. - Attention aux limites. Une valeur peut atteindre 5 Ko, assez pour n'importe quelle clé ou n'importe quel certificat. Un projet contient jusqu'à 100 secrets, y compris ceux du studio.
Ajouter un secret
Appuyez sur Add secret
Où : Settings, Secrets
Tant que vous n'avez aucun secret, le bouton se trouve au milieu de la page. Dès que vous en avez, il se place à côté de la zone de recherche, au-dessus de la liste.
Saisir le nom
Où : Add a secret
Saisissez-le dans Name, exactement comme la fonctionnalité le demande. Les noms respectent la casse, donc
MAILING_LIST_KEYetMailing_List_Keysont deux secrets différents.Collez la valeur
Où : Add a secret
Collez la clé dans Value. La boîte de dialogue vous le rappelle : Once saved, the value is never shown again. Gardez votre propre copie si vous en avez besoin.
Enregistrer
Où : Add a secret
Appuyez sur Add secret. Vous voyez par exemple : MAILING_LIST_KEY was added. Le site en ligne le possède désormais.
Importer plusieurs secrets depuis un fichier .env
Un fichier .env est un fichier texte brut de lignes NAME=value, une par secret. Les développeurs en gardent souvent un. Si vous en avez un, vous pouvez importer toutes les lignes d'un coup.
Appuyez sur Import .env
Où : Settings, Secrets
La boîte de dialogue Import a .env file s'ouvre.
Donnez-lui les lignes
Où : Import a .env file
Collez les lignes dans la zone, déposez-y le fichier ou cliquez sur Choose a file. Un fichier peut peser jusqu'à 256 Ko.
Vérifier l'aperçu
Où : Import a .env file
Chaque nom est marqué New, ou Replaces lorsqu'un secret portant ce nom existe et prendra la nouvelle valeur. Les lignes inutilisables sont listées comme ignorées, chacune avec sa raison.
Importer
Où : Import a .env file
Appuyez sur le bouton d'importation, qui compte ce qu'il va enregistrer, par exemple Import 3 secrets. Rien n'est enregistré avant.
Modifier ou supprimer un secret
Donnez-lui une nouvelle valeur
Où : Settings, Secrets
Ouvrez les trois points sur sa ligne et choisissez Edit value. La boîte de dialogue indique : The new value replaces the old one, which is never shown. Collez la nouvelle valeur et appuyez sur Save value.
Ou la supprimer
Où : Settings, Secrets
Choisissez plutôt Delete. La boîte de dialogue prévient : Code on the site that reads it stops finding it. This cannot be undone. Appuyez sur Delete pour confirmer.
Les changements arrivent aussitôt sur le site en ligne : vous voyez The live site has it now, ou, pour une suppression, The live site no longer has it. Si vous avez beaucoup de secrets, le champ Search secrets en trouve un par son nom. Le tableau affiche le Name et le Last saved de chacun, avec la personne qui l'a enregistré.
Certaines lignes portent une étiquette Managed. Le studio les définit pour ses propres services, comme les e-mails du site, et elles ne peuvent être ni modifiées ni supprimées ici.
Comment la création utilise un secret
Le code de votre site lit un secret par son nom à chaque exécution, donc une construction n'a jamais besoin de la valeur. Quand vous demandez au studio de connecter votre site à un autre service, comme une liste de diffusion ou un modèle d'IA, son code lit la clé de ce service sous un nom clair, par exemple MAILING_LIST_KEY. Vous ajoutez la valeur ici, sous ce nom.
Se voir demander une clé avant une construction
- Un changement sur un site publié. Quand votre demande connecte un autre service, l'état affiche Checking which keys this needs un instant. Si le site n'a pas encore de valeur pour une clé, le studio demande avant de construire. La carte dans la conversation comporte un champ par clé, jusqu'à 3 pour un changement. Collez la valeur et appuyez sur Save and build : elle va directement dans les Secrets du site, jamais dans la conversation, et le changement démarre. Appuyez sur Add it later pour construire sans elle.
- Un message envoyé pendant l'attente s'ajoute à la modification. Les clés déjà enregistrées ou que vous avez choisi d'ajouter plus tard ne sont jamais redemandées : si votre nouveau message connecte un autre service, seule sa clé est demandée, une fois la première carte traitée.
- Un nouveau site. Les secrets exigent un site publié : une première construction ne peut donc pas encore recevoir de clé. Parmi ses questions avant de construire, il peut demander s'il faut construire la connexion maintenant et ajouter la clé une fois le site en ligne, ou laisser cette partie de côté pour l'instant.
- Dans Telegram, la carte propose un bouton pour chaque clé qui ouvre Secrets dans le studio, et Build pour continuer. Une clé n'est jamais envoyée dans une conversation.
Requis par le site
Après chaque publication, Briks lit les noms de secrets que demande le code du site lui-même. Ceux qui n'ont pas encore de valeur sont listés en premier sur cette page, avec l'étiquette Needed by the site. Appuyez sur Add value sur l'un d'eux et le formulaire s'ouvre avec son nom déjà rempli. Tant qu'un nom n'a pas de valeur, la partie du site qui l'utilise ne fonctionne pas.
La réponse à une création ou à un changement les nomme aussi, par exemple : Le site lit MAILING_LIST_KEY, qui n'a pas encore de valeur : ajoutez-la dans Project Settings → Secrets. Chaque nom a son propre bouton, comme Add MAILING_LIST_KEY, qui ouvre cette page avec le nom déjà rempli. La même phrase figure dans la notification, et dans Telegram quand il vous annonce qu'une création est terminée.
Une clé collée dans un message
Briks reconnaît les formes habituelles des clés et jetons de service. Une clé collée dans le chat du studio, dans la description d'un nouveau projet, dans le brief d'un projet, dans un message à un agent ou dans ses instructions, dans Ask AI de l'éditeur visuel ou dans une conversation avec le bot est retirée avant que le message ne soit conservé ou lu, et remplacée par [key removed: add it in Settings → Secrets]. Le studio vous le signale aussitôt : A key was removed from your message so it isn't stored. Add it in Project Settings → Secrets. La réponse comporte un bouton Open Secrets qui mène à cette page. Dans la conversation d'un agent qui travaille sur tous les projets, Open Secrets liste vos projets pour que vous choisissiez celui auquel la clé est destinée. Ce qu'un agent doit retenir est refusé s'il contient une clé.
Avant qu'un site soit publié, Briks relit son propre code à la recherche de clés écrites dans les fichiers : des valeurs qui ressemblent à des clés par leur forme, et des valeurs données à tout ce qui porte un nom de clé, de jeton ou de mot de passe. S'il en trouve une, la version est renvoyée pour retirer la valeur et lire le secret par son nom à la place.
Règles de sécurité appliquées par Briks
- Les valeurs vont directement côté serveur du site publié, chiffrées. Le studio ne les conserve jamais, ne les affiche plus jamais et ne les écrit jamais dans ses journaux.
- Les valeurs n'apparaissent jamais dans les pages du site, dans les navigateurs des visiteurs ni dans le code que vous téléchargez.
- Seuls les Editors, Admins et Owners peuvent ajouter, modifier ou supprimer des secrets.
- Les noms commençant par
BRIKS_appartiennent au studio, et les secrets gérés ne peuvent pas être modifiés. - Un projet peut modifier ses secrets jusqu'à 60 fois par minute. Au-delà, vous voyez : That is a lot of changes at once. Wait a minute and try again.
Quand un secret disparaît
Les secrets appartiennent à l'adresse du site. Si vous changez l'adresse (voir L'adresse de votre site), vos secrets restent attachés à l'ancienne. Le message du studio les énumère et vous demande de les saisir de nouveau sous Settings, Secrets, et chaque ligne affiche Not on the site · enter again. Choisissez Edit value sur chacun et collez sa valeur.
Si le code du site demande un secret qui n'existe pas, la partie concernée du site répond : Part of this site is not set up yet. Vérifiez que le nom correspond exactement, majuscules comprises, et que la ligne n'indique pas Not on the site.
Exemple concret : remplacer une clé divulguée
Leur service d'e-mailing les a avertis que la clé enregistrée sous le nom
MAILING_LIST_KEYavait été repérée dans un ancien fil d'e-mails. Ils ont créé une nouvelle clé chez le service d'e-mailing, ouvert Settings, Secrets, choisi Edit value surMAILING_LIST_KEY, collé la nouvelle clé et appuyé sur Save value.
MAILING_LIST_KEY a sa nouvelle valeur. Le site en ligne l'a maintenant.
Ce n'est qu'ensuite qu'ils ont supprimé l'ancienne clé chez le service d'e-mailing, si bien que le site n'a jamais été un instant sans clé valide. Rien n'a eu besoin d'être reconstruit, car le code demande la clé par son nom.
Puis-je revoir la valeur d'un secret plus tard ?
Non. Ni vous, ni un coéquipier, ni Briks. Gardez votre propre copie quand vous l'enregistrez.
Ajouter un secret modifie-t-il mon site de lui-même ?
Non. Un secret ne fait rien tant que le code du site ne le lit pas par son nom. Demandez au studio la fonctionnalité qui l'utilise.
Les secrets figurent-ils dans le code que je télécharge ?
Non. Le téléchargement contient les fichiers du site, et les clés n'y sont jamais écrites.
Pourquoi ne puis-je pas en ajouter ?
Soit le site n'a pas encore été publié, soit votre rôle est Viewer. La page l'indique.