-- https://www.phpmyadmin.net/
--
-- Hôte : localhost:3306
-- Généré le : mer. 21 mai 2025 à 09:41
-- Version du serveur : 10.11.11-MariaDB-0+deb12u1
-- Version de PHP : 8.2.28

START TRANSACTION;



--
-- Base de données : `MB_db`
--

-- --------------------------------------------------------

--
-- Structure de la table `annee_scolaire`
--

CREATE TABLE `annee_scolaire` (
  `annee_scolaire` varchar(9) NOT NULL COMMENT 'format : 2024-2025'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

--
-- Déchargement des données de la table `annee_scolaire`
--

INSERT INTO `annee_scolaire` (`annee_scolaire`) VALUES
('2019-2020'),
('2020-2021'),
('2021-2022'),
('2022-2023'),
('2023-2024'),
('2024-2025'),
('2025-2026'),
('2026-2027'),
('2027-2028'),
('2028-2029'),
('2029-2030');

-- --------------------------------------------------------

--
-- Structure de la table `article`
--

CREATE TABLE `article` (
  `id_article` bigint(20) NOT NULL,
  `titre_article` varchar(150) NOT NULL,
  `resume_article` varchar(500) NOT NULL,
  `contenu_article` text NOT NULL,
  `statut_article` varchar(20) NOT NULL,
  `date_ajout` datetime NOT NULL,
  `date_derniere_modif` datetime NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

--
-- Déchargement des données de la table `article`
--

INSERT INTO `article` (`id_article`, `titre_article`, `resume_article`, `contenu_article`, `statut_article`, `date_ajout`, `date_derniere_modif`) VALUES
(1, 'Ceci est un test', 'test', 'Test test test test', 'archive', '2025-04-26 13:23:32', '2025-04-26 15:24:12'),
(2, 'Bienvenue sur notre site web', "Nous vous remercions pour votre soutien ! Voici un guide d'utilisation. Il vous aidera à naviguer facilement et à découvrir tout ce que nous proposons. Que vous soyez élève, parent ou futur étudiant, voici un aperçu des sections clés de notre site.", "<a href='/nos_eleves_ont_du_talent/'><h2>Nos élèves ont du talent</h2></a>\nNous sommes fiers de la créativité et du talent de nos élèves. Découvrez leurs projets musicaux, leurs performances et les nombreuses opportunités qu'ils saisissent au sein de notre école. Ils brillent dans la musique et nous les accompagnons dans chaque étape de leur parcours.\n\n<a href='/presentation/><h2>Présentations</h2></a>\nNotre école de musique propose des cours pour tous les niveaux, du débutant au musicien confirmé. Notre mission : aider chaque élève à développer ses compétences musicales dans un cadre bienveillant et stimulant.\n\n<a href='/actualites/'><h2>Actualités</h2></a>\nRestez à jour avec toutes les dernières informations concernant notre école : événements, concerts, stages, et nouveautés pédagogiques. Vous trouverez ici tous nos articles et annonces importantes.\n\n<a href='/contact/'><h2>Contactez nous</h2></a>\nVous avez une question ? Vous souhaitez plus d'informations ? Contactez nous facilement via notre formulaire en ligne. Nous sommes là pour vous aider à avancer dans votre projet musical !\n\n<a href='/connexion/'><h2>Espace personnel</h2></a>\nLes élèves peuvent accéder à leur espace personnel pour suivre leur progression, consulter leurs cours et échanger avec leurs professeurs. Connectez vous pour accéder aux ressources pédagogiques.\n\n<a href='/loi/politique-de-confidentialite/'><h2>Politique de confidentialité</h2></a>\nVotre vie privée est importante pour nous. Découvrez comment nous protégeons vos données personnelles dans notre politique de confidentialité.\n\n<a href='/loi/accessibilite/'><h2>Accessibilité</h2></a>\nNous veillons à rendre notre site accessible à tous. Que vous soyez en situation de handicap ou que vous utilisiez des technologies d'assistance, notre site est conçu pour vous offrir une navigation simple et fluide.\n\n<h2>Conclusion</h2>\nNous espérons que ce guide vous aidera à mieux découvrir notre école et à profiter pleinement de toutes les ressources disponibles sur notre site. Si vous avez des questions, n'hésitez pas à nous contacter !", 'valide', '2025-04-29 08:25:33', '2025-04-29 10:28:55');

-- --------------------------------------------------------

--
-- Structure de la table `a_ete_vu_par`
--

CREATE TABLE `a_ete_vu_par` (
  `id_chat` bigint(20) NOT NULL,
  `id_utilisateur` varchar(25) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

-- --------------------------------------------------------

--
-- Structure de la table `chat`
--

CREATE TABLE `chat` (
  `id_chat` bigint(11) NOT NULL,
  `message` tinytext NOT NULL,
  `date_chat` datetime NOT NULL,
  `id_utilisateur_origine` varchar(25) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

--
-- Déchargement des données de la table `chat`
--

INSERT INTO `chat` (`id_chat`, `message`, `date_chat`, `id_utilisateur_origine`) VALUES
(1, 'Ceci est un test', '2025-04-27 12:45:10', 'mhaller5');

-- --------------------------------------------------------

--
-- Structure de la table `contact`
--

CREATE TABLE `contact` (
  `id_contact` int(11) NOT NULL AUTO_INCREMENT,
  `nom_et_prenom` varchar(100) NOT NULL,
  `mail` varchar(100) NOT NULL,
  `sujet` varchar(150) NOT NULL,
  `message` text NOT NULL,
  `date_contact` datetime NOT NULL,
  PRIMARY KEY (`id_contact`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

-- --------------------------------------------------------

--
-- Structure de la table `cours`
--

CREATE TABLE `cours` (
  `id_cours` char(4) NOT NULL,
  `annee_debut` char(9) NOT NULL,
  `annee_fin` char(9) DEFAULT NULL,
  `id_type_cours` tinyint(4) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

--
-- Déchargement des données de la table `cours`
--

INSERT INTO `cours` (`id_cours`, `annee_debut`, `annee_fin`, `id_type_cours`) VALUES
('0001', '2019-2020', '2022-2023', 1);

-- --------------------------------------------------------

--
-- Structure de la table `creation_compte`
--

CREATE TABLE `creation_compte` (
  `id_creation_compte` int(11) NOT NULL,
  `nom_et_prenom` varchar(100) NOT NULL,
  `cours_suivi` varchar(25) NOT NULL,
  `mail` varchar(150) NOT NULL,
  `date_creation_compte` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

-- --------------------------------------------------------

--
-- Structure de la table `ecrit_par`
--

CREATE TABLE `ecrit_par` (
  `id_article` bigint(20) NOT NULL,
  `id_utilisateur` varchar(25) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

--
-- Déchargement des données de la table `ecrit_par`
--

INSERT INTO `ecrit_par` (`id_article`, `id_utilisateur`) VALUES
(1, 'mhaller5');

-- --------------------------------------------------------

--
-- Structure de la table `est_compose_de`
--

CREATE TABLE `est_compose_de` (
  `id_cours` char(4) NOT NULL,
  `id_utilisateur` varchar(25) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

--
-- Déchargement des données de la table `est_compose_de`
--

INSERT INTO `est_compose_de` (`id_cours`, `id_utilisateur`) VALUES
('0001', 'mhaller5');

-- --------------------------------------------------------

--
-- Structure de la table `etudie_en`
--

CREATE TABLE `etudie_en` (
  `annee_scolaire` char(9) NOT NULL,
  `id_cours` char(4) NOT NULL,
  `horaire` char(5) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

--
-- Déchargement des données de la table `etudie_en`
--

INSERT INTO `etudie_en` (`annee_scolaire`, `id_cours`, `horaire`) VALUES
('2019-2020', '0001', '10h00'),
('2020-2021', '0001', '13h00'),
('2021-2022', '0001', '16h30'),
('2022-2023', '0001', '10h00'),
('2023-2024', '0001', '13h30'),
('2024-2025', '0001', '16h00'),
('2025-2026', '0001', '10h30'),
('2026-2027', '0001', '13h00'),
('2027-2028', '0001', '16h30'),
('2028-2029', '0001', '10h00'),
('2029-2030', '0001', '13h30');

-- --------------------------------------------------------

--
-- Structure de la table `fichier`
--

CREATE TABLE `fichier` (
  `chemin_fichier` varchar(500) NOT NULL,
  `type_fichier` varchar(10) NOT NULL,
  `alt_fichier` varchar(100) NOT NULL,
  `nom_fichier` varchar(100) NOT NULL,
  `date_creation` datetime NOT NULL DEFAULT current_timestamp(),
  `visibilite_par_defaut` varchar(20) NOT NULL DEFAULT 'prive' COMMENT 'public ou prive'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

--
-- Déchargement des données de la table `fichier`
--

INSERT INTO `fichier` (`chemin_fichier`, `type_fichier`, `alt_fichier`, `nom_fichier`, `date_creation`, `visibilite_par_defaut`) VALUES
('https://cdn-s-www.republicain-lorrain.fr/images/AF82BBCC-B5C0-404D-B8E6-C2122ACB5772/NW_raw/au-pole-musical-on-apprend-la-guitare-folk-et-electrique-la-basse-le-piano-le-clavier-le-chant-ou-encore-le-ukulele-photo-rl-1637604731.jpg', 'jpg', "photo du républicain lorrain de l'association", 'photo_republicain_lorrain_novembre_2021', '2025-05-20 16:21:41', 'public'),
('https://www.youtube.com/watch?v=2TtfKX4kHVs', 'ytb', 'Au clair de la lune par Ethan, Léo et Jules', 'au_clair_de_la_lune_2025', '2025-01-26 18:10:30', 'public'),
('https://www.youtube.com/watch?v=AR7X8tRbKVo', 'ytb', 'Cover de la chanson Mood de 24KGold', 'cover_mood_24kgold', '2023-06-15 18:10:30', 'public'),
('https://www.youtube.com/watch?v=b4pOC1iY1bQ', 'ytb', "Cover de Comptine d'un autre été de Yann Tiersen par Maeva et Flora", 'comptine_d_un_autre_ete_maeva_et_flora', '2025-04-22 18:10:30', 'public'),
('https://www.youtube.com/watch?v=cRKjjeDIL_A', 'ytb', 'conte de Grand-Mère par Adélia et Nolan', 'conte_de_grand_mere', '2025-04-21 18:10:30', 'public'),
('https://www.youtube.com/watch?v=EYOT99TDo4I', 'ytb', 'concert du 05 janvier 2024 aux Hublots', 'concert_05_01_2024', '2024-01-05 18:10:30', 'public'),
('https://www.youtube.com/watch?v=F980UGuAzjE', 'ytb', 'Je commence par Elsa au piano', 'je_commence_elsa', '2025-04-21 18:10:30', 'public'),
('https://www.youtube.com/watch?v=HZAvnUa_ikk', 'ytb', 'Concert des jeunes élèves sur Loreina TV', 'concert_jeunes_loreina_tv', '2024-12-31 18:10:30', 'public'),
('https://www.youtube.com/watch?v=k8vHfmcq1f8', 'ytb', 'Symphonie n°40 W.A. MOZART par Melyna, Zelie et Sasha', 'symphonie_n_40_w_a_mozart', '2025-04-24 18:10:30', 'public'),
('https://www.youtube.com/watch?v=mEETEHWi0Hs', 'ytb', 'Cover de la chanson Blood Water de The Grandson', 'cover_blood_water_the_grandson', '2023-06-15 18:10:30', 'public'),
('https://www.youtube.com/watch?v=nmPQLSd3FsE', 'ytb', 'Cover du Menuet de Bach par Camille, Loeva, Justine et Gabin', 'menuet_de_Bach_2025', '2025-04-22 18:10:30', 'public'),
('https://www.youtube.com/watch?v=pLY5fwkRl_U', 'ytb', "Cover de l'aventurier chanté par Loic", 'l_aventurier_loic', '2025-04-22 18:10:30', 'public'),
('https://www.youtube.com/watch?v=qw0UD0H8ADE', 'ytb', "Vidéo de présentation de l'association", 'presentation_association', '2023-06-15 18:10:30', 'public'),
('https://www.youtube.com/watch?v=SmnkJmJ_VIs', 'ytb', 'groupe artista power le 22 mars 2024', 'artista_power_22_03_2024', '2024-03-25 18:10:30', 'public'),
('https://www.youtube.com/watch?v=Ub5DCJleDTs', 'ytb', 'sous le soleil étoilé, une composition originale de LDMR', 'sous_le_soleil_etoile', '2025-01-26 18:10:30', 'public'),
('https://www.youtube.com/watch?v=V3xz46MFMiE', 'ytb', '2eme video de présentation de MB Music School', '2e_video_presentation', '2024-12-31 18:10:30', 'public'),
('https://www.youtube.com/watch?v=WnNiCliYyqw', 'ytb', 'cover frère jacques par Lynette, Solenn et Nathan', 'frere_jacques', '2025-01-27 18:10:30', 'public'),
('https://www.youtube.com/watch?v=xGIfhZDuQKQ', 'ytb', 'Interview par Loreina TV des jeunes élèves', 'interview_loreina_jeunes', '2024-12-31 18:10:30', 'public'),
('https://www.youtube.com/watch?v=xxj2CvNtYGE', 'ytb', 'I Will Survive cover par Dorian, Gabin, Liam, Matteo et Adrien', 'i_will_survive_dorian_gabin_liam_matteo_adrien', '2025-05-04 20:34:01', 'public'),
('https://www.youtube.com/watch?v=yF3s1YmSXeM', 'ytb', 'cover petit papa noel', 'petit_papa_noel', '2025-01-27 18:10:30', 'public'),
('https://www.youtube.com/watch?v=yFMwxfp9KWA', 'ytb', 'Clara, Noa, Emma, Elyna et Elyes jouent Mad World', 'clara_noa_emma_elyna_et_elyes_mad_world', '2025-04-26 20:34:01', 'public'),
('https://www.youtube.com/watch?v=yxEgar1HqeU', 'ytb', 'Roméo et Juliette par Guillaume ', 'romeo_et_juliette', '2025-04-22 18:10:30', 'public');

-- --------------------------------------------------------

--
-- Structure de la table `fichier_note`
--

CREATE TABLE `fichier_note` (
  `id_note` int(11) NOT NULL,
  `chemin_fichier` varchar(500) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

--
-- Déchargement des données de la table `fichier_note`
--

INSERT INTO `fichier_note` (`id_note`, `chemin_fichier`) VALUES
(1, 'https://www.youtube.com/watch?v=pLY5fwkRl_U');

-- --------------------------------------------------------

--
-- Structure de la table `fichier_visibilite`
--

CREATE TABLE `fichier_visibilite` (
  `chemin_fichier` varchar(500) NOT NULL,
  `id_role` int(11) NOT NULL,
  `id_utilisateur` varchar(25) NOT NULL,
  `peut_voir` tinyint(1) NOT NULL DEFAULT 1,
  `peut_modifier` tinyint(1) NOT NULL DEFAULT 0,
  `peut_supprimer` tinyint(1) NOT NULL DEFAULT 0,
  PRIMARY KEY (`chemin_fichier`, `id_role`, `id_utilisateur`),
  CONSTRAINT `check_role_or_user` CHECK ((`id_role` IS NOT NULL AND `id_utilisateur` = '') OR (`id_role` = 0 AND `id_utilisateur` IS NOT NULL))
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

--
-- Déchargement des données de la table `fichier_visibilite`
--

-- Pour les fichiers publics (visibilite_par_defaut = 'public')
-- Tout le monde peut voir, seul admin peut modifier et supprimer
INSERT INTO `fichier_visibilite` (`chemin_fichier`, `id_role`, `id_utilisateur`, `peut_voir`, `peut_modifier`, `peut_supprimer`)
SELECT 
    f.chemin_fichier,
    r.id_role,
    '',
    CASE 
        WHEN r.id_role = 1 THEN 1  -- Admin peut voir
        WHEN r.id_role IN (2,3,4) THEN 1  -- Élèves, écrivains et profs peuvent voir
        ELSE 0
    END as peut_voir,
    CASE 
        WHEN r.id_role = 1 THEN 1  -- Seul admin peut modifier
        ELSE 0
    END as peut_modifier,
    CASE 
        WHEN r.id_role = 1 THEN 1  -- Seul admin peut supprimer
        ELSE 0
    END as peut_supprimer
FROM fichier f
CROSS JOIN role r
WHERE f.visibilite_par_defaut = 'public';

-- Pour les fichiers privés (visibilite_par_defaut = 'prive')
-- Seuls les professeurs et administrateurs peuvent voir, modifier et supprimer
INSERT INTO `fichier_visibilite` (`chemin_fichier`, `id_role`, `id_utilisateur`, `peut_voir`, `peut_modifier`, `peut_supprimer`)
SELECT 
    f.chemin_fichier,
    r.id_role,
    '',
    CASE 
        WHEN r.id_role IN (1,4) THEN 1  -- Admin et profs peuvent voir
        ELSE 0
    END as peut_voir,
    CASE 
        WHEN r.id_role IN (1,4) THEN 1  -- Admin et profs peuvent modifier
        ELSE 0
    END as peut_modifier,
    CASE 
        WHEN r.id_role IN (1,4) THEN 1  -- Admin et profs peuvent supprimer
        ELSE 0
    END as peut_supprimer
FROM fichier f
CROSS JOIN role r
WHERE f.visibilite_par_defaut = 'prive';

-- --------------------------------------------------------

--
-- Structure de la table `illustre`
--

CREATE TABLE `illustre` (
  `id_article` bigint(20) NOT NULL,
  `chemin_fichier` varchar(500) NOT NULL,
  `position_illu` smallint(6) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

--
-- Déchargement des données de la table `illustre`
--

INSERT INTO `illustre` (`id_article`, `chemin_fichier`, `position_illu`) VALUES
(1, 'https://www.youtube.com/watch?v=2TtfKX4kHVs', 0),
(2, 'https://cdn-s-www.republicain-lorrain.fr/images/AF82BBCC-B5C0-404D-B8E6-C2122ACB5772/NW_raw/au-pole-musical-on-apprend-la-guitare-folk-et-electrique-la-basse-le-piano-le-clavier-le-chant-ou-encore-le-ukulele-photo-rl-1637604731.jpg', 0);

-- --------------------------------------------------------

--
-- Structure de la table `mdp_reset`
--

CREATE TABLE `mdp_reset` (
  `id` int(11) NOT NULL,
  `id_utilisateur` varchar(25) NOT NULL,
  `token` varchar(255) NOT NULL,
  `expires_at` datetime NOT NULL,
  `created_at` datetime NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

--
-- Déchargement des données de la table `mdp_reset`
--

INSERT INTO `mdp_reset` (`id`, `id_utilisateur`, `token`, `expires_at`, `created_at`) VALUES
(1, 'test1', 'c46a51da20aab1c430d4c6583ff86237199ad71446f273b22bb5deba47ac0e3c', '2025-05-20 09:12:05', '2025-05-19 09:12:05');

-- --------------------------------------------------------

--
-- Structure de la table `note`
--

CREATE TABLE `note` (
  `id_note` int(11) NOT NULL,
  `contenu_note` text NOT NULL,
  `date_creation_note` datetime NOT NULL,
  `date_visee_note` datetime NOT NULL,
  `id_type_note` tinyint(11) NOT NULL,
  `id_cours` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

--
-- Déchargement des données de la table `note`
--

INSERT INTO `note` (`id_note`, `contenu_note`, `date_creation_note`, `date_visee_note`, `id_type_note`, `id_cours`) VALUES
(1, 'Ceci est un test', '2025-04-25 12:57:49', '2025-04-25 12:57:49', 1, '0001');

-- --------------------------------------------------------

--
-- Structure de la table `permission`
--

CREATE TABLE `permission` (
  `id_permission` int(11) NOT NULL,
  `libelle_permission` varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

--
-- Déchargement des données de la table `permission`
--

INSERT INTO `permission` (`id_permission`, `libelle_permission`) VALUES
(1, 'ecrire un article'),
(2, 'se_connecter'),
(3, 'ajouter_une_note'),
(4, 'ajouter_un_devoir'),
(5, 'supprimer_une_note'),
(6, 'supprimer_un_devoir'),
(7, 'envoyer_un_message'),
(8, 'ajouter_un_fichier'),
(9, 'modifier_un_fichier'),
(10, 'supprimer_un_fichier');

-- --------------------------------------------------------

--
-- Structure de la table `possede_permission`
--

CREATE TABLE `possede_permission` (
  `id_role` int(4) NOT NULL,
  `id_permission` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

--
-- Déchargement des données de la table `possede_permission`
--

INSERT INTO `possede_permission` (`id_role`, `id_permission`) VALUES
(1, 2),
(2, 2),
(3, 2),
(4, 2),
(3, 1),
(4, 3),
(4, 4),
(4, 5),
(4, 6);

-- --------------------------------------------------------

--
-- Structure de la table `possede_role`
--

CREATE TABLE `possede_role` (
  `id_utilisateur` varchar(25) NOT NULL,
  `id_role` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

--
-- Déchargement des données de la table `possede_role`
--

INSERT INTO `possede_role` (`id_utilisateur`, `id_role`) VALUES
('mhaller5', 1);

-- --------------------------------------------------------

--
-- Structure de la table `role`
--

CREATE TABLE `role` (
  `id_role` int(11) NOT NULL,
  `libelle_role` varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

--
-- Déchargement des données de la table `role`
--

INSERT INTO `role` (`id_role`, `libelle_role`) VALUES
(1, 'administrateur'),
(2, 'eleve'),
(3, 'ecrivain'),
(4, 'professeur');

-- --------------------------------------------------------

--
-- Structure de la table `type_cours`
--

CREATE TABLE `type_cours` (
  `id_type_cours` tinyint(4) NOT NULL,
  `libelle_type_cours` varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

--
-- Déchargement des données de la table `type_cours`
--

INSERT INTO `type_cours` (`id_type_cours`, `libelle_type_cours`) VALUES
(1, 'piano'),
(2, 'guitare'),
(3, 'basse'),
(4, 'chant'),
(5, 'batterie'),
(6, 'cours préparatoires');

-- --------------------------------------------------------

--
-- Structure de la table `type_note`
--

CREATE TABLE `type_note` (
  `id_type_note` tinyint(4) NOT NULL,
  `libelle_type_note` varchar(50) NOT NULL COMMENT 'devoir ou note_prof'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

--
-- Déchargement des données de la table `type_note`
--

INSERT INTO `type_note` (`id_type_note`, `libelle_type_note`) VALUES
(1, 'note_prof'),
(2, 'devoir');

-- --------------------------------------------------------

--
-- Structure de la table `utilisateur`
--

CREATE TABLE `utilisateur` (
  `id_utilisateur` varchar(25) NOT NULL,
  `civilite` varchar(6) NOT NULL,
  `prenom_utilisateur` varchar(50) NOT NULL,
  `nom_utilisateur` varchar(50) NOT NULL,
  `adresse_mail` varchar(100) NOT NULL,
  `mot_de_passe` char(32) NOT NULL,
  `date_creation_utilisateur` date NOT NULL DEFAULT current_timestamp(),
  `statut_utilisateur` varchar(50) NOT NULL,
  `id_creation_compte` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

--
-- Déchargement des données de la table `utilisateur`
--

INSERT INTO `utilisateur` (`id_utilisateur`, `civilite`, `prenom_utilisateur`, `nom_utilisateur`, `adresse_mail`, `mot_de_passe`, `date_creation_utilisateur`, `statut_utilisateur`, `id_creation_compte`) VALUES
('mhaller5', 'Mme', 'Margaux', 'Haller', 'margaux.haller.mb@gmail.com', 'ead747dca0650b72bafd6d1824b1df32', '2025-04-18', 'valide', NULL),
('test1', '', '', '', 'tchetchemargo@gmail.com', 'ead747dca0650b72bafd6d1824b1df32', '2025-05-19', 'valide', NULL);

--
-- Index pour les tables déchargées
--

--
-- Index pour la table `annee_scolaire`
--
ALTER TABLE `annee_scolaire`
  ADD PRIMARY KEY (`annee_scolaire`);

--
-- Index pour la table `article`
--
ALTER TABLE `article`
  ADD PRIMARY KEY (`id_article`);

--
-- Index pour la table `a_ete_vu_par`
--
ALTER TABLE `a_ete_vu_par`
  ADD KEY `id_chat` (`id_chat`),
  ADD KEY `id_utilisateur` (`id_utilisateur`);

--
-- Index pour la table `chat`
--
ALTER TABLE `chat`
  ADD PRIMARY KEY (`id_chat`),
  ADD KEY `id_utilisateur_origine` (`id_utilisateur_origine`);

--
-- Index pour la table `contact`
--
ALTER TABLE `contact`
  ADD PRIMARY KEY (`id_contact`);

--
-- Index pour la table `cours`
--
ALTER TABLE `cours`
  ADD PRIMARY KEY (`id_cours`),
  ADD KEY `id_type_cours` (`id_type_cours`),
  ADD KEY `annee_debut` (`annee_debut`),
  ADD KEY `annee_fin` (`annee_fin`);

--
-- Index pour la table `creation_compte`
--
ALTER TABLE `creation_compte`
  ADD PRIMARY KEY (`id_creation_compte`);

--
-- Index pour la table `ecrit_par`
--
ALTER TABLE `ecrit_par`
  ADD KEY `id_article` (`id_article`),
  ADD KEY `id_utilisateur` (`id_utilisateur`);

--
-- Index pour la table `est_compose_de`
--
ALTER TABLE `est_compose_de`
  ADD PRIMARY KEY (`id_utilisateur`,`id_cours`),
  ADD KEY `id_cours` (`id_cours`);

--
-- Index pour la table `etudie_en`
--
ALTER TABLE `etudie_en`
  ADD KEY `annee_scolaire` (`annee_scolaire`),
  ADD KEY `id_cours` (`id_cours`);

--
-- Index pour la table `fichier`
--
ALTER TABLE `fichier`

-- Contraintes pour les tables
--

ALTER TABLE `cours`
  ADD CONSTRAINT `cours_ibfk_1` FOREIGN KEY (`id_type_cours`) REFERENCES `type_cours` (`id_type_cours`),
  ADD CONSTRAINT `cours_ibfk_2` FOREIGN KEY (`annee_debut`) REFERENCES `annee_scolaire` (`annee_scolaire`),
  ADD CONSTRAINT `cours_ibfk_3` FOREIGN KEY (`annee_fin`) REFERENCES `annee_scolaire` (`annee_scolaire`);

ALTER TABLE `est_compose_de`
  ADD CONSTRAINT `est_compose_de_ibfk_1` FOREIGN KEY (`id_cours`) REFERENCES `cours` (`id_cours`),
  ADD CONSTRAINT `est_compose_de_ibfk_2` FOREIGN KEY (`id_utilisateur`) REFERENCES `utilisateur` (`id_utilisateur`);

ALTER TABLE `etudie_en`
  ADD CONSTRAINT `etudie_en_ibfk_1` FOREIGN KEY (`annee_scolaire`) REFERENCES `annee_scolaire` (`annee_scolaire`),
  ADD CONSTRAINT `etudie_en_ibfk_2` FOREIGN KEY (`id_cours`) REFERENCES `cours` (`id_cours`);

ALTER TABLE `note`
  ADD CONSTRAINT `note_ibfk_1` FOREIGN KEY (`id_type_note`) REFERENCES `type_note` (`id_type_note`),
  ADD CONSTRAINT `note_ibfk_2` FOREIGN KEY (`id_cours`) REFERENCES `cours` (`id_cours`);