> ## Documentation Index
> Fetch the complete documentation index at: https://support.lumicoda.ch/llms.txt
> Use this file to discover all available pages before exploring further.

# Référence : Interfaces d'allocation

> Spécifications techniques des interfaces de pilotage opérationnel : mur de tâches bénévoles, matrice de compétition et formulaires libres.

Les interfaces d'**Allocation** sont des pages Filament spécialisées conçues pour la manipulation de masse des inscriptions en temps réel. Elles se substituent au formulaire standard pour offrir une ergonomie adaptée au terrain.

## 1. Entête commune (Barre d'actions)

Toutes les interfaces d'allocation partagent les mêmes leviers de pilotage :

* **PDF** : Génération du résumé officiel.
* **Partager** : Lien public vers la fiche événement.
* **Rappeler** : Génération de lien de relance pour les inscrits.
* **Modifier** : Retour rapide vers le formulaire de configuration de l'événement.

***

## 2. Système d'ajout rapide

Une section en haut de chaque interface permet d'injecter des membres manuellement sans passer par le portail.

* **Champ `contactsToAdd`** : Menu de recherche multi-sélection interrogeant l'annuaire complet.
* **Bouton `Ajouter`** : Crée instantanément les enregistrements dans la table ou le réservoir.

***

## 3. Spécificités par mode

### Mode : Bénévoles (Mur Kanban)

Architecture basée sur des colonnes de shifts horaires.

* **Réservoir** : Colonne de gauche contenant les membres non affectés.
* **Affectation** : Glisser-déposer (Drag & Drop) déclenchant une mise à jour asynchrone en base.
* **Commandes de carte** :
  * **Responsable (Étoile)** : Bascule le booléen `is_responsible`.
  * **Verrouillage (Cadenas)** : Fige l'inscription individuelle.
  * **Note (Bulle)** : Édition directe de la note d'affectation.

### Mode : Sport (Matrice réactive)

Grille croisant les athlètes (lignes) et les disciplines (colonnes).

* **Cellules** : Inscription par simple clic (Toggle).
* **Indicateurs de validité** : Code couleur rouge si l'athlète ne correspond pas aux critères d'âge/genre de la discipline.
* **Compteur de charge** : Affiche le nombre total de disciplines choisies par ligne.

### Mode : Libre (Grille dynamique)

Tableau dont les colonnes sont générées dynamiquement selon les champs définis dans l'événement.

* **Édition directe** : Chaque cellule est un champ de saisie (Texte, Select, Toggle) avec sauvegarde automatique à la sortie du champ.

***

## 4. Logique technique de verrouillage

L'interface propose des actions de masse pour sécuriser les listes :

* **Lock All** : Bascule `is_locked = true` pour tous les participants.
* **Unlock All** : Réinitialise le droit de modification pour les membres.
* **Impact** : Le verrouillage au niveau allocation prime sur la deadline de l'événement.
