# 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)