Tâche #37444
Scénario #36663: [Zéphir] Amélioration de la gestion de l'import Ramsese
etude
100%
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