-- 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 composé depuis les clés info bib_v4_*)
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',
'Définissez les séquences de dossards et assignez les numéros aux participants inscrits sur chaque épreuve.
À quoi sert ce bloc ?
Ce panneau regroupe tout ce qui touche l''assignation des dossards : création des séquences, assignation groupée (batch), assignation automatique à l''inscription et réinitialisation.
Workflow recommandé
- Créer une ou plusieurs séquences (numéros de début et de fin).
- Optionnel : activer l''assignation automatique pour les nouvelles inscriptions.
- Pour les participants déjà inscrits sans dossard : Assigner par séquence, puis Simuler, puis GO.
Utilisez toujours Simuler avant GO pour vérifier le résultat sans modifier la base de données.
',
'compte.php', 10, 1, NOW()),
('bib_assignment', 'bib_doc_sequences', 'fr', 'Séquences de dossards', 'Tableau des séquences',
'Chaque ligne du tableau représente une séquence de dossards (plage de numéros disponibles pour l''épreuve).
Colonnes et actions
| Icône œil | Voir la grille des dossards de cette séquence (occupés / libres). |
|---|
| Début | Premier numéro de la séquence. |
|---|
| Fin | Dernier numéro de la séquence. |
|---|
| OK | Enregistrer cette séquence après modification. |
|---|
| Suppr. | Supprimer la séquence. |
|---|
| Dernier | Dernier dossard assigné dans la séquence. |
|---|
| Utilisé | Nombre de dossards déjà assignés. |
|---|
| Dispo | Dossards encore disponibles dans la séquence. |
|---|
+ Ajouter
Ajoute une nouvelle séquence de dossards pour cette épreuve. Indiquez le numéro de début et de fin, puis cliquez OK.
La case à gauche de chaque ligne permet de sélectionner la séquence pour l''assignation batch ou l''assignation automatique.
',
'compte.php', 20, 1, NOW()),
('bib_assignment', 'bib_doc_batch', 'fr', 'Assigner par séquence', 'Mode batch — Simuler puis GO',
'Le bouton Assigner par séquence ouvre le mode batch : il assigne tous les participants sans dossard en une seule opération.
Étapes
- Cochez une ou plusieurs séquences de dossards.
- Choisissez l''ordre d''assignation : critère pour trier les participants avant d''attribuer les dossards (nom, date d''inscription, équipe, etc.).
- Simuler — affiche qui recevrait quel dossard sans modifier la base de données.
- GO — lance l''assignation batch pour de vrai.
Le résumé (disponibles / à assigner / manquants) s''affiche après simulation ou GO.
Réinitialiser
Retire les dossards déjà assignés pour les séquences concernées. Attention : vérifiez l''impact avant de confirmer. Ce bouton n''apparaît que s''il existe déjà des dossards assignés sur l''épreuve.
',
'compte.php', 30, 1, NOW()),
('bib_assignment', 'bib_doc_auto', 'fr', 'Assignation automatique', 'Dossard à chaque nouvelle inscription',
'Assignation automatique : active l''assignation d''un dossard à chaque nouvelle inscription, en utilisant les séquences choisies.
Activation
- Cliquez Assignation automatique (ou Auto — configurer si déjà actif).
- Cochez les séquences à utiliser pour l''assignation auto.
- Cliquez Accepter pour enregistrer la configuration.
Le badge Auto actif confirme que l''assignation automatique est activée pour cette épreuve.
Annuler / Désactiver
- Annuler — quitte le mode édition sans enregistrer.
- Désactiver l''auto — désactive l''assignation automatique. Les séquences de dossards restent en place.
L''auto et le batch peuvent coexister : l''auto gère les nouveaux inscrits ; le batch rattrape les participants sans dossard.
',
'compte.php', 40, 1, NOW()),
('bib_assignment', 'bib_doc_solo', 'fr', 'Épreuve individuelle', 'Participants solo',
'Sur une épreuve individuelle (solo), chaque participant reçoit son propre numéro de dossard.
Ordre d''assignation
Lors d''un assignation par séquence, choisissez le critère de tri dans la liste Ordre d''assignation : nom de famille, prénom, date d''inscription, date de naissance, etc.
L''option liée au nom d''équipe est masquée sur une épreuve solo — elle n''a pas de sens sans épreuve en équipe.
Grille des dossards
L''icône œil sur une séquence ouvre la grille visuelle. Un numéro peut y être modifié manuellement ; le système vérifie les doublons sur l''événement.
',
'compte.php', 50, 1, NOW()),
('bib_assignment', 'bib_doc_equipe', 'fr', 'Épreuve en équipe', 'Dossards individuels vs 1 équipe = 1 dossard',
'Sur une épreuve en équipe, choisissez la méthode d''assignation dans le panneau de gauche, avant le premier dossard assigné. Le choix est verrouillé ensuite.
Dossards individuels
Chaque membre de l''équipe reçoit un numéro distinct, comme en solo. L''ordre d''assignation Nom d''équipe devient disponible pour grouper l''assignation.
1 équipe = 1 dossard
Tous les membres d''une équipe partagent le même numéro. L''assignation batch traite les équipes, pas chaque personne individuellement.
Changer de méthode après des dossards assignés nécessite une réinitialisation — planifiez le mode avant le premier GO.
La grille des dossards (icône œil) regroupe visuellement les membres par équipe pour faciliter la lecture.
',
'compte.php', 60, 1, NOW());
-- EN — contenu aligné sur les clés info bib_v4_*
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',
'Define bib sequences and assign numbers to registered participants for each race.
Recommended workflow
- Create one or more sequences (start and end numbers).
- Optionally enable automatic assignment for new registrations.
- For participants already without a bib: Assign by sequence, then Simulate, then GO.
Always Simulate before GO to preview without changing the database.
',
'compte.php', 10, 1, NOW()),
('bib_assignment', 'bib_doc_sequences', 'en', 'Bib sequences', 'Sequence table',
'Each row is a bib sequence (range of numbers for this race).
| Eye icon | View the bib grid for this sequence. |
|---|
| Start / End | First and last number in the sequence. |
|---|
| OK | Save this sequence. |
|---|
| Delete | Remove the sequence. |
|---|
| Last / Used / Avail. | Statistics: last assigned bib, count used, count available. |
|---|
+ Add
Adds a new bib sequence. Enter start and end numbers, then click OK.
',
'compte.php', 20, 1, NOW()),
('bib_assignment', 'bib_doc_batch', 'en', 'Assign by sequence', 'Batch mode — Simulate then GO',
'Assign by sequence opens batch mode: assign all participants without a bib in one operation.
- Check one or more sequences.
- Choose Assignment order (name, registration date, team, etc.).
- Simulate — preview without saving.
- GO — run the batch assignment.
Reset removes assigned bibs. Check the impact before confirming.
',
'compte.php', 30, 1, NOW()),
('bib_assignment', 'bib_doc_auto', 'en', 'Automatic assignment', 'Bib on each new registration',
'Automatic assignment assigns a bib on each new registration using the selected sequences.
Click Accept to save. The Auto on badge confirms the mode is active.
Disable auto turns off automatic assignment but keeps bib sequences.
',
'compte.php', 40, 1, NOW()),
('bib_assignment', 'bib_doc_solo', 'en', 'Individual race', 'Solo participants',
'On an individual race, each participant gets their own bib number. Team name sort order is hidden on solo races.
',
'compte.php', 50, 1, NOW()),
('bib_assignment', 'bib_doc_equipe', 'en', 'Team race', 'Individual bibs vs one bib per team',
'On a team race, choose the assignment method before the first bib — then it is locked.
- Individual bibs — each member gets a number.
- 1 team = 1 bib — all members share the same number.
',
'compte.php', 60, 1, NOW());