Réorganisation des schémas de données
refactor(schemas): refonte complète de la couche de modélisation des données
- Séparation stricte validation (Zod) / nettoyage (migrate.ts)
- Convention canonique : null = non renseigné, "Non renseignable" = traité sans résultat
- Tous les scalaires nullable, tous les tableaux initialisés à []
- Suppression des valeurs calculées (pourcentages, totaux) — calculés à la volée
- Taxonomie OpenAlex centralisée (openalex.taxonomy.ts)
- Barrières : suppression des préfixes alphabétiques
- positionOnDataOpenAccess : passage de checkbox à radio (nullableEnum)
- authors et study_works : passage aux ObjectId (migration many-to-many à venir)
- Script de migration proto → base propre avec rapport JSON