Conception, réalisation et intégration de l’application Marianne

Conception, réalisation et intégration de l’application Marianne

Nous voyons ici comment se sont déroulées la conception, la réalisation et l’intégration de l’application Marianne, et plus particulièrement du premier lot :

Marianne Lot 1 et la suite

Marianne n’a pas été mis en place d’un bloc en une seule fois. Il y a d’abord eu une première version (Marianne Lot 1), qui a été suivie d’ajout de fonctionnalités successifs.

Marianne Lot 1 englobait tout ce qui touchait aux aspects financiers et au vote électronique.

Les thèmes organisant les données gérées par Marianne ont été traités selon les codes couleurs suivants :

– Orange : Lot 1
– Sans couleur : hors Lot 1

  • Citoyens
  • Structures
    Entités locales, conseillers, juridictions, établissements de soins, établissement d’éducation, établissements pénitentiaires, médecins, cadastre…
  • Vie citoyenne
    Famille : mariages, unions libres, PACS, divorces, enfants, déclarations de naissance, foyers fiscaux, adoptions, placements, tutelles, curatelles, disparitions, dons du corps, dons d’organes, déclarations de décès, d’obsèques et ou de sépulture, donations, testamentsEntreprises : structure, établissements, statut, activités, dirigeants, actionnariat, comptabilité d’entreprise ; ex base SireneActivitéRevenus et charges

    Cotisations

    Prestations

    Santé : vaccins, actes médicaux, soins, séjours de soin, médecin traitant, examens, consultations, protocoles, prescriptions, feuilles de surveillance, correspondances, dossier pharmaceutique, déclarations de handicap, déclaration d’invalidité, don du sang, plasma, plaquettes, organes

    Scrutins

  • Fournisseurs
    Appels d’offres, contrats, factures, chantiers, projets
  • Personnels
  • Activités diverses
    Entreprises nationales, productions diverses
  • Trésorerie
  • Comptabilité
  • Habilitations
  • Traces
  • Documents

Organisation du projet

L’organisation mise en place dès le début du projet était très ressemblante à celle qui prévaut aujourd’hui : MOA, DEV, OPS et l’atelier de génie logiciel.

Un 4ème pôle « Systèmes existants » a été constitué pour regrouper toutes les connaissances des systèmes existants de l’époque. Ces équipes ont eu en particulier pour mission de construire les centaines de pipelines nécessaires à la reprise des données dans Marianne.

Avant cela, elles ont apporté leur expertise lors des phases de conception, dont un des challenges était de ne rien oublier.

Tous les intervenants du projet étaient physiquement réunis à la Cité Nationale. Ils travaillaient à temps plein sur le projet, ou au minimum en priorité dessus.

La priorité était donné au fonctionnel, à la conception et à la réalisation. Les aspects planning, budget, reporting…, réduits au strict minimum, étaient relégués au second plan.

Comme pour l’organisation d’aujourd’hui au ministère du système d’informations, il n’existait pas de pôle « Qualité » : la qualité procédait intrinsèquement du professionnalisme et de l’implication totale de chacun des acteurs.

Un comité de pilotage unique et restreint pilotait le tout. La hiérarchie avait un aspect très horizontal, avec un nombre très restreint de niveaux. Cela a permis d’avoir un taux d’efficacité maximal, avec tous les acteurs directement impliqués dans le concret.

La reprise des données

La reprise des données est le processus qui permet de remplir la base de données Marianne à partir des données existant dans les autres systèmes, et d’obtenir ainsi un ensemble prêt à fonctionner.

Particulièrement bien préparée, coordonnée et rodée, la reprise réelle s’est déroulée sur un weekend.

La reprise des données dans Marianne peut être résumée avec le schéma suivant.

Une application Marianne Reprise avait été développée spécifiquement. Ce système sur mesure comportait les éléments suivants :

  • Une base de données Références
  • Une sous base de données (schéma) Pivot intégrée à la base Marianne
  • L’application interactive Marianne Reprise proprement dite, qui comprend la gestion des données de référence et le pilotage intégré du processus de reprise complet
  • Des modules batch qui effectuent les traitements proprement dits

L’application Marianne Reprise était écrite en L4G, et, pour les modules batch (contrôles, intégration des données), en PL/SQL.

La base de données Références intégrait :

  • Les tables de référence Marianne
  • Les informations nouvelles Marianne (qu’on ne trouvait pas dans les systèmes existants)
  • Les tables de transcodification permettant d’interpréter les données des systèmes existants
  • Les habilitations : profils et rôles, profils explicites

