---
# System prepended metadata

title: 'Résil et métadonnées, métadonnées et processus'
tags: [Résil]

---

---
title: Résil et métadonnées, métadonnées et processus
tags: Résil
---
--> [Revenir au hackmd global](https://hackmd.io/@tDubois/rmes-resil)
# Résil et métadonnées, métadonnées et processus

## Session de travail sur la modélisation BPMN du 16/05/2020

Concernant les premiers processus décrit en BPMN, on retiendra à haut niveau que :
- Le processus dit  "modèle général" de traitement d'une source externe est découpé en 2 et les dénominations retenues sont :
  - Service de traitement d'une source externe (individus)
  - Service de traitement d'une source externe (logements)
- Le processus de calcul des populations de référence est bien un processus distinct
- Idem pour le processus d'amélioration de la qualité

Les processus retenus pour la prestation et à décrire en BPMN sont : 
- la mise à jour régulière du répertoire des individus / RNIPP
- la mise à jour du répertoire des individus dans le cadre du traitement d'une source externe
- un processus concernant Gaïa
- *Post-réunion, vu avec OH*: un processus incluant des IHM serait un plus (celui d'amélioration de la qualité ?)  

Un texte explicatif décrivant l'objectif du processus et ce qui est attendu derrière une activiié devra également accompagner les descriptions BPMN. Le prestataire n'est pas un Insee. Il faudra vulgariser et expliciter les acronymes. Il ne s'agit pas d'écrire quelque chose de long.


La session a permis d'échanger sur le processus de mise à jour régulière du répertoire des individus / RNIPP. Quelques questions ont été identifiées : 
- Faut-il mettre une activité en amont lorsqu'il y a un choix à réaliser (ex : nature des modifications remontées par le RNIPP comme les naissances...) 
- Quelle est la bonne granularité à retenir ? Du moins quelles sont les questions à se poser pour obtenir une granularité pertinante (ex : activité de recherche/sélection d'individus vs activité de mise à jour) ?
- Comment réutiliser une activité ?

Ces questions sont reportées dans la partie ad hoc plus bas dans le document.



## Retour d'expérience Metallica : Poc s'appuyant sur BPMN

La réunion avait pour objet de faire un retour d’expérience de Metallica sur les travaux suivant :
1.	La gestion de processus BPMN via Camunda et Activiti
2.	Autres POC sur la communication entre API

L’idée était de partager la connaissance avant de voir si des synergies sont possibles entre les travaux Metallica et Résil.

Ressources Metallica : 
- [Documentation du POC Camunda](https://hackmd.io/EdCsUyRwQ7ayVlfa9fbFhA)
- [Documentation technique de "l'usage" Camunda](https://hackmd.io/@Z4Jy0oc_QLuAIfUFYGNrQQ/Bk7Oj8sMc)
- [Code source du POC Camunda](https://github.com/Stage2022/ProtoolsCamundaTest)
- [Doc du POC Activiti](https://hackmd.io/UC8J3VySR8WqHgoxjbNtWg)
- [Code source du POC Activiti]( https://github.com/Stage2022/protools-activiti)
- [Code source du POC Flowabale (work in progress)](https://github.com/Stage2022/Protools-Flowable)
- [Code source POC Mettalica (+ technique, il va notamment s'agir d'appréhender les différents problèmes réseaux)](https://github.com/JeanHaderer/poc-metallica)



---

## Réunion de travail du 16 mai 2022
Suite à la réunion du 4 mai 2022, l'ordre du jour de la réunion de travail du 16 mai 2022 est le suivant : 
1. Définir le(s) processus Résil de haut niveau
2. Zoom sur la mise à jour du répertoire des individus
*Ce zoom devra permettre de se projeter sur la mise à jour du répertoire logements*
4. Retour sur l'outil Bonita (Karim)

À noter que : 
- pour la poursuite de la modélisation, nous privilégions le logiciel Camunda Modeler (disponible sur FTP libre service dans /DG/DSDS/RESIL) au lieu du plugin "Kogito" de VS Code
- Karim s'assurera de la compatibilité des modélisations BPMN entre Bonita et Camunda

---
## Préparation de la formation BPMN
L'idée est de lister l'ensemble des questions concernant la prestation de modélisation BPMN à venir. Pour commencer, les questions seront classées en deux catégories (avant d'évoluer en fonction de l'alimentation). Les deux catégories proposées sont : 
- Métier. Il s'agit de questions métier sur le processus Résil ne nécessitant pas de connaissance de la norme BPMN. L'idéal serait d'y répondre avant la commande de l'UO d'analyse des modélisations et ainsi mieux profiter de la prestation
- BPMN. Il s'agit du formalisme BPMN à utiliser pour les besoins de modélisation et de sa description via un IDE.

### Questions métiers
*Des réponses aux questions ci-dessous ont déjà été apportées, pas forcément utiles de les inscrire ici.
- Où indiquer la mise à jour de la table de passage et la mise à disposition ? Sont-ce deux tâches différentes (mise à jour et mise à disposition) ? A mettre en partie dans identification ? dans mise à jour ? ailleurs ?
- Liens avec le NIR : 
  - y aura-t-il une vérification de l'existance du NIR ? Si oui, comment ?
  - y a-t-il une gestion particulière des NIR en attente (NIA ??) ? A savoir si un NIA est finalement supprimé dans la BRPP, quel impact sur Résil ?
  - Les données d'identité de référence seront-elles celles présentes dans la BRPP ? Et stockées uniquement dans BRPP ?
  - Si les traits d'identités de référence sont celles de la BRPP, comment réaliser le processus qualité des appariements (y compris échec) ? Par exemple, il sera intéressant de connaître les traits d'identité d'un individu dans une source donnée pour analyser un échec.
- Penser à transmettre un rapport/compte-rendu à la fin de certaines étapes ou en bout de chaîne ?


### Questions BPMN

- Sur l'exemple du processus de mise à jour régulière du répertoire des individus / RNIPP
  - Faut-il mettre une activité en amont lorsqu'il y a un choix à réaliser (ex : nature des modifications remontées par le RNIPP ) 
  - Quelle est la bonne granularité à retenir ? Du moins quelles sont les questions à se poser pour obtenir une granularité pertinante (ex : activité de recherche/sélection d'individus vs activité de mise à jour) ?
  - Comment réutiliser une activité ?
- Comment indiquer les objets de données qui transitent entre les tâches (avec description des variables) ? Par exemple : 
    - passer les identifications réussies pour mise à jour
    - passer les individus non identifiés pour traitement suivant.
- Comment exprimer les conditions ?
- Lorsqu'il s'agit d'une tâche utilisateur avec une IHM, il y a des "échanges" (des "messages" ?) entre l'application et l'utilisateur ? Faut-il formaliser ces messages comme des évènements intermédiaires ? Ou autrement dit que signifierait la production d'un évènement intermédiaire lorsqu'il s'agit d'une tâche utilisateur ?
- Comment appeler un tâche existante ? Par exemple, lancer une tâche de script depuis une IHM (ex : le process de qualité rappelle l'identification)
- Que faire si l'IHM appelle un WS ? (ex : identifier les adresses) ?
- Quelle est la différence entre une tâche de script et une tâche de service ? Comment indiquer qu'une tâche appelle un WS ?
- Différence entre tâche utilisateur et tâche manuelle (pas dans VS Code la tâche manuelle) ? Ex : analyser les anomalies (via une IHM), utilisateur ou manuelle ?
- S'assurer que l'on sait modéliser correctement les boucles. Ex : pour chaque individu, réaliser la tâche "identifer un individu CSNS".

---

## CR du brainstorming Résil et métadonnées du 10 février 2022
Participants : Olivier Haag, Thomas Tortosa, Karim Tachfint, Franck Cotton, Thomas Dubois

L'échange a porté sur le chantier "Métadonnées et processus", plus précisément sur la modélisation du processus via la norme [BPMN 2.0](https://fr.wikipedia.org/wiki/Business_process_model_and_notation)

### La modélisation des processus Résil

Une expérimentation de modélisation du processus Résil selon la norme BPMN 2.0 a porté sur les services :
- de réception de fichier
- de chargement des données
- d'identification des individus
- de contrôle de la qualité des appariements

Ont été exclus du périmètre de l'expérimentation les services de constitution de l'univers de référence et d'enrichissement. 
*À noter que les dénominations des services doivent permettre d'identifier les services Résil et ne constitue pas une dénomination de référence.*

BPMN 2.0 présente l'avantage : 
- d'être une norme avec une syntaxe pensée pour décrire un processus sans avoir à inventer un formalisme
- d'être riche pour décrire précisément un processus (ex : une tâche peut-être réalisée via un script, manuellement etc.)
- d'également décrire un processus organisationnel et non informatisé
- de permettre une automatisation du processus = logique de métadonnées actives ([Activiti](https://www.activiti.org/), [Bonita](https://fr.bonitasoft.com/), [jBPM](https://www.jbpm.org/))

### Conclusions et actions à venir

 
1. **Poursuivre les travaux de modélisation Résil selon BPMN 2.0** 
Pour bien commencer avec BPMN, un [MOOC en ligne](https://www.youtube.com/watch?v=ziL9-TlvB_A&list=PLSkCdDPNwJTBZKn_ajUYSXiuAA8xVq421).
*Actions :*
- KT, TT, TD : Échange régulier (1h toutes les 2 semaines) pour réconcilier les produits de l'expérimentation et le schéma processus x vie des données (schéma de Karim) en BPMN 2.0. Ces travaux seront publiés sur le repo Résil de gitlab. Regarder également la projection des activités Résil sur le GSBPM.
- FC : Travailler via un outil type Bonita. Franck regarde comment déployer cet outil (war à déployer sur un serveur Résil, image Docker sur le SSP Cloud...)
 
2. **Lancer une prestation de formation et plus particulièrement d'accompagnement à la modélisation du processus Résil selon BPMN 2.0**

*Actions :*
- OH + AMOA Résil : se renseigner sur le type de marché, notamment s'assurer que l'on est hors accords-cadres permettant d'aller plus vite sur la procédure. Cela s'inscrit-il côté formation ou non ?
À noter deux boîtes pouvant être solicitées [Bonitasoft](https://fr.bonitasoft.com/professional-services) et [A8A](https://www.a8a-services.com/)
- Collectif : écrire le cahier des charges (présentation Résil, état d'avancement du projet, description des besoins de formation, d'accompagnement par un expert à la modélisation et la génération de processus...)

---

