# Migration de remplissage de t_code_norme

## Contexte

`t_code_norme` (créée par `2026_03_26_1515_V904001_NB_t_code_norme.php`, complétée par
`2026_07_27_1500_V904004_GC_t_code_norme_type_ciment.php` et
`2026_07_27_1505_V904004_GC_t_code_norme_type_addition.php`) contenait déjà 20 lignes en
base, mais aucune migration ne les insérait : elles avaient été saisies manuellement.
Cette table n'a pas de clé étrangère ; elle sert de liste de valeurs (classe_resistance,
classe_exposition, type_ciment, type_addition) consommée colonne par colonne (`->distinct()`)
par `classe_resistance_controller`, `classe_exposition_controller` et `produit_controller`
pour alimenter des listes déroulantes « Code norme ».

## Changement

- **[2026_09_09_1000_V905000_NB_t_code_norme_remplissage.php](../database/migrations/2026_09_09_1000_V905000_NB_t_code_norme_remplissage.php)** :
  crée la table si elle n'existe pas, puis insère les 20 lignes actuellement présentes en
  base (reprises à l'identique, y compris les doublons `XS3`/`X0` et les lignes avec
  `classe_resistance`/`type_ciment`/`type_addition` vides). L'insertion ne se déclenche que
  si la table est vide, pour rester sans effet sur les environnements qui ont déjà ces
  données.

## Hors périmètre

Cette migration ne nettoie pas les doublons ni les lignes incomplètes déjà présentes
(sujet abordé mais non tranché avec l'utilisateur) : elle se contente de reproduire l'état
actuel de la table pour les autres environnements (nouvelle installation, autre poste de
développement).