Le module Gestion des données de référence permettait la mise à jour contrôlée et le suivi de toutes ces informations.

Le module Pilotage permettait de lancer tous les traitements et de les suivre.

La base Pivot correspondait à un sous schéma de la base définitive Marianne. Il y avait une table par fichier à reprendre de l’existant, et une table image pour chaque table de la base Référence.

La reprise des données s’est déroulée dans l’ordre suivant :

  • Vérification de la complétude de la base Référence (1)
  • Extraction des données des systèmes existants (2)
  • Vidage du schéma Pivot (3)
  • Import des données de référence (4)
  • Import des fichiers existants (5)
  • Contrôle des données du schéma Pivot (6)
  • Analyse des anomalies (7)
  • Si OK, vidage de la base Marianne (8)
  • Intégration des données (9)
  • Contrôle des données finales (10)

 

Extraction des données des systèmes existants

L’extraction des données des systèmes existants était sous la responsabilité du pôle Systèmes existants.

Chaque système à récupérer produisait ainsi un ensemble de fichiers au format TXT, et les déposait dans l’espace FTP commun d’import.

Ces fichiers avait une structure (colonage) définie précisément lors de l’étude détaillée. Ils avait chacun une table image dans le schéma Pivot.

 

Contrôle des données du schéma Pivot

Le contrôle des données du schéma Pivot était un vaste ensemble de requêtes SQL qui passait en revue l’ensemble des données Pivot, après le chargement de l’ensemble de celles-ci.

Tout était contrôlé dans le moindre détail. Les contrôles les plus complexes étaient ceux qui vérifiaient la cohérence des informations provenant de diverses sources.

Ces contrôles généraient toutes sortes d’anomalies stockées dans un ensemble unique des tables du schéma Pivot. Une batterie de rapports spécifiques permettait d’analyser ces anomalies.

Pour aller plus loin dans la reprise des données, il ne devait normalement plus y avoir d’anomalies.

En cas d’anomalies, différentes solutions étaient possibles :

  • Corriger directement dans le schéma Pivot
  • Corriger en amont (données existantes, systèmes d’extractions…) et recommencer la procédure

 

Intégration des données

Le module Intégration des données prenait les données du schéma Pivot pour alimenter les tables définitives Marianne.

Ce module unique constituait la partie la plus complexe du projet Marianne, puisqu’il s’agissait de mixer des informations provenant de multiples (des milliers) sources en vue de former un tout cohérent.

Le contrôle des données finales permettait d’ailleurs de vérifier cette cohérence. La conduite à tenir ensuite dépendait de la nature des anomalies détectées (corriger directement, recommencer tout ou partie).

Le projet Marianne Lot 1 s’est déroulé en 7 grandes phases :

Étape 1 : Normes et outils

La première étape à consisté à définir les normes et outils. Cela a abouti à l’ensemble qu’on connait aujourd’hui en 2025.

Dans la définition des normes étaient inclues la gestion des habilitations, des traces et des documents.

Étape 2 : Conception générale

La conception générale de l’application était basée sur les besoins prévisibles, l’analyse des systèmes existants, les documents circulants et les systèmes externes.

L’étude de l’existant visait surtout à vérifier que rien n’était oublié, à identifier les futures interfaces, et à préparer la reprise des données.

La conception générale était un processus itératif impliquant pleinement la MOA et le pôle Systèmes existants : toute adaptation d’un élément pouvait avoir des effets sur les autres éléments de l’étude.

La conception générale visait à décrire l’ensemble du système selon toutes ses dimensions :

Données

La conception du modèle de données fut le sujet central de la conception générale. A l’issue de cette étape, on disposait d’un modèle de données déjà très détaillé.

Le niveau d’abstraction était volontairement minimaliste. Les concepts collaient à la réalité et aux besoins. On n’a pas cherché à les dépasser ; on est resté dans un niveau de paramétrage nécessaire et simplement suffisant.

Les données ont été décrites entièrement dans l’AGL.

 

Traitements

