# Stromae mutualisé Pogues, Coltrane, Coleman
**SNDI Lille**
Laurent Caouissin (Métallica)
Céline Bonjour, Guylène Tandeau-De-Marsac (Coltrane)
Ophélie Rogel (Pogues)
Michael Canales (GMPC)
Jérémie Léonard (STAC - Support Orbeon)
---
## Stromae, c'est quoi ? (vision métier)
**Stromae** = Service transversale Orbeon de mise à disposition d'enquêtes
Module applicatif « **plateforme de collecte web** » utilisé pour l'affichage des questionnaires au format Xforms au sein d'un navigateur dans :
- **Coltrane** (collecte web enquêtes entreprises),
- **Coleman** (collecte web enquêtes ménages),
- **Pogues** (visualisation questionnaire web)
---
## Stromae, c'est quoi ? (vision technique)
- **Serveur d'application Orbeon** (Tomcat + logiciel Orbeon "Insee")
- **base eXist** et **services web** (intégrés à la base eXist) pour la persistance des réponses et accès aux questionnaires
**Orbeon à l'Insee** possède une **"surcouche" de développement** (pipelines perso, dév de fonctionnalités supp) --> pipelines de transfo xsl-fo
---
## Historique Stromae
- développé dans le cadre du projet Coltrane
- repris par Coleman pour FPE
- repris par Pogues en juillet 2018
--> **Reprise sous forme d'une photographie à un instant T puis évolutions en parallèle...**
---
## ...P1 : Mutualisation
**Idée : on ne mutualiserait pas ?**
***Avantages :***
- pour bénéficier des développements des autres
- mutualiser la force de développement
- simplifier les montées en version
- modularité
**Champ de notre mutualisation : Stromae sans la partie bdd**
---
## ...P2 : Améliorer nos livraisons
**Idée 2 : Et si on en profitait pour revoir la création de nos livrables** *(1)* "trop artisanale" ?
***Avantages :***
- rentrer dans un "schéma classique" (sans code Orbeon dans nos dépôts, sans zip fait à la main, etc)
- sécuriser les déploiements
- rendre open source et mettre à dispo sur Github !
*(1) Fichiers destinées à déployer sur une plateforme d'exploitation*
---
## Démarche mutualisation
- ***Mars 2020 :*** 1ère réunion de réflexion avec les équipes développement Coltrane, Pogues et Coleman et l'expert XML
- ***Eté 2020*** : Travaux de mutualisation de code et CI de Laurent C. (Métallica)
- ***Septembre 2020*** : Stromae sur Github !
- ***Novembre 2020*** : validation technique et recette des MOA
**Objectif : version validée et opérationnelle pour décembre 2020 !**
---
## Mars 2020 - Comparatifs
- la **version** d'Orbeon et la **licence** (Pogues)
- des **évolutions** d'un code commun **en parallèle**. *Ex : burger de menu*
- **des spécificités** :
- des **objets statiques** (css, xslfo, img)
- des **URL, des properties ou des libellés**
- de la **mise en commentaire de code** non utilisé *Ex :pas de site miroir*
- **authentification** et **logout**
*Conclusion* : ça semble jouable ! **On y va ? ;-)**
---
## Eté 2020 : Le dépôt commun
Travaux sur un gitlab interne [orbeon-insee](https://gitlab.insee.fr/plateformes-collecte/orbeon-mutualis)
- Code mutualisé sous un dossier "common"
- Paramétrisation des spécificités
- Dépendance de projets *(submodule gitlab)* :
- household-authentication : authentification coleman
- business-authentication : authentification coltrane
- business-integration : css, xslfo spécifique Coltrane
---
## Eté 2020 : Le script d'intégration continue (CI)
- Créer son livrable classiquement *(maven)*
- Pipeline *(2)* variabilisé :
- le contexte (default ou household ou business)
- l'environnement de déploiement (DV, QF, QF1, prod)
*(2) Chaine de traitement pour créer un livrable et le déployer sur une plateforme*
---
## Zoom sur les étapes du CI
1. Récupération des **contenus des projets dépendants** (authentifications, CSS Coltrane)
2. Récupération du coeur d'orbeon (**logiciel Orbeon**) et nettoyage des resources inutiles
3. Création du **livrable personnalisé**
*(build maven de type assembly qui utilise le fichier pom.xml)*
4. **Déploiement** sur la plateforme
---
## Sept. 2020 : Stromae sur Github !
- Pourquoi ?
- Pour les besoins de visualisation de Pogues (démo)
- Pour la mise à dispo externe des outils de la filière
- Deux dépôts créés :
- [**Stromae**](https://github.com/InseeFr/Stromae) : Orbeon commun "Pogues"
- [**Stromae-DB**](https://github.com/InseeFr/Stromae-db) : les web-services (minimalistes)
---
- Adaptation :
- Déplacement du code commun du gitlab interne vers github (non redondance)
- Ajout d'une étape de récupération du code de github dans le CI
---
## Novembre 2020 : validation et recette des MOA
EPIs : Validation technique (pipeline, revue de code) - lundi 16/11
MOAs : recette - pour le 23/11 (si possible)
On a besoin de vous !
---
## A tester côté métier
- **Vérifier toutes les "grandes" fonctionnalités** sur un questionnaire : passage de page, enregistrement, preuve de dépôt, enregistrement, déconnexion, liens (assistance, vers portail), etc;
- **Pour Coltrane** : les CSS et XSLFO spécifiques sont récupérées (ex : pour CSS --> DARES et pour XSLFO --> EAP/EMB)
***Objectif : V1 officiel github avant décembre !***
---
## Parlons organisation...
- **Pour les développeurs** :
- validation croisée (Coleman valide les propositions de Coltrane) - système de PR
Gardienne du Gitflow : Ophélie
Quelle animation du dev et quelle gouvernance technique autour d'Orbeon ?
*Exemple : healthcheck, norme de développement, montée de version, sortie restXQ, travaux accessibilité*
---
## Pour les MOAs : :-D
- Quand il y a un nouveau besoin... quel circuit ?
- Administrateur de la plateforme mutualisé ?
- Gouvernance et comitologie ?
- Moyen mutualisé ? Qui fait quoi quand il y a un besoin émergeant de l'ensemble des MOA ?
- Comment effectuer le choix entre mutualisation et spécificité ?
{"metaMigratedAt":"2023-06-15T15:14:08.368Z","metaMigratedFrom":"Content","breaks":true,"description":"SNDI LilleLaurent Caouissin (Métallica)Céline Bonjour, Guylène Tandeau-De-Marsac (Coltrane)Ophélie Rogel (Pogues)Michael Canales (GMPC)Jérémie Léonard (STAC - Support Orbeon)","title":"Stromae mutualisé Pogues, Coltrane, Coleman","contributors":"[{\"id\":\"5c5759f2-543b-4437-8edf-801270ad0a85\",\"add\":9846,\"del\":4016},{\"id\":\"998a4349-3057-4892-bddb-a3f83e95adbd\",\"add\":5,\"del\":4}]"}