SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Downloaden Sie, um offline zu lesen
RETEX IS Designer à
Versailles
10/11/2022
Crédit Icônes : Freepik, DSFR
Je suis qui ?
Architecte Logiciels au Ministère de l'Éducation
Nationale de 2015 à 2019.
Depuis, je suis consultant indépendant et Architecte
Logiciels à Geosophy.io.
Je donne aussi des formations informatiques tous
niveaux PHP et Java à l'IGPDE depuis 2015.
Contexte : MinEdu Français
12,8 millions d’élèves
30 académies
Crédit Icônes : DSFR
Contexte : Rectorat de Versailles
DSI : 200 personnes
Rectorat de Versailles
1,2 million d’élèves
100 000+ agents
Développement local
(Devloc)
10 à 15 personnes
Développement national
(Devnat)
15 à 20 personnes
+ Prestations
Crédit Icônes : Freepik, DSFR
Pôle Devnat : Technologies
Legacy
(SIERH)
Développement national
(SIRH / SIERH)
4GL, Java core
Informix SE
…
Crédit Icônes : Freepik
Reprises
ou Nouveaux projets
(SIRH)
Java core
(JSP, Generation)
Java état de l’art
(JSF, Hibernate, SOAP,
etc)
-
DB2
Postgres
Informix SE
Qu’est-ce qui nous attend ?
🖥 Présentation d’IS Designer
🔬 Retex SIRH
🔬 Retex SIERH
🧬 Présentation GENOM
🗣 Feedbacks
Détourner UML ?
😞 Sémantique inadaptée
😞 La grammaire dépend du « modéliseur » et
non du modèle ou du modeleur
😞 UML non pensé au départ pour la
génération de code
Ex: Diagramme de flux d’écrans en UML ?
Notion de modèles dédiés (DSL / DSM)
⭐ Sémantique adaptée aux notions à représenter
⭐ La grammaire embarquée dans le modèle
⭐ Génération de maquettes simplifiées
Découpage en couches applicatives
+ La couche transverse
Industrialisation du développement : Points clés
• Un bon modèle (DSL)
- Facile à requêter
- N’embarque que la sémantique
nécessaire
- Adapté à la génération de code
- Respecte le DRY
• Un bon modeleur (DSM)
- Utilisation par l’utilisateur final
dans l’esprit du low-code
- Accélère la saisie graphique des
données
• Un bon générateur de code
- Facile à modifier
- Facile à étendre
IS Designer
www.isdesigner.org/
RETEX SIRH
🔐 Sécuriser la couche de persistance
D-01 : Mouvement des personnels d’encadrements
Objectifs
• Gestion de la mobilité des personnels d’encadrement
(d’établissements administratifs et pédagodiques)
• Forts enjeux
Quelques chiffres
• Début d’analyse depuis 2010
• Ré-internalisation par
l’équipe de Versailles ~ 5 ans plus tard
D-01 : Architecture
Java « Etat de l’art »
Pourquoi ?
😞 4 j/h par mois perdus en R&D sur
Hibernate avec discriminant
😞 Problèmes de performance
- erreurs développeur en utilisant HQL
😞 Ecriture des `transformers 🧬` long et générateur d’erreurs
😞 Mauvaise gestion des dépendances :
Ex:Toute la base ramenée à la première page
Objectifs
🧬Proposer UNE bonne manière d’utiliser Hibernate avec discriminant
- Empêcher le bidouillage
🧬Proposer des solutions aux erreurs courantes et les enrichir.
🧬Générer Entités, DAO, DTO et Transformers
🧬Gérer les grappes de données
🧬Auto-documenter avec les Tests Unitaires
🧬Assurer la conduite du changement
DEMO (Entity)
Bénéfices
🧬 0 jour/homme en R&D sur la persistance
🧬 Plus de problème de grappe de données
🧬 Propositions d’amélioration de l’offre de service DAO par les développeurs eux-
mêmes.
🧬 L’effort redirigé sur le métier et la conception
Soyons réalistes
🧬 Le coût de développement du générateur a été rentabilisé presque immédiatement
⚠ La conduite du changement a été un peu plus compliquée que prévue :
Il faut « convaincre » et non « forcer ».
⚠ Nécessité d’un expert transverse pour étendre IS Designer
(nouvelles vues et nouveaux générateurs)
⚠ N’a pas résolu les problèmes de performance liés à Hibernate
GENOM
🧬Une seule source de vérité (DRY)
🧬Normes de développement définies au niveau du pôle architecture
🧬Règles de structure d’application prédéfinies
🧬Capitalisation dans un environnement de développement type Eclipse
🧬 GENOM : GENeration On Models
RETEX SIERH
Partir d’une base de données exotiques 🌴 🥹
SIAL : Le métier
Objectifs
• Saisie des vœux d’affectation pour les nouveaux lauréats
Quelques chiffres
• Maintenu depuis plus de 10 ans
• Refactoring et évolutions technologiques de 2018 à 2019
• 25000 utilisateurs par campagne
• 10 gestionnaires
• 1 campagne par an
SIAL : Architecture
Pourquoi modéliser ?
😞 Equipe éloignée des bonnes pratiques acquises
du SIRH
😞 Base de données vieillissante avec des
performances relatives…
- Informix SE 😆
- Exit Hibernate
- Pas de solution de migration
😞 Couche DAO spécialisée déjà existante performante, mais
complexe à générer et à maintenir
- Concepteur d’origine en retraite
😞 Base non normalisée, non propriétaire du schéma
Objectifs
🧬Reprise des DAO existants
🧬Support des spécificités d’IFX SE
🧬Conserver des performances honorables
Pics de 1500 utilisateurs simultanés en début et fin de campagne
🧬Conception graphique plutôt que par fichiers de conf non documentés
🧬Support de spécificités
Champs « expression »
Tables virtuelles (pas de vues sql 😞)
Tables de nomenclatures
🧬Gestion des grappes de données
🧬Auto-documenter
🧬Assurer la conduite du changement
DEMO (Database)
Bénéfices
🧬 Performance supérieure à l’ancien DAO et
Hibernate + DAO (SIRH)
🧬 Grappes de données explicites
🧬 Proposition d’amélioration de l’offre de service DAO par les
développeurs eux-mêmes.
🧬 Indépendance de la base
🧬 Passage désormais possible d’une équipe à l’autre
Soyons réalistes
🧬 Le coût de développement du générateur a été rentabilisé presque immédiatement
(projet en souffrance)
⚠ Nécessité d’un expert transverse pour étendre IS Designer
(nouvelles vues et nouveaux générateurs)
Une dernière petite chose :D
🧬 Reprise par le SIRH pour le projet mouvens
🧬 Création d’un IDE custom au niveau de l’équipe
intégrant tous les générateurs
🧬 Un changement bénéficie immédiatement à toute l’équipe
D-02 Mouvens : Le métier
Objectifs
• Gestion des barèmes académiques en vue du mouvement des enseignants
du primaire (1°D)
• Moteur de valorisation de points
• Forts enjeux
Quelques chiffres
• Depuis 2019
• Pour 600 gestionnaires pour la partie générée (sous la responsabilité du
Devnat de Versailles)
D-02 Mouvens : Architecture
DEMO GENOM (Database NG) SIRH D-02
Enchaînement d’écrans
Maquettage facile !
Cinématique : Enchaînements d’écran
Cinématique : Maquette écran
Conclusion
• Merci d’avoir suivi ce Retex
• Questions ?
• Feedbacks ?

