-- ============================================
-- TERRA TP - Base de données Admin Panel
-- ============================================

CREATE DATABASE IF NOT EXISTS terra_tp CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE terra_tp;

-- Table des administrateurs
CREATE TABLE IF NOT EXISTS admins (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL UNIQUE,
    password VARCHAR(255) NOT NULL,
    email VARCHAR(100),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- Table des projets / réalisations
CREATE TABLE IF NOT EXISTS projects (
    id INT AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(200) NOT NULL,
    category ENUM('tp', 'energie', 'both') DEFAULT 'tp',
    description TEXT,
    location VARCHAR(150),
    area VARCHAR(50),
    duration VARCHAR(50),
    project_date DATE,
    image VARCHAR(255),
    featured TINYINT(1) DEFAULT 0,
    sort_order INT DEFAULT 0,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

-- Table des services
CREATE TABLE IF NOT EXISTS services (
    id INT AUTO_INCREMENT PRIMARY KEY,
    branch ENUM('tp', 'energie') NOT NULL,
    name VARCHAR(150) NOT NULL,
    icon VARCHAR(50),
    short_description VARCHAR(300),
    full_description TEXT,
    image VARCHAR(255),
    sort_order INT DEFAULT 0,
    active TINYINT(1) DEFAULT 1,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

-- Table des témoignages
CREATE TABLE IF NOT EXISTS testimonials (
    id INT AUTO_INCREMENT PRIMARY KEY,
    client_name VARCHAR(100) NOT NULL,
    client_location VARCHAR(100),
    category ENUM('tp', 'energie') DEFAULT 'tp',
    rating TINYINT DEFAULT 5,
    content TEXT NOT NULL,
    active TINYINT(1) DEFAULT 1,
    sort_order INT DEFAULT 0,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

-- Table des messages (formulaire de contact)
CREATE TABLE IF NOT EXISTS messages (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    phone VARCHAR(20),
    email VARCHAR(100),
    service_type VARCHAR(100),
    message TEXT NOT NULL,
    is_read TINYINT(1) DEFAULT 0,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- Table des paramètres du site
CREATE TABLE IF NOT EXISTS settings (
    id INT AUTO_INCREMENT PRIMARY KEY,
    setting_key VARCHAR(100) NOT NULL UNIQUE,
    setting_value TEXT,
    label VARCHAR(200),
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

-- ============================================
-- DONNÉES PAR DÉFAUT
-- ============================================

-- Admin par défaut : admin / admin123 (à changer impérativement)
INSERT INTO admins (username, password, email) VALUES
('admin', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'admin@terraterratp.fr');

-- Paramètres du site
INSERT INTO settings (setting_key, setting_value, label) VALUES
('site_name', 'TERRA TP & ÉNERGIE', 'Nom du site'),
('site_phone', '06 XX XX XX XX', 'Téléphone principal'),
('site_email', 'contact@terraterratp.fr', 'Email de contact'),
('site_address', 'Issoire, Puy-de-Dôme (63)', 'Adresse'),
('siret', 'XXX XXX XXX XXXXX', 'Numéro SIRET'),
('facebook_url', '', 'URL Facebook'),
('instagram_url', '', 'URL Instagram'),
('linkedin_url', '', 'URL LinkedIn'),
('contact_email_recipient', 'contact@terraterratp.fr', 'Email destinataire des messages'),
('google_maps_url', '', 'URL Google Maps'),
('hero_title_tp', 'Terrassement & VRD', 'Titre hero TERRA TP'),
('hero_title_energie', 'Énergie & Solaire', 'Titre hero TERRA ÉNERGIE');

-- Services TERRA TP (défaut)
INSERT INTO services (branch, name, icon, short_description, sort_order) VALUES
('tp', 'Terrassement', 'shovel', 'Travaux de terrassement général, déblai, remblai et nivellement de terrain.', 1),
('tp', 'VRD', 'construction', 'Voirie et réseaux divers : routes, chemins, réseaux enterrés.', 2),
('tp', 'Assainissement', 'droplets', 'Systèmes d\'assainissement individuels et collectifs.', 3),
('tp', 'Construction de piscines', 'waves', 'Création de piscines sur mesure, enterrées ou semi-enterrées.', 4),
('tp', 'Aménagement paysager', 'trees', 'Création d\'espaces verts, engazonnement, plantations.', 5),
('energie', 'Panneaux solaires', 'sun', 'Installation de panneaux photovoltaïques pour particuliers et professionnels.', 1),
('energie', 'Climatisation', 'wind', 'Pose et maintenance de systèmes de climatisation et pompes à chaleur.', 2),
('energie', 'Bilan énergétique', 'zap', 'Audit et optimisation de votre consommation énergétique.', 3);

-- Témoignages par défaut
INSERT INTO testimonials (client_name, client_location, category, rating, content) VALUES
('M. Dupont', 'Issoire (63)', 'tp', 5, 'Travail impeccable pour notre terrassement. Équipe sérieuse, ponctuelle et très professionnelle. Je recommande vivement TERRA TP.'),
('Mme Martin', 'Clermont-Ferrand (63)', 'energie', 5, 'Installation solaire réalisée dans les délais, travail soigné. Très satisfaite du résultat et des économies réalisées.'),
('M. Bernard', 'Brioude (43)', 'tp', 5, 'Construction de notre piscine : résultat magnifique et dans les temps. Merci à toute l\'équipe de TERRA TP !');

-- Projets par défaut
INSERT INTO projects (title, category, description, location, area, duration, project_date, featured) VALUES
('Terrassement zone pavillonnaire', 'tp', 'Création de voirie et réseaux divers pour un lotissement de 12 maisons.', 'Issoire (63)', '3 500 m²', '6 semaines', '2024-09-01', 1),
('Installation solaire résidentielle', 'energie', 'Pose de 20 panneaux photovoltaïques sur toiture avec onduleur hybride.', 'Clermont-Ferrand (63)', '40 m² de panneaux', '3 jours', '2024-11-15', 1),
('Construction piscine enterrée', 'tp', 'Réalisation d\'une piscine 10×5m avec local technique et plage.', 'Brioude (43)', '50 m²', '4 semaines', '2024-06-01', 1);
