-- =============================================================================
-- MSIN — Documentation complète : Assignation de dossard (module bib_assignment)
-- =============================================================================
-- Structure pédagogique :
--   Page 1 — C'est quoi l'assignation de dossard ?
--   Page 2 — C'est quoi une séquence de dossard ? (+ tableau)
--   Page 3 — Boutons assignation groupée (un bloc « C'est quoi / Quand / Comment » par bouton)
--   Page 4 — Assignation automatique (concept + chaque bouton)
--   Page 5 — Épreuve solo
--   Page 6 — Épreuve en équipe
--
-- Gabarit HTML pour chaque bouton (section.ms1-doc-bouton) :
--   <dt>C'est quoi ?</dt>  <dt>Quand l'utiliser ?</dt>  <dt>Comment ?</dt>  <dt>À noter</dt>
--
-- Prérequis : tables doc_mod, doc_page, doc_anchor (MSIN-doc-module.sql).
-- Exécuter sur la BD client (inscription).
-- =============================================================================

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';

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
-- -----------------------------------------------------------------------------

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', 'C''est quoi l''assignation de dossard ?', 'Le rôle de ce panneau',
'<article class="ms1-doc-article">
<p>L''<strong>assignation de dossard</strong>, c''est attribuer un <strong>numéro de dossard</strong> à chaque participant inscrit sur une épreuve — le numéro qu''il portera le jour de l''événement.</p>
<h3>Pourquoi ce panneau existe</h3>
<p>Sur chaque épreuve, les inscriptions arrivent au fil du temps. Ce bloc permet au promoteur de :</p>
<ul>
<li>définir <strong>quels numéros</strong> sont disponibles (les séquences) ;</li>
<li>attribuer les numéros <strong>en lot</strong> aux inscrits qui n''ont pas encore un dossard ;</li>
<li>ou faire en sorte qu''un numéro soit donné <strong>automatiquement</strong> à chaque nouvelle inscription.</li>
</ul>
<h3>Ordre logique (pas l''ordre des boutons sur l''écran)</h3>
<ol>
<li>Comprendre ce qu''est une <strong>séquence de dossard</strong> (page 2).</li>
<li>Créer vos séquences dans le tableau (+ Ajouter, Début, Fin, OK).</li>
<li>Optionnel : activer l''<strong>assignation automatique</strong> (page 4).</li>
<li>Pour les inscrits déjà sans numéro : <strong>Assigner par séquence</strong> → <strong>Simuler</strong> → <strong>GO</strong> (page 3).</li>
</ol>
<h3>Deux types d''aide sur l''écran</h3>
<ul>
<li><strong>?</strong> court à côté du titre — rappel en une phrase.</li>
<li><strong>?</strong> guide (ce document) — explications complètes, page par page.</li>
<li>Chaque bouton a aussi son propre <strong>?</strong> pour l''aide immédiate.</li>
</ul>
</article>',
'compte.php', 10, 1, NOW()),