Weitere ähnliche Inhalte

Ähnlich wie Gestion applicative des données, un REX du Ministère de l'Éducation Nationale

Catalogue 2015 des stages Alyotech à Rennes et Nantes
Catalogue 2015 des stages Alyotech à Rennes et NantesCatalogue 2015 des stages Alyotech à Rennes et Nantes
Catalogue 2015 des stages Alyotech à Rennes et NantesAlyotech
 
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017) Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017) univalence
 
GeoCMSconnect_un_framework_pour_le_développement_facile_d'extensions_géo_dans...
GeoCMSconnect_un_framework_pour_le_développement_facile_d'extensions_géo_dans...GeoCMSconnect_un_framework_pour_le_développement_facile_d'extensions_géo_dans...
GeoCMSconnect_un_framework_pour_le_développement_facile_d'extensions_géo_dans...VisionGÉOMATIQUE2012
 
Plateforme bigdata orientée BI avec Hortoworks Data Platform et Apache Spark
Plateforme bigdata orientée BI avec Hortoworks Data Platform et Apache SparkPlateforme bigdata orientée BI avec Hortoworks Data Platform et Apache Spark
Plateforme bigdata orientée BI avec Hortoworks Data Platform et Apache SparkALTIC Altic
 
Mappingobjetrelationnel[1]
Mappingobjetrelationnel[1]Mappingobjetrelationnel[1]
Mappingobjetrelationnel[1]linasafaa
 
