Ajout mode présentation

This commit is contained in:
Esteban committed 2026-08-28 00:04:48 +02:00
1 parent 4862d61ccd
commit 08875d3b5a
18 files changed
+1781 -270

No files matched your search

+20
View File
@@ -114,6 +114,26 @@ CREATE TABLE IF NOT EXISTS logo_banners (
PRIMARY KEY (id)
);
-- Compteur de tentatives ratées sur le code PIN du "Mode présentation" (voir
-- pages/presentation.php), une ligne par IP visiteuse. ip_hash : jamais l'IP en clair,
-- juste son hash SHA-256, suffisant pour reconnaître le même visiteur sans stocker une
-- donnée personnelle. locked_until : posé une fois le nombre max de tentatives atteint,
-- au-delà duquel le visiteur doit se connecter en administrateur plutôt que ressaisir le code
CREATE TABLE IF NOT EXISTS presentation_attempts (
ip_hash CHAR(64) NOT NULL,
attempts INT UNSIGNED NOT NULL DEFAULT 0,
locked_until DATETIME NULL,
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (ip_hash)
);
-- Contenu markdown du mode présentation. Pas de valeur par défaut pour presentation_pin_hash
-- ici volontairement : tant qu'aucun code n'est configuré depuis le panel admin, personne
-- ne peut entrer (voir verifierPinPresentation dans functions/presentationAuth.php)
INSERT INTO settings (name, value) VALUES
('presentation_markdown', '# Mode présentation\n\nContenu à venir, modifiable depuis le panel admin.')
ON DUPLICATE KEY UPDATE value = VALUES(value);
-- PDF de projects/experiences/schools : tables associées plutôt qu'une colonne sur la table
-- parente, pour que les pages qui LISTENT ces éléments n'aient jamais à charger le contenu
-- binaire des PDF en mémoire (seul le nom de fichier y est utilisé)