L’organisation autour de Marianne – Maintenance

L’organisation autour de Marianne – Maintenance

Par rapport à l’ancien monde, le système est extrêmement simplifié ; tout est normalisé. Un nombre très limité d’outils de base sont mis en œuvre : un seul SGBD, un bureau virtuel, une suite bureautique, un environnement unifié de développement…

Il n’y a plus de progiciels Métier. A la place, une seule application Métier : Marianne. Tout ceci permet d’y voir plus clair. Tout est devenu plus simple.

Au sein du ministère du système d’informations, l’organisation autour de Marianne repose sur un outil, l’AGL, et 3 pôles :

  • OPS : administration des infrastructures informatiques
  • DEV : développement Logiciel
  • MOA : maîtrise d’ouvrage

On ne fait pas ici du DEVOPS comme cela pouvait être la mode. On a redonné les pleins pouvoirs aux développeurs.

On fait donc plutôt du DEV + OPS, non pas en regroupant les deux, mais en les clarifiant.

Le principe général est le suivant : OPS doit être solide, DEV doit être agile, MOA doit être clair.

MOA, DEV et OPS (hors datacenters) sont physiquement installés sur les mêmes plateaux dans la Tour Egalité à la Cité Nationale. Tous ces gens se côtoient physiquement quotidiennement.

L'atelier du génie logiciel

La présence de nombreuses normes permet la mise en œuvre d’un atelier de génie logiciel (AGL). Cet outil s’occupe de tout ce qui est spécifique (le Métier proprement dit, à l’opposé donc des normes).

L’ AGL assure les fonctions suivantes :

  • Décrire l’application à réaliser
  • Générer automatiquement du code
  • Suivre les évolutions
  • Assurer des fonctions annexes

L’AGL couvre l’ensemble du spectre applicatif :

  • Marianne Bureau
  • Marianne Web
  • Marianne Mobiles
  • Imports
  • Exports
  • Rapports
  • Reprise des données

 

Description de l’application à réaliser :

  • Données manipulées (thèmes, objets de gestion, propriétés, liens, volumes, complexité…)
  • Listes déroulantes
  • Fenêtres de l’application
  • Menus
  • Pour chaque fenêtre ou formulaire, description détaillée des objets (zones, listes, boutons…) qui la composent
  • Fichiers et bases à reprendre de l’existant
  • Nombreux rapports associés

 

Génération automatique de code :

  • A partir de la description des données, génération d’une description brute de la maquette de l’application
  • A partir de la description des fenêtres, génération du code nécessaire pour faire fonctionner la maquette de l’application
  • Génération des fenêtres et formulaires bruts
  • A partir de la description des listes, génération du code correspondant
  • A partir de la description détaillée des données à reprendre, génération du schéma Oracle d’accueil de ces fichiers et des requêtes de contrôle associées
  • A partir de la description des données, génération du schéma Oracle complet et des requêtes de contrôle automatiques
  • A partir de la description détaillée des fenêtres, génération du code de l’application pour les 3 environnements Marianne en direct : Marianne Bureau, Marianne Web et Marianne Mobiles
  • Les traitements particuliers (contrôles ou calculs spécifiques) doivent être programmés à la main : répartition logique entre procédures stockées et fonctions locales

 

Suivi des évolutions :

  • Gestion des demandes utilisateurs et de leur statut
  • Gestion des versions fonctionnelles et techniques
  • Pour chaque objet, suivi des évolutions apportées
  • Suivi des interventions

 

Fonctions annexes :

  • Gestion des abréviations utilisées pour la programmation (les objets ou variables, ainsi que les objets Oracle, sont donc automatiquement nommés)
  • Calcul de la volumétrie
  • Gestion des versions
  • Répartition des tâches

OPS

OPS est en charge de la quincaillerie :

  • L’infrastructure technique
  • Les datacenters
  • Les machines
  • Les VM
  • Les firewalls
  • Les opérateurs
  • Les sauvegardes
  • Les logiciels de sécurité
  • Le suivi de production au sens des performances et de la supervision des machines
  • Les environnements
  • La redondance
  • La disponibilité

Le PC virtuel est géré par OPS. L’installation des applications de base (bureautique, navigateurs, applications diverses, outils de développement logiciel, run time du L4G), c’est OPS.

OPS n’est jamais en contact avec les utilisateurs finaux. OPS ne gère pas les droits individuels des utilisateurs (c’est la MOA).

Rappel : les datacenters sont ceux de l’Etat ; les machines, les licences… également. Le personnel est essentiellement du personnel interne stable.

OPS est organisé par technologie (machines, datacenters, firewalls, sécurité, PC virtuel, messagerie…).

Un service particulier est en charge des environnements mis à disposition de DEV et MOA (développement, tests, recettes, formations). L’infrastructure dans son ensemble a été dimensionnée pour permettre la cohabitation de 7 environnements complets indépendants, en parallèle de la production.

OPS a son propre centre d’appels, sous ensemble de celui de la MOA. Les ingénieurs et les techniciens s’y relaient par roulement.

DEV

DEV s’occupe du développement de Marianne.

DEV a le contrôle des mises à jour de l’application Marianne, y compris les correctifs : c’est DEV qui effectue concrètement les opérations de mise en production, le développement des rapports et leur mise à jour. DEV est en charge des ordonnancements de batch.

DEV a plein accès à la base de données de production en consultation, mise à jour et administration de structure. Par exemple, le tuning de la base de données, l’optimisation des accès, est assuré par DEV, car c’est en lien direct avec la manière d’écrire l’application.

DEV, est essentiellement composé de personnel interne stable multi redondé. Des SSII interviennent à la marge, plutôt dans une optique de pré-embauche.

Les développeurs travaillent à partir de leur PC virtuel comme tout le monde. Le télétravail est donc complètement possible pour eux.

DEV a une double organisation : les piliers et les projets.

Les services piliers sont les suivants :

  • Données
  • Calculs
  • Marianne Bureau ; dont L4G et rapports
  • Marianne Web
  • Marianne Mobiles
  • Marianne de masse
  • Reprise de données

Perpendiculairement aux piliers, il y a un service par projet, plus un service Maintenance corrective.

Les projets peuvent être plus ou moins importants. Un lot de maintenance évolutive constitue un projet.

Il n’y a pas d’organisation par pôle fonctionnel (paie, comptabilité, citoyens…). Ce découpage est plutôt pertinent pour MOA.

DEV dispose de son propre centre d’appels, sous-ensemble du centre d’appels de la MOA. Les développeurs se relaient par roulement.

MOA

MOA représente tous les utilisateurs. Elle est organisée pour qu’il n’y ait qu’un seul canal de communication avec DEV. C’est le point crucial de toute l’organisation.

MOA a aussi un canal de communication unique avec OPS.

Il y a un suivi rigoureux des demandes, problèmes, évolutions… Tout ceci via l’AGL.

Il n’y a plus de problématique de budget, de qualité, de toutes ces choses transversales qui polluaient et freinaient les projets dans l’ancien monde.

S’agissant de Marianne, il n’y a plus de fournisseurs extérieurs, donc beaucoup moins de besoin de formalisme, spécifications, délais, avenants, appels d’offres… On est dans le même bateau, la confiance règne.

MOA dispose de son propre centre d’appels, sous ensemble du centre d’appel Marianne. C’est vers lui que le conseiller Marianne redirige les demandes à caractère informatique des citoyens.

MOA inclut un service de suivi de production fonctionnelle. Bien sûr, les tâches que cela recouvre ne sont en aucun cas pérennisées ; elles sont rapidement automatisées par une intégration applicative ad hoc.