> ## Documentation Index
> Fetch the complete documentation index at: https://docs.replit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Secrets

> Apprenez à stocker en toute sécurité les clés API et autres informations sensibles sous forme de variables d'environnement chiffrées.

L'outil Secrets stocke et chiffre les **secrets**, les informations sensibles de votre application Replit, telles que les clés API, les jetons d'authentification et les chaînes de connexion aux bases de données.

Lorsque vous ajoutez un secret, l'outil chiffre automatiquement les données et les met à disposition de votre application Replit sous forme de variable d'environnement.
Cette approche vous permet d'éliminer le codage en dur des secrets dans votre code et de réduire le risque de les exposer.

<Frame>
  <iframe width="100%" height="400" src="https://www.youtube.com/embed/qE_2Z8ReyWI" title="Outil Secrets de l'Éditeur de projet" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

Le codage en dur des secrets dans votre base de code peut entraîner une exposition accidentelle dans les scénarios suivants :

* Partage de votre code avec d'autres personnes via une application Replit publique ou par copier-coller
* Validation de votre code dans un système de contrôle de version dans un dépôt public
* Diffusion en direct ou partage d'écran de votre code

Utilisez l'outil Secrets pour partager votre code en toute confiance sans vous soucier de l'exposition des identifiants.

<Frame caption="Outil Secrets de l'Éditeur de projet">
  <img src="https://mintcdn.com/replit/9NKf1XREDj9JhKJb/images/workspace/secrets-tool.png?fit=max&auto=format&n=9NKf1XREDj9JhKJb&q=85&s=5e5454a3daaa5fc3f30d823e6c8c3c79" alt="capture d'écran de l'outil Secrets" width="2276" height="1136" data-path="images/workspace/secrets-tool.png" />
</Frame>

## Fonctionnalités

Les Secrets comprennent les fonctionnalités suivantes :

* **Chiffrement de bout en bout** : Protégez automatiquement vos données avec le chiffrement AES-256 au repos et le chiffrement TLS en transit
* **Secrets au niveau de l'application** : Stocker et gérer les secrets spécifiques à une application Replit
* **Secrets au niveau du compte** : Stocker et gérer les secrets que vous pouvez rendre disponibles dans toutes vos applications Replit
* **Accès par variable d'environnement** : Accéder à vos secrets depuis votre code à l'aide de variables d'environnement
* **Accès collaboratif** : Partager des secrets avec des collaborateurs et des membres de l'équipe

## Utilisation

<Note>
  Les Secrets sont disponibles pour tous les types de déploiements sauf les Déploiements statiques.
</Note>

Vous pouvez accéder aux Secrets dans l'outil Secrets de l'Éditeur de projet.

<Accordion title="Comment accéder aux Secrets">
  Depuis le **Dock d'outils** à gauche :

  1. Sélectionnez <img class="icon-svg" src="https://mintcdn.com/replit/X_IP1EeHGm0cA2VA/images/icons/workspace-all-tools-button.svg?fit=max&auto=format&n=X_IP1EeHGm0cA2VA&q=85&s=579643854fb13c402de516695e52c554" alt="Icône Tous les outils" width="16" height="16" data-path="images/icons/workspace-all-tools-button.svg" /> **Tous les outils** pour voir la liste des outils de l'Éditeur de projet.
  2. Sélectionnez <img class="icon-svg" src="https://mintcdn.com/replit/rJldsgYVucXB_6kW/images/icons/lock.svg?fit=max&auto=format&n=rJldsgYVucXB_6kW&q=85&s=0ebba01cdc579bafd52c21b5053788bc" alt="Icône Secrets" width="16" height="16" data-path="images/icons/lock.svg" /> **Secrets**.

  Depuis la **Barre de recherche** :

  1. Sélectionnez la <img class="icon-svg" src="https://mintcdn.com/replit/X_IP1EeHGm0cA2VA/images/icons/workspace-search-icon.svg?fit=max&auto=format&n=X_IP1EeHGm0cA2VA&q=85&s=d3feed840da2d19e1ee4873d137114dc" alt="icône loupe" width="16" height="16" data-path="images/icons/workspace-search-icon.svg" /> loupe en haut pour ouvrir l'outil de recherche
  2. Tapez « Secrets » pour localiser l'outil et le sélectionner dans les résultats.
