-- ============================================================
-- BBTEK Radio/TV - Schema de base de donnees
-- A importer via phpMyAdmin ou : mysql -u user -p nom_base < schema.sql
-- ============================================================

CREATE TABLE IF NOT EXISTS admins (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nom_utilisateur VARCHAR(100) NOT NULL UNIQUE,
    mot_de_passe VARCHAR(255) NOT NULL, -- toujours stocke avec password_hash()
    email VARCHAR(150),
    date_creation DATETIME DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS emissions (
    id INT AUTO_INCREMENT PRIMARY KEY,
    titre VARCHAR(150) NOT NULL,
    description TEXT,
    animateur VARCHAR(150),
    type ENUM('radio', 'tv') NOT NULL DEFAULT 'radio',
    image_couverture VARCHAR(255),
    date_creation DATETIME DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS grille_programme (
    id INT AUTO_INCREMENT PRIMARY KEY,
    emission_id INT NOT NULL,
    jour_semaine ENUM('lundi','mardi','mercredi','jeudi','vendredi','samedi','dimanche') NOT NULL,
    heure_debut TIME NOT NULL,
    heure_fin TIME NOT NULL,
    FOREIGN KEY (emission_id) REFERENCES emissions(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS replays (
    id INT AUTO_INCREMENT PRIMARY KEY,
    emission_id INT,
    titre VARCHAR(150) NOT NULL,
    description TEXT,
    type ENUM('audio', 'video') NOT NULL DEFAULT 'audio',
    chemin_fichier VARCHAR(255) NOT NULL,
    image_couverture VARCHAR(255),
    duree_secondes INT DEFAULT 0,
    nombre_vues INT DEFAULT 0,
    date_publication DATETIME DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (emission_id) REFERENCES emissions(id) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS actualites (
    id INT AUTO_INCREMENT PRIMARY KEY,
    titre VARCHAR(200) NOT NULL,
    contenu TEXT NOT NULL,
    image_couverture VARCHAR(255),
    auteur VARCHAR(100),
    date_publication DATETIME DEFAULT CURRENT_TIMESTAMP,
    publie TINYINT(1) DEFAULT 1
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS parametres_site (
    cle VARCHAR(100) PRIMARY KEY,
    valeur TEXT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Parametres par defaut
INSERT INTO parametres_site (cle, valeur) VALUES
('nom_radio', 'BBTEK Radio'),
('nom_tv', 'BBTEK TV'),
('url_flux_radio', 'https://radio.bbtekofficiel.com/stream'),
('url_flux_tv', 'https://tv.bbtekofficiel.com/hls/live.m3u8'),
('radio_en_direct', '1'),
('tv_en_direct', '1')
ON DUPLICATE KEY UPDATE valeur=VALUES(valeur);

-- Aucun compte admin n'est cree ici volontairement.
-- Lance install.php une fois le site en ligne pour creer ton premier
-- compte administrateur de maniere securisee (mot de passe hache).