CV KHALIL Hassen_201601
CV KHALIL Hassen_201601CV KHALIL Hassen_201601
CV KHALIL Hassen_201601Hassen Khalil
 
SQL Server et les développeurs
SQL Server et les développeurs SQL Server et les développeurs
SQL Server et les développeurs Microsoft
 
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?ekino
 
Un site de collectivité sur WordPress ? Méthodes et retours d'XP
Un site de collectivité sur WordPress ? Méthodes et retours d'XPUn site de collectivité sur WordPress ? Méthodes et retours d'XP
Un site de collectivité sur WordPress ? Méthodes et retours d'XPatelier111
 
Présentation Eranea à Open Source Now 2012
Présentation Eranea à Open Source Now 2012Présentation Eranea à Open Source Now 2012
Présentation Eranea à Open Source Now 2012Didier Durand
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !VISEO
 
Paris Tug - Session d'octobre
Paris Tug - Session d'octobreParis Tug - Session d'octobre
Paris Tug - Session d'octobreGeoffrey Felix
 
Embarquer une base de données locale dans vos logiciels et applications mobiles
Embarquer une base de données locale dans vos logiciels et applications mobilesEmbarquer une base de données locale dans vos logiciels et applications mobiles
Embarquer une base de données locale dans vos logiciels et applications mobilespprem
 
Clean Architecture et Code patrimonial
Clean Architecture et Code patrimonialClean Architecture et Code patrimonial
Clean Architecture et Code patrimonialAgile Montréal
 
Toutes les raisons d'adopter MongoDB
Toutes les raisons d'adopter MongoDBToutes les raisons d'adopter MongoDB
Toutes les raisons d'adopter MongoDBContent Square
 
X-DB Modernize - version francais
X-DB Modernize - version francaisX-DB Modernize - version francais
X-DB Modernize - version francaisFresche Solutions
 
Industrialisez le développement et la maintenance de vos sites avec Drupal
Industrialisez le développement et la maintenance de vos sites avec DrupalIndustrialisez le développement et la maintenance de vos sites avec Drupal
Industrialisez le développement et la maintenance de vos sites avec DrupalLINAGORA
 
Comment évoluer de SAP Bex WAD vers Design Studio?
Comment évoluer de SAP Bex WAD vers Design Studio?Comment évoluer de SAP Bex WAD vers Design Studio?
Comment évoluer de SAP Bex WAD vers Design Studio?agileDSS
 
Forum sur l'innovation BI 2013 - Nouvelles tendances en conception de tableau...
Forum sur l'innovation BI 2013 - Nouvelles tendances en conception de tableau...Forum sur l'innovation BI 2013 - Nouvelles tendances en conception de tableau...
Forum sur l'innovation BI 2013 - Nouvelles tendances en conception de tableau...agileDSS
 

Ähnlich wie Gestion applicative des données, un REX du Ministère de l'Éducation Nationale (20)

Catalogue 2015 des stages Alyotech à Rennes et Nantes
Catalogue 2015 des stages Alyotech à Rennes et NantesCatalogue 2015 des stages Alyotech à Rennes et Nantes
Catalogue 2015 des stages Alyotech à Rennes et Nantes
 
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017) Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
 
GeoCMSconnect_un_framework_pour_le_développement_facile_d'extensions_géo_dans...
GeoCMSconnect_un_framework_pour_le_développement_facile_d'extensions_géo_dans...GeoCMSconnect_un_framework_pour_le_développement_facile_d'extensions_géo_dans...
GeoCMSconnect_un_framework_pour_le_développement_facile_d'extensions_géo_dans...
 
Plateforme bigdata orientée BI avec Hortoworks Data Platform et Apache Spark
Plateforme bigdata orientée BI avec Hortoworks Data Platform et Apache SparkPlateforme bigdata orientée BI avec Hortoworks Data Platform et Apache Spark
Plateforme bigdata orientée BI avec Hortoworks Data Platform et Apache Spark
 
Mappingobjetrelationnel[1]
Mappingobjetrelationnel[1]Mappingobjetrelationnel[1]
Mappingobjetrelationnel[1]
 
