---
# System prepended metadata

title: Changement de Livrable Fideli (19/09/2022)

---

# Changement de Livrable Fideli (19/09/2022)

Cette page reprend toutes les différentes étapes et prérequis nécessaires a l'intégration du livrable d'une année des bases FIDELI/RELIEF vers la base de données de l'application NAUTILE, afin de pouvoir permettre aux experts sondages de rafraichir leurs données.

## Préambule : organisation des données

Les données nous sont livrées par RELIEF annuellement, dans une BDD dédiée. Les schémas de livraisons sont de la forme `s_livrable_{annee}`, avec `{annee}` la valeur de l'année du livrable , par exemple en 2022, RELIEF nous a livré `s_livrable_2021`.

Les données seront temporairement (pour validation) chargées dans le schéma nautile_temp en base de données.

Les données seront chargées a la fin du chargement dans le schéma nautile, et le schéma nautile précédent sera déplacé vers un schéma du nom du livrable qu'il concernait. **E.G.** si un expert sondage avait nommé le précédent livrable **fideli2020** dans l'application *NAUTILE*, a la fin du traitement les anciennes données seront sur ce schéma **fideli2020**.

## Première étape : Récupération des données

Une première étape est pour l'instant réalisée en externe de l'application. Il s'agit la récupération de données des tables FIDELI/RELIEF par import de fichier dump. Cette étape a été contractualisée dans l'export du dump du schéma souhaité par les dba, pour l'import du même schéma dans la base de données Nautile dans un schéma du même nom.

A la suite de cette récupération, un EXPERT SONDAGE peut créer un **LOT FIDELI** dans l'IHM, ce qui permet de préciser les données suivantes : 
- le nom du lot qui sera utilisé pour l'archivage (voir plus haut)
- L'année du livrable, utilisé pour l'exposition de l'échantillon a Crabe et pour les éventuelles variables pereinne annualisées (précédemment `numt_{{annee}}`)
- Le schéma des données fidéli correspondant au lot

![](https://i.imgur.com/SC6l1Vg.gif)

> Remarque : pour l'instant nous avons toujours du ajouter une étape entre la première et la seconde pour des raisons de problèmes de données a la réception côté EPS NAUTILE, c'est ici que vous interfacerez vos scripts côté EPI


## Seconde étape: Import d'un fichier de variables a controler

Pour les étapes suivantes : 
- Contrôle des données du livrable FIDELI/RELIEF
- Statistiques sur le livrable FIDELI/RELIEF

```csv
table;variable;type_nautile;longueur;controle_strict
```
Il faut référencer un set de variables avec leurs métadonnées (type, longueur, stricte)

> Pour stricte il s'agit d'un booléen qui permet au statisticien d'indiquer si la taille d'un champ texte doit être exacte : ex id_log_ref

![](https://i.imgur.com/qXHUqsd.gif)

## Troisième étape: Lancement du chargement du livrable

![](https://i.imgur.com/XCoN85l.gif)

Le chargement du livrable est le premier gros traitement de la chaine, il s'agit d'un chargement qui réalise :

### I) des contrôles sur différentes clés primaires du livrable fideli, et clés primaires du livrable nautile a chainer

### II) Réalise l'import de données 
A partir des tables 
- `{{schemaFideli}}.l_nautile_logement`
- `{{schemaFideli}}.l_nautile_adresse`
- `{{schemaFideli}}.l_nautile_individu`

vers les tables 
- nautile_temp.adresse
- nautile_temp.logement
- nautile_temp.logementreperage
- nautile_temp.individu
- nautile_temp.individu_reperage

### III) Recalcul les identifiants nautile : id et idnautile

Il s'agit la de la regénération d'id cohérents pour les id (uniques). 

Puis du chainage des idnautile en fonction 
- logement : par **id_log_ref**
- individu : par l'appariemment **num_t // num_l** puis la concatenation **dirindik + anais** si la premiere ne match pas


### IV) Calcul de certaines variables "classiques"

Région et région de gestion, individu_referent du logement, ...

### V) Chainage des marquages

Récupération des marquages des logements par idnautile d'une année a l'autre. Et pour les individus, pour l'instant cette partie est laissée aux experts sondage après import. (non spécifié)

### Fin du traitement

A la fin du traitement, les tables

- nautile_temp.adresse
- nautile_temp.logement
- nautile_temp.logementreperage
- nautile_temp.individu
- nautile_temp.individu_reperage

sont disponibles a la consultation des **EXPERT SONDAGE**. 

Un fichier bilan est généré et accessible depuis l'IHM, il décrit les différents contrôles effectués et avertissements / erreurs éventuelles.

## Quatrième étape (facultative pour terminer le traitement): Calcul de statistiques sur le livrable

Cette étape réalise certains calculs sur les données fidéli permettant la réalisation d'un tableau de bord des tables a attendre en sortie du traitement.

Ce traitement s'execute directement dans un onglet "STATS BASE" dédié.

Les données en sortie sont : 
- Description des volumétries globales et par différents niveau géographiques, avec évolution entre le livrable en attente d'ajout et le précédent
- Calcul d'indicateurs de présence et pourcentages de remplissage des variables d'une année a l'autre.
- Calcul de statistiques sur le chainage des idnautile
- Calcul de statistiques sur les géographie pour les logement: permet de voir les changements au niveau des UP (gain et pertes d'unités)

## Cinquième étape : Validation du livrable FIDELI

Cette étape consiste en la dernière étape avant le passage a un nouveau livrable.

Elle réalise:
- la copie de toutes les tables du schéma actuel (nautile), vers le schéma nautile_temp
- supprime les données qui n'ont plus d'intérêt pour le prochain livrable : filtre référençant des variables qui ne sont plus là, marquage sur des éditions d'enquête qui ne sont plus référencées, allocations
- Recalcule les variables a mettre a disposition de l'utilisateur a partir d'un scan des tables logement et individu
- recrée le lien "uniteprimaire_id" entre les tables individu et logement vers la table uniteprimaire et ses régions de marquage
- Tire les logements neufs pour la table Logement, et crée un marquage de type "LOGEMENT_NEUF" référençant les unités tirées
- Supprime les strates et références entre strate et unites, puisque les identifiants ne matchent plus (ils ont été recréés), (pour la table archivee également). De même pour les marquages.
- Recrée les contraintes et calculs en bdd : (clé primaire, clé étrangères, unicité et index)

A la fin du traitement, toutes les tables sont copiées du schéma nautile vers le schéma nautile_temp. 

Puis le schéma nautile est basculé sur un nouveau schéma du nom du lot (e.g. nautile2020 voir plus haut). et le schéma nautile_temp est déplacé au schéma nautile.

Ce déplacement et toutes les références permettent de reprendre les opérations sur l'application Nautile sans interruption de service. (batchs éventuellements mis en file d'attente)