-- =====================================================
-- SCRIPT SQL POUR LA FORMATION "LIBÉRER SON DESTIN"
-- Préfixe : fondement_
-- À exécuter dans votre base de données OVH
-- =====================================================

-- -----------------------------------------------------
-- 1. TABLE DES UTILISATEURS (étudiants et enseignant)
-- -----------------------------------------------------

CREATE TABLE `fondement_utilisateurs` (
    `id` INT NOT NULL AUTO_INCREMENT,
    `nom` VARCHAR(100) NOT NULL,
    `prenom` VARCHAR(100) NOT NULL,
    `email` VARCHAR(255) NOT NULL,
    `password` VARCHAR(255) NOT NULL,
    `telephone` VARCHAR(50) DEFAULT NULL,
    `indicatif` VARCHAR(10) DEFAULT '+33',
    `pays` VARCHAR(100) DEFAULT 'France',
    `ville` VARCHAR(100) DEFAULT NULL,
    `role` ENUM('etudiant', 'enseignant') DEFAULT 'etudiant',
    `est_actif` TINYINT(1) DEFAULT 1,
    `seances_debloquees` VARCHAR(50) DEFAULT '',
    `date_inscription` DATETIME DEFAULT CURRENT_TIMESTAMP,
    `derniere_connexion` DATETIME DEFAULT NULL,
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_fondement_utilisateurs_email` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- -----------------------------------------------------
-- 2. TABLE DES RÉPONSES DES ÉTUDIANTS
-- -----------------------------------------------------

CREATE TABLE `fondement_reponses` (
    `id` INT NOT NULL AUTO_INCREMENT,
    `utilisateur_id` INT NOT NULL,
    `seance` INT NOT NULL,
    `exercice` VARCHAR(50) NOT NULL,
    `question` VARCHAR(100) NOT NULL,
    `reponse` TEXT,
    `derniere_modification` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_fondement_reponses_unique` (`utilisateur_id`, `seance`, `exercice`, `question`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- -----------------------------------------------------
-- 3. TABLE DES NOTES DE L'ENSEIGNANT
-- -----------------------------------------------------

CREATE TABLE `fondement_notes` (
    `id` INT NOT NULL AUTO_INCREMENT,
    `utilisateur_id` INT NOT NULL,
    `note` TEXT,
    `date_creation` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_fondement_notes_unique` (`utilisateur_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- -----------------------------------------------------
-- 4. INSERTION DU COMPTE ENSEIGNANT PAR DÉFAUT
-- Mot de passe : Enseignant2024!
-- -----------------------------------------------------
INSERT INTO `fondement_utilisateurs` (
    `nom`, 
    `prenom`, 
    `email`, 
    `password`, 
    `role`, 
    `est_actif`
) VALUES (
    'Enseignant', 
    'Formation', 
    'enseignant@liberer-sondestin.com', 
    '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 
    'enseignant', 
    1
) ON DUPLICATE KEY UPDATE `id` = `id`;

-- -----------------------------------------------------
-- 5. VÉRIFICATION DES COMPTES (optionnel)
-- -----------------------------------------------------
SELECT '=== TABLE fondement_utilisateurs ===' AS '';
SELECT COUNT(*) AS total_utilisateurs FROM `fondement_utilisateurs`;

SELECT '=== TABLE fondement_reponses ===' AS '';
SELECT COUNT(*) AS total_reponses FROM `fondement_reponses`;

SELECT '=== TABLE fondement_notes ===' AS '';
SELECT COUNT(*) AS total_notes FROM `fondement_notes`;