Skip to content

04_Explication_profile_validateur

Fabien Tafforeau edited this page Jul 2, 2025 · 30 revisions

La validation d'un fichier BAL sur la validateur ce fait de paire avec un profil.

Un profil détermine si les alertes remonté par le validateur sont des erreurs, des avertissement ou des informations

Les différents profils

Il y a un profil par format de BAL (sauf 2 pour le format 1.3)

  • 1.1-strict(deprecated)
  • 1.2-strict(deprecated)
  • 1.3-strict(deprecated)
  • 1.3-relax(relax)
  • 1.3
  • 1.4

Les profiles deprecated ne sont plus utilisé en production

Les profiles relax met en forme le header en miniscule et supprime les espaces de chaques champs

Le profil 1.3-relax est le profil par défaut du programme BAL

A partir de janvier 2026 le profil par défaut sera le 1.3 et le 1.3-relax sera déprécié

A partir de janvier 2027 le profil par défaut sera le 1.4 et le 1.3 sera déprécié

Erreur et avertissements des profils

On ne décrit que les profile utilisé pour ne pas surcharger la documentation

1.3-relax (relax)

Erreurs

  • cle_interop.structure_invalide
  • cle_interop.commune_invalide
  • cle_interop.numero_invalide
  • voie_nom.valeur_manquante
  • voie_nom.trop_court
  • voie_nom.trop_long
  • voie_nom.caractere_invalide
  • numero.valeur_manquante
  • numero.type_invalide
  • numero.trop_grand
  • suffixe.debut_invalide
  • suffixe.trop_long
  • commune_insee.commune_invalide
  • x.valeur_invalide
  • y.valeur_invalide
  • long.valeur_invalide
  • lat.valeur_invalide
  • row.incoherence_numero
  • row.commune_manquante
  • row.longlat_vides
  • row.longlat_invalides
  • row.adresse_incomplete
  • field.voie_nom.missing
  • field.numero.missing
  • rows.empty

Avertissements

  • cle_interop.voie_invalide
  • cle_interop.commune_ancienne
  • voie_nom.casse_incorrecte
  • voie_nom.contient_tiret_bas
  • voie_nom_@@.casse_incorrecte
  • voie_nom_@@.contient_tiret_bas
  • voie_nom_@@.trop_court
  • voie_nom_@@.trop_long
  • voie_nom_@@.caractere_invalide
  • commune_insee.commune_ancienne
  • commune_deleguee_insee.commune_invalide
  • commune_deleguee_insee.commune_non_deleguee
  • position.enum_fuzzy
  • position.valeur_invalide
  • cad_parcelles.valeur_invalide
  • cad_parcelles.pipe_debut_fin
  • source.valeur_manquante
  • date_der_maj.valeur_manquante
  • date_der_maj.date_ancienne
  • date_der_maj.date_future
  • certification_commune.valeur_invalide
  • row.position_manquante
  • row.chef_lieu_invalide
  • row.longlat_xy_incoherents
  • field.suffixe.missing
  • field.cle_interop.missing
  • field.position.missing
  • field.long.missing
  • field.lat.missing
  • field.x.missing
  • field.y.missing
  • field.source.missing
  • field.date_der_maj.missing
  • field.certification_commune.missing
  • cle_interop.espaces_debut_fin
  • commune_nom.espaces_debut_fin
  • commune_deleguee_insee.espaces_debut_fin
  • commune_deleguee_nom.espaces_debut_fin
  • uid_adresse.espaces_debut_fin
  • voie_nom.espaces_debut_fin
  • voie_nom_@@.espaces_debut_fin
  • lieudit_complement_nom.espaces_debut_fin
  • lieudit_complement_nom_@@.espaces_debut_fin
  • numero.espaces_debut_fin
  • position.espaces_debut_fin
  • long.espaces_debut_fin
  • lat.espaces_debut_fin
  • x.espaces_debut_fin
  • y.espaces_debut_fin
  • cad_parcelles.espaces_debut_fin
  • source.espaces_debut_fin
  • date_der_maj.espaces_debut_fin
  • uid_adresse.type_invalide
  • uid_adresse.incoherence_ids_ban
  • cle_interop.valeur_manquante
  • cle_interop.numero_prefixe_manquant
  • cle_interop.casse_invalide
  • suffixe.espaces_debut_fin
  • numero.contient_prefixe
  • commune_insee.espaces_debut_fin
  • x.separateur_decimal_invalide
  • y.separateur_decimal_invalide
  • long.separateur_decimal_invalide
  • lat.separateur_decimal_invalide
  • date_der_maj.date_invalide
  • field.commune_insee.missing
  • field.long.missing
  • field.lat.missing

