--- robots : noindex, nofollow --- # R2D2 <=> Coltrane A enrichir avant/pendant/après la réunion du 13/04. [TOC] ## Existant Les MOA sont très autonomes sur la gestion de leur espace R2D2. Elles gèrent elles mêmes leur applishare et le paramétrage des règles de gestion : format, nom de fichier.... L'administration Coltrane joue un rôle lors de la création des comptes pour accéder à R2D2 et fait notamment le lien avec le CUGID pour la création des comptes pour les renvoyer ensuite aux MOA. ## Besoins ### Besoin central S'appuyer sur le référentiel central des contacts Coltrane pour permettre de répondre aux enquêtes via questionnaire web et/ou dépot retrait. A terme toutes les enquêtes en dépot retrait seront dans Coltrane. Elles seront aussi dans Generic, sauf ECMOSS. A noter qu'OFATS et ECMOSS ont aussi la possibilité d'enquêter par questionnaire web (dans Coltrane depuis 2017). Le fait de tracer les réponses via dépot retrait n'est pas apparu comme un besoin central, car il n'est pas couvert aujourd'hui. C'est normalement le rôle du poste de gestion. Enquêtes concernées : - OFATS (intègre Generic en 2023, appli en java pour le moment) - Crédit Bail (intègre normalement Generic en 2023, Blaise pour le moment) - Réseau Enseignes (intègre normalement Generic en 2023, Blaise pour le moment) - ECMOSS (appli en java) A priori on ne bride rien, si une enquête est en depot retrait et web on laisse ouvert la possibilité de répondre via les deux modes, sous réserve que la MOA le souhaite. Ex: si on a commencé à répondre par le web on permet une réponse via dépot retrait. On souhaite laisser aux MOA la gestion de leur espace sur R2D2 pour la mise à disposition des fichiers personnalisés et la récupération des données collectées. :::warning :Question: voir impact sur les postes de gestion ::: ### Besoin à (trop) long terme Proposer du dépot retrait partiel sur des parties de questionnaires web. PB: nécessite des investissements sur les questionnaires en XForms dont l'abandon est programmé à moyen terme. *Vraisemblablement ce besoin ne sera jamais couvert en XForms.* ### Cinématique côté utilisateurs 1. Connexion au portail mes enquêtes (saisir Idec/ mot de passe) L'Idec pour le portail est dans le domaine de gestion COL/CO2 et le realm questionnaire-entreprises 3. Affichage d'un "super" tableau mes enquêtes avec une partie listant les questionnaires web et une partie listant les questionnaires en dépot retrait (une petite maquette ?) - rappel la construction du tableau mes enquêtes se fait à partir des habilitations du LDAP pour la liste des lignes, et à partir des métadonnées (dans Interrogations pour la vague, dans Campagne pour les dates, dans le questionnaire pour le suivi "répondu/à renseigner") :::warning :question: comment récupérer l'info selon laquelle un contact peut répondre en dépot retrait à une enquête donnée ? Comment gérer les enquêtes qui ne proposerait que du dépot retrait ? ::: 3. Pour récupérer ou déposer un fichier, la solution privilégiée serait de rester sur le portail Coltrane et de passer donc par le WS R2D2 plutôt que l'ihm R2D2. ### Poste de pilotage 1. On veut pouvoir ajouter ou supprimer des droits dans pilotage. Aujourd'hui ce droit est possible pour la partie questionnaire web, on souhaite que ce soit possible aussi pour la partie dépôt retrait, pour offrir les mêmes possibilités de gestion (contacts principaux/secondaires, fusion de comptes par le contact lui même etc) :::warning :question: sur la possiblité de répondre par dépot retrait / web ou les deux? --> il y aura peut-être des cas où il faudra dissocier, si les contacts de référence sont destinés à être différents. En sachant qu'une fusion de comptes est toujours possible si c'est le même contact. ::: ## Solutions envisageables On souhaite dans tous les cas s'appuyer sur les briques R2D2 existantes quitte à envisager comment faire évoluer R2D2 si on a des besoins non couverts. ### Deux sources différentes ? ex: OFATS-web // OFATS-xls = deux échantillons #### Impacts modèle de données - Ajout d'une source (avec mode de collecte de type dépot retrait) ? Ajout du libellé de l'opération au sens de R2D2 si interaction avec WS? - Droits gérés au niveau de l'habilitation du contact? Faut-il créer une interrogation dans la campagne de la deuxième source? #### Impacts sur le tableau mes enquêtes Prise en compte des enquêtes de type dépot retrait pour générer l'accès adhoc dans la page Mes Enquêtes, sur le deuxième tableau. #### Impacts sur les chaines de batch Faible côté maintenance, des étapes à éviter ? A priori toutes les étapes de PERSOCHAINE doivent avoir lieu à l'intégration, sauf PERSOINITSTROMAE. Modification aussi dans PersoVerif (qui vérifié l'existence du xfoem dans la base orbeon). Quid des EXTRACTIONS? A priori pas d'extractions de réponses car rien dans la base orbéon. Extractions de contacts? Plus lourd pour les clients (2 échantillons). Comment distinguer les deux fichiers? Ajout d'un type de traitement supplémentaire pour les chargement des échantillons R2D2? ### Une seule source :::warning :question: - Où stocker l'information relative à la possibilité de répondre par web ou dépot retrait ou les deux ? - Comment en tant que contact secondaire accéder au bon fichier a retirer sur R2D2 (si dans la règle de nommage du fichier on a un contact principal) idem pour la partie dépot. => la question se pose même pour le contact principal @Betty : voir la doc de R2D2 sur les possibilités. La question se pose aussi dans le cas de deux sources. - Sujet de la mutualisation des contacts, la premiere fois où sera proposée la possibilité de repondre via R2D2 dans Coltrane (possibilité de forcer les Idec dans échantillons). Si une seule source, comment distinguer les deux lignes d'habilitation? (si on veut deux contacts différents pour web et R2D2 par exemple) ::: #### Impacts modèle de données Stocker le caractère la possibilité de répondre par web et/ou depot retrait - au niveau de la Source ? de la Campagne ? Interrogation ? Ajout du libellé de l'opération au sens de R2D2 si interaction avec WS? Quid des sources qui n'auront pas de collecte web? (réseaux et crédit bail) #### Impacts sur le tableau mes enquêtes - Comment construire le tableau mes Enquêtes qui se base sur les droits LDAP uniquement ? Croiser les droits LDAP avec une info au niveau interrogation ? Constituer un second tableau "mes enquêtes" en rajoutant l'information via les habilitations en base du contact? #### Impacts sur les chaines de batch - Gestion des enquêtes en dépot retrait uniquement --> type de traitement supplémentaire, comme dans le cas de deux sources? - Répercussions liées aux modifications du modèle de données - si fichier de perso unique pour les deux modes de collecte, comment distinguer les droits sur chaque mode? ## Sujets de la mutualisation - Crédit bail + ofats + réseau enseigne + ECMOSS - A priori pas de recouvrement entre l'échantillon crédit bail et les autres (ce sont des banques) - Spécifité des enquêtes : le dépôt retrait se fait sur des fichiers dont le format varie d'une enquête à l'autre (liste fermée d'extensions autorisées). A priori peu de sujet de mutualisation, on souhaite laisser au MOA la gestion des espaces Applishare liés à R2D2. A l'exception d'un sujet autour de l'interaction Coltrane <=> WEB service R2D2 pour accéder au bon fichier de dépot et en retour pour envoyer les fichiers collectés au bon(s) endroit(s). A creuser avec Pierrick Le Sommer, les possibilités d'utilisation de ce Web Service pour rappatrier/déposer les fichiers d'une opération qui pourrait être basée sur des identifiants d'unité enquêtées et non pas des identifiants jetables (R2D2) ou des Idec Coltrane. ### Autres sujets #### Gestion des dates :::warning :question: Toujours au niveau de la campagne => gestion différenciée entre le mode de collecte web et R2D2 ? vagues différentes? (si deux sources, on aura deux campagnes) ::: #### Fusion des comptes On souhaiterait à priori s éviter de revoir trop en profondeur la mécanique complexe de fusion des comptes. Il est donc souhaitable qu'on puisse appliquer aux contacts R2D2 les mêmes fonctionnalités qu'aux contacts Coltrane, et la même "granularité" sur les habilitations (ajouts de droits, distinction contact principal, possibilité de déplacement des habilitations par le contact lui même) ### Bonus post reunion - Doc R2D2 => https://gitlab.insee.fr/outils-transverses/services-transverses/r2d2/-/wikis/home - **Ajouter à un contact les habilitations pour R2D2 pour l'opération coltrane-test** Essai sur BETTYBE via le WS de gestion des contacts: PUT https://contacts.insee.test/annuaire/CO2/contact/BETTYBE/habilitations/coltrane-test/download PUT https://contacts.insee.test/annuaire/CO2/contact/BETTYBE/habilitations/coltrane-test/upload Résultat: https://contacts.insee.test/annuaire/contact/BETTYBE/habilitations <application name="coltrane-test"> <role name="upload"> <propriete/> </role> <role name="download"> <propriete/> </role> </application> -> dépot de fichiers ok -> retrait de fichiers non testé car pas de fichier à uploader pour BETTYBE ## Exemple Ofats actuel **Nom de fichier XLS personnalisé** => insee-G13068322-ofats-2019.xlsx **Identifiant mot de passe associés** login = G13068322-ofats mot de passe = XXXXXX **Fichier receptionné** ofats-g13068322-ofats--e-20200924_155305215.xlsx **Vu dans le code R2D2** * Filtre pour les ressources en DOWNLOAD ``` # masque des fichiers (filtre) fr.insee.services.depotretrait.application.ofats.filesPattern=insee-{client}* ``` cf. https://gitlab.insee.fr/outils-transverses/services-transverses/r2d2/-/blob/master/depot-retrait-rest/src/test/resources/fr/insee/config/properties.pp/cei-prod-R2D2-REST.properties#L250 * Règle de renommage du fichier ``` <appli-insee>-<partenaire>-e-<horodateur><extension> ``` => https://gitlab.insee.fr/outils-transverses/services-transverses/r2d2/-/blob/master/depot-retrait-rest/src/main/java/fr/insee/services/depotretrait/rest/upload/FileHandler.java#L754 # Fonctionnement de R2D2 ## Point avec le DOT (15/04) Lien à formaliser entre Contact </> Identifiant de l'entreprise </> Nom des fichiers Pierrick a du temps après la validation de la montée en version à venir spring boot / spring mvc / keycloak Notion application dans R2D2 - utilisé dans le nom du fichier (renommage) et dans l'arborescence derrière On associe chaque opération à une branche de l'annuaire (sauf certaines branches qui servent à plusieurs opérations) **Que fait on maintenant ?** On fait joujou avec l'API quand on aura les id/mdp et on revient vers Pierrick - download: a priori pas de souci pour récupérer un fichier dont on connait le nom ou une list de fichiers liés à une application - upload: renommage des fichiers uploadés dans R2D2 selon la nomAppli-idec-dateHeure -> nécessiterait a priori une évolution dans R2D2 **Propostion de CR** Pas de développements possibles avant la validation de la montée de version spring boot / spring mvc / keycloak Fonctionnement de R2D2: Notion application dans R2D2, utilisée dans le nom du fichier (renommage) et dans l’arborescence derrière Les contacts sont rattachés à une application. On associe chaque opération à une branche de l’annuaire (sauf certaines branches qui servent à plusieurs opérations) Besoin pour Coltrane : associer un fichier en upload/download non pas à un contact mais à une entreprise -> ajouter une notion de groupe dans r2d2? - download: pouvoir récupérer un fichier dont on connait le nom via le endpoint GET https://echanges.insee.fr/ressources/{operation}/fichier/{identifiant} -> a priori possible, à tester côté Coltrane - upload: déposer un fichier avec le nom de l'entreprise via le endpoint POST https://echanges.insee.fr/ressources/{operation}/fichiers -> a priori pas possible car il y a une règle de renommage des fichiers déposés dans R2D2 TODO côté Coltrane : - Formaliser le lien entre Contact </> Identifiant de l’entreprise </> Nom des fichiers - Formaliser une utilisation du web service R2D2 avec ou sans authentification BASIC avec compte unique ou multi comptes. (atelier prévu le 04/05/2021) TODO côté R2D2: - transmettre règle de renommage des fichiers (fait) - transmettre id/mdp de l'api de recette pour l'opération coltrane-test ## Essais avec l'API (semaine du 03/05/2021) Atelier R2D2 le 04/05/2021 (insérer image du tableau?) https://qfr2d2deplht02.ad.insee.intra/ressources/ identifiant : celine-bonjour-coltrane identifiant : bettybe (compte admin) identifiant: RXUC58U (mot de passe non fourni :/) 3 fichiers déposés sous ApplishareR2D2/retrait coltrane-test-celine-bonjour-coltrane.txt coltrane-test-bettybe.txt coltrane-test-999999021.txt - Téléchargement unitaire de fichier GET https://echanges.insee.fr/ressources/{operation}/fichier/{identifiant} https://qfr2d2deplht02.ad.insee.intra/ressources/coltrane-test/fichier/coltrane-test-celine-bonjour-coltrane.txt OK pour celine-bonjour-coltrane, mais pas pour bettybe https://qfr2d2deplht02.ad.insee.intra/ressources/coltrane-test/fichier/coltrane-test-999999021.txt(999999021 correspond a une UE-> ne marche ni pour celine, ni pour BETTYBE ) - Liste des fichiers à retirer https://qfr2d2deplht02.ad.insee.intra/ressources/coltrane-test/fichiers?liste&version=2 -> récupération de la liste de fichiers associés à son compte compte - Liste des fichiers à retirer (mode admin: BETTYBE) https://qfr2d2deplht02.ad.insee.intra/ressources/coltrane-test/fichiers?liste&version=2&client=celine-bonjour-coltrane -> récupération de la liste de fichiers associés au compte de Céline --- ## Point au 06/07/2021 - Besoin isofonctionnalité avec l existant ... - Gestion des contacts - ce serait bien de se calquer de la gestion des contacts ... - Un questionnaire a un seul identifiant - Fonctionnalité de retrait ex-nihilo => pas trop regardé le fonctionnement ! Idée de rajouter un niveau groupe ... R2D2 //> Pierrick avait du temps pour des évolutions ... Ecmoss / Credit Bail / Réseau d enquete / Ofats --- # Les travaux dans Coltrane pour intégrer les enquêtes en dépot-retrait Avec ou sans R2D2? Plutôt avec, les évolutions demandées seront prises en compte dans R2D2 (cf point ci-dessous) ## Liste des travaux à effectuer ### Identification d'une enquête en dépôt-retrait - Modification du fichier **Source.xml** Ajout d'une balise "facultative" pour identifier les enquêtes en dépot-retrait [Exemple de fichier Source pour coltrane-test](https://minio.lab.sspcloud.fr/bbecuwe/r2d2/Source.xml) [Exemple de fichier Enquete pour coltrane-test](https://minio.lab.sspcloud.fr/bbecuwe/r2d2/Enquete.xml) - Modification du fichier **Campagne.xml** Ajout d'une balise "facultative" **<PatternR2D2>coltrane-test</PatternR2D2>** (nom de l'oération dans R2D2) Ajout d'une balise "facultative" **<ExtensionR2D2>txt</ExtensionR2D2>** [Exemple de fichier Campagne pour coltrane-test](https://minio.lab.sspcloud.fr/bbecuwe/r2d2/Campagne.xml) - Suivi des dépots retraits - Ajout dans les Interrogations du suivi de la collecte en dépot retrait <Retraits> <Retrait> <DateHeureRetrait></DateHeureRetrait> <Idec></Idec> </Retrait> </Retraits> <Depots> <Depot> <DateHeureDepot></DateHeureDepot> <Idec></Idec> <NomFichier></NomFichier> </Depot> </Depots> ### Batchs **PERSOCHAINE** :::warning Les fichiers de perso ne sont pas modifiés par rapport aux campagnes "classiques" ::: cf fichier exemple [coltrane-COLTRANETEST2021-A00-v99.xml](https://minio.lab.sspcloud.fr/bbecuwe/r2d2/coltrane-COLTRANETEST2021-A00-v99.xml) - DECOUPAGEPERSO -> rien à modifier - PERSOVERIF -> **modifié** :::info Pas besoin d'ajouter de balise dans le fichier de perso. Je me sers de la balise DepotRetrait présente dans le fichier Source.xml. Si cette balise est à oui, je n'exécute pas la vérification STROMAE ::: - PERSOLDAP -> **si R2D2, modif des habilitations** :::info Même principe, si balise DepotRetrait dans Source vaut oui, on ajoute les habilitations specifiques à R2D2: upload_nomOperationR2D2 et download_nomOperationR2D2. ::: :::warning :question: **Quid des habilitations?** L'habilitation pour les enquetes en depot retrait dans le ldap doit être du type 999999021_coltrane-test-2021-A00_coltrane (coltrane-test correspond au nom du pattern R2D2 défini dans Campagne.xml), pour que R2D2 puisse ensuite connaitre qui est habilité pour quelle UE. Faut-il mettre en base les habilitations sur le même format: 999999021_coltrane-test-2021-A00_coltrane ou sur le format habituel 999999021_coltranetest-2021-A00_coltrane ou encore sous un autre format? Pour l'instant j'ai gardé le format habituel en base, les habilitations en base et dans le ldap sont donc différentes... **Bonus**: est ce qu'on ne "profiterait" du passage à R2D2 pour supprimer les habilitations dans le ldap et ne s'appuyer que sur celles en base? => Céline : on s'est pas dit que R2D2 a besoin des habilitations dans le LDAP? On garderait que celles concernant les sources avec DepotRetrait à "oui"? => Betty : oui, R2D2 a besoin des habilitations dans le ldap, on ne garderait effectivement que les habilitations concernant les enquetes en dépôt-retrait (sans se servir de cette info notamment pour le tableau 'Mes enquêtes') ::: :::warning **Il faut en fait que les habilitations soient du type 999999021_coltrane-test_coltrane pour que le depot retrait fonctionne avec les évolutions R2D2 faites par le DOT** ::: - PERSOINITPILOTAGE -> **laisser les interrogations en base pilotage? Céline : oui pour enregistrer les retraits et dépots réalisés au cours de la campagne** :::info Rien modifié, les interrogations restent présentes en base pilotage ::: - PERSOINITSTROMAE -> **modifié, batch non exécuté si enquete en depot retrait** - COURRIELCHAINE -> rien à modifier - COURRIERCHAINE -> rien à modifier **EXTRACTIONREPONSES** - Supprimer les enquêtes en dépot-retrait de la liste des campagnes à extraire (modif WS) - Ajouter une extraction spécifique pour les enquêtes en dépot-retrait? - => Céline : non, les MOA récupèrent les dépôts faits par les entreprises dnas leur espace applishare défini avec R2D2 :::info **TODO** ::: **EXTRACTIONCONTACTS** -> rien à modifier **INFOSUPPRESSION et SUPPRESSION** - REPONSES -> **Supprimer les enquêtes en dépot-retrait de la liste des enquêtes à supprimer (modif WS)** - INTERROGATIONS -> **à modifier si on ne met pas les interro en base** - LDAP -> **à adapter pour supprimer les habilitations LDAP spécifiques au depot-retrait** :::info Ok Les habilitations spécifiques à une campagne sont supprimées dans le ldap, mais pas les habilitations spécifiques au depot retrait comme upload_coltrane-test et download_coltranne-test ::: **SPOCBYNIGHT** -> rien à modifier ### Portail - Tableau "Mes enquêtes en dépôt-retrait" Pour les enquêtes en depot retrait, j'ai forcé etatExpedition à 0 (ETAT_NON_EXPEDIE) et donc on a toujours dans le tableau "Réponse attendue pour le XXX" si la campagne est ouverte - Retrait fichier - > via WS R2D2 - GET https://echanges.insee.fr/ressources/{operation}/fichier/{identifiant} - Dépôt fichier - > via WS R2D2 - POST https://echanges.insee.fr/ressources/{operation}/fichiers :::info **Fichiers à retirer à déposer sous: \\\hp_as_ap_d2_50\ap_data_hp\r2d2_qf2\fichiers-batch\retrait\coltrane-test** **Fichiers déposés dispos à déposer sous: \\\hp_as_ap_d2_50\ap_data_hp\r2d2_qf2\fichiers-batch\depot\coltrane-test** ::: - Fusion et association de compte - mettre les habilitations spécifiques correspondant au depot retrait dans le LDAP ### Pilotage - Page d'accueil -> enlever les enquêtes en dépôt-retrait du suivi des extractions? Créer un nouveau suivi? :::info Pas modifié mais fichier généré vide pour coltranetest -> à revoir? ::: - Onglet "Gérer des enquêtes" :::info Modification des dates et métadonnées possibles comme pour les autres enquêtes. ::: :::warning **Ajout automatique des campagnes!** L'ajout automatique des campagnes fonctionne avec la balise PreRemplCampagnes renseignée. Par contre, les balises PatternR2D2 et ExtensionR2D2 ne sont pas renseignées. Faut-il prévoir d'ajouter automatiquement les campagnes en dépot-retrait? Ou supprime-t-on cette fonctionnalité pour les enquetes en depot-retrait et le remplissage se fera seulement manuellement? ::: - Onglet "Gérer des contacts " -> si R2D2, modif des habilitations ## Point du 29/09/2021 avec le DOT Nos évolutions demandées https://hackmd.io/qR_HGvipQpatqC3YSvvGWg Le retour du DOT https://gitlab.insee.fr/outils-transverses/services-transverses/r2d2/-/wikis/Evolution-Coltrane