# Comptes et accès (référence locale)

> **Sécurité** : les mots de passe et secrets **réels** ne doivent **pas** être commités dans ce dépôt. Ils vivent dans ton fichier **`.env`** à la racine (non versionné). Ce document décrit les **rôles** et les **valeurs d’exemple / défauts documentés** dans le code ou les fichiers d’exemple.

---

## 1. Compte administrateur (API / tableau de bord admin)

L’admin n’est **pas** un utilisateur en base : l’identifiant et le mot de passe viennent des **variables d’environnement**.

| Champ | Variable | Où c’est défini |
|--------|-----------|------------------|
| Identifiant (login) | `ADMIN_USERNAME` | `.env` (exemple dans `.env.example` : `admin`) |
| Mot de passe | `ADMIN_PASSWORD` **ou** hash `ADMIN_PASSWORD_HASH` | `.env` uniquement |
| Secours dev (si les deux absents) | `ADMIN_DEV_DEFAULT` | `.env` (voir `routes/admin_routes.py`) |

**Comment connaître *ton* mot de passe admin :**

- Si `ADMIN_PASSWORD` est renseigné en clair dans `.env`, c’est cette valeur.
- Si seul `ADMIN_PASSWORD_HASH` est renseigné, le mot de passe en clair **n’apparaît nulle part** dans le dépôt : c’est celui que **tu** as choisi lors de la configuration (bcrypt). Il n’y a pas de liste centralisée à extraire automatiquement.

**Placeholder documenté** (fichier `.env.example`, pas un secret réel) :

| Compte | Mot de passe (exemple fichier exemple) |
|--------|------------------------------------------|
| `admin` | `your_admin_password_here` |

---

## 2. Comptes utilisateurs de l’application (inscription)

Les utilisateurs finaux (**email + mot de passe**) sont créés via l’API d’**inscription** (`/api/v1/auth/register` ou équivalent selon version). Il **n’existe pas** de liste de comptes utilisateurs livrée avec le projet : chaque environnement a ses propres comptes, stockés en base (PostgreSQL / SQLite selon config) avec mot de passe **haché**.

**Liste des comptes utilisateurs avec mots de passe en clair :** inexistante dans le code ; à consulter uniquement via ta base ou les personnes qui se sont inscrites.

---

## 3. PostgreSQL (Docker **développement** uniquement)

Fichier `docker-compose.dev.yml` — valeurs **par défaut** si tu ne les surcharges pas dans `.env` :

| Rôle | Utilisateur | Mot de passe | Base |
|------|-------------|--------------|------|
| PostgreSQL | `translate` (ou `POSTGRES_USER`) | `translate_secret_123` (ou `POSTGRES_PASSWORD`) | `translate_db` (ou `POSTGRES_DB`) |

En **production** (`docker-compose.yml`), le mot de passe PostgreSQL **doit** être défini dans `.env` ; il n’y a pas de défaut documenté dans le compose prod.

---

## 4. Grafana (si le service est activé dans `docker-compose.yml`)

D’après les variables du compose :

| Compte | Utilisateur par défaut | Mot de passe par défaut |
|--------|------------------------|-------------------------|
| Grafana | `GRAFANA_USER` ou `admin` | `GRAFANA_PASSWORD` ou `admin` |

À remplacer impérativement en production.

---

## 5. Redis

Pas de « compte » utilisateur classique pour l’app en dev simple ; l’URL est `REDIS_URL` dans `.env` si configurée.

---

## Synthèse

| Type de compte | Liste + mots de passe dans le repo ? |
|----------------|----------------------------------------|
| Admin | **Non** — tout est dans `.env` (éventuellement hash seulement). |
| Utilisateurs app | **Non** — inscription + base de données. |
| Postgres (dev compose) | **Oui** — défauts ci-dessus (`translate` / `translate_secret_123`). |
| Grafana (optionnel) | **Oui** — défaut `admin` / `admin` si non surchargé. |

Pour un inventaire **personnel** incluant ton vrai mot de passe admin, ouvre ton **`.env` local** (ne le commite pas) ou garde une copie chiffrée / hors dépôt.


mot de passe admin 
ChangeMeAfterReset!
