--- title: Centaure - notice utilisateurs tags: Centaure, R, Shiny --- <h1 style="color: steelBlue">CENTAURE 2020</h1> [![le logo Centaure][logo]][centaurePI]() [logo]: https://minio.stable.innovation.insee.eu/hackmd-uploads/uploads/upload_825fb104dc6927cbf455fb3c8a54b42b.jpg [centaurePI]: https://gitlab.insee.fr/gestion-de-la-collecte/centaure/ "Cliquer pour accéder au gitlab de Centaure 2020" :::info ***C**alcul et **E**xploitation **N**ormalisées des **T**races **A**DT **U**tilisables par les **R**esponsables d'**E**nquête* ::: :::danger Mise à jour : 15/01/2020 Sous AUS, l'affichage n'est pas optimal et l'image risquent de ne pas s'afficher. Pour une 1ère lecture, nous vous conseillons de copier ce fichier pour le lire sur votre poste. Merci. ::: # I. UNE APPLICATION PARTAGEE **Blaise**, le logiciel utilisé pour réaliser les enquêtes en face-à-face, génère des fichiers Audit Trail (**ADT**s) dans lesquels sont enregistrées chaque opération effectuée au clavier par les enquêteurs ainsi que la date et l’heure de ces opérations. Bien que lourds et complexes à utiliser, ces fichiers répondent à deux besoins : - Une utilisation ponctuelle, de l’ordre d’une dizaine de cas annuels, pour récupérer des données ou analyser ce qui s’est passé en cas de problèmes rencontrés dans un questionnaire (données effacées accidentellement, situation hors norme …). - Une utilisation de l’ensemble des données pour déterminer des temps de passage de questionnaire partiel ou complet. Notamment, en phase de test des enquêtes, afin de contrôler les durées de questionnement et conforter les durées d’enquête nécessaires à Opale. Jusqu’en 2018/2019, ces travaux étaient réalisés au sein du **S**ervice **N**ational de **D**éveloppement Informatique (**SNDI**) de Lille, par l’équipe Blaise pour les exploitations ponctuelles de relecture des ADT et par les "anciens" Responsables Informatique d’Enquête (RIE), à l’aide de l’application <span style="color: steelBlue"> **CENTAURE** </span>, pour le calcul des temps de passage demandés par les CPOS et MOA. La rénovation de l’application <span style="color: steelBlue"> **CENTAURE** </span>, développée au **SNDIL**, est devenue nécessaire techniquement en raison de l’abandon du module SAS AF de SAS, mais aussi en raison de l’augmentation de la demande d’exploitation des temps de passage des questionnaires. Ces demandes sont presque systématiques aujourd’hui, non seulement pour les tests, mais également quand l’enquête est terminée. Pour répondre à ces deux objectifs, l’application <span style="color: steelBlue"> **CENTAURE 2020** </span> est une refonte de <span style="color: green"> **CENTAURE** </span> qui vise essentiellement à rendre aussi autonome que possible les utilisateurs des temps **ADT**. La nouvelle application comprend deux parties distinctes : - une phase de constitution automatisée d’un « fichier des temps » détaillés, phase réalisée par le développeur aval (aujourd’hui en SAS, demain en R ) - une phase d’exploitation statistique réalisée directement par le CPOS et/ou la MOA - soit pour les demandes classiques à l’aide de l’outil développé en R/ R shiny - soit directement à partir de la table des temps pour des besoins spécifiques :::info **A l’attention des anciens utilisateurs de <span style="color: green"> **CENTAURE** </span>** Afin de rendre les utilisateurs finaux plus autonomes, trois changements de changements de fond intervenus entre l’ancienne et la nouvelle application : - la suppression du « temps maximum » pour un champ en phase de constitution de la base des temps. Ces suppressions sont reportées en phase d’exploitation statistique à l’*initiative des utilisateurs*, - l’intégration dans le fichier des temps de variables permettant de stratifier les questionnaires en fonction du résultat de l’enquête, de divers critères de taille, voire de critères supplémentaires qui seraient spécifiés au développeur aval lors de la réalisation de l’enquête, - l’intégration des durées au niveau d’une question au sens du questionnaire avec le calcul du nombre de questions en cas de boucle ( distinct de la notion de champ utilisée auparavant *cf. III*) ::: # II. DES *ADT* AU *FICHIER DES TEMPS* ## II.1 Les fichiers ADT Chaque enquêteur transmet un fichier ADT qui contient les informations de toutes les FA qu’il a réalisé y compris les déchets (ainsi que les FA non terminées qui sont complétées ultérieurement lorsque les fichiers ADT sont relevés avant la fin de la collecte). Le fichier ADT ne contient que les informations qui ont fait l’objet d’une ouverture sous Blaise : une FA qui n’a pas été ouverte ne figure pas dans le fichier, une question qui n’a pas été posée suite à un filtre, n’y figure pas non plus. Les fichiers ADT se présentent comme une suite d’enregistrements commençant par la date et l’heure (à la seconde près), puis la nature de l’opération (entrée dans une Fiche Adresse, entrée dans un champ, sortie d’une FA, d’un champ … ), puis des paramètres selon la nature de l’opération (identifiant de la FA, nom du champ et valeur en entrée ou en sortie … ). **un ADT** ![](https://minio.stable.innovation.insee.eu/hackmd-uploads/uploads/upload_e9fd8fd0ab323897e5b118c240da6112.PNG) Pour chaque enquête, les fichiers ADT de l’ensemble des FA traitées lors de la collecte représentent plusieurs dizaines de millions d’enregistrements et une taille qui se compte en Giga octets. Afin de fournir des premiers résultats de temps de collecte à la fois « simples » et « complets » , les fichiers ADT font l’objet d’une exploitation automatisée qui débouche sur une base que nous appellerons par la suite : le *« Fichier des temps »*. ## II.2 Le fichier des temps Le fichier des temps contient pour chaque FA et pour chaque question : - l’identifiant du ménage (```Identifiant```), - le code résultat de l’enquête pour le ménage (```Code_Resultat```), ce code peut être complété par d’autres variables selon les spécifications demandées au développeur aval - la variable de stratification (```Code_Analyse```), - la position de la question dans le data model (```Chemin```), - l’identifiant de la question, y compris un champ fictif « Durée_du_questionnaire » (```Variable```), - le nom du fichier adt source contenant l’identifiant enquêteur (:warning:) (```ADT```), - le nombre de fois où la question a été posée (```Nb_Question```), - - un indicateur de qualité du calcul de la durée dans le fichier ADT (```Indic```), - la durée en secondes (```Tps_Question```). :::info :information_source: entre parenthèses, le nom de la variable en première ligne du fichier. ::: **Un fichier des temps** ![](https://minio.stable.innovation.insee.eu/hackmd-uploads/uploads/upload_bb13c400d2021c46d79c2baa67673784.png) ## II.3 Comment sont calculés les « temps adt »  ### II.3.1 Champs || Question Dans la suite, nous ferons la distinction entre un champ, qui est une question posée à propos d’un objet précis, et une question, qui peut être posée plusieurs fois à propos d’objets différents. :::info :information_source: Par exemple : le prénom est demandé pour tous les individus du ménage, dans un ménage de trois personnes, il y aura donc trois champs « prénom » pour une seule question « prénom ». ::: ### II.3.2 Durée du champ La durée d’un champ est la différence entre le moment où le champ est ouvert et le moment où il est fermé. Dans le cas d’ouvertures multiples (par exemple lors du questionnement, puis pour relecture, sans compter d’éventuelles rectifications... ) la durée du champ sera la somme des durées retenues lors des divers passages. Les fichiers ADT ne sont pas exempts d’anomalies et certaines ouvertures de champs peuvent ne pas avoir d’enregistrement de fermeture. La durée retenue est alors la différence avec le moment de l’ouverture d’un autre champ, à condition que le changement se fasse dans la même session et pour la même fiche adresse. Dans tous les autres cas, la durée n’est pas prise en compte. ### II.3.3 Durée d'une question (```Tps_Question```) La durée d’une question (```Tps_Question```) est le cumul des durées des champs correspondants. Pour les trois prénoms de l’exemple précédent, « ```Tps_Question``` » est la durée totale consacrée aux trois réponses. Pour l’analyse des temps, seule la durée des questions est retenue pas la durée des champs individuels : les durées de questionnement du prénom de la première personne des ménages, puis de la seconde… ne présentent pas d’intérêt dans le cadre des analyses proposées par Centaure. ### II.3.4 nombre de questions (```Nb_Question```) Le nombre de questions (```Nb_Question```) est le nombre de champs portant sur la question. Toujours dans l’exemple des prénoms, le nombre de personnes du ménage est demandé une seule fois : pour la variable ```NBPERS Nb_Question=1```, mais le prénom est demandé pour chaque individu du ménage : pour la variable ```PRENOM Nb_Question=3```. Ce nombre de questions permet de rapporter la durée de questionnement à la taille du questionnaire selon les besoins d’analyse et sans avoir besoin de recourir aux résultats de l’enquête ### II.3.5 Indicateur de qualité (```Indic```) L’Indicateur de qualité (```Indic```) vaut 0 si toutes les durées sont issues du calcul normal (heure sortie – heure entrée). Si indic est différent de zéro : • la partie décimale est le nombre de fois où le temps est calculé avec l’heure d’entrée dans un autre champ (max 99) • la partie entière est le nombre des autres cas d’entrées dans un champ sans enregistrement de sortie : passages qui ne sont pas comptés dans la durée de la question. ### II.3.6 Durée du questionnaire (```Durée_du_questionnaire```) :::warning :warning: La « ```Durée_du_questionnaire``` » est traitée comme une **question fictive** ajoutée au fichier des temps dans un **pseudo-bloc appelé « QUESTIONNAIRE »** dont elle est la **seule variable**. ::: La durée est calculée par différence entre les entrées dans une fiche adresse et les sorties correspondantes. En cas d’absence d’un enregistrement de sortie, la durée n’est pas retenue (indic=1). Le nombre de questions est le nombre total de questions posées pour la FA. ### II.3.7 Le code résultat (```Code_resultat```) Le code résultat (```Code_resultat```) est une donnée externe ajoutée au fichier des temps ADT à partir du fichier **RES_MEN** issu du tronc commun des ménages ou de tout autre fichier équivalent. Par défaut le code résultat sera le code « RES » de l’enquête (résultat du ménage en code abrégé), Cependant ce code peut intégrer d’autres données issues de l’enquête si elles sont spécifiées auprès du développeur aval. ### II.3.8 La variable de stratification (```Code_Analyse```) La variable de stratification (```Code_Analyse```) est aussi une donnée ajoutée au fichier des temps ADT par le même processus que le code résultat. Cette variable permet d'obtenir les temps ADT pour des sous-populations. Les critères de stratification sont a spécifier au développeur aval afin qu'il puisse intégrer cette donnée au fichier des temps. Il n'est possible d'utiliser qu'une seule variable d'analyse dans un fichier des temps, lorsque que plusieurs critères sont demandés, il y a deux possibilités : • soit créer deux fichiers des temps chacun avec leur propre variable d'analyse • soit créer une variable combinant les divers critères, il sera alors possible de sélectionner les sous-populations dans l'outil en sélectionnant l'ensemble des modalités correspondantes :::warning :warning: L’appariement actuel avec le fichier **RES_MEN** élimine les cas de logements éclatés (rares) et de budgets séparés (peu nombreux mais récurrents). L’utilisation d’un fichier à un stade moins avancé de la chaîne aval, qui permettrait un appariement exhaustif est à l’étude car cela présente d’autres inconvénients. ::: ### II.3.9 Le nom du fichier ADT (```ADT```) Le nom du fichier ADT (```ADT```) est nécessaire pour le développeur aval, afin de pouvoir mettre à jour ou compléter la base des temps ADT. Pour les traitements, ce nom fait obligatoirement référence à un identifiant de l’enquêteur. Sa communication est à contrôler pour respecter l’anonymat des enquêteurs. ## II.4 Les limites d'exploitation des ADT ### II.4.1 Le plus bel ADT ne peut donner que ce qu’il a ! Pour prometteuse qu’elle soit, l’utilisation des temps ADT n’est pas simple et peut facilement conduire à des interprétations abusives. Tout d’abord, les temps ADT donnent le temps pendant lequel un questionnaire, ou un champ du questionnaire, est ouvert sur le micro de l’enquêteur. Même dans le cas d’un fichier ADT totalement exempt d’anomalies d’enregistrement, il s’agit uniquement d’un temps d’ouverture de l’application sur l’ordinateur (que l’application soit active ou en pause). Ce temps ne correspond pas nécessairement au temps d’activité de l’enquêteur. Entre autres questions, le lieu où se trouve l’enquêteur n’est pas connu ; il n’est pas possible de distinguer les temps passés chez les enquêtés, des temps où l’enquêteur est ailleurs. C’est pourquoi, il n‘est pas possible d’isoler les temps de saisie chez l’enquêté des autres temps passés sur une FA (temps de relecture chez l’enquêteur par exemple). ### II.4.2 temps ```valid``` Afin de répondre au mieux à la question *"combien de temps a pris l'enquête chez l'enquêté ?"*, un indicateur de saisie est intégré dans l'application. Cet indicateur permet d'isoler les temps des passages sur la FA ayant donné lieu à la saisie d'au moins X questions, X étant un paramètre du programme. Ce paramètre permet d'avoir deux temps de passage / - soit le temps total de la FA, - soit le temps des phases où le nombre de questions saisies est au moins égal à X : temps "```Valid```". Une autre impossibilité est la comparaison directe entre la durée moyenne des questionnaires et la somme des durées moyennes des questions. Il y a plusieurs raisons pour que ces "moyennes" ne collent pas : - on est pas sur un champ constant de FA : la durée moyenne du questionnaire concerne les FA correctement enregistrées, les questions sont prises en compte individuellement pour chaque FA. - les temps sont enregistrés à la seconde, pour les questions courtes c’est imprécis - les temps intermédiaires entre deux questions valides dans l'ADT : « trous » dus aux enregistrements défaillants, éventuellement délais de calcul. - les temps jugés aberrants qui sont été retirés du calcul de la moyenne par questions ou par blocs mais qui demeurent comptés pour la FA. :::warning :warning: Pour ces trois dernières raisons, même au niveau d’une seule FA, la durée d’un questionnaire peut diverger de la somme des durées des questions. Les anomalies ne sont pas rares, l’écart est seulement un indicateur de la bonne ou mauvaise qualité du fichier ADT pour cette FA. ::: ### II.4.3 Précautions d’emploi Que ce soit en utilisation directe du « fichier des temps » ou par l’intermédiaire de l’outil fourni, il est nécessaire de procéder à un contrôle de la distribution des temps pour éliminer les cas douteux en fonction de l’objectif visé. Par exemple, concernant la durée du questionnaire pour les enquêtes réussies, des durées trop longues sont suspectes (session restée ouverte… ), mais les durées trop courtes le sont aussi : il se peut que faute d’une fermeture de FA dans le fichier ADT, une partie du traitement de la FA ne soit pas enregistrée. Pour les variables, ce sont essentiellement les durées longues qui peuvent être suspectes. Pour repérer les variables suspectes, le suivi des temps maximum selon l’approche descendante offerte par l’outil est bien adaptée, mais rien n’empêche de faire une sélection systématique (pour mémoire centaure excluait d’office les questions de plus de 5 minutes ) . La suppression de données extrêmes dans l’analyse a des impacts qui dépasse la seule analyse de la variable ou du bloc considéré. En effet, cette suppression touche les blocs de niveau supérieur mais elle n’est pas répercutée sur la durée du questionnaire calculée séparément. Aussi, lorsqu’une variable ou un bloc est retiré de l’analyse des temps, selon la nature des résultats recherchés, il faut se poser la question de l’impact sur les blocs de niveaux supérieurs : Faut-il garder les autres variables du bloc ? Faut-il supprimer la totalité de la FA ? ### II.4.4 Quelques problématiques autour des temps ADT La durée du questionnaire - en test ou en préparation prochaine enquête - voir par code résultat – mais aussi veiller à sélectionner les FA avec des adt corrects - le résultat n’est pas celui utilisé pour Opale - la structure des ménages impacte directement le résultat moyen (en test, il n’est pas certain que ce soit une structure moyenne qui ressorte ) - utiliser les quartiles et centiles peut être plus utile que le temps moyen La durée des blocs - pour réduire le temps - utiliser les FA réussies - Prendre en compte le « volume » du questionnaire : taille des ménages, nombre de QI - Contrôler les temps max du bloc (puis des variables) La durée des variables - pour réduire le temps, créer des phases équilibrées - utiliser les FA réussies - Temps moyen d’une question, ou prendre en compte le nombre de questions posée - Contrôler les temps max => conséquences sur les blocs / FA L’analyse d’une FA - Outil non conçu à cette fin, analyse à faire par MOA directement sur le fichier des temps ADT Comparer la somme des temps questions et la durée du questionnaire - On ne peut que traiter les FA au cas par cas, ce qui renvoie au thème précèdent Les temps par enquêteur - Centaure n’est pas l’outil adéquat : voir infoCentre ## II.5 Un outil basé sur l’arborescence du data model Généralement les questionnaires sont organisés en chapitres, eux-mêmes éventuellement subdivisés en sous chapitres et sous-sous-chapitres selon la complexité du data model. En langage Blaise, on utilise le terme de « bloc » plutôt que chapitre. Chaque bloc contient des questions, qu’elles soient au niveau du bloc (racine) ou dans les sous-blocs qu’il contient. L’arborescence du questionnaire est un élément fondamental pour l’exploitation des temps ADT. Les exploitations des durées de questionnements à partir des fichiers ADT portent sur trois niveaux : 1. la durée du questionnaire 2. la durée de l’une ou l’autre partie du questionnaire (Bloc) 3. la durée d’une ou plusieurs questions prises individuellement Par construction, la durée des blocs est obtenue par la somme des durées des questions qui le composent. La durée du questionnaire est calculée séparément, pour les raisons expliquées précédemment, la durée cumulée des toutes questions n’est pas exploitée. Afin de permettre une gestion homogène de tous les blocs et de toutes les variables, l’arborescence de l’enquête est complétée dans l’application Centaure par deux éléments : - Quand un bloc est subdivisé en sous-blocs, les questions à sa racine sont regroupées dans un **pseudo sous-bloc** dénommé « ```HorsBloc``` » : ce qui permet de traiter ces variables au même titre que les autres. - La « ```Durée_du_questionnaire``` » est considérée comme une variable, l’unique variable du **pseudo_bloc** de nom « ```QUESTIONNAIRE``` » : ceci permet de traiter les statistiques pour l’ensemble du questionnaire indépendamment des autres blocs et variables. L’arborescence ainsi aménagée du data model est fournie avec le fichier des temps, il s’agit d’un fichier texte « **Arbre.csv** » qui est consultable à tout moment dans l’outil d’exploitation des temps ADT. # III. GENERER LES FICHIERS TEMPS Cette actions est de la responsabilité du développeur aval. La création des fichiers temps est prévue depuis la version 5 des outils aval. La version 6 a été seulement enrichie par la variable d'analyse. ## III.1 - Les programmes standardisés de NIRVANA (.sas) Les allocations en début de programme sont au format des autres programmes aval, la seule particularité est le dossier dans lequel se trouvent les **fichiers ADT** : - soit dans le dossier capi de l'enquête : dossier ALTERE en cours de collecte, SF en fin de collecte, - soit placés dans le dossier aval de l'enquête : phase ADT\Entrees **Les allocations initiales** - Définition des critères de l'enquête - %let rep_enq=X:\HAB-Preprod-TEO2; - %let codenq=TEO19A; - si capi3G mettre le numero d'ordre de l'enquête sinon mettre num3G à vide - %let num3G=; - Chargement des outils AVAL et création de l'arborescence des dossiers :::info Ici, version 6 ::: - Localisation des outils aval sur le serveur - %let Outils_Aval=V:\OutilsAval-Preprod; - Version du TCM embarqué (= Nom du répertoire dans Outilsaval) - %let VersionTCM=TCML_V2019_10; - Version des outils (= Nom du répertoire dans Outilsaval) - %let VersionOutils=Macros_V06; - Chargement des outils AVAL et création de l'arborescence des dossiers - %include "&Outils_Aval.\&VersionOutils.\Outils00_AllocOutils.sas"; **La sélection du dossier source des ADT** - Dossier de récupération des ADT : cas fichiers finaux - %let DossierADT= S:\PROD\capi\pd\ADTCAPI\SF\&codenq.; - ou Dossier de récupération des ADT : cas fichiers altere - %let DossierADT= S:\PROD\capi\pd\ADTCAPI\ALTERE\&codenq.; - ou Dossier de récupération des ADT : cas du dossier ADT de l'enquete - %let DossierADT= &rep_enq.\&codenq.\ADT\ENTREES; ## III.2 - Extraction des temps La lecture des fichiers ADT est effectuée par l'appel de la macro : **Lire_ADT**. La valeur par défaut des deux *paramètres* ont été élaborées sur la base des exploitations d'enquêtes. **Mise à Jour des ADT** - *Saisie_Min* : nombre de variables modifiées minimum (sélection du temps de passage supposé chez l'enquêté) - *Pause* : durée maximale en secondes entre deux actions (retrait des temps de pause/veille etc...) - %Lire_ADT(phase=ADT, Saisie_Min=15, Pause=600); **En sortie, le programme génère *les tables*** - *temps bruts* : temps détaillé de chaque passage sur chaque question, y compris la date et l'heure - *tempschamp* : table des temps regroupés par champ - *temps* : une table des temps avec code_resultat="???" et code_analyse="" ## III.3 Injection des codes résultats et d'analyse Dans le répertoire ADT\ENTREES il faut générer ou copier une table contenant à minima : - le code **IDENT_MEN** ou une variable **équivalente** (concaténation de RGES NUMFA SSECH LE EC BS) - une variable contenant les modalités du **code résultat** au format souhaité - une variable contenant les modalités de la variable de **stratification** Ces variables peuvent être directement issues de l'enquête ou générées par un programme intermédiaire comme ci-dessous par exemple : ``` data ADT_E.TEO19A_RESULTAT;set enq_d.fichiercomplet; keep ident_men ssech res libres libanalyse; libres=put(res,resf.); /* code résultat en trois lettres */ libanalyse="SSECH_" !! ssech; /* stratification par echantillon */ run; ``` La macro **Ajouter_resultat** va enrichir la table *tempschamp* avec les codes définis : - [x] %Ajouter_resultat(Phase=ADT, Table_MEN=TEO19A_RESULTAT, Var_IDMEN=IDENT_MEN, Var_RESULTAT=LIBRES, Var_ANALYSE=libanalyse); - Exportation des fichiers pour l'application RShiny : - Exportation de l'arborescence du data model dans le fichier ADT\SORTIES\Arbre.csv - [x] %creer_arbre; - Exportation de la table des temps dans ADT\SORTIES - [x] %Exporter_temps(Phase=ADT, Tps=Total,Bloc=Tout); Cette macro peut être exécutée autant de fois que nécessaire, le nom du fichier généré est fonction de paramètres choisis. :::info **Export aux formats CSV et RDS** Tps = Total (par défaut) total des temps = Valid temps des passages avec un minimum de saisies (Saisie_Min) Bloc = Tout (par défaut) liste des noms de bloc à garder Exclu = (par défaut) liste des noms de bloc à exclure ::: **Les temps de réponse de l'application Centaure peuvent être longs pour des enquêtes entières avec de nombreuses variables. Pour réduire les temps de réponse une solution de découper le fichier des temps global en fichiers par bloc, notamment séparer le TCM qui compte énormément de variables et dont l'intérêt est limité par rapport aux blocs de l'enquête.** # IV LA MISE A DISPOSITION DES FICHIERS (Temps & ADT) ## IV.1 Relevé de décisions [CR de la réunion du 12/06/2019 - gecodoc](http://gecodoc-entrepot.insee.fr/xmlui/handle/123456789/23023) La solution retenue consiste à un dépôt du fichier de données d’une enquête et dans un coffre sous AUS. La création des coffres et les autorisations d’accès seront données par l’administratrice de l’application, nommée au sein de la division MOAE. Les demandes d’accès aux données ADT passeraient par un demande SI@moi. Cette organisation limite l’accès des données au seul demandeur. :::info :information_source: Le nom des coffres sera normalisé pour identifier facilement les coffres Centaure (Centaure + code enquête par exemple). A noter que les habilitations données sous les coffres sont consultables sous AUS. ::: ## IV.2 Procédure - l’utilisateur (le CPOS en général) demande l’accès aux données ADT d’une enquête à la division MOAE - L’administratrice de l’application : - demande au Chef de Projet en Informatisation des Enquêtes (CPIE) la constitution du fichier dit « des temps » issus de l’exploitation des fichiers ADT de l’enquête ; - crée le coffre sous AUS et accorde les droits d’accès; - dépose le fichier des temps et l’application sous le coffre ; - informe l’utilisateur que Centaure est disponible pour cette enquête. - La préparation des fichiers des temps sera assurée par les développeurs aval du groupe « Informatisation des enquêtes » # V. L’OUTIL D'EXPLOITATION DES TEMPS ADT ## **V.1 Mise en oeuvre de l'application** L'application <span style="color: steelBlue"> **CENTAURE** </span> n'est pas déployée sur une plateforme de production du CEI. Il a été décidé de la déployer sur un espace commun d'échange : **V:ECHANGE/CENTAURE_PROD** Il y'a différentes façons d'utiliser l'application. ### *V.11 Utilisation centralisée sous CENTAUR_PROD* L'avantage de cette première solution est que l'application <span style="color: steelBlue"> **CENTAURE (Bleu)** </span> est déjà paramétrée. Il suffit alors de double-cliquer sur le fichier exécutable : *executer centaure.bat* :::warning ++Vous devez préalablement demander l'accès à l'espace AUS **CENTAUR/PROD** via++ [++Si@moi++](http://pdeasyvistlht00.ad.insee.intra/index.php?PHPSESSID=65d4gvpsoin9b8899tmjnmag73&internalurltime=1578989417) : - Faire une demande - Catalogue à l'usage de tous les agentss - 1 AUS : Accès personnel et gestion des ressources - 5 AUS : Gestion des droits d'accès à une ressource ![](https://minio.stable.innovation.insee.eu/hackmd-uploads/uploads/upload_63dff4d16f374b454057f84a70541e8e.PNG) ::: --- > Il est rappelé que, si l'application n'a pas besoin d'être dans un coffre, ce n'est pas le cas de vos données qui ne **doivent en aucun cas** être enregistrées ici mais dans un coffre dédié. > [Cf CR de réunion MOAE : note 2019_22732_DG75-D250](http://gecodoc-entrepot.insee.fr/xmlui/handle/123456789/23023) Dans le cas d'une utilisation simultanée par plusieurs personnes conjuguée à l'utilisation de tables de données volumineuses, l'application <span style="color: steelBlue"> **CENTAURE (Bleu)** </span> risque de rencontrer des problèmes de lenteurs. Dans ce cas, on peut avoir recours à la solution suivante. ### *V.12 Déploiement local de l'application* il peut être nécessaire que l'application soit installée, par l'utilisateur, sur un de ces lecteurs (par exemple, **U:\**). Dans ce cas, vous serez le seul à utiliser cette version <span style="color: purple"> **CENTAURE (violet)** </span>. Procédure : - Décompresser le fichier **++LocalCentaure_3.2.ZIP++** directement à l'emplacement de votre choix (**U:\** par exemple) :::warning :warning: Veillez à avoir la place nécessaire à la décompression. ::: - Le dossier LocalCentaure_3.2 est créé, à l'emplacement choisi. #### V.121. Paramétrage de l'application : Nous prenons l'exemple d'une installation sur "**U:/**" - Ouvrir, dans un éditeur de texte (*notePad++*), **U:\LocalCentaure_3.2\Pgm\\++runApp.r++** - modifier ```cheminAppli``` : - **CheminAppli <<- "U:/LocalCentaure_3.2"** - Ouvrir, de la même façon, **U:\LocalCentaure_3.2\Pgm\\++global.R++** - modifier, si nécessaire, les lecteurs auxquels vous avez besoin d'accéder :::info :information_source: **Exemple :** ```volumes <- c(local = "C:/", coffre = "X:/", monLecteurV = "V:/", u = "U:/", monZaMoi= "z:/")``` ::: #### V.122. Exécution de l'application : Il y'a ++2 moyens++ : ##### V.1221. par l'exécutable **executer centaure.bat**. Il faut alors paramétrer ce fichier : - l'ouvrir, dans l'éditeur de texte : - modifier, si nécessaire, le 1er chemin qui indique où est installé R, - modifier le 2ème chemin qui indique où vous avez installé l'appli Centaure. - enregistrer et fermer. ![](https://minio.stable.innovation.insee.eu/hackmd-uploads/uploads/upload_1aa60849b1e3091e82486188260f12ce.PNG) :::info il suffit désormais, à chaque utilisation, de double-cliquer sur ce programme **++executer Centaure.bat++**. ::: ##### V.1222. par **Rstudio** - clic droit sur le pgm ```runApp.R```, - faire **ouvrir avec...** ++Rstudio++ Une fois ouvert, pour s'assurer du bon encodage, je vous recommande de systématiquement faire ```file/Reopen with encoding.../UTF8/OK``` ![](https://minio.stable.innovation.insee.eu/hackmd-uploads/uploads/upload_2bed8b6c43a0d126f9cf8d57f9379b3f.PNG) :::info :information_source: exécuter l'appli en cliquant sur le bouton RunApp ::: ### *V.13 Utilisation sur la plateforme innovation* L'application a été déployée sur les serveurs de la plateforme innovation. - Avantage : il est très facile d'y accéder puisqu'il suffit d'utiliser ce lien : [ https://centaure2020.dev.innovation.insee.eu/](https://centaure2020_web.dev.innovation.insee.eu/) - Inconvénient (au 18/12/2019) : Pour le moment, certaines fonctionnalités ne sont pas accessibles. Par exemple, on peut charger et consulter les données livrées par les développeurs aval et qu'on a stocké sur son poste. Par contre, on ne peut pas enregistrer certains résultats de ses explorations : - table filtrée, - graphique.... Ces fonctionnalités sont désactivées. :::warning en cours de développement ::: ## **V.2 Explication détaillée du fonctionnement : Pas à pas** ### **V.21 L'écran d'accueil** ![](https://minio.stable.innovation.insee.eu/hackmd-uploads/uploads/upload_20063aaf6cefc5af7e1d71eea859368f.PNG) Le menu de gauche permet de naviguer parmi les options de haut en bas : - Retour à la page d'accueil - Sélectionner une table des temps - Afficher des tableaux de statistiques des temps ADT - Afficher la répartition graphique des temps ADT - Fermer l'application ### **V.22 Sélection du répertoire de travail** Au lancement de l’application, vous avez tout intérêt à sélectionner votre répertoire de travail i.e. l'endroit ou vous souhaitez enregistrer le fruit de vos exploitations. Cette étape est nécessaire à chaque exécution de l'application. Par défaut, les résultats seront enregistrés au niveau du dossier racine de l'application **(à vérifier)** ![](https://minio.stable.innovation.insee.eu/hackmd-uploads/uploads/upload_a6bea02197f5006a55d47ac39abe3c2c.PNG) ### V.23 Sélection du fichier des temps Le CPOS a demandé la création d'un coffre (cf pt VI), le développeur aval a déposé les fichiers extraits des ADT de l'enquête : - un ou plusieurs "fichiers des temps" au format .RDS, - le fichier Arbre.csv qui contient la structure des blocs de l'enquête. Pour débuter vos explorations, il faut "sélectionner l'enquête" i.e. charger les données (fichier RDS) fournies par le développeur aval ou que vous avez sauvegardé lors d'une session antérieure. ![](https://minio.stable.innovation.insee.eu/hackmd-uploads/uploads/upload_f846535ff8676dd5e11cce13a1b08b66.PNG) L'application va charger les données ainsi que le fichier « Arbre.csv» correspondant à l’arborescence de l’enquête. Elle peut être visualisée en cliquant sur « Visualisation de l’arbre », bouton présent sur la plupart des écrans. En cours de session, il est loisible à tout moment de revenir sur "Sélectionner l'enquête" afin de : - sélectionner un autre fichier présent dans le répertoire de travail - modifier les filtres Après chargement du fichier des temps, il est indispensable de sélectionner les codes "RES" à filtrer : - par défaut, l'application propose le critère ERV s'il existe. Si aucun code n'est sélectionné, les statistiques et graphiques seront en erreur : il faudra revenir sur cette page pour sélectionner au moins un code, - pour garder l'ensemble des FA, il faut sélectionner l'ensemble des critères, - les FA pour lesquelles il n'y a pas eu d'appariement avec les données de l'enquête sont codées "???". En plus du filtre sur les code_résultat, il est possible de filtrer les FA ou les questions présentant des durées jugées aberrantes. ![](https://minio.stable.innovation.insee.eu/hackmd-uploads/uploads/upload_d06997b60eed1b0130bd91fd9cbdbac6.PNG) Après avoir coché <span style="color: darkorange"> "oui" </span> , il vous est proposé de - supprimer individuellement les questions dont la durée dépasse un limite choisie (en secondes). Dans ce cas les autres questions de la FA sont conservées. :::warning :warning: La durée du questionnaire n'est pas corrigée en conséquence ::: - supprimer l'ensemble des question des FA dont le temps n'est pas entre deux bornes (en secondes). Les deux filtres peuvent être activé simultanément Afin de ne pas refaire les filtres à chaque chargement, il est possible <span style="color: pink"> d'enregistrer </span> la table des temps résultant de vos sélections. :::info :information_source: Il faut sauvegarder le fichier au format RDS pour pouvoir l'ouvrir dans l'application Centaure lors d'une autre session. La sauvegarde au format CSV n'est utile que pour ouvrir le fichier sous une autre application (calc...) et réaliser des traitements spécifiques. ::: ### V.24 Statistiques des temps Les tableaux de statistiques de durées sont paramétrables pour afficher les durées de l'ensemble des blocs ou seulement d'un bloc choisi d'un data model. Les temps peuvent être détaillé par sous-blocs ou par variables au sein de la partie du datamodel retenue. Enfin, les temps peuvent être détaillés pour une sous-population selon les modalités d'une variable d'analyse qui est fournie par le développeur aval selon les spécifications qui lui sont transmises. ![](https://minio.stable.innovation.insee.eu/hackmd-uploads/uploads/upload_e572834456d122e92ca01ee48be78e35.PNG) Par défaut, les temps seront affichés pour l'ensemble des blocs du data model et la totalité des FA. Le niveau de bloc à filtrer permet de limiter l'affichage des temps à seulement une partie du datamodel (voir <span style="color: green"> l'arbre </span> pour repérer le bloc à traiter). ![](https://minio.stable.innovation.insee.eu/hackmd-uploads/uploads/upload_6b0cfbd3db1aa4d9b20c43b219d8cb0f.PNG) - par exemple, pour une enquête emportant le TCM, ```niveau de bloc == 1``` et ```choix du bloc== Commun``` permet de ne visualiser que la partie TCM du datamodel. Le niveau d'affichage permet : - soit de décomposer les temps par niveau de sous-blocs (niveau au plus égal à celui du filtre), i.e. une ligne par sous-bloc du niveau sélectionné, - soit d'avoir une ligne par variable (attention sur la totalité de l'enquête cela peut être très très long ...) - et de limiter le calcul des temps à une sous-population répondant au(x) critère(s) de filtre. L'Appui sur le bouton **« VISUALISER/ACTUALISER LES DONNEES »** lance la mise à jour du tableau de données. :::info :information_source: Ce bouton est bleu tant que vous n'avez pas cliqué dessus puis il devient rouge. Le libellé passe également de "VISUALISER" à "ACTUALISER". ::: **Opérations sur les tableaux** Les boutons en haut du tableau permettent - de ne pas afficher certaines statistiques, - d'exporter le tableau sous diverses formes, - de rechercher des lignes. Les en-têtes de colonnes permettent les tris ascendants/descendants. :::info :information_source: Tous les temps sont en secondes. ::: Lors de l'exportation d'un tableau, notamment si vous devez en exporter plusieurs, il est préférable d'ouvrir le fichier plutôt que de l'enregistrer directement afin de pouvoir le sauvegarder sous un nom parlant. Les graphiques permettent d’exclure de l’analyse les valeurs jugées aberrantes (questions au temps de réponse « anormalement » court ou long). Le fichier source excluant les valeurs jugées aberrantes peut être sauvegardé pour un usage ultérieur. ### V.25 Répartition des temps ![](https://minio.stable.innovation.insee.eu/hackmd-uploads/uploads/upload_124e850912f9f26548801c0c46f3bcaf.PNG) La répartition des temps permet de visualiser la distribution des durées de passage des FA, d'un bloc ou sous bloc et d'une variable. Par défaut,l'application affiche le graphique pour le premier bloc de niveau 1 rencontré et la première variable de ce bloc. Pour afficher un bloc ou une variable donnée, le curseur en haut doit être placé sur le niveau du bloc dans l'arborescence du data model (voir l'arbre) Par défaut, l'échelle des graphiques tient compte de l'ensemble des durées de passage du bloc (variable). Des durées de passage minimales et maximales permettent d'ajuster l'échelle des graphiques. ![](https://minio.stable.innovation.insee.eu/hackmd-uploads/uploads/upload_21c2aa45e297dfd9056aa674b22e273a.png) ### VI. Liens utiles [- Pour accéder à l'application Centaure](https://centaure2020.dev.innovation.insee.eu/) [- Pour accéder à la notice utilisateur (hackMD - ici).](https://codimd.beta.innovation.insee.eu/X8NaFhqbTNKu_C6MlRifnA?view)