('bib_assignment', 'bib_doc_sequences', 'fr', 'C''est quoi une séquence de dossard ?', 'Concept puis le tableau',
'<article class="ms1-doc-article">
<h3>Une séquence de dossard, c''est quoi ?</h3>
<p>Une <strong>séquence</strong> est une <strong>plage de numéros consécutifs</strong> réservée à une épreuve.</p>
<p><strong>Exemple :</strong> séquence <em>1 à 500</em> → les dossards 1, 2, 3 … jusqu''à 500 peuvent être assignés. Quand le 250 est pris, le système passe au suivant libre dans la plage.</p>
<p>Vous pouvez avoir <strong>plusieurs séquences</strong> sur la même épreuve (ex. 1–500 pour le public, 1000–1100 pour les bénévoles).</p>
<h3>La case à cocher à gauche de chaque ligne</h3>
<dl class="ms1-doc-bouton">
<dt>C''est quoi ?</dt><dd>Elle <strong>sélectionne</strong> cette séquence pour une opération (batch ou auto).</dd>
<dt>Quand l''utiliser ?</dt><dd>Avant <strong>Assigner par séquence</strong> ou avant <strong>Accepter</strong> l''assignation automatique.</dd>
<dt>Comment ?</dt><dd>Cochez une ou plusieurs lignes. L''ordre des lignes peut influencer l''ordre de priorité des plages.</dd>
</dl>
<h3>Le tableau — chaque colonne</h3>
<section class="ms1-doc-bouton">
<h4>Icône œil</h4>
<dl><dt>C''est quoi ?</dt><dd>Grille visuelle : numéros <strong>libres</strong> et <strong>occupés</strong> dans cette séquence.</dd>
<dt>Quand ?</dt><dd>Vérifier l''état d''une plage ou corriger un numéro manuellement.</dd></dl>
</section>
<section class="ms1-doc-bouton">
<h4>Début / Fin</h4>
<dl><dt>C''est quoi ?</dt><dd>Premier et dernier numéro de la plage.</dd>
<dt>Comment ?</dt><dd>Modifiez les valeurs puis cliquez <strong>OK</strong> sur la ligne pour enregistrer.</dd></dl>
</section>
<section class="ms1-doc-bouton">
<h4>OK (coche verte)</h4>
<dl><dt>C''est quoi ?</dt><dd><strong>Enregistre</strong> la séquence (nouvelle ligne ou modification Début/Fin).</dd>
<dt>À noter</dt><dd>Obligatoire après + Ajouter ou après changer les bornes.</dd></dl>
</section>
<section class="ms1-doc-bouton">
<h4>Suppr.</h4>
<dl><dt>C''est quoi ?</dt><dd>Retire la séquence de la configuration.</dd>
<dt>À noter</dt><dd>Prudence si des dossards de cette plage sont déjà assignés.</dd></dl>
</section>
<section class="ms1-doc-bouton">
<h4>Dernier / Utilisé / Dispo</h4>
<dl><dt>C''est quoi ?</dt><dd><strong>Dernier</strong> = dernier numéro attribué ; <strong>Utilisé</strong> = combien pris ; <strong>Dispo</strong> = combien restent.</dd></dl>
</section>
<section class="ms1-doc-bouton">
<h4>+ Ajouter</h4>
<dl><dt>C''est quoi ?</dt><dd>Ajoute une <strong>nouvelle ligne</strong> de séquence vide.</dd>
<dt>Comment ?</dt><dd>+ Ajouter → remplir Début et Fin → <strong>OK</strong> sur la ligne.</dd></dl>
</section>
</article>',
'compte.php', 20, 1, NOW()),

('bib_assignment', 'bib_doc_batch', 'fr', 'Boutons : assignation groupée', 'Assigner par séquence, Simuler, GO…',
'<article class="ms1-doc-article">
<p>Ces boutons servent à assigner des dossards <strong>en une seule opération</strong> à tous les participants qui n''ont <em>pas encore</em> un numéro. Chaque bouton ci-dessous suit le même gabarit d''explication.</p>

<section class="ms1-doc-bouton">
<h3>Bouton « Assigner par séquence »</h3>
<dl>
<dt>C''est quoi ?</dt>
<dd>Ouvre le <strong>mode batch</strong> : panneau avec ordre d''assignation, Simuler et GO.</dd>
<dt>Quand l''utiliser ?</dt>
<dd>Quand des participants sont inscrits mais <strong>sans dossard</strong>, et que vous voulez les traiter tous d''un coup.</dd>
<dt>Comment ?</dt>
<dd>Cliquez le bouton → cochez des séquences dans le tableau → choisissez l''ordre → Simuler → GO.</dd>
<dt>À noter</dt>
<dd>Cliqué une deuxième fois, le libellé devient <strong>Annuler</strong> : ferme le panneau batch sans assigner.</dd>
</dl>
</section>

<section class="ms1-doc-bouton">
<h3>Liste « Ordre d''assignation »</h3>
<dl>
<dt>C''est quoi ?</dt>
<dd>Indique <strong>dans quel ordre</strong> trier les participants avant de leur donner un numéro.</dd>
<dt>Quand l''utiliser ?</dt>
<dd>Toujours en mode batch, avant Simuler ou GO.</dd>
<dt>Comment ?</dt>
<dd>Choisissez dans la liste : nom de famille, prénom, date d''inscription, nom d''équipe (épreuve équipe), etc.</dd>
<dt>À noter</dt>
<dd>Sur une épreuve solo, l''option « nom d''équipe » n''apparaît pas.</dd>
</dl>
</section>

<section class="ms1-doc-bouton">
<h3>Bouton « Simuler »</h3>
<dl>
<dt>C''est quoi ?</dt>
<dd>Affiche <strong>qui recevrait quel dossard</strong> si vous lanciez l''assignation.</dd>
<dt>Quand l''utiliser ?</dt>
<dd><strong>Toujours avant GO</strong> — pour vérifier sans risque.</dd>
<dt>Comment ?</dt>
<dd>Séquences cochées + ordre choisi → cliquez Simuler → lisez le résumé (disponibles / à assigner / manquants).</dd>
<dt>À noter</dt>
<dd><strong>Aucune modification</strong> en base de données : c''est une prévisualisation.</dd>
</dl>
</section>

<section class="ms1-doc-bouton">
<h3>Bouton « GO »</h3>
<dl>
<dt>C''est quoi ?</dt>
<dd>Exécute l''assignation batch <strong>pour de vrai</strong>.</dd>
<dt>Quand l''utiliser ?</dt>
<dd>Quand la simulation vous convient.</dd>
<dt>Comment ?</dt>
<dd>Après Simuler (recommandé) → GO. Les participants sans dossard reçoivent un numéro.</dd>
<dt>À noter</dt>
<dd>Action réelle : les numéros sont enregistrés. Pas de retour automatique — Réinitialiser si besoin.</dd>
</dl>
</section>

<section class="ms1-doc-bouton">
<h3>Bouton « Réinitialiser » (rouge)</h3>
<dl>
<dt>C''est quoi ?</dt>
<dd>Retire les dossards <strong>déjà assignés</strong> sur l''épreuve.</dd>
<dt>Quand l''utiliser ?</dt>
<dd>Recommencer une assignation, corriger une erreur de stratégie — avec prudence.</dd>
<dt>À noter</dt>
<dd>Visible seulement s''il existe déjà au moins un dossard sur l''épreuve. Vérifiez l''impact avant de confirmer.</dd>
</dl>
</section>
</article>',
'compte.php', 30, 1, NOW()),

