mirror of
https://github.com/tips-of-mine/gestion-certificats2.git
synced 2025-06-28 11:38:42 +02:00
Add files via upload
This commit is contained in:
54
mysql/init.sql
Normal file
54
mysql/init.sql
Normal file
@ -0,0 +1,54 @@
|
||||
-- Script d'initialisation de la base de données MySQL
|
||||
-- Ce script est exécuté automatiquement par le conteneur MySQL au premier démarrage.
|
||||
|
||||
-- Création de la base de données si elle n'existe pas
|
||||
CREATE DATABASE IF NOT EXISTS `cert_gestion` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- Utilisation de la base de données
|
||||
USE `cert_gestion`;
|
||||
|
||||
-- Table pour stocker les informations des utilisateurs
|
||||
CREATE TABLE IF NOT EXISTS `users` (
|
||||
`id` INT AUTO_INCREMENT PRIMARY KEY,
|
||||
`username` VARCHAR(255) UNIQUE NOT NULL, -- Nom d'utilisateur unique
|
||||
`password` VARCHAR(255) NOT NULL, -- Mot de passe haché
|
||||
`role` ENUM('admin', 'user') DEFAULT 'user', -- Rôle de l'utilisateur (admin ou utilisateur simple)
|
||||
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP -- Date de création du compte
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- Table pour stocker les périmètres fonctionnels
|
||||
CREATE TABLE IF NOT EXISTS `functional_perimeters` (
|
||||
`id` INT AUTO_INCREMENT PRIMARY KEY,
|
||||
`name` VARCHAR(255) UNIQUE NOT NULL, -- Nom unique du périmètre fonctionnel
|
||||
`intermediate_cert_name` VARCHAR(255) UNIQUE NOT NULL, -- Nom du fichier du certificat intermédiaire associé
|
||||
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP -- Date de création du périmètre
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- Table pour stocker les informations sur les certificats
|
||||
CREATE TABLE IF NOT EXISTS `certificates` (
|
||||
`id` INT AUTO_INCREMENT PRIMARY KEY,
|
||||
`name` VARCHAR(255) UNIQUE NOT NULL, -- Nom du fichier du certificat (ex: www.example.com.pem)
|
||||
`type` ENUM('root', 'intermediate', 'simple') NOT NULL, -- Type de certificat
|
||||
`functional_perimeter_id` INT NULL, -- Clé étrangère vers functional_perimeters (NULL pour le certificat root)
|
||||
`expiration_date` DATETIME NOT NULL, -- Date d'expiration du certificat
|
||||
`is_revoked` BOOLEAN DEFAULT FALSE, -- Indique si le certificat est révoqué
|
||||
`revoked_at` DATETIME NULL, -- Date de révocation si révoqué
|
||||
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- Date de création du certificat
|
||||
FOREIGN KEY (`functional_perimeter_id`) REFERENCES `functional_perimeters`(`id`) ON DELETE SET NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- Table pour historiser les actions des utilisateurs
|
||||
CREATE TABLE IF NOT EXISTS `action_logs` (
|
||||
`id` INT AUTO_INCREMENT PRIMARY KEY,
|
||||
`user_id` INT NOT NULL, -- ID de l'utilisateur qui a effectué l'action
|
||||
`action_type` VARCHAR(50) NOT NULL, -- Type d'action (ex: 'login', 'create_cert', 'revoke_cert', 'create_user')
|
||||
`description` TEXT NOT NULL, -- Description détaillée de l'action
|
||||
`ip_address` VARCHAR(45) NOT NULL, -- Adresse IP de l'utilisateur
|
||||
`action_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- Date et heure de l'action
|
||||
FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- Note sur l'initialisation du premier administrateur et du certificat root:
|
||||
-- La création du premier compte administrateur et du certificat root
|
||||
-- sera gérée par l'application PHP au premier lancement pour des raisons de flexibilité et de sécurité.
|
||||
-- Le mot de passe de l'administrateur sera haché par l'application PHP.
|
Reference in New Issue
Block a user