1.3

Erreurs

Enssemble des erreurs 1.3-relax +

  • rows.empty,cle_interop.valeur_manquante
  • cle_interop.numero_prefixe_manquant
  • cle_interop.casse_invalide
  • suffixe.espaces_debut_fin
  • numero.contient_prefixe
  • commune_insee.valeur_manquante
  • commune_insee.espaces_debut_fin
  • x.separateur_decimal_invalide
  • y.separateur_decimal_invalide
  • long.separateur_decimal_invalide
  • lat.separateur_decimal_invalide
  • date_der_maj.date_invalide
  • field.commune_insee.missing
  • field.long.missing
  • field.lat.missing
  • file.encoding.non_standard
  • file.delimiter.non_standard
  • file.linebreak.non_standard

Avertissements

  • cle_interop.voie_invalide
  • cle_interop.commune_ancienne
  • voie_nom.casse_incorrecte
  • voie_nom.contient_tiret_bas
  • voie_nom_@@.casse_incorrecte
  • voie_nom_@@.contient_tiret_bas
  • voie_nom_@@.trop_court
  • voie_nom_@@.trop_long
  • voie_nom_@@.caractere_invalide
  • commune_insee.commune_ancienne
  • commune_deleguee_insee.commune_invalide
  • commune_deleguee_insee.commune_non_deleguee
  • position.enum_fuzzy
  • position.valeur_invalide
  • cad_parcelles.valeur_invalide
  • cad_parcelles.pipe_debut_fin
  • source.valeur_manquante
  • date_der_maj.valeur_manquante
  • date_der_maj.date_ancienne
  • date_der_maj.date_future
  • certification_commune.valeur_invalide
  • row.position_manquante
  • row.chef_lieu_invalide
  • row.longlat_xy_incoherents
  • field.suffixe.missing
  • field.cle_interop.missing
  • field.position.missing
  • field.long.missing
  • field.lat.missing
  • field.x.missing
  • field.y.missing
  • field.source.missing
  • field.date_der_maj.missing
  • field.certification_commune.missing
  • cle_interop.espaces_debut_fin
  • commune_nom.espaces_debut_fin
  • commune_deleguee_insee.espaces_debut_fin
  • commune_deleguee_nom.espaces_debut_fin
  • uid_adresse.espaces_debut_fin
  • voie_nom.espaces_debut_fin
  • voie_nom_@@.espaces_debut_fin
  • lieudit_complement_nom.espaces_debut_fin
  • lieudit_complement_nom_@@.espaces_debut_fin
  • numero.espaces_debut_fin
  • position.espaces_debut_fin
  • long.espaces_debut_fin
  • lat.espaces_debut_fin
  • x.espaces_debut_fin
  • y.espaces_debut_fin
  • cad_parcelles.espaces_debut_fin
  • source.espaces_debut_fin
  • date_der_maj.espaces_debut_fin
  • uid_adresse.type_invalide
  • uid_adresse.incoherence_ids_ban

1.4

Erreurs

Enssemble des erreurs 1.3 +

  • id_ban_commune.type_invalide
  • id_ban_toponyme.type_invalide
  • id_ban_adresse.type_invalide
  • uid_adresse.type_invalide
  • row.lack_of_id_ban
  • rows.multi_id_ban_commune
  • rows.cog_no_match_id_ban_commune
  • rows.every_line_required_id_ban

Avertisements

Enssemble des avertissements 1.3 +

  • field.id_ban_commune.missing
  • field.id_ban_toponyme.missing
  • field.id_ban_adresse.missing

Conclusion

Le profil détertermine donc la validité d'un fichier BAL. Le même fichier peut être valide avec le profil 1.3-relax et invalide avec le profil 1.3

Exemple

cle_interop voie_nom numero position long lat x y date_der_maj
31591_xxxx_00009 Rue des 3 Places 9 entrée 1.028392 43.111637 539416.13 6225601.11 2020-11-09

L'alerte field.commune_insee.missing est remonté par le validateur

L'alerte field.commune_insee.missing est noté comme avertissement par le profil 1.3-relax

L'alerte field.commune_insee.missing est noté comme erreur par le profil 1.3

Le fichier BAL si dessus est doc valide avec le profil 1.3-relax et invalidate avec le profil 1.3

Clone this wiki locally