Add new CSS styles for educational button blocks and introduce SQL script for bib assignment documentation

This commit enhances the documentation interface by adding new CSS styles for educational button blocks, improving layout and readability. Additionally, a new SQL script is introduced to manage the bib assignment documentation, including structured content for various sections and buttons, ensuring a comprehensive guide for users. This update aims to improve user interaction and accessibility within the documentation.
This commit is contained in:
2026-06-17 07:10:43 -04:00
parent 7719737db7
commit 030a331cd5
2 changed files with 339 additions and 0 deletions

View File

@ -0,0 +1,300 @@
-- =============================================================================
-- 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. 1500 pour le public, 10001100 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. 1500). 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());