# Walk The Line Management — V8

Cette version ajoute le module complet de fiches techniques à partir du générateur XLSM existant.

## Migration

```bash
php bin/console doctrine:migrations:migrate
php bin/console cache:clear
php bin/console doctrine:schema:validate
```

Migration ajoutée : `Version20260818001000.php`.

Aucune nouvelle dépendance Composer n'est nécessaire.

## Architecture technique

Le module distingue trois niveaux :

1. **Profils techniques** : valeurs métier de départ (petite scène, grande scène, vidéo, etc.).
2. **Modèles de fiches techniques** : documents génériques versionnés et prêts à l'emploi.
3. **Fiches techniques de prospection** : document générique associé tel quel ou PDF spécifique figé pour une date.

Les réglages issus du XLSM sont maintenant administrables depuis l'application :

- informations générales (`PROJET`) ;
- profils (`PROFILS` / `CONFIGURATION`) ;
- patch audio (`PATCH`) ;
- matériel (`MATÉRIEL`) ;
- effets et intentions (`EFFETS`) ;
- accueil technique (`ACCUEIL_TECH`) ;
- blocs rédactionnels (`TEXTES`).

La colonne `Actif` du classeur a servi à initialiser les choix visibles par défaut dans le wizard. Les éléments initialement à `Non` restent disponibles dans l'application mais ne sont pas cochés par défaut.

## Wizard

Depuis une prospection, le bouton **Fiche technique** propose :

- associer un modèle existant sans régénérer le PDF ;
- partir d'un modèle puis le personnaliser ;
- créer une fiche spécifique depuis un profil technique.

Le wizard permet ensuite de choisir :

- les sections présentes dans le document ;
- les lignes affichées individuellement dans Patch, Matériel, Effets, Accueil technique et Textes ;
- le plan de scène ;
- les horaires propres à la représentation.

Chaque bloc possède les commandes **Tout sélectionner**, **Tout masquer** et **Valeurs par défaut**.

## Plans de scène

Codes utilisés :

- `STAGE_PLAN_SMALL`
- `STAGE_PLAN_SMALL_VIDEO`
- `STAGE_PLAN_LARGE`
- `STAGE_PLAN_VIDEO_1`
- `STAGE_PLAN_VIDEO_X3`

Un éditeur drag & drop permet de positionner les éléments sur le plateau, les renommer, les tourner, les dupliquer et modifier leur taille.

Les pictogrammes ne sont pas enregistrés dans la base. Ils se trouvent dans :

`assets/stage-plan/icons/`

Le JSON d'un plan ne conserve que le type d'élément et sa géométrie. Les fichiers graphiques peuvent donc être remplacés ultérieurement sans migration de base de données.

La légende de l'éditeur est construite automatiquement à partir des éléments présents sur le plan.

Les plans sont versionnés avec une contrainte `(code, version)`.

## Documents immuables

Les modèles générés et les fiches spécifiques produisent un PDF stocké dans le système `Document` / `DocumentContent` existant.

- type `technical` ;
- accès `ROLE_ADMIN` uniquement par défaut ;
- contenu binaire figé ;
- aucune relation Doctrine avec `DocumentContent`.

Lorsqu'un modèle générique est associé tel quel à une prospection, le PDF existant est réutilisé : aucune copie du BLOB et aucune régénération ne sont réalisées.

Lorsqu'un modèle est personnalisé, un nouveau snapshot et un nouveau PDF immuable sont créés.

## Données importées du XLSM

La migration initialise notamment :

- 5 profils techniques ;
- 4 lignes de patch ;
- 7 lignes de matériel ;
- 5 intentions / effets ;
- 5 éléments d'accueil technique ;
- 7 blocs rédactionnels ;
- les informations générales du projet ;
- les 5 familles de plans de scène avec une première implantation éditable.

