etalab / schema-inclusion-numerique

Other
4 stars 3 forks source link

Numéro de téléphone #3

Closed johanricher closed 3 years ago

johanricher commented 3 years ago

En analysant le rapport de validation d'un fichier des lieux d'inclusion numérique récemment publié, j'ai remarqué que la validation des numéros de téléphone était perfectible, notamment car elle ne prend pas en compte les nombreux cas de numéros courts (agences Pôle emploi, CAF, Sécurité sociale, etc.).

Il serait utile d'améliorer le schéma pour prendre en compte cette problématique. Il est possible de le faire avec des "custom checks" de Validata (comme c'est déjà le cas pour les SIREN et SIRET), ce qui aura en plus l'avantage de rendre cela utilisable par d'autres schémas. J'ai créé un ticket ici pour expliquer l'idée : https://git.opendatafrance.net/validata/validata-core/-/issues/16

@raphodn @geoffreyaldebert Qu'en pensez-vous ?

geoffreyaldebert commented 3 years ago

Salut Johan,

Oui effectivement, on voit bien dans la pratique que des numéros courts peuvent être saisis pour ce schéma et ils ont l'air légitimes. Donc à mon avis, il faudrait adapter le schéma.

On peut j'imagine s'en sortir avec une regex mais effectivement ce serait plus sympa d'avoir un custom check, si celui-ci n'est pas trop lourd, d'autant que comme tu l'indiques des librairies python existent. Donc je pense que c'est une bonne idée. Comment verrai-tu la détection d'un champ "téléphone" ? Via son header ?

Geoffrey

johanricher commented 3 years ago

Si je comprends bien, il n'est pas nécessaire de rendre les champs détectables puisque les champs auxquels les custom checks s'appliquent sont déclarés dans le schéma lui-même (exemple).

geoffreyaldebert commented 3 years ago

Oui effectivement tu as raison. Donc ça devrait bien marcher de cette manière là.

bors-ltd commented 3 years ago

On ne devrait à minima ne s'attendre qu'à des chiffres ? j'ai reçu null dans ce champ, validé par publier.etalab.studio faute de contrainte supplémentaire.

(En plus des éventuelles conventions du format européen/international, cf. http://publications.europa.eu/code/fr/fr-390300.htm)

johanricher commented 3 years ago

Suite à mon premier message, nous avons créé un custom check "phone numbers". Il est disponible dans la dernière version de Validata et vous pouvez d'ores et déjà l'utiliser dans un schéma.

Vous pouvez voir ce que ça donne ici sur le champ contact_telephone du schéma des lieux d'inclusion numérique auquel nous avons simplement ajouté le custom check : https://go.validata.fr/table-schema?input=url&schema_url=https://git.opendatafrance.net/validata/validata-core/uploads/c61ce9317e0ab41bef8c305a27017197/schema_lieux_inclusion_numerique_maj.json&url=https://git.opendatafrance.net/validata/validata-core/uploads/5ca1fbaae3ca2b164b0c878d5f92189e/lieux_inclusion_numerique_maj.csv

Fichiers test disponibles ici : https://git.opendatafrance.net/validata/validata-core/-/issues/16#note_2908