[BDD] Ajout table configuration système #65

Merged
jmartin merged 1 commits from feature/4-table-configuration into master 2025-11-28 15:23:32 +00:00
Owner

🎯 Objectif

Ajout de la table configuration pour permettre la gestion dynamique de la configuration on-premise de l'application.

Modifications appliquées

Table configuration

CREATE TABLE configuration (
  id UUID PRIMARY KEY,
  cle VARCHAR(100) UNIQUE NOT NULL,
  valeur TEXT,
  type VARCHAR(50) NOT NULL,
  categorie VARCHAR(50),
  description TEXT,
  modifie_le TIMESTAMPTZ,
  modifie_par UUID REFERENCES utilisateurs(id)
);

Index créés

  • idx_configuration_cle : Recherche rapide par clé
  • idx_configuration_categorie : Filtrage par catégorie

Données initiales (16 configurations)

📧 Configuration Email (8 paramètres)

  • smtp_host, smtp_port, smtp_secure
  • smtp_auth_required, smtp_user, smtp_password
  • email_from_name, email_from_address

🎨 Configuration Application (4 paramètres)

  • app_name, app_url, app_logo_url
  • setup_completed

🔒 Configuration Sécurité (4 paramètres)

  • password_reset_token_expiry_days
  • jwt_expiry_hours
  • max_upload_size_mb
  • bcrypt_rounds

🔧 Types supportés

Type Description Exemple
string Chaîne de caractères "mail.example.com"
number Nombre 587
boolean Booléen true / false
json Objet JSON {"key": "value"}
encrypted Chiffré AES-256 "***"

Tests effectués

# Vérification structure table
\d configuration
# ✅ Colonnes OK
# ✅ Index OK
# ✅ Contrainte UNIQUE sur cle

# Vérification données
SELECT COUNT(*) FROM configuration;
# ✅ 16 lignes insérées

# Vérification catégories
SELECT categorie, COUNT(*) FROM configuration GROUP BY categorie;
# ✅ email: 8
# ✅ app: 4
# ✅ security: 4

📚 Références

  • Ticket: #4
  • Documentation: @docs/21_CONFIGURATION-SYSTEME.md

Closes #4

## 🎯 Objectif Ajout de la table `configuration` pour permettre la gestion dynamique de la configuration on-premise de l'application. ## ✅ Modifications appliquées ### Table `configuration` ```sql CREATE TABLE configuration ( id UUID PRIMARY KEY, cle VARCHAR(100) UNIQUE NOT NULL, valeur TEXT, type VARCHAR(50) NOT NULL, categorie VARCHAR(50), description TEXT, modifie_le TIMESTAMPTZ, modifie_par UUID REFERENCES utilisateurs(id) ); ``` ### Index créés - ✅ `idx_configuration_cle` : Recherche rapide par clé - ✅ `idx_configuration_categorie` : Filtrage par catégorie ### Données initiales (16 configurations) #### 📧 Configuration Email (8 paramètres) - `smtp_host`, `smtp_port`, `smtp_secure` - `smtp_auth_required`, `smtp_user`, `smtp_password` - `email_from_name`, `email_from_address` #### 🎨 Configuration Application (4 paramètres) - `app_name`, `app_url`, `app_logo_url` - `setup_completed` #### 🔒 Configuration Sécurité (4 paramètres) - `password_reset_token_expiry_days` - `jwt_expiry_hours` - `max_upload_size_mb` - `bcrypt_rounds` ## 🔧 Types supportés | Type | Description | Exemple | |------|-------------|----------| | `string` | Chaîne de caractères | `"mail.example.com"` | | `number` | Nombre | `587` | | `boolean` | Booléen | `true` / `false` | | `json` | Objet JSON | `{"key": "value"}` | | `encrypted` | Chiffré AES-256 | `"***"` | ## ✅ Tests effectués ```bash # Vérification structure table \d configuration # ✅ Colonnes OK # ✅ Index OK # ✅ Contrainte UNIQUE sur cle # Vérification données SELECT COUNT(*) FROM configuration; # ✅ 16 lignes insérées # Vérification catégories SELECT categorie, COUNT(*) FROM configuration GROUP BY categorie; # ✅ email: 8 # ✅ app: 4 # ✅ security: 4 ``` ## 📚 Références - Ticket: #4 - Documentation: @docs/21_CONFIGURATION-SYSTEME.md Closes #4
jmartin self-assigned this 2025-11-28 15:20:09 +00:00
jmartin added 1 commit 2025-11-28 15:20:10 +00:00
Ajout de la table configuration pour la gestion dynamique
de la configuration on-premise de l'application.

Structure :
- Table configuration (clé/valeur avec types)
- Index sur cle et categorie pour performance
- Contrainte UNIQUE sur cle
- Référence vers utilisateurs pour traçabilité

Données initiales (seed) :
- Configuration Email (SMTP) : 8 paramètres
- Configuration Application : 4 paramètres
- Configuration Sécurité : 4 paramètres

Types supportés :
- string : chaînes de caractères
- number : nombres entiers/décimaux
- boolean : true/false
- json : objets JSON
- encrypted : valeurs chiffrées AES-256

Catégories :
- email : Configuration SMTP
- app : Paramètres application
- security : Paramètres de sécurité

Base de données recréée et testée 
16 configurations insérées par défaut 

Ref: #4
jmartin merged commit 4149d0147f into master 2025-11-28 15:23:32 +00:00
jmartin deleted branch feature/4-table-configuration 2025-11-28 15:23:32 +00:00
Sign in to join this conversation.
No description provided.