Merge develop into master (squash): ticket #102 NIR harmonisation

- Backend: DTO NIR 15 car 2A/2B, validation format+clé, warning cohérence
- BDD: nir_chiffre NOT NULL, migration pour bases existantes
- Seeds: 02 nir_chiffre, 03 Marie 2A / Fatima 99
- Frontend: nir_utils, nir_text_field, formulaire pro, mock inscription AM

Made-with: Cursor
This commit is contained in:
2026-02-26 13:55:42 +01:00
parent b1a80f85c9
commit ca98821b3e
12 changed files with 355 additions and 38 deletions
@@ -54,15 +54,15 @@ class _AmRegisterStep2ScreenState extends State<AmRegisterStep2Screen> {
capacity: registrationData.capacity,
);
// Générer des données de test si les champs sont vides
// Générer des données de test si les champs sont vides (NIR = Marie Dubois du seed, Corse 2A)
if (registrationData.dateOfBirth == null && registrationData.nir.isEmpty) {
initialData = ProfessionalInfoData(
photoPath: 'assets/images/icon_assmat.png',
photoConsent: true,
dateOfBirth: DateTime(1985, 3, 15),
birthCity: DataGenerator.city(),
dateOfBirth: DateTime(1980, 6, 8),
birthCity: 'Ajaccio',
birthCountry: 'France',
nir: '${DataGenerator.randomIntInRange(1, 3)}${DataGenerator.randomIntInRange(80, 96)}${DataGenerator.randomIntInRange(1, 13).toString().padLeft(2, '0')}${DataGenerator.randomIntInRange(1, 100).toString().padLeft(2, '0')}${DataGenerator.randomIntInRange(100, 1000).toString().padLeft(3, '0')}${DataGenerator.randomIntInRange(100, 1000).toString().padLeft(3, '0')}${DataGenerator.randomIntInRange(10, 100).toString().padLeft(2, '0')}',
nir: '280062A00100191',
agrementNumber: 'AM${DataGenerator.randomIntInRange(10000, 100000)}',
capacity: DataGenerator.randomIntInRange(1, 5),
);