</Accordion>

### Gérer les Secrets de l'application

Vous pouvez gérer vos secrets au niveau de l'application dans l'onglet **Secrets de l'application** dans le panneau **Secrets**.
Cet onglet affiche la liste de tous les secrets associés à votre application Replit.

<Accordion title="Ajouter des Secrets de l'application">
  Pour ajouter un secret :

  1. Sélectionnez **Nouveau secret**.
  2. Entrez une **Clé**, le nom du secret, et une **Valeur**, le secret lui-même.
  3. Sélectionnez **Ajouter un secret** pour enregistrer l'entrée.
</Accordion>

<Accordion title="Modifier des Secrets de l'application">
  Pour modifier un secret :

  1. Sélectionnez le menu <img class="icon-svg" src="https://mintcdn.com/replit/X_IP1EeHGm0cA2VA/images/icons/vertical-dots.svg?fit=max&auto=format&n=X_IP1EeHGm0cA2VA&q=85&s=7b4b6a9992b3b20202297b60b6ef416d" alt="icône trois points verticaux" height="16" width="16" data-path="images/icons/vertical-dots.svg" /> à points verticaux à côté du secret.
  2. Sélectionnez **Modifier** dans le menu contextuel.
  3. Mettez à jour le texte dans le champ **Clé** ou **Valeur** et sélectionnez **Mettre à jour le secret** pour enregistrer les modifications ou **Annuler** pour les ignorer.

  Vous pouvez également modifier la liste complète des Secrets de l'application en sélectionnant **Modifier en JSON** ou **Modifier en .env** en bas de l'onglet.
</Accordion>

<Accordion title="Afficher les Secrets de l'application">
  Pour afficher un secret, sélectionnez l'icône <img class="icon-svg" src="https://mintcdn.com/replit/rJldsgYVucXB_6kW/images/icons/eye.svg?fit=max&auto=format&n=rJldsgYVucXB_6kW&q=85&s=ef4c8029c7e1a366680367b9aa573029" alt="icône œil" width="16" height="16" data-path="images/icons/eye.svg" /> œil à côté du secret.

  Pour masquer le secret, sélectionnez l'icône <img class="icon-svg" src="https://mintcdn.com/replit/rJldsgYVucXB_6kW/images/icons/eye-slash.svg?fit=max&auto=format&n=rJldsgYVucXB_6kW&q=85&s=cccbc60ff55d519c89c7b4d2a3e0ee4a" alt="icône œil barré" width="16" height="16" data-path="images/icons/eye-slash.svg" /> œil barré.
</Accordion>

<Accordion title="Supprimer des Secrets de l'application">
  Pour supprimer un secret, sélectionnez le menu <img class="icon-svg" src="https://mintcdn.com/replit/X_IP1EeHGm0cA2VA/images/icons/vertical-dots.svg?fit=max&auto=format&n=X_IP1EeHGm0cA2VA&q=85&s=7b4b6a9992b3b20202297b60b6ef416d" alt="icône trois points verticaux" height="16" width="16" data-path="images/icons/vertical-dots.svg" /> à points verticaux à côté du secret et sélectionnez **Supprimer**.
</Accordion>

### Gérer les Secrets du compte

Vous pouvez gérer vos secrets au niveau du compte dans l'onglet **Secrets du compte** dans le panneau **Secrets**.
Cet onglet affiche la liste des secrets associés uniquement à votre compte Replit.

<Accordion title="Ajouter des Secrets du compte">
  Pour ajouter un secret au niveau du compte :

  1. Accédez à l'onglet **Secrets du compte**.
  2. Sélectionnez l'icône <img class="icon-svg" src="https://mintcdn.com/replit/rJldsgYVucXB_6kW/images/icons/settings-icon.svg?fit=max&auto=format&n=rJldsgYVucXB_6kW&q=85&s=27601119959a9349e102c44c2adbd398" alt="icône engrenage" width="16" height="16" data-path="images/icons/settings-icon.svg" /> pour ouvrir les **Paramètres** et gérer les secrets au niveau du compte.
  3. Sélectionnez **Nouveau secret** pour ajouter un secret.
  4. Entrez une **Clé**, le nom du secret, et une **Valeur**, le secret lui-même.
  5. Sélectionnez **Enregistrer** pour sauvegarder l'entrée.
