Projet

Général

Profil

Tâche #37444

Scénario #36663: [Zéphir] Amélioration de la gestion de l'import Ramsese

etude

Ajouté par Ludwig Seys il y a 5 mois. Mis à jour il y a environ un mois.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Début:
01/10/2022
Echéance:
% réalisé:

100%

Restant à faire (heures):
0.0

Historique

#1 Mis à jour par Ludwig Seys il y a 5 mois

  • Statut changé de Nouveau à À valider
  • % réalisé changé de 0 à 90

Après analyse du script d’import Zéphir en version 2.8.1, le problème vient bien de l’écart entre l’ancien format attendu par le code et le format actuel du fichier RAMSESE/data.gouv.

Le traceback observé :

libelle = etab[3]
IndexError: list index out of range

vient du fait que le code actuel accède aux colonnes par position :

rne       = etab[0]
type brut = etab[3]
libelle   = etab[3] + " " + etab[4]
cp        = etab[5]
ville     = etab[6]
mail      = etab[7]
fax       = etab[8]
telephone = etab[9]

le nouveau format lui propose plusieurs en-tête.

- Numéro d'UAI
- Appellation officielle
- Dénomination principale
- Dénomination complémentaire ou patronyme
- Secteur
- Adresse : désignation de la voie
- Adresse : 5e ligne
- Adresse : boite postale ou course spéciale
- Adresse : code postal
- Localité d'acheminement
- Libellé de la commune
- Géolocalisation : coordonnée X
- Géolocalisation : coordonnée Y
- EPSG
- Latitude WGS84
- Longitude WGS84
- Appariement par IGN
- localisation par IGN
- Code nature de l'UAI
- Libellé de la nature de l'UAI
- Etat de l'établissement
- Libellé de l'état de l'établissement
- Code INSEE du département ou de la collectivité
- Code INSEE de la région
- Code de l'académie
- Code INSEE de la commune
- Libellé du département ou de la collectivité
- Libellé de la région
- Libellé de l'académie
- Latitude et longitude WGS84
- Code du type de contrat
- Libellé du type de contrat
- Code de la tutelle ministérielle
- Libellé de la tutelle
- Date de rentrée pédagogique
- Sigle de l'UAI
- Identifiants RNB

Ce fonctionnement n’est plus adapté au fichier RAMSESE actuel, qui contient un en-tête, des colonnes supplémentaires, des colonnes vides, ainsi que des intitulés avec accents, apostrophes et caractères spécifiques.

Il faut rechercher les colonnes via l’en-tête, plutôt que continuer à exploiter des positions fixes.

En l’absence d’en-tête, deux comportements sont possibles :

- soit refuser l’import avec un message d’erreur explicite ;
- soit conserver un mode de compatibilité basé sur les anciennes positions.

Mais vu qu'il n’y a plus d’export correspondant à l’ancien format, la piste la plus propre semble être de rendre l’en-tête obligatoire, avec un message clair si celui-ci est absent ou incomplet.

Concordance proposée

Pour le format RAMSESE/data.gouv actuel, la correspondance proposée serait :

rne        = Numéro d'UAI
type brut  = Libellé de la nature de l'UAI
libelle    = Appellation officielle
cp         = Adresse : code postal
ville      = Libellé de la commune ou Localité d'acheminement
mail       = champ absent, valeur vide
fax        = champ absent, valeur vide
telephone  = champ absent, valeur vide

Je prévois pour le champ `type brut` : Libellé de la nature de l'UAI

Exemples :

- ECOLE DE NIVEAU ELEMENTAIRE
- ECOLE MATERNELLE

Pour `libelle` affiché dans Zéphir, deux possibilités restent à confirmer :

- soit : Appellation officielle
- ou : Libellé de la nature de l'UAI + Appellation officielle

Le plus simple serait probablement d’utiliser `Appellation officielle`, car c’est le libellé métier directement fourni dans le fichier.

Proposition

Pour une correction compatible avec les versions 2.9 et suivantes, je proposerais donc :

1. Confirmer la version cible => 2.8.1 ou a partir de 2.9 ?
2. Modifier l’import pour parser le CSV à partir de l’en-tête.
3. Rechercher explicitement les colonnes attendues dans le fichier RAMSESE/data.gouv.
4. Produire un message d’erreur clair si l’en-tête est absent ou si une colonne obligatoire manque.
5. Ne retenir que les champs actuellement utiles à Zéphir.
6. Renseigner à vide les champs absents du nouveau fichier : mail, fax, téléphone.
7. Conserver les établissements quel que soit leur état, sans filtrage sur OUVERT.
8. Gérer proprement les lignes incomplètes pour éviter les IndexError.
9. Mettre à jour la documentation avec les liens vers la page data.gouv et la ressource directe.
10. Mettre à jour le test Squash ZE-T01-003 avec un fichier RAMSESE/data.gouv actuel.

Colonnes minimales attendues

Les colonnes minimales nécessaires seraient :

- Numéro d'UAI
- Appellation officielle
- Adresse : code postal
- Libellé de la commune ou Localité d'acheminement
- Libellé de la nature de l'UAI

Les autres colonnes du fichier seraient ignorées pour l’instant.

Points restant à confirmer

Les points encore à valider sont donc réduits à :

- Le correctif doit-il être fait directement en 2.8.1 ou repris/rétroporté depuis le travail prévu en 2.9 ?
- La valeur `libelle` affiché dans Zéphir doit-il être uniquement "Appellation officielle" ou une concaténation avec le type ?
- En cas d’absence d’en-tête, doit-on refuser explicitement l’import ou conserver un fallback ancien format ?

#2 Mis à jour par Ludwig Seys il y a 4 mois

  • % réalisé changé de 90 à 100

#3 Mis à jour par Benjamin Bohard il y a environ 2 mois

  • Statut changé de À valider à Résolu

#4 Mis à jour par Joël Cuissinat il y a environ un mois

  • Statut changé de Résolu à Fermé
  • Restant à faire (heures) mis à 0.0

Formats disponibles : Atom PDF