-- ============================================
-- BASE DE DONNÉES : Piqûres & Morsures
-- Basé sur le livre de Pascal Dumas (96 pages)
-- ============================================

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

-- ============================================
-- TABLE : users
-- ============================================
CREATE TABLE IF NOT EXISTS users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    email VARCHAR(255) UNIQUE NOT NULL,
    password VARCHAR(255) NOT NULL,
    nom VARCHAR(100) NOT NULL,
    prenom VARCHAR(100) NOT NULL,
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
    updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    INDEX idx_email (email)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ============================================
-- TABLE : categories
-- ============================================
CREATE TABLE IF NOT EXISTS categories (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nom VARCHAR(150) NOT NULL,
    description TEXT,
    icone VARCHAR(10),
    couleur VARCHAR(20),
    ordre INT DEFAULT 0,
    INDEX idx_ordre (ordre)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ============================================
-- TABLE : gravite
-- ============================================
CREATE TABLE IF NOT EXISTS gravite (
    id INT AUTO_INCREMENT PRIMARY KEY,
    niveau VARCHAR(50) NOT NULL,
    description TEXT,
    couleur VARCHAR(20),
    ordre INT DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ============================================
-- TABLE : remedies
-- ============================================
CREATE TABLE IF NOT EXISTS remedies (
    id INT AUTO_INCREMENT PRIMARY KEY,
    categorie_id INT NOT NULL,
    gravite_id INT NOT NULL,
    nom VARCHAR(255) NOT NULL,
    nom_latin VARCHAR(255),
    description TEXT,
    symptomes TEXT,
    modalites TEXT,
    posologie TEXT,
    urgence TINYINT(1) DEFAULT 0,
    conseil_medical TINYINT(1) DEFAULT 0,
    ordre INT DEFAULT 0,
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
    INDEX idx_nom (nom),
    INDEX idx_categorie (categorie_id),
    INDEX idx_gravite (gravite_id),
    INDEX idx_urgence (urgence),
    FOREIGN KEY (categorie_id) REFERENCES categories(id) ON DELETE CASCADE,
    FOREIGN KEY (gravite_id) REFERENCES gravite(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ============================================
-- TABLE : premiers_soins
-- ============================================
CREATE TABLE IF NOT EXISTS premiers_soins (
    id INT AUTO_INCREMENT PRIMARY KEY,
    categorie_id INT NOT NULL,
    titre VARCHAR(255) NOT NULL,
    actions TEXT NOT NULL,
    ordre INT DEFAULT 0,
    FOREIGN KEY (categorie_id) REFERENCES categories(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ============================================
-- TABLE : codes_vip
-- ============================================
CREATE TABLE IF NOT EXISTS codes_vip (
    id INT AUTO_INCREMENT PRIMARY KEY,
    code VARCHAR(50) UNIQUE NOT NULL,
    utilise TINYINT(1) DEFAULT 0,
    user_id INT DEFAULT NULL,
    date_generation DATETIME DEFAULT CURRENT_TIMESTAMP,
    date_utilisation DATETIME DEFAULT NULL,
    date_expiration DATE DEFAULT NULL,
    INDEX idx_code (code),
    FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ============================================
-- TABLE : acces
-- ============================================
CREATE TABLE IF NOT EXISTS acces (
    id INT AUTO_INCREMENT PRIMARY KEY,
    user_id INT NOT NULL,
    code_vip_id INT NOT NULL,
    date_activation DATETIME DEFAULT CURRENT_TIMESTAMP,
    date_expiration DATE NOT NULL,
    actif TINYINT(1) DEFAULT 1,
    INDEX idx_user (user_id),
    INDEX idx_expiration (date_expiration),
    FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
    FOREIGN KEY (code_vip_id) REFERENCES codes_vip(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ============================================
-- DONNÉES : Catégories (types de piqûres/morsures)
-- ============================================

INSERT INTO categories (nom, description, icone, couleur, ordre) VALUES
('Insectes volants', 'Abeilles, guêpes, frelons, moustiques', '🐝', '#FFC107', 1),
('Insectes rampants', 'Araignées, scorpions, fourmis', '🕷️', '#FF5722', 2),
('Animaux marins', 'Méduses, oursins, vives, raies', '🪼', '#2196F3', 3),
('Serpents', 'Vipères et autres serpents', '🐍', '#4CAF50', 4),
('Animaux domestiques', 'Chiens, chats, rongeurs', '🐕', '#9C27B0', 5),
('Parasites', 'Tiques, puces, punaises', '🦟', '#795548', 6);

-- ============================================
-- DONNÉES : Niveaux de gravité
-- ============================================

INSERT INTO gravite (niveau, description, couleur, ordre) VALUES
('Bénin', 'Réaction locale simple, pas de danger', '#4CAF50', 1),
('Modéré', 'Réaction locale importante, surveillance nécessaire', '#FFC107', 2),
('Grave', 'Réaction générale, consulter rapidement', '#FF9800', 3),
('Urgence vitale', 'Appeler le 15 immédiatement', '#F44336', 4);

-- ============================================
-- REMÈDES : INSECTES VOLANTS
-- ============================================

INSERT INTO remedies (categorie_id, gravite_id, nom, nom_latin, description, symptomes, modalites, posologie, urgence, conseil_medical, ordre) VALUES

(1, 1, 'Apis Mellifica', 'Apis mellifica', 'Remède principal des piqûres d\'abeille, guêpe, frelon',
'Gonflement rosé, œdème important, douleurs piquantes et brûlantes. Absence de soif caractéristique. Aggravation par la chaleur',
'Aggravé par : chaleur, toucher, pression. Amélioré par : froid, applications froides, air frais',
'15CH : 3 granules immédiatement puis toutes les 15 min jusqu\'à amélioration (max 6 prises). Puis espacer selon amélioration',
0, 0, 1),

(1, 1, 'Ledum Palustre', 'Ledum palustre', 'Piqûres avec gonflement froid au toucher',
'Zone froide et gonflée. Douleur améliorée par le froid. Ecchymose possible. Bon préventif anti-tétanos',
'Aggravé par : chaleur, mouvement. Amélioré par : applications froides, immersion dans eau froide',
'9CH : 3 granules 3x/jour pendant 3 jours. En préventif : 1 dose 9CH unique',
0, 0, 2),

(1, 2, 'Vespa Crabo', 'Vespa crabro', 'Piqûres de frelon avec réaction violente',
'Douleur intense, gonflement rapide et important. Sensation de brûlure intense',
'Aggravé par : toucher, mouvement. Amélioré par : froid',
'15CH : 3 granules toutes les 10 min pendant 1h, puis espacer',
0, 1, 3),

(1, 1, 'Hypericum', 'Hypericum perforatum', 'Piqûres sur zones riches en nerfs (doigts, orteils)',
'Douleurs fulgurantes, névralgiques. Piqûres très douloureuses',
'Aggravé par : toucher, mouvement. Amélioré par : repos',
'15CH : 3 granules toutes les 15 min jusqu\'à amélioration',
0, 0, 4);

-- URGENCE ALLERGIQUE
INSERT INTO remedies (categorie_id, gravite_id, nom, nom_latin, description, symptomes, modalites, posologie, urgence, conseil_medical, ordre) VALUES

(1, 4, 'Histaminum', 'Histaminum', 'Réaction allergique aiguë après piqûre',
'Urticaire généralisé, démangeaisons intenses, gonflement rapide. Signes d\'allergie',
'Aggravé par : progression rapide des symptômes',
'15CH : 3 granules immédiatement en attendant les secours',
1, 1, 5),

(1, 4, 'Carbolicum Acidum', 'Acidum carbolicum', 'Choc anaphylactique imminent',
'Gonflement du visage et de la gorge, difficultés respiratoires, malaise général',
'URGENCE VITALE - APPELER LE 15',
'9CH : 3 granules en attendant les secours',
1, 1, 6);

-- ============================================
-- REMÈDES : INSECTES RAMPANTS (Araignées, Scorpions)
-- ============================================

INSERT INTO remedies (categorie_id, gravite_id, nom, nom_latin, description, symptomes, modalites, posologie, urgence, conseil_medical, ordre) VALUES

(2, 2, 'Tarentula Cubensis', 'Tarentula cubensis', 'Morsures d\'araignée avec suppuration',
'Douleurs brûlantes intolérables, gonflement violet foncé. Tendance à la suppuration',
'Aggravé par : nuit. Amélioré par : fumée de tabac (caractéristique)',
'9CH : 3 granules 4x/jour pendant 3 jours',
0, 1, 1),

(2, 2, 'Lachesis', 'Lachesis mutus', 'Morsures avec coloration violacée',
'Zone violacée, gonflée, très sensible au toucher. Irradiation des douleurs',
'Aggravé par : toucher, chaleur, sommeil. Amélioré par : écoulement de sang',
'9CH : 3 granules 3x/jour',
0, 1, 2),

(2, 1, 'Ledum Palustre', 'Ledum palustre', 'Morsures d\'araignée bénigne',
'Gonflement froid, ecchymose. Prévention infection',
'Aggravé par : chaleur. Amélioré par : froid',
'9CH : 3 granules 3x/jour pendant 2 jours',
0, 0, 3);

-- ============================================
-- REMÈDES : ANIMAUX MARINS
-- ============================================

INSERT INTO remedies (categorie_id, gravite_id, nom, nom_latin, description, symptomes, modalites, posologie, urgence, conseil_medical, ordre) VALUES

(3, 2, 'Medusa', 'Medusa', 'Piqûres de méduse',
'Brûlures intenses, traînées rouges, démangeaisons. Peut persister plusieurs jours',
'Aggravé par : eau douce (ne jamais rincer à l\'eau douce !). Amélioré par : eau de mer, vinaigre',
'9CH : 3 granules toutes les heures jusqu\'à amélioration',
0, 1, 1),

(3, 2, 'Urtica Urens', 'Urtica urens', 'Sensation de brûlure type ortie',
'Brûlures et démangeaisons intenses après contact méduse/ortie de mer',
'Aggravé par : toucher, eau froide. Amélioré par : applications',
'5CH : 3 granules toutes les 2h',
0, 0, 2),

(3, 2, 'Apis Mellifica', 'Apis mellifica', 'Gonflement après piqûre marine',
'Œdème rosé important, douleurs piquantes',
'Aggravé par : chaleur. Amélioré par : froid',
'15CH : 3 granules 4x/jour',
0, 0, 3);

-- OURSINS
INSERT INTO remedies (categorie_id, gravite_id, nom, nom_latin, description, symptomes, modalites, posologie, urgence, conseil_medical, ordre) VALUES

(3, 1, 'Silicea', 'Silicea', 'Expulsion épines d\'oursin',
'Favorise l\'expulsion naturelle des épines fichées dans la peau',
'Action progressive sur plusieurs jours',
'9CH : 3 granules 2x/jour pendant 1 semaine',
0, 0, 4),

(3, 1, 'Hepar Sulfur', 'Hepar sulfuris calcareum', 'Suppuration après piqûre oursin',
'Si infection avec pus suite épine restée dans la peau',
'Aggravé par : froid, toucher. Amélioré par : chaleur',
'9CH : 3 granules 3x/jour jusqu\'à suppuration complète',
0, 1, 5);

-- ============================================
-- REMÈDES : SERPENTS (VIPÈRES)
-- ============================================

INSERT INTO remedies (categorie_id, gravite_id, nom, nom_latin, description, symptomes, modalites, posologie, urgence, conseil_medical, ordre) VALUES

(4, 4, 'Lachesis', 'Lachesis mutus', 'Morsure de serpent - URGENCE',
'Gonflement rapide violet-noir, douleurs intenses. Hémorragie possible',
'APPELER LE 15 IMMÉDIATEMENT - Allonger la personne, immobiliser le membre',
'9CH : 3 granules toutes les 5 min en attendant les secours',
1, 1, 1),

(4, 4, 'Crotalus Horridus', 'Crotalus horridus', 'Morsure avec hémorragie',
'Saignements importants, sang noir qui coagule mal',
'URGENCE VITALE',
'9CH : 3 granules en attendant les secours',
1, 1, 2),

(4, 4, 'Vipera', 'Vipera berus', 'Morsure de vipère',
'Gonflement énorme du membre, coloration violacée',
'URGENCE - Ne jamais poser de garrot, ne pas inciser',
'9CH : 3 granules immédiatement puis toutes les 10 min',
1, 1, 3);

-- ============================================
-- REMÈDES : ANIMAUX DOMESTIQUES
-- ============================================

INSERT INTO remedies (categorie_id, gravite_id, nom, nom_latin, description, symptomes, modalites, posologie, urgence, conseil_medical, ordre) VALUES

(5, 2, 'Ledum Palustre', 'Ledum palustre', 'Morsure/griffure chat, chien, rongeur',
'Plaie punctiforme profonde. Prévention tétanos et infection',
'Nettoyer à l\'eau et savon, désinfecter',
'9CH : 3 granules immédiatement puis 3x/jour pendant 3 jours',
0, 1, 1),

(5, 2, 'Hypericum', 'Hypericum perforatum', 'Morsure douloureuse zone innervée',
'Douleurs névralgiques après morsure aux doigts, orteils',
'Aggravé par : toucher. Amélioré par : repos',
'15CH : 3 granules 4x/jour pendant 2 jours',
0, 0, 2),

(5, 3, 'Lyssinum', 'Lyssinum', 'Morsure chien inconnu ou errant - Risque rage',
'Morsure profonde par animal non vacciné',
'CONSULTER IMMÉDIATEMENT - Risque de rage',
'30CH : 1 dose unique en attendant consultation médicale obligatoire',
0, 1, 3),

(5, 1, 'Calendula TM', 'Calendula officinalis', 'Griffures superficielles',
'Désinfection et cicatrisation',
'Application locale : diluer 20 gouttes dans 100ml eau bouillie',
'En application locale + 5CH : 3 granules 2x/jour',
0, 0, 4);

-- ============================================
-- REMÈDES : PARASITES (Tiques)
-- ============================================

INSERT INTO remedies (categorie_id, gravite_id, nom, nom_latin, description, symptomes, modalites, posologie, urgence, conseil_medical, ordre) VALUES

(6, 1, 'Ledum Palustre', 'Ledum palustre', 'Morsure de tique',
'Après retrait de la tique (avec tire-tique). Prévention infection et maladie de Lyme',
'Retirer la tique avec tire-tique, désinfecter, surveiller pendant 1 mois',
'15CH : 3 granules immédiatement puis 1x/jour pendant 10 jours',
0, 1, 1),

(6, 2, 'Borrelia', 'Borrelia burgdorferi', 'Prévention maladie de Lyme',
'Après morsure de tique en zone à risque',
'Surveiller apparition érythème migrant (tache rouge qui s\'étend)',
'15CH ou 30CH : 1 dose unique après retrait tique',
0, 1, 2);

-- ============================================
-- PREMIERS SOINS PAR CATÉGORIE
-- ============================================

INSERT INTO premiers_soins (categorie_id, titre, actions, ordre) VALUES
(1, 'Piqûre d\'abeille/guêpe', '1. Retirer le dard avec une carte (ne pas utiliser de pince)\n2. Nettoyer à l\'eau et savon\n3. Appliquer du froid\n4. Apis 15CH immédiatement\n5. Surveiller signes allergiques (gonflement gorge, difficultés respiratoires) → 15', 1),

(2, 'Morsure d\'araignée', '1. Nettoyer la plaie\n2. Appliquer du froid\n3. Remède homéopathique\n4. Surveiller évolution 24-48h\n5. Consulter si gonflement important ou fièvre', 1),

(3, 'Piqûre de méduse', '1. NE PAS RINCER À L\'EAU DOUCE !\n2. Rincer à l\'eau de mer\n3. Appliquer du vinaigre ou bicarbonate\n4. Retirer les filaments avec gants\n5. Medusa 9CH\n6. Consulter si douleur intense ou malaise', 1),

(4, 'Morsure de serpent', '1. APPELER LE 15 IMMÉDIATEMENT\n2. Allonger la victime, la rassurer\n3. Immobiliser le membre\n4. NE PAS poser de garrot\n5. NE PAS inciser\n6. NE PAS aspirer le venin\n7. Lachesis 9CH en attendant secours', 1),

(5, 'Morsure chien/chat', '1. Nettoyer abondamment eau + savon\n2. Désinfecter (chlorhexidine)\n3. Ledum 9CH\n4. Consulter si : plaie profonde, animal inconnu, pas de vaccin antitétanique à jour', 1),

(6, 'Morsure de tique', '1. Retirer avec tire-tique (mouvement rotatif)\n2. Désinfecter\n3. Noter la date\n4. Ledum 15CH pendant 10 jours\n5. Surveiller apparition érythème migrant pendant 1 mois\n6. Consulter si : tache rouge qui s\'étend, fièvre, fatigue', 1);

-- ============================================
-- CODES VIP DE TEST
-- ============================================

INSERT INTO codes_vip (code, date_expiration) VALUES
('PIQURES-TEST001', DATE_ADD(NOW(), INTERVAL 1 YEAR)),
('PIQURES-TEST002', DATE_ADD(NOW(), INTERVAL 1 YEAR)),
('PIQURES-TEST003', DATE_ADD(NOW(), INTERVAL 1 YEAR)),
('PIQURES-TEST004', DATE_ADD(NOW(), INTERVAL 1 YEAR));

-- ============================================
-- UTILISATEUR TEST
-- ============================================
INSERT INTO users (email, password, nom, prenom) VALUES
('test@example.com', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'Test', 'Piqûres');

-- ============================================
-- FIN
-- ============================================
