-- Module documentation MS1 (overlay paginé) — distinct de la table info / info_aide.
-- Terminologie : doc_mod = module, doc_page = page HTML, doc_anchor = clé d'appel.
-- Exécuter sur la BD client (inscription).

-- Réimport propre (optionnel)
-- DELETE FROM doc_page WHERE doc_mod_clef = 'bib_assignment';
-- DELETE FROM doc_anchor WHERE doc_mod_clef = 'bib_assignment';
-- DELETE FROM doc_mod WHERE doc_mod_clef = 'bib_assignment';

-- ---------------------------------------------------------------------------
-- doc_mod — registre des modules de documentation
-- ---------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `doc_mod` (
  `pk_doc_mod` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `doc_mod_clef` varchar(45) NOT NULL,
  `doc_mod_prg` varchar(100) NOT NULL DEFAULT 'global',
  `doc_mod_titre` varchar(255) NOT NULL DEFAULT '',
  `doc_mod_actif` tinyint(1) NOT NULL DEFAULT '1',
  `doc_mod_tri` int(10) unsigned NOT NULL DEFAULT '0',
  `doc_mod_creation` datetime DEFAULT NULL,
  `doc_mod_maj` datetime DEFAULT NULL,
  PRIMARY KEY (`pk_doc_mod`),
  UNIQUE KEY `uk_doc_mod` (`doc_mod_clef`,`doc_mod_prg`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

-- ---------------------------------------------------------------------------
-- doc_page — pages HTML (équivalent info_texte + info_aide, mais long / riche)
-- ---------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `doc_page` (
  `pk_doc_page` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `doc_mod_clef` varchar(45) NOT NULL,
  `doc_page_clef` varchar(45) NOT NULL,
  `doc_langue` varchar(2) NOT NULL DEFAULT 'fr',
  `doc_titre` varchar(255) NOT NULL DEFAULT '',
  `doc_sous_titre` varchar(255) NOT NULL DEFAULT '',
  `doc_html` text NOT NULL,
  `doc_prg` varchar(100) NOT NULL DEFAULT 'global',
  `doc_tri` int(10) unsigned NOT NULL DEFAULT '0',
  `doc_actif` tinyint(1) NOT NULL DEFAULT '1',
  `doc_creation` datetime DEFAULT NULL,
  `doc_maj` datetime DEFAULT NULL,
  PRIMARY KEY (`pk_doc_page`),
  UNIQUE KEY `uk_doc_page` (`doc_page_clef`,`doc_langue`,`doc_prg`),
  KEY `idx_doc_mod` (`doc_mod_clef`,`doc_langue`,`doc_prg`,`doc_tri`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

-- ---------------------------------------------------------------------------
-- doc_anchor — clé d'appel (comme info_clef) → module à ouvrir
-- ---------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `doc_anchor` (
  `pk_doc_anchor` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `doc_anchor_clef` varchar(45) NOT NULL,
  `doc_mod_clef` varchar(45) NOT NULL,
  `doc_prg` varchar(100) NOT NULL DEFAULT 'global',
  `doc_actif` tinyint(1) NOT NULL DEFAULT '1',
  `doc_creation` datetime DEFAULT NULL,
  PRIMARY KEY (`pk_doc_anchor`),
  UNIQUE KEY `uk_doc_anchor` (`doc_anchor_clef`,`doc_prg`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

-- ---------------------------------------------------------------------------
-- Données initiales — assignation de dossard (bib_assignment)
-- ---------------------------------------------------------------------------

INSERT INTO `doc_mod` (`doc_mod_clef`, `doc_mod_prg`, `doc_mod_titre`, `doc_mod_actif`, `doc_mod_tri`, `doc_mod_creation`)
VALUES ('bib_assignment', 'compte.php', 'Assignation de dossard', 1, 10, NOW());

INSERT INTO `doc_anchor` (`doc_anchor_clef`, `doc_mod_clef`, `doc_prg`, `doc_actif`, `doc_creation`)
VALUES ('bib_v4_assign_doc', 'bib_assignment', 'compte.php', 1, NOW());

-- FR — pages du guide (contenu à composer ; structure HTML prête)
INSERT INTO `doc_page` (`doc_mod_clef`, `doc_page_clef`, `doc_langue`, `doc_titre`, `doc_sous_titre`, `doc_html`, `doc_prg`, `doc_tri`, `doc_actif`, `doc_creation`) VALUES
('bib_assignment', 'bib_doc_overview', 'fr', 'Assignation de dossard', 'Vue d''ensemble du module',
'<article class="ms1-doc-article"><p>Définissez des <strong>séquences de dossards</strong> et assignez les numéros aux participants inscrits.</p><h3>Workflow typique</h3><ol><li>Créer une ou plusieurs séquences (ex. 1–500).</li><li>Choisir le mode batch ou l''assignation automatique.</li><li>Utiliser <strong>Simuler</strong> avant <strong>GO</strong>.</li></ol></article>',
'compte.php', 10, 1, NOW()),
('bib_assignment', 'bib_doc_sequences', 'fr', 'Séquences de dossards', 'Colonnes et actions du tableau',
'<article class="ms1-doc-article"><h3>Colonnes</h3><p><strong>Début / Fin</strong> — bornes de la séquence. <strong>OK</strong> enregistre. <strong>Suppr.</strong> retire la séquence.</p><p>Statistiques : <em>Dernier</em>, <em>Utilisé</em>, <em>Dispo</em>.</p><h3>+ Ajouter</h3><p>Ajoute une nouvelle séquence pour cette épreuve.</p></article>',
'compte.php', 20, 1, NOW()),
('bib_assignment', 'bib_doc_batch', 'fr', 'Assigner par séquence', 'Mode batch — Simuler puis GO',
'<article class="ms1-doc-article"><p>Cochez les séquences, choisissez l''<strong>ordre d''assignation</strong>, puis <strong>Simuler</strong> (aperçu) ou <strong>GO</strong> (exécution).</p><p><strong>Réinitialiser</strong> retire les dossards déjà assignés — à utiliser avec prudence.</p></article>',
'compte.php', 30, 1, NOW()),
('bib_assignment', 'bib_doc_auto', 'fr', 'Assignation automatique', 'Dossard à chaque inscription',
'<article class="ms1-doc-article"><p>Attribue un dossard à chaque nouvelle inscription dans les séquences cochées.</p><p><strong>Accepter</strong> enregistre la configuration. Le badge <strong>Auto actif</strong> confirme que le mode est en marche.</p></article>',
'compte.php', 40, 1, NOW()),
('bib_assignment', 'bib_doc_solo', 'fr', 'Épreuve individuelle', 'Participants solo',
'<article class="ms1-doc-article"><p>Chaque participant reçoit son propre numéro. L''option « Nom d''équipe » est masquée sur ce type d''épreuve.</p></article>',
'compte.php', 50, 1, NOW()),
('bib_assignment', 'bib_doc_equipe', 'fr', 'Épreuve en équipe', 'Dossards individuels vs 1 équipe = 1 dossard',
'<article class="ms1-doc-article"><p>Choisissez la <strong>méthode d''assignation</strong> avant le premier dossard — le choix est verrouillé ensuite.</p><ul><li><strong>Dossards individuels</strong> — un numéro par membre.</li><li><strong>1 équipe = 1 dossard</strong> — tous les membres partagent le même numéro.</li></ul></article>',
'compte.php', 60, 1, NOW());

-- EN — stubs (à traduire)
INSERT INTO `doc_page` (`doc_mod_clef`, `doc_page_clef`, `doc_langue`, `doc_titre`, `doc_sous_titre`, `doc_html`, `doc_prg`, `doc_tri`, `doc_actif`, `doc_creation`) VALUES
('bib_assignment', 'bib_doc_overview', 'en', 'Bib assignment', 'Module overview',
'<article class="ms1-doc-article"><p>Define <strong>bib sequences</strong> and assign numbers to registered participants.</p></article>',
'compte.php', 10, 1, NOW()),
('bib_assignment', 'bib_doc_sequences', 'en', 'Bib sequences', 'Table columns and actions',
'<article class="ms1-doc-article"><p><strong>Start / End</strong> define the sequence range.</p></article>',
'compte.php', 20, 1, NOW()),
('bib_assignment', 'bib_doc_batch', 'en', 'Assign by sequence', 'Batch mode',
'<article class="ms1-doc-article"><p>Select sequences, choose sort order, then <strong>Simulate</strong> or <strong>GO</strong>.</p></article>',
'compte.php', 30, 1, NOW()),
('bib_assignment', 'bib_doc_auto', 'en', 'Automatic assignment', 'Bib on each registration',
'<article class="ms1-doc-article"><p>Assigns a bib automatically for each new registration.</p></article>',
'compte.php', 40, 1, NOW()),
('bib_assignment', 'bib_doc_solo', 'en', 'Individual race', 'Solo participants',
'<article class="ms1-doc-article"><p>Each participant gets their own bib number.</p></article>',
'compte.php', 50, 1, NOW()),
('bib_assignment', 'bib_doc_equipe', 'en', 'Team race', 'Individual bibs vs one bib per team',
'<article class="ms1-doc-article"><p>Choose assignment method before the first bib is assigned.</p></article>',
'compte.php', 60, 1, NOW());