CV KHALIL Hassen_201601
CV KHALIL Hassen_201601CV KHALIL Hassen_201601
CV KHALIL Hassen_201601
 
SQL Server et les développeurs
SQL Server et les développeurs SQL Server et les développeurs
SQL Server et les développeurs
 
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
 
Un site de collectivité sur WordPress ? Méthodes et retours d'XP
Un site de collectivité sur WordPress ? Méthodes et retours d'XPUn site de collectivité sur WordPress ? Méthodes et retours d'XP
Un site de collectivité sur WordPress ? Méthodes et retours d'XP
 
Présentation Eranea à Open Source Now 2012
Présentation Eranea à Open Source Now 2012Présentation Eranea à Open Source Now 2012
Présentation Eranea à Open Source Now 2012
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 
Paris Tug - Session d'octobre
Paris Tug - Session d'octobreParis Tug - Session d'octobre
Paris Tug - Session d'octobre
 
Embarquer une base de données locale dans vos logiciels et applications mobiles
Embarquer une base de données locale dans vos logiciels et applications mobilesEmbarquer une base de données locale dans vos logiciels et applications mobiles
Embarquer une base de données locale dans vos logiciels et applications mobiles
 
Clean Architecture et Code patrimonial
Clean Architecture et Code patrimonialClean Architecture et Code patrimonial
Clean Architecture et Code patrimonial
 
Toutes les raisons d'adopter MongoDB
Toutes les raisons d'adopter MongoDBToutes les raisons d'adopter MongoDB
Toutes les raisons d'adopter MongoDB
 
X-DB Modernize - FR
X-DB Modernize - FRX-DB Modernize - FR
X-DB Modernize - FR
 
X-DB Modernize - version francais
X-DB Modernize - version francaisX-DB Modernize - version francais
X-DB Modernize - version francais
 
Industrialisez le développement et la maintenance de vos sites avec Drupal
Industrialisez le développement et la maintenance de vos sites avec DrupalIndustrialisez le développement et la maintenance de vos sites avec Drupal
Industrialisez le développement et la maintenance de vos sites avec Drupal
 
Comment évoluer de SAP Bex WAD vers Design Studio?
Comment évoluer de SAP Bex WAD vers Design Studio?Comment évoluer de SAP Bex WAD vers Design Studio?
Comment évoluer de SAP Bex WAD vers Design Studio?
 
Forum sur l'innovation BI 2013 - Nouvelles tendances en conception de tableau...
Forum sur l'innovation BI 2013 - Nouvelles tendances en conception de tableau...Forum sur l'innovation BI 2013 - Nouvelles tendances en conception de tableau...
Forum sur l'innovation BI 2013 - Nouvelles tendances en conception de tableau...
 

Mehr von Obeo

Digitally assisted design for safety analysis
Digitally assisted design for safety analysisDigitally assisted design for safety analysis
Digitally assisted design for safety analysisObeo
 
INCOSE IS 2023 | You deserve more than the best in class MBSE tool
INCOSE IS 2023 | You deserve more than the best in class MBSE toolINCOSE IS 2023 | You deserve more than the best in class MBSE tool
INCOSE IS 2023 | You deserve more than the best in class MBSE toolObeo
 
Tailoring Arcadia Framework in Thales UK
Tailoring Arcadia Framework in Thales UKTailoring Arcadia Framework in Thales UK
Tailoring Arcadia Framework in Thales UKObeo
 
CapellaDays2022 | Saratech | Interface Control Document Generation and Linkag...
CapellaDays2022 | Saratech | Interface Control Document Generation and Linkag...CapellaDays2022 | Saratech | Interface Control Document Generation and Linkag...
CapellaDays2022 | Saratech | Interface Control Document Generation and Linkag...Obeo
 
CapellaDays2022 | Politecnico di Milano | Interplanetary Space Mission as a r...
CapellaDays2022 | Politecnico di Milano | Interplanetary Space Mission as a r...CapellaDays2022 | Politecnico di Milano | Interplanetary Space Mission as a r...
CapellaDays2022 | Politecnico di Milano | Interplanetary Space Mission as a r...Obeo
 
CapellaDays2022 | NavalGroup | Closing the gap between traditional engineerin...
CapellaDays2022 | NavalGroup | Closing the gap between traditional engineerin...CapellaDays2022 | NavalGroup | Closing the gap between traditional engineerin...
CapellaDays2022 | NavalGroup | Closing the gap between traditional engineerin...Obeo
 