Les traitements ont été décrits de manière générale (dans l’AGL).

  • Calculs
    – Identification des procédures de calcul
    – Description générale de chaque procédure de calcul
    – Spécifications générales du calculateur d’éléments individuels
  • Marianne Bureau 
    – Identification des fenêtres
    – Enchainement des fenêtres
    – Description générale des fenêtres
    – Identification et description générale des rapports
  • Marianne Web et Marianne Mobiles
    – Identification des pages
    – Identification des formulaires
    – Enchainement des pages et formulaires
    – Description générale des pages et formulaires
    – Identification et description générale des rapports
  • Marianne de masse
    – Identification des importations de masse ; description générale
    – Spécifications générales de l’ordonnanceur
    – Spécifications générales pour les acquisitions de masse
    – Spécifications générale des fonctions Editique
  • Imports FEGM
    – Identification des types d’imports disponibles dans les différents contextes
    – Spécifications générales des règles, contrôles et mises à jour, pour chaque type d’import

 

Interfaces

Avec Marianne Lot 1, des systèmes de l’existant de l‘époque subsistaient et devaient donc être interfacés avec Marianne.

Tous ces systèmes ont été listés ; leurs interfaces avec Marianne identifiées et décrites de manière générale.

 

Reprise des données

La reprise des données représentait la partie la plus complexe du chantier. Lors de la conception générale, les études suivantes ont été menées :

  • Identification de toutes les sources de données à reprendre
  • Pour chaque source, définition des critères de sélection des données et de la méthode de transport
  • Liste des extractions ; spécifications générales
  • Liste des contrôles complexes ; spécifications générales
  • Description générale du processus et de l’algorithme d’initialisation des données
  • Construction du modèle des données à reprendre (schéma Pivot), en distinguant les données de référence, les données de transcodification, les habilitations et les données externes

La description des données reprises s’est faite à travers l’AGL, ainsi que la description des traitements de reprise.

 

Nouvelle organisation

Le sous chantier Organisation avait pour objectif de définir l’organisation des services autour de Marianne : fiches de postes, nouvelles procédures…

Il s’agissait ici de préparer la formation des utilisateurs, la communication, les manuels utilisateurs, pour les fonctionnaires mais également les citoyens.

 

Bascule

Lors de la conception générale, le déroulé global de la bascule (qui s’est effectuée d’un coup, en big bang) a été défini, en s’intéressant à tous les aspects : informatiques, organisationnels, communication.

Étape 3 : Maquette

La maquette de la future application Marianne était constituée de l’ensemble de fenêtres, pages, formulaires et rapports dans une présentation qui se voulait définitive.

Ces éléments s’enchainaient comme ils le feraient dans la future application.

La différence avec l’application finale était que ces éléments étaient inertes (aucun traitement derrière) et n’interagissait pas avec la base de données, qui n’était pas encore réalisée.

Chacun pouvait donc bien voir concrètement à quoi ressembleraient Marianne Bureau, Marianne Web et Marianne Mobiles.

La maquette a ainsi constitué un formidable outil de dialogue avec les utilisateurs (MOA).

Les différents éléments de la maquette (fenêtres, formulaires, menus, enchainements…) ont été directement générés par l’atelier de génie logiciel (import des objets dans les outils de développement).

La version définitive a été obtenue à l’issue de plusieurs itérations.

A chaque itération, toutes les dimensions du projet ont été impactées et ajustées ou complétées, en pleine cohérence :

  • Données
  • Traitements
  • Interfaces
  • Reprise des données
  • Organisation
  • Préparation
  • Bascule

Étape 4 : Étude détaillée

L’étude détaillée s’est déroulée elle aussi par itération, en reprenant toutes les dimensions de la conception générale et de la Maquette.

Les descriptions détaillées de traitements était concrètement prise en charge directement par les personnes (les développeurs) qui ont ensuite réalisé les programmes. Comme aujourd’hui en 2025, on s’est donc plus attaché au fond qu’à la forme.

Étape 5 : Réalisation

La réalisation comportait plusieurs volets :

  • Informatique
  • Procédures
  • Formation
  • Communication

 

Informatique

Il s’agissait de réaliser et tester les éléments suivants

Pour DEV : Marianne en tant que tel (base de données, Marianne Bureau, Web, Mobiles, Masse) ; Marianne Reprise

Pour le pôle systèmes existants : Extractions des systèmes existants

Pour la MOA : renseigner les données de référence, définir les habilitations, préparer la recette du nouveau système

Procédures, formation et communication

Il s’agissait pour la MOA de réaliser les manuels de procédure, préparer et assurer les formations et organiser les éléments de communication.

Étape 6 et 7 : Tests et recette utilisateurs ; Bascule

Différents environnements étaient mis à disposition des équipes pour les tests, recettes et formations.

La bascule s’est déroulée en un weekend pour le volet informatique.

Elle avait était répétée deux fois dans les mois précédents.

Reprise des données SI Marianne

Cliquez sur le schéma pour l’agrandir