-- On créer la base de donnée si elle n'existe déjà aps CREATE DATABASE IF NOT EXISTS portfolio -- On créer un utilisateur avec un mot de passe fort qui est à changer après execution dus script (voir bitwarden) CREATE USER 'srv_portfolio'@'localhost' IDENTIFIED BY 'mdp'; -- On met les droits au compte sur la base portfolio à l'utilisateur GRANT ALL ON portfolio.* TO 'srv_portfolio'@'localhost'; -- On actualise les permissions FLUSH PRIVILEGES; -- Création de la table user : (Généré par Beekeeper Studio : équivalent à dbGate) CREATE TABLE IF NOT EXISTS users ( id INT UNSIGNED NOT NULL AUTO_INCREMENT, username VARCHAR(50) NOT NULL, password VARCHAR(255) NOT NULL, -- Je laisse ici de la place pour prévoir un futur hashage et sallage role ENUM('admin', 'user') NOT NULL DEFAULT 'user', created_at DATETIME NULL DEFAULT NULL, last_login DATETIME NULL DEFAULT NULL, PRIMARY KEY (id), UNIQUE INDEX idx_username (username) ); -- Création de la table projects : (Généré par Beekeeper Studio) CREATE TABLE IF NOT EXISTS projects ( id INT UNSIGNED NOT NULL AUTO_INCREMENT, title VARCHAR(100) NOT NULL, tags VARCHAR(255) NULL, description TEXT NOT NULL, image_url VARCHAR(255) NOT NULL, -- Stockage de l'image par URL (exemple : par CDN) created_at DATETIME DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id) ); -- Compte de test INSERT INTO users (username, password, role) VALUES ('admin', 'admin', 'admin');