chore(sql): compte de visite « Juré » + dump d'authentification versionné

Ajoute sql/create_admin_jure.sql, script idempotent créant/réinitialisant
le compte de démonstration destiné aux personnes qui consultent le site
(rôle Admin). Aucune instruction USE : la base cible vient du paramètre
-d de la connexion, avec un garde-fou qui arrête le script si les tables
attendues sont absentes.

Copie aussi sql/data_sentinel_auth.sql (déjà présent dans le dump livré
sous RENDU/02_Dump_SQL/) : le README de ce dépôt le référençait déjà,
mais le dossier sql/ n'existait pas encore ici.

Documente le compte dans le tableau des comptes de démo du README.
This commit is contained in:
2026-08-15 13:28:23 +02:00
parent fd4c085ee4
commit e6afc4f1fa
3 changed files with 212 additions and 6 deletions
+19 -6
View File
@@ -44,11 +44,23 @@ Sans variables d'environnement, l'API se connecte en authentification Windows
### Comptes de démo
| Identifiant | Mot de passe | Rôle |
|-------------|--------------|------|
| `admin` | `Admin2026!` | Admin |
| `superviseur` | `Super2026!` | Superviseur |
| `consultant` | `Conseil2026!` | Consultant |
| Identifiant | Mot de passe | Rôle | Usage |
|-------------|--------------|------|-------|
| `Juré` (`JURE@NEXA.com`) | `123456` | Admin | **Compte de visite / évaluation** — à communiquer aux personnes qui consultent le site |
| `admin` | `Admin2026!` | Admin | Compte d'administration technique |
| `superviseur` | `Super2026!` | Superviseur | Illustration du RBAC (pas d'accès `/admin/*`) |
| `consultant` | `Conseil2026!` | Consultant | Illustration du RBAC (lecture seule) |
Ces comptes sont créés par `sql/data_sentinel_auth.sql`. Pour (re)créer le seul
compte `Juré` sur une base déjà déployée, sans rejouer tout le script d'auth :
```bash
sqlcmd -S <serveur> -d DataSentinel -U <user> -P <mdp> -i sql/create_admin_jure.sql
```
Les mots de passe ci-dessus sont des identifiants de démonstration : ils sont
stockés hachés (bcrypt, coût 12) et doivent être régénérés avant toute mise en
production réelle (`POST /admin/users/{id}/reset-password`).
## Endpoints (résumé)
@@ -65,7 +77,8 @@ Spécification complète : `GET /openapi.json` (export dans `docs/openapi.json`)
- En-têtes : `X-Content-Type-Options`, `X-Frame-Options`, `Referrer-Policy`, `Strict-Transport-Security`.
- CORS restreint aux origines `CORS_ORIGINS`, tous verbes + credentials.
- Requêtes SQL **paramétrées** (noms de tables/colonnes whitelistés) ; le compte applicatif
n'est pas `sa`. Tables d'auth : `[USER]` + `JOURNAL_AUDIT` (`sql/data_sentinel_auth.sql`).
n'est pas `sa`. Tables d'auth : `[USER]` + `JOURNAL_AUDIT` (`sql/data_sentinel_auth.sql`,
identique au dump livré dans `RENDU/02_Dump_SQL/`).
- Journal d'audit alimenté à chaque login + action admin.
## Tests