CapellaDays2022 | Thales | Stairway to heaven: Climbing the very first steps
CapellaDays2022 | Thales | Stairway to heaven: Climbing the very first stepsCapellaDays2022 | Thales | Stairway to heaven: Climbing the very first steps
CapellaDays2022 | Thales | Stairway to heaven: Climbing the very first stepsObeo
 
CapellaDays2022 | COMAC - PGM | How We Use Capella for Collaborative Design i...
CapellaDays2022 | COMAC - PGM | How We Use Capella for Collaborative Design i...CapellaDays2022 | COMAC - PGM | How We Use Capella for Collaborative Design i...
CapellaDays2022 | COMAC - PGM | How We Use Capella for Collaborative Design i...Obeo
 
CapellaDays2022 | CILAS - ArianeGroup | CILAS feedback about Capella use
CapellaDays2022 | CILAS - ArianeGroup | CILAS feedback about Capella useCapellaDays2022 | CILAS - ArianeGroup | CILAS feedback about Capella use
CapellaDays2022 | CILAS - ArianeGroup | CILAS feedback about Capella useObeo
 
CapellaDays2022 | ThermoFisher - ESI TNO | A method for quantitative evaluati...
CapellaDays2022 | ThermoFisher - ESI TNO | A method for quantitative evaluati...CapellaDays2022 | ThermoFisher - ESI TNO | A method for quantitative evaluati...
CapellaDays2022 | ThermoFisher - ESI TNO | A method for quantitative evaluati...Obeo
 
CapellaDays2022 | Thales DMS | A global engineering process based on MBSE to ...
CapellaDays2022 | Thales DMS | A global engineering process based on MBSE to ...CapellaDays2022 | Thales DMS | A global engineering process based on MBSE to ...
CapellaDays2022 | Thales DMS | A global engineering process based on MBSE to ...Obeo
 
CapellaDays2022 | SIEMENS | Expand MBSE into Model-based Production Engineeri...
CapellaDays2022 | SIEMENS | Expand MBSE into Model-based Production Engineeri...CapellaDays2022 | SIEMENS | Expand MBSE into Model-based Production Engineeri...
CapellaDays2022 | SIEMENS | Expand MBSE into Model-based Production Engineeri...Obeo
 
Simulation with Python and MATLAB® in Capella
Simulation with Python and MATLAB® in CapellaSimulation with Python and MATLAB® in Capella
Simulation with Python and MATLAB® in CapellaObeo
 
From Model-based to Model and Simulation-based Systems Architectures
From Model-based to Model and Simulation-based Systems ArchitecturesFrom Model-based to Model and Simulation-based Systems Architectures
From Model-based to Model and Simulation-based Systems ArchitecturesObeo
 
Connecting Textual Requirements with Capella Models
Connecting Textual Requirements with Capella Models Connecting Textual Requirements with Capella Models
Connecting Textual Requirements with Capella Models Obeo
 
Sirius Web Advanced : Customize and Extend the Platform
Sirius Web Advanced : Customize and Extend the PlatformSirius Web Advanced : Customize and Extend the Platform
Sirius Web Advanced : Customize and Extend the PlatformObeo
 
Sirius Web 101 : Create a Modeler With No Code
Sirius Web 101 : Create a Modeler With No CodeSirius Web 101 : Create a Modeler With No Code
Sirius Web 101 : Create a Modeler With No CodeObeo
 
Sirius Project, Now and In the Future
Sirius Project, Now and In the FutureSirius Project, Now and In the Future
Sirius Project, Now and In the FutureObeo
 
Visualizing, Analyzing and Optimizing Automotive Architecture Models using Si...
Visualizing, Analyzing and Optimizing Automotive Architecture Models using Si...Visualizing, Analyzing and Optimizing Automotive Architecture Models using Si...
Visualizing, Analyzing and Optimizing Automotive Architecture Models using Si...Obeo
 
Defining Viewpoints for Ontology-Based DSLs
Defining Viewpoints for Ontology-Based DSLsDefining Viewpoints for Ontology-Based DSLs
Defining Viewpoints for Ontology-Based DSLsObeo
 

Mehr von Obeo (20)

