-- Tables pour la formation "Libérer son destin" avec préfixe fondement_
-- À exécuter dans votre base de données OVH

-- Table des utilisateurs (étudiants et enseignant)
CREATE TABLE IF NOT EXISTS `fondement_utilisateurs` (
    `id` INT NOT NULL AUTO_INCREMENT,
    `nom` VARCHAR(100) NOT NULL,
    `prenom` VARCHAR(100) NOT NULL,
    `email` VARCHAR(255) NOT NULL UNIQUE,
    `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 '',  -- Stocke les séances débloquées ex: "1,2,3"
    `date_inscription` DATETIME DEFAULT CURRENT_TIMESTAMP,
    `derniere_connexion` DATETIME DEFAULT NULL,
    PRIMARY KEY (`id`),
    UNIQUE KEY `email` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Table des réponses des étudiants
CREATE TABLE IF NOT EXISTS `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 `unique_reponse` (`utilisateur_id`, `seance`, `exercice`, `question`),
    FOREIGN KEY (`utilisateur_id`) REFERENCES `fondement_utilisateurs`(`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Table des notes de l'enseignant
CREATE TABLE IF NOT EXISTS `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 `unique_note` (`utilisateur_id`),
    FOREIGN KEY (`utilisateur_id`) REFERENCES `fondement_utilisateurs`(`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- 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;