-- =============================================================================
-- 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) :
--
C'est quoi ? Quand l'utiliser ? Comment ? À noter
--
-- 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',
'
L''assignation de dossard, c''est attribuer un numéro de dossard à chaque participant inscrit sur une épreuve — le numéro qu''il portera le jour de l''événement.
Pourquoi ce panneau existe
Sur chaque épreuve, les inscriptions arrivent au fil du temps. Ce bloc permet au promoteur de :
- définir quels numéros sont disponibles (les séquences) ;
- attribuer les numéros en lot aux inscrits qui n''ont pas encore un dossard ;
- ou faire en sorte qu''un numéro soit donné automatiquement à chaque nouvelle inscription.
Ordre logique (pas l''ordre des boutons sur l''écran)
- Comprendre ce qu''est une séquence de dossard (page 2).
- Créer vos séquences dans le tableau (+ Ajouter, Début, Fin, OK).
- Optionnel : activer l''assignation automatique (page 4).
- Pour les inscrits déjà sans numéro : Assigner par séquence → Simuler → GO (page 3).
Deux types d''aide sur l''écran
- ? court à côté du titre — rappel en une phrase.
- ? guide (ce document) — explications complètes, page par page.
- Chaque bouton a aussi son propre ? pour l''aide immédiate.
',
'compte.php', 10, 1, NOW()),
('bib_assignment', 'bib_doc_sequences', 'fr', 'C''est quoi une séquence de dossard ?', 'Concept puis le tableau',
'
Une séquence de dossard, c''est quoi ?
Une séquence est une plage de numéros consécutifs réservée à une épreuve.
Exemple : séquence 1 à 500 → 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.
Vous pouvez avoir plusieurs séquences sur la même épreuve (ex. 1–500 pour le public, 1000–1100 pour les bénévoles).
La case à cocher à gauche de chaque ligne
- C''est quoi ?
- Elle sélectionne cette séquence pour une opération (batch ou auto).
- Quand l''utiliser ?
- Avant Assigner par séquence ou avant Accepter l''assignation automatique.
- Comment ?
- Cochez une ou plusieurs lignes. L''ordre des lignes peut influencer l''ordre de priorité des plages.
Le tableau — chaque colonne
Icône œil
- C''est quoi ?
- Grille visuelle : numéros libres et occupés dans cette séquence.
- Quand ?
- Vérifier l''état d''une plage ou corriger un numéro manuellement.
Début / Fin
- C''est quoi ?
- Premier et dernier numéro de la plage.
- Comment ?
- Modifiez les valeurs puis cliquez OK sur la ligne pour enregistrer.
OK (coche verte)
- C''est quoi ?
- Enregistre la séquence (nouvelle ligne ou modification Début/Fin).
- À noter
- Obligatoire après + Ajouter ou après changer les bornes.
Suppr.
- C''est quoi ?
- Retire la séquence de la configuration.
- À noter
- Prudence si des dossards de cette plage sont déjà assignés.
Dernier / Utilisé / Dispo
- C''est quoi ?
- Dernier = dernier numéro attribué ; Utilisé = combien pris ; Dispo = combien restent.
+ Ajouter
- C''est quoi ?
- Ajoute une nouvelle ligne de séquence vide.
- Comment ?
- + Ajouter → remplir Début et Fin → OK sur la ligne.
',
'compte.php', 20, 1, NOW()),
('bib_assignment', 'bib_doc_batch', 'fr', 'Boutons : assignation groupée', 'Assigner par séquence, Simuler, GO…',
'
Ces boutons servent à assigner des dossards en une seule opération à tous les participants qui n''ont pas encore un numéro. Chaque bouton ci-dessous suit le même gabarit d''explication.
Bouton « Assigner par séquence »
- C''est quoi ?
- Ouvre le mode batch : panneau avec ordre d''assignation, Simuler et GO.
- Quand l''utiliser ?
- Quand des participants sont inscrits mais sans dossard, et que vous voulez les traiter tous d''un coup.
- Comment ?
- Cliquez le bouton → cochez des séquences dans le tableau → choisissez l''ordre → Simuler → GO.
- À noter
- Cliqué une deuxième fois, le libellé devient Annuler : ferme le panneau batch sans assigner.
Liste « Ordre d''assignation »
- C''est quoi ?
- Indique dans quel ordre trier les participants avant de leur donner un numéro.
- Quand l''utiliser ?
- Toujours en mode batch, avant Simuler ou GO.
- Comment ?
- Choisissez dans la liste : nom de famille, prénom, date d''inscription, nom d''équipe (épreuve équipe), etc.
- À noter
- Sur une épreuve solo, l''option « nom d''équipe » n''apparaît pas.
Bouton « Simuler »
- C''est quoi ?
- Affiche qui recevrait quel dossard si vous lanciez l''assignation.
- Quand l''utiliser ?
- Toujours avant GO — pour vérifier sans risque.
- Comment ?
- Séquences cochées + ordre choisi → cliquez Simuler → lisez le résumé (disponibles / à assigner / manquants).
- À noter
- Aucune modification en base de données : c''est une prévisualisation.
Bouton « GO »
- C''est quoi ?
- Exécute l''assignation batch pour de vrai.
- Quand l''utiliser ?
- Quand la simulation vous convient.
- Comment ?
- Après Simuler (recommandé) → GO. Les participants sans dossard reçoivent un numéro.
- À noter
- Action réelle : les numéros sont enregistrés. Pas de retour automatique — Réinitialiser si besoin.
Bouton « Réinitialiser » (rouge)
- C''est quoi ?
- Retire les dossards déjà assignés sur l''épreuve.
- Quand l''utiliser ?
- Recommencer une assignation, corriger une erreur de stratégie — avec prudence.
- À noter
- Visible seulement s''il existe déjà au moins un dossard sur l''épreuve. Vérifiez l''impact avant de confirmer.
',
'compte.php', 30, 1, NOW()),
('bib_assignment', 'bib_doc_auto', 'fr', 'Assignation automatique', 'Concept et chaque bouton',
'
L''assignation automatique, c''est quoi ?
Dès qu''un nouveau participant s''inscrit, 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.
Bouton « Assignation automatique » / « Auto — configurer »
- C''est quoi ?
- Gris = inactive. Vert « Auto — configurer » = déjà active, vous modifiez les séquences utilisées.
- Quand ?
- Pendant la période d''inscription, si vous voulez des numéros immédiats à l''inscription.
- Comment ?
- Cliquez → cochez les séquences → Accepter.
Badge « Auto actif »
- C''est quoi ?
- Indicateur vert : l''auto tourne pour cette épreuve.
Bouton « Accepter »
- C''est quoi ?
- Enregistre la configuration auto (quelles séquences sont utilisées).
- À noter
- Les séquences doivent être cochées avant Accepter.
Bouton « Annuler » (auto)
- C''est quoi ?
- Ferme le mode édition auto sans sauver les changements de coches.
Bouton « Désactiver l''auto »
- C''est quoi ?
- Stoppe l''assignation automatique.
- À noter
- Les séquences restent ; les dossards déjà donnés ne sont pas effacés.
',
'compte.php', 40, 1, NOW()),
('bib_assignment', 'bib_doc_solo', 'fr', 'Épreuve individuelle (solo)', 'C''est quoi et impact sur les boutons',
'
C''est quoi une épreuve solo ?
Chaque participant court (ou participe) seul : un inscrit = une personne = un dossard.
Impact sur les boutons
- Ordre d''assignation : nom, prénom, date d''inscription, date de naissance — pas de tri par nom d''équipe.
- Pas de choix « Dossards individuels » / « 1 équipe = 1 dossard » (réservé aux épreuves équipe).
- Grille (œil) : une ligne par participant.
',
'compte.php', 50, 1, NOW()),
('bib_assignment', 'bib_doc_equipe', 'fr', 'Épreuve en équipe', 'Méthode d''assignation',
'
C''est quoi une épreuve en équipe ?
Les participants s''inscrivent en équipe. Le nombre de dossards à assigner dépend de la méthode choisie à gauche.
« Dossards individuels »
- C''est quoi ?
- Chaque membre a son propre numéro, comme en solo.
- Quand ?
- Chaque coureur doit avoir un dossard distinct sur la ligne de départ.
- À noter
- L''ordre « Nom d''équipe » est disponible dans le batch.
« 1 équipe = 1 dossard »
- C''est quoi ?
- Tous les membres d''une équipe partagent le même numéro.
- Quand ?
- Le numéro identifie l''équipe, pas chaque personne.
- À noter
- Le batch assigne par équipe. Choix verrouillé après le premier dossard assigné.
',
'compte.php', 60, 1, NOW());
-- -----------------------------------------------------------------------------
-- EN (full translation — same structure and content as 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', 'en', 'What is bib assignment?', 'Role of this panel',
'
Bib assignment means giving each registered participant on a race a bib number — the number they will wear on event day.
Why this panel exists
On each race, registrations arrive over time. This block lets the organizer:
- define which numbers are available (sequences);
- assign numbers in bulk to registrants who do not yet have a bib;
- or have a number assigned automatically on each new registration.
Logical order (not the order of buttons on screen)
- Understand what a bib sequence is (page 2).
- Create your sequences in the table (+ Add, Start, End, OK).
- Optional: enable automatic assignment (page 4).
- For registrants already without a number: Assign by sequence → Simulate → GO (page 3).
Two types of help on screen
- Short ? next to the title — one-sentence reminder.
- Guide ? (this document) — full explanations, page by page.
- Each button also has its own ? for immediate help.
',
'compte.php', 10, 1, NOW()),
('bib_assignment', 'bib_doc_sequences', 'en', 'What is a bib sequence?', 'Concept then the table',
'
What is a bib sequence?
A sequence is a range of consecutive numbers reserved for a race.
Example: sequence 1 to 500 → bibs 1, 2, 3 … through 500 can be assigned. When 250 is taken, the system moves to the next free number in the range.
You can have multiple sequences on the same race (e.g. 1–500 for the public, 1000–1100 for volunteers).
Checkbox on the left of each row
- What is it?
- It selects this sequence for an operation (batch or auto).
- When to use it?
- Before Assign by sequence or before Accept for automatic assignment.
- How?
- Check one or more rows. Row order may affect priority of ranges.
The table — each column
Eye icon
- What is it?
- Visual grid: free and used numbers in this sequence.
- When?
- Check range status or correct a number manually.
Start / End
- What is it?
- First and last number in the range.
- How?
- Edit the values then click OK on the row to save.
OK (green check)
- What is it?
- Saves the sequence (new row or Start/End change).
- Note
- Required after + Add or after changing bounds.
Delete
- What is it?
- Removes the sequence from the configuration.
- Note
- Use carefully if bibs in this range are already assigned.
Last / Used / Avail.
- What is it?
- Last = last number assigned; Used = how many taken; Avail. = how many remain.
+ Add
- What is it?
- Adds a new empty sequence row.
- How?
- + Add → fill Start and End → OK on the row.
',
'compte.php', 20, 1, NOW()),
('bib_assignment', 'bib_doc_batch', 'en', 'Buttons: batch assignment', 'Assign by sequence, Simulate, GO…',
'
These buttons assign bibs in one operation to all participants who do not yet have a number. Each button below uses the same explanation template.
« Assign by sequence » button
- What is it?
- Opens batch mode: panel with assignment order, Simulate and GO.
- When to use it?
- When participants are registered but without a bib, and you want to process them all at once.
- How?
- Click the button → check sequences in the table → choose order → Simulate → GO.
- Note
- Clicked again, the label becomes Cancel: closes the batch panel without assigning.
« Assignment order » list
- What is it?
- Sets in what order participants are sorted before receiving a number.
- When to use it?
- Always in batch mode, before Simulate or GO.
- How?
- Choose from the list: family name, first name, registration date, team name (team race), etc.
- Note
- On a solo race, the « team name » option does not appear.
« Simulate » button
- What is it?
- Shows who would receive which bib if you ran the assignment.
- When to use it?
- Always before GO — to verify without risk.
- How?
- Sequences checked + order chosen → click Simulate → read the summary (available / to assign / missing).
- Note
- No changes to the database: this is a preview only.
« GO » button
- What is it?
- Runs the batch assignment for real.
- When to use it?
- When the simulation looks correct.
- How?
- After Simulate (recommended) → GO. Participants without a bib receive a number.
- Note
- Real action: numbers are saved. No automatic undo — use Reset if needed.
« Reset » button (red)
- What is it?
- Removes already assigned bibs on the race.
- When to use it?
- Start over, fix a strategy mistake — use with care.
- Note
- Only visible when at least one bib is already assigned on the race. Check impact before confirming.
',
'compte.php', 30, 1, NOW()),
('bib_assignment', 'bib_doc_auto', 'en', 'Automatic assignment', 'Concept and each button',
'
What is automatic assignment?
As soon as a new participant registers, the system assigns the next free bib in the sequences you checked — without going through Simulate / GO.
« Automatic assignment » / « Auto — configure » button
- What is it?
- Grey = inactive. Green « Auto — configure » = already active; you change which sequences are used.
- When?
- During registration if you want numbers assigned immediately on signup.
- How?
- Click → check sequences → Accept.
« Auto on » badge
- What is it?
- Green indicator: auto is running for this race.
« Accept » button
- What is it?
- Saves the auto configuration (which sequences are used).
- Note
- Sequences must be checked before Accept.
« Cancel » button (auto)
- What is it?
- Closes auto edit mode without saving checkbox changes.
« Disable auto » button
- What is it?
- Stops automatic assignment.
- Note
- Sequences remain; bibs already assigned are not removed.
',
'compte.php', 40, 1, NOW()),
('bib_assignment', 'bib_doc_solo', 'en', 'Individual race (solo)', 'What it is and impact on buttons',
'
What is a solo race?
Each participant competes alone: one registrant = one person = one bib.
Impact on buttons
- Assignment order: name, first name, registration date, date of birth — no sort by team name.
- No « Individual bibs » / « 1 team = 1 bib » choice (team races only).
- Grid (eye): one row per participant.
',
'compte.php', 50, 1, NOW()),
('bib_assignment', 'bib_doc_equipe', 'en', 'Team race', 'Assignment method',
'
What is a team race?
Participants register as a team. How many bibs to assign depends on the method chosen on the left.
« Individual bibs »
- What is it?
- Each member gets their own number, like a solo race.
- When?
- Each runner needs a distinct bib on the start line.
- Note
- « Team name » sort order is available in batch mode.
« 1 team = 1 bib »
- What is it?
- All members of a team share the same number.
- When?
- The number identifies the team, not each person.
- Note
- Batch assigns by team. Choice is locked after the first bib is assigned.
',
'compte.php', 60, 1, NOW());