Digitally assisted design for safety analysis
Digitally assisted design for safety analysisDigitally assisted design for safety analysis
Digitally assisted design for safety analysis
 
INCOSE IS 2023 | You deserve more than the best in class MBSE tool
INCOSE IS 2023 | You deserve more than the best in class MBSE toolINCOSE IS 2023 | You deserve more than the best in class MBSE tool
INCOSE IS 2023 | You deserve more than the best in class MBSE tool
 
Tailoring Arcadia Framework in Thales UK
Tailoring Arcadia Framework in Thales UKTailoring Arcadia Framework in Thales UK
Tailoring Arcadia Framework in Thales UK
 
CapellaDays2022 | Saratech | Interface Control Document Generation and Linkag...
CapellaDays2022 | Saratech | Interface Control Document Generation and Linkag...CapellaDays2022 | Saratech | Interface Control Document Generation and Linkag...
CapellaDays2022 | Saratech | Interface Control Document Generation and Linkag...
 
CapellaDays2022 | Politecnico di Milano | Interplanetary Space Mission as a r...
CapellaDays2022 | Politecnico di Milano | Interplanetary Space Mission as a r...CapellaDays2022 | Politecnico di Milano | Interplanetary Space Mission as a r...
CapellaDays2022 | Politecnico di Milano | Interplanetary Space Mission as a r...
 
CapellaDays2022 | NavalGroup | Closing the gap between traditional engineerin...
CapellaDays2022 | NavalGroup | Closing the gap between traditional engineerin...CapellaDays2022 | NavalGroup | Closing the gap between traditional engineerin...
CapellaDays2022 | NavalGroup | Closing the gap between traditional engineerin...
 
CapellaDays2022 | Thales | Stairway to heaven: Climbing the very first steps
CapellaDays2022 | Thales | Stairway to heaven: Climbing the very first stepsCapellaDays2022 | Thales | Stairway to heaven: Climbing the very first steps
CapellaDays2022 | Thales | Stairway to heaven: Climbing the very first steps
 
CapellaDays2022 | COMAC - PGM | How We Use Capella for Collaborative Design i...
CapellaDays2022 | COMAC - PGM | How We Use Capella for Collaborative Design i...CapellaDays2022 | COMAC - PGM | How We Use Capella for Collaborative Design i...
CapellaDays2022 | COMAC - PGM | How We Use Capella for Collaborative Design i...
 
CapellaDays2022 | CILAS - ArianeGroup | CILAS feedback about Capella use
CapellaDays2022 | CILAS - ArianeGroup | CILAS feedback about Capella useCapellaDays2022 | CILAS - ArianeGroup | CILAS feedback about Capella use
CapellaDays2022 | CILAS - ArianeGroup | CILAS feedback about Capella use
 
CapellaDays2022 | ThermoFisher - ESI TNO | A method for quantitative evaluati...
CapellaDays2022 | ThermoFisher - ESI TNO | A method for quantitative evaluati...CapellaDays2022 | ThermoFisher - ESI TNO | A method for quantitative evaluati...
CapellaDays2022 | ThermoFisher - ESI TNO | A method for quantitative evaluati...
 
CapellaDays2022 | Thales DMS | A global engineering process based on MBSE to ...
CapellaDays2022 | Thales DMS | A global engineering process based on MBSE to ...CapellaDays2022 | Thales DMS | A global engineering process based on MBSE to ...
CapellaDays2022 | Thales DMS | A global engineering process based on MBSE to ...
 
CapellaDays2022 | SIEMENS | Expand MBSE into Model-based Production Engineeri...
CapellaDays2022 | SIEMENS | Expand MBSE into Model-based Production Engineeri...CapellaDays2022 | SIEMENS | Expand MBSE into Model-based Production Engineeri...
CapellaDays2022 | SIEMENS | Expand MBSE into Model-based Production Engineeri...
 
Simulation with Python and MATLAB® in Capella
Simulation with Python and MATLAB® in CapellaSimulation with Python and MATLAB® in Capella
Simulation with Python and MATLAB® in Capella
 
From Model-based to Model and Simulation-based Systems Architectures
From Model-based to Model and Simulation-based Systems ArchitecturesFrom Model-based to Model and Simulation-based Systems Architectures
From Model-based to Model and Simulation-based Systems Architectures
 