</Accordion>

<Accordion title="Modifier des Secrets du compte">
  Pour modifier un secret :

  1. Sélectionnez l'icône <img class="icon-svg" src="https://mintcdn.com/replit/rJldsgYVucXB_6kW/images/icons/pencil-icon.svg?fit=max&auto=format&n=rJldsgYVucXB_6kW&q=85&s=09de925e41efd3d1cfa199737639b5a6" alt="icône crayon" width="16" height="16" data-path="images/icons/pencil-icon.svg" /> crayon à côté du secret.
  2. Mettez à jour le texte dans le champ **Clé** ou **Valeur** et sélectionnez **Enregistrer** pour sauvegarder les modifications ou **Annuler** pour les ignorer.
</Accordion>

<Accordion title="Afficher les Secrets du compte">
  Pour afficher un secret, sélectionnez l'icône <img class="icon-svg" src="https://mintcdn.com/replit/rJldsgYVucXB_6kW/images/icons/eye.svg?fit=max&auto=format&n=rJldsgYVucXB_6kW&q=85&s=ef4c8029c7e1a366680367b9aa573029" alt="icône œil" width="16" height="16" data-path="images/icons/eye.svg" /> œil à côté du secret.

  Pour masquer le secret, sélectionnez l'icône <img class="icon-svg" src="https://mintcdn.com/replit/rJldsgYVucXB_6kW/images/icons/eye-slash.svg?fit=max&auto=format&n=rJldsgYVucXB_6kW&q=85&s=cccbc60ff55d519c89c7b4d2a3e0ee4a" alt="icône œil barré" width="16" height="16" data-path="images/icons/eye-slash.svg" /> œil barré.
</Accordion>

<Accordion title="Lier des Secrets du compte">
  Pour utiliser un secret au niveau du compte dans une application Replit, vous devez le lier à l'application.
  Pour lier un secret au niveau du compte :

  1. Accédez à l'onglet **Secrets de l'application**.
  2. Cochez la case à gauche du secret.
  3. Sélectionnez **Lier à cette application**.

  Pour dissocier un secret :

  1. Accédez à l'onglet **Secrets de l'application**.
  2. Sélectionnez le menu <img class="icon-svg" src="https://mintcdn.com/replit/X_IP1EeHGm0cA2VA/images/icons/vertical-dots.svg?fit=max&auto=format&n=X_IP1EeHGm0cA2VA&q=85&s=7b4b6a9992b3b20202297b60b6ef416d" width="16" height="16" alt="icône trois points verticaux" data-path="images/icons/vertical-dots.svg" /> à points verticaux à côté du secret.
  3. Sélectionnez **Dissocier**.
</Accordion>

<Accordion title="Supprimer des Secrets du compte">
  1. Sélectionnez l'icône <img class="icon-svg" src="https://mintcdn.com/replit/rJldsgYVucXB_6kW/images/icons/pencil-icon.svg?fit=max&auto=format&n=rJldsgYVucXB_6kW&q=85&s=09de925e41efd3d1cfa199737639b5a6" alt="icône crayon" width="16" height="16" data-path="images/icons/pencil-icon.svg" /> crayon à côté du secret.
  2. Sélectionnez **Supprimer**.
</Accordion>

### Accéder aux secrets dans votre code

<CodeGroup>
  ```python Python theme={null}
  import os
  print(os.getenv("MY_SECRET"))
  ```

  ```javascript JavaScript theme={null}
  console.log(process.env.MY_SECRET);
  ```

  ```java Java theme={null}
  System.out.println(System.getenv("MY_SECRET"))
  ```

  ```csharp C# theme={null}
  using System;
  Console.WriteLine(Environment.GetEnvironmentVariable("MY_SECRET"));
  ```

  ```go Go theme={null}
  package main
  import (
      "fmt"
      "os"
  )
  func main() {
      fmt.Println(os.Getenv("MY_SECRET"))
  }
  ```

  ```ruby Ruby theme={null}
  puts ENV["MY_SECRET"]
  ```