('bib_assignment', 'bib_doc_auto', 'fr', 'Assignation automatique', 'Concept et chaque bouton',
'<article class="ms1-doc-article">
<h3>L''assignation automatique, c''est quoi ?</h3>
<p>Dès qu''un <strong>nouveau participant s''inscrit</strong>, le système lui attribue tout seul le prochain dossard libre dans les séquences que vous avez cochées — sans repasser par Simuler / GO.</p>

<section class="ms1-doc-bouton">
<h3>Bouton « Assignation automatique » / « Auto — configurer »</h3>
<dl>
<dt>C''est quoi ?</dt>
<dd>Gris = inactive. Vert « Auto — configurer » = déjà active, vous modifiez les séquences utilisées.</dd>
<dt>Quand ?</dt>
<dd>Pendant la période d''inscription, si vous voulez des numéros immédiats à l''inscription.</dd>
<dt>Comment ?</dt>
<dd>Cliquez → cochez les séquences → <strong>Accepter</strong>.</dd>
</dl>
</section>

<section class="ms1-doc-bouton">
<h3>Badge « Auto actif »</h3>
<dl>
<dt>C''est quoi ?</dt>
<dd>Indicateur vert : l''auto tourne pour cette épreuve.</dd>
</dl>
</section>

<section class="ms1-doc-bouton">
<h3>Bouton « Accepter »</h3>
<dl>
<dt>C''est quoi ?</dt>
<dd>Enregistre la configuration auto (quelles séquences sont utilisées).</dd>
<dt>À noter</dt>
<dd>Les séquences doivent être cochées avant Accepter.</dd>
</dl>
</section>

<section class="ms1-doc-bouton">
<h3>Bouton « Annuler » (auto)</h3>
<dl>
<dt>C''est quoi ?</dt>
<dd>Ferme le mode édition auto <strong>sans sauver</strong> les changements de coches.</dd>
</dl>
</section>

<section class="ms1-doc-bouton">
<h3>Bouton « Désactiver l''auto »</h3>
<dl>
<dt>C''est quoi ?</dt>
<dd>Stoppe l''assignation automatique.</dd>
<dt>À noter</dt>
<dd>Les séquences restent ; les dossards déjà donnés ne sont pas effacés.</dd>
</dl>
</section>
</article>',
'compte.php', 40, 1, NOW()),

('bib_assignment', 'bib_doc_solo', 'fr', 'Épreuve individuelle (solo)', 'C''est quoi et impact sur les boutons',
'<article class="ms1-doc-article">
<h3>C''est quoi une épreuve solo ?</h3>
<p>Chaque participant court (ou participe) <strong>seul</strong> : un inscrit = une personne = <strong>un dossard</strong>.</p>
<h3>Impact sur les boutons</h3>
<ul>
<li><strong>Ordre d''assignation</strong> : nom, prénom, date d''inscription, date de naissance — pas de tri par nom d''équipe.</li>
<li>Pas de choix « Dossards individuels » / « 1 équipe = 1 dossard » (réservé aux épreuves équipe).</li>
<li>Grille (œil) : une ligne par participant.</li>
</ul>
</article>',
'compte.php', 50, 1, NOW()),