Connecting Textual Requirements with Capella Models
Connecting Textual Requirements with Capella Models Connecting Textual Requirements with Capella Models
Connecting Textual Requirements with Capella Models
 
Sirius Web Advanced : Customize and Extend the Platform
Sirius Web Advanced : Customize and Extend the PlatformSirius Web Advanced : Customize and Extend the Platform
Sirius Web Advanced : Customize and Extend the Platform
 
Sirius Web 101 : Create a Modeler With No Code
Sirius Web 101 : Create a Modeler With No CodeSirius Web 101 : Create a Modeler With No Code
Sirius Web 101 : Create a Modeler With No Code
 
Sirius Project, Now and In the Future
Sirius Project, Now and In the FutureSirius Project, Now and In the Future
Sirius Project, Now and In the Future
 
Visualizing, Analyzing and Optimizing Automotive Architecture Models using Si...
Visualizing, Analyzing and Optimizing Automotive Architecture Models using Si...Visualizing, Analyzing and Optimizing Automotive Architecture Models using Si...
Visualizing, Analyzing and Optimizing Automotive Architecture Models using Si...
 
Defining Viewpoints for Ontology-Based DSLs
Defining Viewpoints for Ontology-Based DSLsDefining Viewpoints for Ontology-Based DSLs
Defining Viewpoints for Ontology-Based DSLs
 