</CodeGroup>

### Gestion de la visibilité des secrets

La visibilité des secrets dépend de votre accès à une application Replit et de si vous en êtes l'auteur.

Vous pouvez utiliser l'une des options suivantes pour partager votre application Replit :

* **Multijoueur** : Invitez des utilisateurs Replit à collaborer en temps réel
* **Page de couverture** : Affichez un aperçu de votre application Replit avec la possibilité de la copier
* **Copie** : Rendez votre application Replit individuelle ou organisationnelle publique pour que d'autres puissent créer leur propre version

Le tableau suivant présente la visibilité du nom et de la valeur des secrets dans différents scénarios :

| Méthode d'accès      | Qui                                                             | Peut voir les noms | Peut voir les valeurs |
| -------------------- | --------------------------------------------------------------- | ------------------ | --------------------- |
| Multijoueur          | Collaborateur multijoueur                                       | ✓                  | ✓                     |
| Multijoueur          | Membre de l'organisation (rôle Propriétaire)                    | ✓                  | ✓                     |
| Multijoueur          | Membre de l'organisation (non-propriétaire)                     | ✓                  |                       |
| Page de couverture   | Tout visiteur                                                   |                    |                       |
| Copie                | Propriétaire/collaborateur copiant sa propre application Replit | ✓                  | ✓                     |
| Copie                | Non-propriétaire/collaborateur copiant l'application Replit     | ✓                  |                       |
| Copie                | Toute personne copiant depuis la page de couverture             | ✓                  |                       |
| Copie d'organisation | Membre de l'organisation avec rôle Propriétaire                 | ✓                  | ✓                     |
| Copie d'organisation | Membre de l'organisation sans rôle Propriétaire                 | ✓                  |                       |

<Warning>
  Les membres de l'organisation sans le rôle Propriétaire ne peuvent pas voir les valeurs des secrets dans une application Replit, mais peuvent accéder à leurs valeurs en affichant les variables d'environnement.
</Warning>

## Secrets liés aux bases de données

Lorsque vous ajoutez la base de données de Replit, l'Éditeur de projet crée automatiquement le secret suivant :

| Secret         | Description                                  |
| -------------- | -------------------------------------------- |
| `DATABASE_URL` | Chaîne de connexion à la base de données SQL |

<Info>
  Les anciennes bases de données de développement Neon peuvent également inclure `PGHOST`, `PGUSER`, `PGPASSWORD`, `PGDATABASE` et `PGPORT`. Les bases de données de développement Replit actuelles utilisent `DATABASE_URL` à la place.
</Info>

Pour afficher toutes les variables d'environnement dans votre application Replit, exécutez `printenv` dans l'outil Shell de l'Éditeur de projet ou affichez-les depuis votre code.

## Variables d'environnement prédéfinies

Replit définit automatiquement les variables d'environnement suivantes auxquelles vous pouvez accéder depuis votre application :

| Variable d'environnement | Description                                                                             |
| ------------------------ | --------------------------------------------------------------------------------------- |
| `REPLIT_DOMAINS`         | Liste séparée par des virgules de tous les domaines associés à votre application Replit |
| `REPLIT_USER`            | Nom d'utilisateur de l'éditeur actuel, qui peut varier dans les sessions multijoueurs   |
| `REPLIT_DEPLOYMENT`      | Défini à `1` si le code s'exécute dans une application publiée, non défini sinon        |
| `REPLIT_DEV_DOMAIN`      | URL de développement sur le domaine `replit.dev`, différente de l'URL de déploiement    |

Celles-ci ne sont pas listées dans l'outil Secrets, mais vous pouvez y accéder dans votre code en utilisant l'objet `os.environ` ou en exécutant `printenv` dans le Shell.
