-- schema.sql CREATE TABLE users ( id INTEGER PRIMARY KEY AUTOINCREMENT, username VARCHAR(50) UNIQUE NOT NULL, password_hash VARCHAR(255) NOT NULL, role VARCHAR(20) NOT NULL CHECK (role IN ('admin', 'user', 'visitor')), description TEXT, created_at DATETIME DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE login_attempts ( id INTEGER PRIMARY KEY AUTOINCREMENT, ip_address VARCHAR(45) NOT NULL, attempt_time DATETIME DEFAULT CURRENT_TIMESTAMP, username VARCHAR(50) ); CREATE TABLE activity_logs ( id INTEGER PRIMARY KEY AUTOINCREMENT, user_id INTEGER, action_type VARCHAR(20) NOT NULL CHECK (action_type IN ('login', 'logout', 'upload', 'download', 'delete', 'rename')), details TEXT, ip_address VARCHAR(45), created_at DATETIME DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (user_id) REFERENCES users(id) ); -- Insertion d'un utilisateur admin par défaut (mot de passe: admin123) INSERT INTO users (username, password_hash, role, description) VALUES ('admin', '$2y$10$YourHashedPasswordHere', 'admin', 'Administrateur principal');