Vous êtes sur la page 1sur 26

Refonte du système

d’information de l’ASP
Marc HERMAN
Capgemini 2009
Sommaire
Capgemini
L’Agence de Service et de
Paiement
Le projet DEFI
Gestion des anomalies
Intégration continue
Tests de performances
Refactoring et développement
Capgemini
Une des
premières SSII
mondiales
1 octobre 1967
par Serge
Kampf
Capgemini
91 621
collaborateurs
32 pays
Capgemini
L’ASP
ASP = Agence de Service et de
Paiement
Fusion de :
◦ CNASEA = Centre National pour
l’Aménagement des Structures
des Exploitations Agricoles
◦ AUP = Agence Unique de Paiement
L’ASP
 454 436 stagiaires
◦ 301 millions d'euros
pour l'Etat
◦ 395 millions d'euros
pour les Régions
 267 243 bénéficiaires de
contrats emploi-
solidarité (CES)
◦ 0,786 milliard d'euros
 104 193 bénéficiaires de Formation
Domaine
professionnel
contrats emploi- le agricole

consolidé (CEC)
◦ 0,896 milliard d'euros
 17 887 bénéficiaires de
contrats nouveaux
services, emplois-
jeunes
DEFI
Pourquoi
◦ Transfert de compétence de l’Etat
aux régions pour la formation
professionnelle
◦ Etat = Livre IX
◦ Régions = ?
Comment
◦ Refonte du système d’information
pour répondre aux exigences des
régions
DEFI
4000 jours hommes
60 personnes sur 3 sites
Contrat au forfait

Gestion de projet
◦ Méthode Y
◦ Scrum

DEFI
Architecture Complexe
◦ Imposée par le client
◦ Inscrite dans l’architecture logicielle
de l’ASP
◦ Réutilisation des services existants
Nouvelles technologies
◦ SOA light
◦ J2EE Struts
◦ Maven 2
DEFI ServeursHTTP

Client Internet

Serveursapplicatifs

Client

Moteursde base de données Servicesdistants

NPS

TI
DEFI
Gestion des anomalies
Réouverture de
l’anomalie
Tests fonctionnels

Assignation
d’une anomalie
au responsable
du processus Confirmation de
la correction
fermeture de
l’anomalie

Correction des anomalies Validation par le responsable des tests

Passage de
l’anomalie à
l’état : résolu
Gestion des anomalies
Tests fonctionnels
◦ Lectures de scénarii décrivant un
cas fonctionnel
◦ Exécution du scénario et
vérification des résultats
◦ Référence aux SFD si besoin
◦ Ouverture d’un bug sur Bugzilla

Rébarbatif
mais utile à la
compréhension fonctionnelle du
projet
Gestion des anomalies
Correction des anomalies

Lecture du bug compréhension de la nature du problème

de l’erreur sur le serveur de test ainsi que sur le projet déployé localement sur

Recherche de l’origine du problème


Niveau général : couche
Compréhension du problème au niveau du code
ème technique : erreur de codage, régression,…
Niveau détaillé : processus, service, clas
Correction de l’anomalie

tionnel : oubli ou conflit au niveau des spécifications


Confirmation par les testeurs de la correction
Gestion des anomalies
Instructif sur la manière de coder
◦ S’imprégner du code du projet
◦ Rencontrer les principales sources
d’erreurs
Intégration continue
Passage régulier (continu) de
tests et d’outils de qualité de
code afin de connaître l’état du
projet, son évolution et détecter
les régressions
◦ Donne un référentiel
Serveur d’intégration en panne
depuis mon arrivée sur le projet
Intégration continue
Cyclede production basé sur
Maven 2
◦ Fichier de configuration (POM) de
type XML
Principaux problèmes
◦ Version des librairies utilisées
◦ Non configuration des outils

M’a permis de comprendre de


manière précise l’architecture
technique du projet
Intégration continue
Tests de performance
Nombre d ’ utilisateurs simultanés <100 >100
Perception
Temps d'affichage des pages de 1 sec. 1 sec
mauvaise des
connexion
performances
Temps d'affichage des pages de
consultation simple
1 sec. 3 sec

de l’application
Temps d'affichage des pages de 3 sec. 5 sec
transaction simple de mise à jour
Besoin de définir
un périmètre
Temps d'affichage des pages de 10 sec. 15 sec
transaction
 complexe de mise à jour

OpenSTA
Temps d'affichage des interactions 2 sec. 4 sec
ponctuelles - mise à jour de données
métiers

Temps d'affichage des éditions ( type 4 sec. 4 sec


pdf )
Tests de performance
Tests de performance
Tests de performance
Refactoring et
développement
Inversion de contrôle
◦ Découplage des couches
◦ Framework Hivemind
Injection
de dépendances pour la
conversion des objets métiers
◦ Découplage de la couche de
coordination avec les converters
◦ Framework Dozer
Refactoring et
développement
Problèmes de qualité de code
Antériorité du code avec des
standards mis en place sur le
projet
Présence de nombreux bouchons
Manques de fonctionnalités

 => Réécriture de certains écrans
de l’application
Conclusion