Gestion applicative des données, un REX du Ministère de l'Éducation Nationale

  • 1. RETEX IS Designer à Versailles 10/11/2022 Crédit Icônes : Freepik, DSFR
  • 2. Je suis qui ? Architecte Logiciels au Ministère de l'Éducation Nationale de 2015 à 2019. Depuis, je suis consultant indépendant et Architecte Logiciels à Geosophy.io. Je donne aussi des formations informatiques tous niveaux PHP et Java à l'IGPDE depuis 2015.
  • 3. Contexte : MinEdu Français 12,8 millions d’élèves 30 académies Crédit Icônes : DSFR
  • 4. Contexte : Rectorat de Versailles DSI : 200 personnes Rectorat de Versailles 1,2 million d’élèves 100 000+ agents Développement local (Devloc) 10 à 15 personnes Développement national (Devnat) 15 à 20 personnes + Prestations Crédit Icônes : Freepik, DSFR
  • 5. Pôle Devnat : Technologies Legacy (SIERH) Développement national (SIRH / SIERH) 4GL, Java core Informix SE … Crédit Icônes : Freepik Reprises ou Nouveaux projets (SIRH) Java core (JSP, Generation) Java état de l’art (JSF, Hibernate, SOAP, etc) - DB2 Postgres Informix SE
  • 6. Qu’est-ce qui nous attend ? 🖥 Présentation d’IS Designer 🔬 Retex SIRH 🔬 Retex SIERH 🧬 Présentation GENOM 🗣 Feedbacks
  • 7. Détourner UML ? 😞 Sémantique inadaptée 😞 La grammaire dépend du « modéliseur » et non du modèle ou du modeleur 😞 UML non pensé au départ pour la génération de code Ex: Diagramme de flux d’écrans en UML ?
  • 8. Notion de modèles dédiés (DSL / DSM) ⭐ Sémantique adaptée aux notions à représenter ⭐ La grammaire embarquée dans le modèle ⭐ Génération de maquettes simplifiées
  • 9. Découpage en couches applicatives + La couche transverse
  • 10. Industrialisation du développement : Points clés • Un bon modèle (DSL) - Facile à requêter - N’embarque que la sémantique nécessaire - Adapté à la génération de code - Respecte le DRY • Un bon modeleur (DSM) - Utilisation par l’utilisateur final dans l’esprit du low-code - Accélère la saisie graphique des données • Un bon générateur de code - Facile à modifier - Facile à étendre
  • 12. RETEX SIRH 🔐 Sécuriser la couche de persistance
  • 13. D-01 : Mouvement des personnels d’encadrements Objectifs • Gestion de la mobilité des personnels d’encadrement (d’établissements administratifs et pédagodiques) • Forts enjeux Quelques chiffres • Début d’analyse depuis 2010 • Ré-internalisation par l’équipe de Versailles ~ 5 ans plus tard
  • 14. D-01 : Architecture Java « Etat de l’art »
  • 15. Pourquoi ? 😞 4 j/h par mois perdus en R&D sur Hibernate avec discriminant 😞 Problèmes de performance - erreurs développeur en utilisant HQL 😞 Ecriture des `transformers 🧬` long et générateur d’erreurs 😞 Mauvaise gestion des dépendances : Ex:Toute la base ramenée à la première page
  • 16. Objectifs 🧬Proposer UNE bonne manière d’utiliser Hibernate avec discriminant - Empêcher le bidouillage 🧬Proposer des solutions aux erreurs courantes et les enrichir. 🧬Générer Entités, DAO, DTO et Transformers 🧬Gérer les grappes de données 🧬Auto-documenter avec les Tests Unitaires 🧬Assurer la conduite du changement
  • 18. Bénéfices 🧬 0 jour/homme en R&D sur la persistance 🧬 Plus de problème de grappe de données 🧬 Propositions d’amélioration de l’offre de service DAO par les développeurs eux- mêmes. 🧬 L’effort redirigé sur le métier et la conception
  • 19. Soyons réalistes 🧬 Le coût de développement du générateur a été rentabilisé presque immédiatement ⚠ La conduite du changement a été un peu plus compliquée que prévue : Il faut « convaincre » et non « forcer ». ⚠ Nécessité d’un expert transverse pour étendre IS Designer (nouvelles vues et nouveaux générateurs) ⚠ N’a pas résolu les problèmes de performance liés à Hibernate
  • 20. GENOM 🧬Une seule source de vérité (DRY) 🧬Normes de développement définies au niveau du pôle architecture 🧬Règles de structure d’application prédéfinies 🧬Capitalisation dans un environnement de développement type Eclipse 🧬 GENOM : GENeration On Models
  • 21. RETEX SIERH Partir d’une base de données exotiques 🌴 🥹
  • 22. SIAL : Le métier Objectifs • Saisie des vœux d’affectation pour les nouveaux lauréats Quelques chiffres • Maintenu depuis plus de 10 ans • Refactoring et évolutions technologiques de 2018 à 2019 • 25000 utilisateurs par campagne • 10 gestionnaires • 1 campagne par an
  • 24. Pourquoi modéliser ? 😞 Equipe éloignée des bonnes pratiques acquises du SIRH 😞 Base de données vieillissante avec des performances relatives… - Informix SE 😆 - Exit Hibernate - Pas de solution de migration 😞 Couche DAO spécialisée déjà existante performante, mais complexe à générer et à maintenir - Concepteur d’origine en retraite 😞 Base non normalisée, non propriétaire du schéma
  • 25. Objectifs 🧬Reprise des DAO existants 🧬Support des spécificités d’IFX SE 🧬Conserver des performances honorables Pics de 1500 utilisateurs simultanés en début et fin de campagne 🧬Conception graphique plutôt que par fichiers de conf non documentés 🧬Support de spécificités Champs « expression » Tables virtuelles (pas de vues sql 😞) Tables de nomenclatures 🧬Gestion des grappes de données 🧬Auto-documenter 🧬Assurer la conduite du changement
  • 27. Bénéfices 🧬 Performance supérieure à l’ancien DAO et Hibernate + DAO (SIRH) 🧬 Grappes de données explicites 🧬 Proposition d’amélioration de l’offre de service DAO par les développeurs eux-mêmes. 🧬 Indépendance de la base 🧬 Passage désormais possible d’une équipe à l’autre
  • 28. Soyons réalistes 🧬 Le coût de développement du générateur a été rentabilisé presque immédiatement (projet en souffrance) ⚠ Nécessité d’un expert transverse pour étendre IS Designer (nouvelles vues et nouveaux générateurs)
  • 29. Une dernière petite chose :D 🧬 Reprise par le SIRH pour le projet mouvens 🧬 Création d’un IDE custom au niveau de l’équipe intégrant tous les générateurs 🧬 Un changement bénéficie immédiatement à toute l’équipe
  • 30. D-02 Mouvens : Le métier Objectifs • Gestion des barèmes académiques en vue du mouvement des enseignants du primaire (1°D) • Moteur de valorisation de points • Forts enjeux Quelques chiffres • Depuis 2019 • Pour 600 gestionnaires pour la partie générée (sous la responsabilité du Devnat de Versailles)
  • 31. D-02 Mouvens : Architecture
  • 32. DEMO GENOM (Database NG) SIRH D-02
  • 36. Conclusion • Merci d’avoir suivi ce Retex • Questions ? • Feedbacks ?