Gestion applicative des données, un REX du Ministère de l'Éducation Nationale
Slides du webinaire IS Designer du Jeudi 10 Novembre 2022.
Une approche de modélisation et de
génération automatique avec IS Designer.
Le pôle de Versailles du Ministère de l'Éducation Nationale a utilisé l'outil open-source Information System Designer sur plusieurs projets à portée nationale pour modéliser les bases de données et les couches applicatives d'accès aux données (DAO).
Ce retour d'expérience sera présenté en détail lors de ce webinaire :
✔ la démarche mise en place,
✔ comment l'outil a été utilisé,
✔ les bénéfices constatés.
"Pour la dizaine de développeurs impliqués sur ces projets, la production automatique des Tests Unitaires a aussi permis de s'approprier plus facilement le socle technique, grâce à une approche par l'exemple, mais également d’avoir une assurance de non régression sur les fonctionnalités produites."
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
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
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
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
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)