DROP TABLE IF EXISTS bloc;
DROP TABLE IF EXISTS page;
DROP TABLE IF EXISTS utilisateur;

CREATE TABLE utilisateur (
    id INT PRIMARY KEY AUTO_INCREMENT,
    login VARCHAR(100) NOT NULL,
    mot_de_passe VARCHAR(255) NOT NULL,
    privilege ENUM('ADMIN', 'USER', 'GUEST') NOT NULL
);

CREATE TABLE page (
    id INT PRIMARY KEY AUTO_INCREMENT,
    titre VARCHAR(200) NOT NULL,
    date_creation DATETIME NOT NULL,
    date_modification DATETIME NOT NULL,
    auteur_id INT NOT NULL,
    droits ENUM('LECTURE', 'ECRITURE', 'ADMIN') NOT NULL,
    FOREIGN KEY (auteur_id) REFERENCES utilisateur(id)
);

CREATE TABLE bloc (
    id INT PRIMARY KEY AUTO_INCREMENT,
    type ENUM('TEXTE', 'LISTE', 'TITRE', 'CODE', 'PAGE') NOT NULL,
    contenu TEXT,
    date_creation DATETIME NOT NULL,
    date_modification DATETIME NOT NULL,
    page_id INT NOT NULL,
    ordre INT NOT NULL,
    auteur_id INT NOT NULL,
    metadata JSON,
    FOREIGN KEY (page_id) REFERENCES page(id),
    FOREIGN KEY (auteur_id) REFERENCES utilisateur(id)
);