('bib_assignment', 'bib_doc_equipe', 'fr', 'Épreuve en équipe', 'Méthode d''assignation',
'<article class="ms1-doc-article">
<h3>C''est quoi une épreuve en équipe ?</h3>
<p>Les participants s''inscrivent en <strong>équipe</strong>. Le nombre de dossards à assigner dépend de la <strong>méthode</strong> choisie à gauche.</p>

<section class="ms1-doc-bouton">
<h3>« Dossards individuels »</h3>
<dl>
<dt>C''est quoi ?</dt>
<dd>Chaque membre a son <strong>propre numéro</strong>, comme en solo.</dd>
<dt>Quand ?</dt>
<dd>Chaque coureur doit avoir un dossard distinct sur la ligne de départ.</dd>
<dt>À noter</dt>
<dd>L''ordre « Nom d''équipe » est disponible dans le batch.</dd>
</dl>
</section>

<section class="ms1-doc-bouton">
<h3>« 1 équipe = 1 dossard »</h3>
<dl>
<dt>C''est quoi ?</dt>
<dd>Tous les membres d''une équipe partagent le <strong>même numéro</strong>.</dd>
<dt>Quand ?</dt>
<dd>Le numéro identifie l''équipe, pas chaque personne.</dd>
<dt>À noter</dt>
<dd>Le batch assigne par <strong>équipe</strong>. Choix verrouillé après le premier dossard assigné.</dd>
</dl>
</section>
</article>',
'compte.php', 60, 1, NOW());

-- -----------------------------------------------------------------------------
-- EN (same pedagogical structure)
-- -----------------------------------------------------------------------------

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', 'What is bib assignment?', 'Purpose of this panel',
'<article class="ms1-doc-article"><p><strong>Bib assignment</strong> means giving each registered participant a <strong>bib number</strong> for race day.</p><p>This panel lets you define available numbers (sequences), assign in batch, or assign automatically on registration.</p></article>',
'compte.php', 10, 1, NOW()),
('bib_assignment', 'bib_doc_sequences', 'en', 'What is a bib sequence?', 'Concept then the table',
'<article class="ms1-doc-article"><p>A <strong>sequence</strong> is a <strong>range of consecutive numbers</strong> (e.g. 1–500). Multiple sequences can exist per race.</p><p>Use <strong>+ Add</strong>, set Start/End, click <strong>OK</strong>. Check rows for batch or auto.</p></article>',
'compte.php', 20, 1, NOW()),
('bib_assignment', 'bib_doc_batch', 'en', 'Buttons: batch assignment', 'Assign by sequence, Simulate, GO…',
'<article class="ms1-doc-article"><p>Each button explained with: What is it? When? How? Notes.</p><section class="ms1-doc-bouton"><h3>Assign by sequence</h3><dl><dt>What is it?</dt><dd>Opens batch mode.</dd><dt>How?</dt><dd>Check sequences → order → Simulate → GO.</dd></dl></section><section class="ms1-doc-bouton"><h3>Simulate</h3><dl><dt>What is it?</dt><dd>Preview without saving.</dd></dl></section><section class="ms1-doc-bouton"><h3>GO</h3><dl><dt>What is it?</dt><dd>Runs assignment for real.</dd></dl></section></article>',
'compte.php', 30, 1, NOW()),
('bib_assignment', 'bib_doc_auto', 'en', 'Automatic assignment', 'Concept and buttons',
'<article class="ms1-doc-article"><p>Auto assigns a bib on each new registration from checked sequences.</p></article>',
'compte.php', 40, 1, NOW()),
('bib_assignment', 'bib_doc_solo', 'en', 'Individual race', 'Solo impact on buttons',
'<article class="ms1-doc-article"><p>One participant = one bib. No team sort order.</p></article>',
'compte.php', 50, 1, NOW()),
('bib_assignment', 'bib_doc_equipe', 'en', 'Team race', 'Assignment method',
'<article class="ms1-doc-article"><p><strong>Individual bibs</strong> vs <strong>1 team = 1 bib</strong>. Choose before first assignment.</p></article>',
'compte.php', 60, 1, NOW());
