Développement d'une application web de gestion de l'instruction ...

De
Publié par

         Développement d'une  application web de   gestion  de l'instruction  professionnelle des   opérateurs et contrôleurs  aériens utilisant Java et  Struts        Auteur  Cyril Mottier Maître De Stage  Sgt Michel Gavois Entreprise  Armée de l'Air Etablissement  INSA de Rennes Année  3 Département  Informatique Période  02.07.07 – 31.08.07   Version : 07 septembre 2007   
  • développement  d'application  web 
  • armée de l'air 
  • mode  de 
  • et  communes  à 
  • créer  le  serveur applicatif 
  • application 
  • utilisation d'un 
  •  l'assi a pour missions prioritaires  d'assurer la cohérence et la mise à jour du système d'information global et de veiller à la disponibilité 
  •     
  •    http://www.easychair.org/conferences/?conf=nplaphasia2012   
  •    http://www.unpei.org/knowledge‐resources/publications.html .    
  •    http://www.univ‐littoral.fr/inscription/validation_etudes.htm   
  •    http://climatechange.worldbank.org/content/social‐dimensions‐adaptation‐climate‐change.   
Publié le : mercredi 28 mars 2012
Lecture(s) : 67
Tags :
Source : pro.cyrilmottier.com
Nombre de pages : 30
Voir plus Voir moins

 
 
 
 
 
Développement d’une 
application web de  
gestion  de l’instruction 
professionnelle des  
opérateurs et contrôleurs 
aériens utilisant Java et 
Struts 
 
 
 
Auteur  Cyril Mottier
Maître De Stage  Sgt Michel Gavois
Entreprise  Armée de l’Air
Etablissement  INSA de Rennes
Année  3
Département  Informatique
Période  02.07.07 – 31.08.07
 
Version : 07 septembre 2007  Rapport de stage – Cyril Mottier 
3INFO – année 2006/2007 
 
Table des matières 
Remerciements ....................................................................................................................................... 3 
I.  Introduction ...... 4 
A.  Présentation de l’entreprise ........................................................................................................ 4 
B.  Le réseau SIGAPAIR ..................................................................................................................... 5 
C.  Le sujet du stage .......................................................................................................................... 6 
II.  Giproca : une application web utilisant Struts ................................................................................ 6 
A.  Présentation du besoin ............................................................................................................... 6 
B.  Etude de l’existant ....................................................................................................................... 7 
C.  Analyse du problème ................................................................................................................... 8 
D.  Développement de l’application ................................................................................................. 8 
1.  Choix des technologies utilisées .............................................................................................. 8 
2.  Préparation de l’environnement de travail ............................................................................. 9 
3.  Réalisation d’un template complet ......................................................................................... 9 
4.  Développement de l’application ........................................................................................... 10 
i.  Le framework Struts .......................................................................................................... 10 
ii.  La démarche de développement d’une application utilisant Struts .................................. 11 
iii.  Exemple de développement d’un formulaire de recherche ............................................... 11 
iv.  Notions supplémentaires utilisées ..................................................................................... 12 
III.  Conclusion ................................................................................................................................. 13 
IV.  Annexes ...... 14 
Diagramme des classes UML de l’application (Fig 1) ........................................................................ 15  des classes UML de la partie ressources humaines (Fig 2) ............................................ 16 
Copie d’écran de l’interface graphique de Giproca (Fig 3) ................................................................ 17 
Diagramme de Gantt de mon stage (Fig 4) ....................................................................................... 18  des cas d’utilisation (Fig 5) ............................................................................................ 18 
RechercheActionServlet.java (Code 1) ............................................................................................... 19 
Les différents JavaBean (Code 2) ....................................................................................................... 21 
RechercheMulticriteresAction.java (Code 3) ..................................................................................... 23 
Les vues de la recherche (Code 4) ...................................................................................................... 28 
Struts‐config.xml (Code 5) ................................................................................................................. 29 
V.  Références ..................................................................................................................................... 29 
VI.  Glossaire ..... 30 
 
2 | Page  
 Rapport de stage – Cyril Mottier 
3INFO – année 2006/2007 
 
Remerciements 
 
Mes remerciements vont aux personnes suivantes : 
Tout d’abord le Lcl (Lieutenant Colonel) Wulfran Vanneron sans lequel ce stage n’aurait pu 
être réalisé. Il m’a sympathiquement accueilli dans son unité et m’a confié une part non négligeable 
de la réalisation d’un projet conséquent. Il a été d’un grand soutien lors de la relecture de ce rapport 
de stage. 
Le Sgt (Sergent) Michel Gavois pour son attention lors de la réalisation du projet. Sa réactivité 
et la qualité de son écoute ont été motivantes et instructives. Il a su répondre à mes questions, tant 
techniques que conceptuelles ou fonctionnelles, et a examiné mes codes sources et mes écrits. 
Le Cdt (Commandant) Lerousseau, le Cne (Capitaine) Lajoie et le Maj (Major) Valade pour 
leur présentation de l’existant et leurs réponses aux questions sur le projet final souhaité. 
L’ensemble des membres de l’ASSI 01.617 qui m’ont gentiment accueilli. Ils ont également su 
répondre à mes interrogations concernant leurs activités sur le réseau SIGAPAIR en conservant une 
atmosphère de travail conviviale et détendue. 
3 | Page  
 9
9
9
9
Rapport de stage – Cyril Mottier 
3INFO – année 2006/2007 
 
I. Introduction 
A. Présentation de l’entreprise 
 
L’Armée de l’Air fait partie, au même 
titre que la Gendarmerie Nationale, l’Armée 
de Terre et la Marine Nationale, du Ministère 
de la Défense. Créée en 1933, elle dispose 
aujourd’hui de plusieurs bases aériennes en 
métropole  ainsi  qu’en  outre‐mer  et  à 
l’étranger. 
Mon stage s’est déroulé sur le site de Cinq Mars La Pile rattaché à la BA 705 (Base Aérienne) 
de Tours. Situé à 25km à l’Ouest de Tours, ce site regroupe sur 25 hectares, 2 missions principales : 
La surveillance et le contrôle aérien, 
La gestion des entrepôts de l’Armée de l’Air ; 
Cette première mission est garantie par le CDC 07.927 (Centre de Détection et de Contrôle). Il as‐
sure les missions de sûreté aérienne ainsi que le contrôle de la circulation aérienne militaire. Il est 
également chargé de la coordination des sauvetages en cas d’accidents d’aéronefs civils ou militaires. 
L’EAA 00.609 (Entrepôt de L’Armée de l’Air) réceptionne, stocke et redistribue en fonction des 
besoins et demandes, une partie des matériels servant aux unités de l’Armée de l’Air : pneumatiques 
d’aéronefs, matériels électroniques et informatiques… 
Le site de Cinq Mars La Pile est également chargé, depuis 1994, de la zone aérienne de défense 
Nord. 
L’ASSI  01.617  de  Cinq  Mars  La  Pile  (Antenne  de  Soutien  des  Systèmes 
d’Informations) m’a donc accueilli pendant 2 mois. Depuis 2001, l’Armée de l’Air 
s’est dotée d’un système d’information des ressources humaines appelé SIGA‐
PAIR (Système de Gestion et d’Administration du Personnel de l’armée de l’AIR). 
Ce système relie les organismes de direction des ressources humaines des bases  
aériennes, des commandements et de l’administration centrale. L’ASSI a pour missions prioritaires 
d’assurer la cohérence et la mise à jour du système d’information global et de veiller à la disponibilité 
et à la performance des serveurs informatiques SIGAPAIR. Pour ce faire, l’antenne est séparée en 
deux sections : 
la section « Données » qui tente de conserver la pertinence et la cohérence des informations 
en corrigeant les collisions de données détectées sur le réseau SIGAPAIR. Elle a donc un rôle 
d’administrateur de données en assurant le suivi et la réplication des lignes, 
la section « Système » qui soutient et administre l’ensemble des serveurs et assure le sup‐
port technique national SIGAPAIR. Elle est aussi chargée de distribuer et d’appliquer toutes 
évolutions des applications de production et d’interrogation sur les serveurs et sur les postes 
4 | Page  
 Rapport de stage – Cyril Mottier 
3INFO – année 2006/2007 
 
clients. Elle joue enfin le rôle de développeur logiciel ou système lorsque le commandement 
a besoin d’une application d’importance raisonnable à l’opposé des projets importants géné‐
ralement sous‐traité à des industriels. C’est donc dans le cadre du développement d’une ap‐
plication de taille moyenne que mon stage a été effectué. 
 
Organigramme de l’ASSI 
B. Le réseau SIGAPAIR 
 
SIGAPAIR représente un ensemble de bases de données distribuées et répliquées. 
 
Représentation du réseau SIGAPAIR 
5 | Page  
 9
9
9
9
Rapport de stage – Cyril Mottier 
3INFO – année 2006/2007 
 
Ce réseau met ainsi à disposition des 2500 cadres chargés de la gestion et de l’administration 
d’environ 100 000 personnes (militaires actifs ou de réserve), un outil présentant toutes les garanties 
de fiabilité, de sécurité et de disponibilité. 
Sur le plan fonctionnel, il s’agit de : 
Disposer d’informations individuelles et collectives complètes et fiables, 
Réaliser les travaux d’administration, de gestion ou des études prévisionnelles. 
Sur le plan technique, il s’agit de : 
Mieux utiliser les ressources (matérielles, logicielles, personnelles), 
Responsabiliser les utilisateurs. 
Le  mode  de  fonctionnement  de  SIGAPAIR  est  de  type  client/serveur  en  mode  client  léger. 
L’ensemble du système est déployé sur 62 sites et comprend 60 bases de données, 60 serveurs 
d’application, 120 serveurs de réseaux et 1500 postes clients répartis en France et à l’étranger (Dji‐
bouti, Sénégal, La Réunion …). Les systèmes d’exploitation sont de type UNIX (AIX 4.3) pour les ser‐
veurs de données et Windows NT pour les serveurs bureautiques. Enfin, le SGBD utilisé est Ingres II 
2.0 (Intelligent Graphic RElational System). Ce dernier est considéré comme un SGBD de classe en‐
treprise (au même titre que le très renommé Oracle). 
C. Le sujet du stage 
 
Le CDC de la base de Cinq Mars La Pile est composé de deux escadrons constitués d’une centaine 
de personnes chacun. Afin de mieux gérer les informations sur chacun des militaires de l’unité (une 
unité est le regroupement de plusieurs escadrons), le commandement a demandé à l’ASSI de déve‐
lopper une application permettant d’accéder facilement à l’ensemble des informations propres à 
chaque contrôleur et opérateur (informations générales, grades, licences, stages effectués …). 
L’application, dans un souci de portabilité, a été développée en utilisant le langage Java et le ser‐
veur applicatif Tomcat le tout étant monté sur une plateforme Linux. Le regroupement de ces deux 
technologies permet de créer une application fonctionnant par interface web. 
La réalisation d’une telle application était un projet assez conséquent. Ce dernier était également 
voué à être modifié régulièrement afin de satisfaire aux demandes du commandement et de suivre 
les évolutions des différentes modalités de la banque de ressources humaines militaires (migration 
de SIGAPAIR vers sa version 6 prévue pour début 2008). Afin de faciliter le développement et de sa‐
tisfaire aux contraintes précédemment citées, le framework Struts (version 1.3.8) a donc été utilisé. 
II. Giproca : une application web utilisant Struts 
A. Présentation du besoin 
 
6 | Page  
 Rapport de stage – Cyril Mottier 
3INFO – année 2006/2007 
 
L’unité du CDC est composée d’environ 200 hommes et femmes se relayant chaque jour et 24 
heures sur 24 afin d’effectuer le contrôle et la surveillance de l’espace nord aérien français. Le com‐
mandement du CDC s’occupe donc d’effectuer le management de l’ensemble de ces militaires. Cha‐
cun d’entre eux sont munis d’informations personnelles qui définissent son niveau au sein de l’unité 
(grade, licences obtenues, statut, stages effectués, …). Ces informations étant modifiées assez régu‐
lièrement (une licence doit en moyenne être mise à jour tous les ans), il devenait indispensable au 
commandement de se procurer une application unique donnant accès à l’ensemble des informations 
des contrôleurs et opérateurs aériens présents sur le site de détection de Cinq Mars La Pile. 
Suite à un entretien d’environ 3 heures avec les intéressés (Cdt Lerousseau et Cne Lajoie), il a été 
décidé de réaliser cette application en utilisant une interface web. Cela permettait  une visualisation 
efficace et simple sur un navigateur web. Le client web Firefox 2.x étant disponible sur de nom‐
breuses machines, autorisé par l’Armée de l’Air et simple à installer, il a été choisi comme plateforme 
client. L’application de Gestion de l’Instruction PRofessionnelle des Opérateurs et Contrôleurs Aé‐
riens (Giproca) devait fournir au commandement des informations déjà existantes sur le réseau SI‐
GAPAIR (nom, prénom, situation familiale, visite médicale, passeport, …) et en inclure de nouvelles 
(licences, stages, formation militaire, …). 
Le commandement du CDC étant soucieux du parcours de leurs membres, il avait également de‐
mandé une historisation de la plupart des propriétés des militaires (escadron, grade, situation fami‐
liale, statut, …). 
Pour des raisons de sécurité et de secret militaire (données classées confidentielles person‐
nelles), le commandant Lerousseau avait demandé que l’application permette de définir plusieurs 
niveaux d’accès. Certains profils devaient par exemple avoir tous les droits (écriture et lecture de 
l’ensemble des informations) alors que d’autres ne devait accéder qu’en lecture à certaines informa‐
tions (un sous‐officier ne devait accéder qu’à ses propres informations par exemple). Dans une 
même optique de sécurité, il a été décidé de séparer totalement les informations entre la base de 
données de l’Armée de l’Air (SIGAPAIR) et Giproca. La saisie des informations dites générales ne res‐
tait donc faisable qu’à partir du réseau SIGAPAIR alors que l’ensemble des informations propres au 
CDC devait se faire à l’aide de la nouvelle application. Enfin, une comparaison des deux tables aurait 
lieu de manière quotidienne afin de conserver la cohérence entre les deux systèmes d’informations 
(au jour près). 
B. Etude de l’existant 
 
Comme expliqué ci‐dessus, l’application de suivi peut être séparée en deux parties distinctes. La 
première regroupe l’ensemble des informations personnelles et communes à chaque militaire de 
l’Armée de l’Air (nom, prénom, grade, date d’entrée en service …). Ces informations étaient dispo‐
nibles sur le réseau des ressources humaines de l’Armée de l’Air. La seconde partie s’occupe quant à 
elle de données propres aux militaires du CDC (licences, stages, statut, formation militaire, …). Il 
n’existait en revanche aucune donnée numérique concernant cette partie. Afin de saisir l’ensemble 
des informations, il avait donc été demandé de créer une interface de saisie pour remplir et modifier 
ces ons. 
7 | Page  
 Rapport de stage – Cyril Mottier 
3INFO – année 2006/2007 
 
D’un point de vue applicatif, le projet est parti de zéro : en effet, aucune application de suivi des 
informations concernant les militaires du CDC à interface web n’existait lors de la création de Gipro‐
ca. Il a tout de même était possible de réutiliser une partie du modèle conceptuel de donnée de SI‐
GAPAIR afin de modéliser la première partie du projet. 
C. Analyse du problème 
 
Suite à l’entretien avec le commandement du CDC et à l’étude de l’existant, nous avons débuté 
l’analyse du problème. Cette analyse consistait simplement à créer le diagramme de classe UML des 
données nécessaires à l’application Giproca. Ce diagramme devait néanmoins présenter une archi‐
tecture permettant un développement propre et facile de notre interface web. Comme le montre le 
schéma de la figure 1 (voir Annexe), le modèle de l’application comportait un ensemble important 
d’objets différents. Mon stage ne durant que 9 semaines, il m’a donc été demandé de ne réaliser 
qu’une partie de l’application. Cette partie est représentée sur la figure 2 (voir Annexe) et ne con‐
cerne en réalité que les données directement rattachées à une personne disponibles sur le réseau 
des ressources humaines de l’Armée de l’Air. 
A l’aide d’un logiciel de génie logiciel (PowerAMC), ce diagramme UML a ensuite été transformé 
en un modèle conceptuel de donnée (MCD). Ce même logiciel a finalement permis de générer d’une 
part les tables de la base de données et d’autre part les classes Java (classes métiers) permettant le 
développement  de Giproca. 
D. Développement de l’application 
1. Choix des technologies utilisées 
 
Giproca a été réalisée à l’aide du langage Java. Cette technologie qui jouit en outre d’une noto‐
riété indéniable dispose d’un modèle objet parmi les meilleurs du marché. Elle permet également 
aux logiciels d’être exportables sur n’importe quelle plateforme (Windows Nt, Linux, …). Le Java dis‐
pose ensuite d’un framework conséquent et permettant l’accès aux bases de données relationnelles 
telle que PostgreSQL grâce au JDBC (Java DataBase Connectivity). Enfin, le projet ne nécessitait abso‐
lument pas de manipulation système. Il s’en suit donc que l’utilisation d’un langage dit bas niveau 
comme le C ou C++ n’était pas utile ou bénéfique. 
Le SGBD (Système de Gestion de Base de Données) choisit était donc PostgreSQL. Cette base de 
donnée est autorisée par l’Armée de l’Air est fait figure d’exemple parmi les différents SGBD libres du 
marché. Pour finir, PostgreSQL est toujours maintenu par une communauté active d’informaticiens. 
Le serveur applicatif exploité pour réaliser Giproca se nomme Tomcat. Il a été utilisé pour les 
même raisons que PostgreSQL. 
Enfin, dans le but d’obtenir un code dit propre et séparant au mieux le design du contenu dyna‐
mique, le développement s’est posé sur le framework Struts dans sa version 1.3.8. L’utilisation de 
cette technologie permet par la suite une modification simple de l’application puisqu’elle suit le mo‐
dèle MVC (voir explication plus bas). 
8 | Page  
 9
9
Rapport de stage – Cyril Mottier 
3INFO – année 2006/2007 
 
2. Préparation de l’environnement de travail 
 
Afin de réaliser le projet, il a fallu installer un environnement de travail complet puisque l’équipe 
de développement de l’ASSI ne programmait principalement ses applications web qu’en PHP‐MySQL. 
La préparation de notre environnement de travail s’est donc décomposée en deux étapes : 
la création d’un serveur web, 
l’installation d’un IDE sur station de développement. 
L’installation du serveur a débuté par la mise en place de l’OS Linux (distri‐
bution Mandriva 2006) sur une machine de la marque Bull. Il a ensuite été né‐
cessaire de créer le serveur applicatif Java. Nous avons donc commencé par 
installer la machine virtuelle Java. L’application Tomcat a ensuite été mise en  
place. Couplée à la machine virtuelle Java, elle permet, à l’instar d’Apache, de faire office de serveur 
Java (et non PHP ou http comme le fait couramment Apache).  
Nous étions maintenant pourvu d’un serveur applicatif mais sans grand inté‐
rêt puisque ce dernier ne disposait d’aucune base de donnée relationnelle. Nous 
avons  donc  intégrer  le  SGBD  PostgreSQL  à  notre  plateforme  Linux.  Suite  à 
l’installation de cette base de données, la création d’identifiants et de mots de 
passe de connexion a été réalisée afin de gérer les droits d’accès au SGBD de notre serveur applicatif. 
Enfin, dans le but de faciliter notre travail au sein de l’équipe, j’ai pro‐
posé un utilitaire de travail collaboratif utilisé lors du projet de fin de troisième année: Subversion 
(successeur de CVS). Les membres de l’équipe ont alors décidé d’essayer cette application facilitant 
le travail en groupe et facilitant les retours et changements de version. Pour ce faire, nous avons 
installé le serveur Subversion sur notre machine Linux. 
Dans un deuxième temps, j’ai débuté l’installation des stations 
de développement. Dans le but de faciliter et d’optimiser le déve‐
loppement, j’ai monté un serveur local Tomcat sur chacune des ma‐
chines de travail. Cela évitait des pertes de temps inutiles de connexion ftp ou ssh et de redémarrage 
du serveur. 
Finalement, l’interface de développement utilisée a été le célèbre 
IDE Eclipse. Cet IDE a fait ses preuves dans le monde professionnel et 
est également autorisé par l’Armée de l’Air. Afin d’orienter l’interface 
de développement vers la création d’applications web, j’ai intégré le 
plugin WTP (Web Tools Platform) ainsi que Struts à l’ensemble des  
stations de travail. Le plugin Subclipse faisant office de client Subversion a été installé afin d’autoriser 
le travail collaboratif. 
3. Réalisation d’un template complet 
 
9 | Page  
 Rapport de stage – Cyril Mottier 
3INFO – année 2006/2007 
 
Contrairement à une entreprise dite classique, l’Armée de l’Air se doit de créer intégralement ces 
applications. L’ensemble des technologies utilisées dans l’Armée de l’Air ont, au préalable, été vali‐
dées par un organisme spécial. C’est la raison pour laquelle il a fallu créer l’esthétique complète du 
site. Etant déjà accoutumé à ce genre de développement et puisque l’analyse du problème (création 
des diagrammes de classes UML, MCD, …) était en cours, on m’a demandé de créer un template 
complet. Ce template devait présenter une interface web ergonomique et claire. Vu l’importance de 
l’application, il semblait indispensable que l’interface soit munie d’un grand nombre de menus. J’ai 
donc choisi de créer un menu horizontal constitué d’onglet eux même munis de sous menus. La réali‐
sation de ce template a été effectuée en suivant les normes XHTML Strict 1.1 et CSS 2.1 du W3C 
(World Wide Web Consortium). Fonctionnant sous Opera 9 et Internet Explorer 7, ce template 
n’avait besoin d’être compatible qu’avec le navigateur Firefox 2.x. Pour satisfaire aux différentes 
résolutions des écrans du CDC, le template s’adapte à la résolution de l’écran sur lequel il s’affiche à 
condition que cette dernière soit supérieure ou égale à 800x600 pixels. Une copie d’écran est dispo‐
nible en annexe sur la figure 3. 
4. Développement de l’application 
i. Le framework Struts 
Struts  est  un  framework  du  développement  d’application  web  du  projet  Jakarta  Struts  de 
l'Apache Software Foundation. Il cherche à fournir un cadre standard de développement d'applica‐
tion web en Java respectant l'architecture dite MVC (Modèle‐Vue‐Contrôleur). Struts utilise des 
technologies standards : Java Servlets, JavaBeans, ResourceBundles, et XML. 
Le modèle MVC cherche à définir une méthode de programmation permettant de séparer les 
trois aspects principaux d’un projet : le modèle qui représente l’ensemble des bases de données 
et/ou objets contenant l’information utile à l’application, la vue qui représente l’esthétique du site et 
l’ensemble des données graphiques fournies à l’utilisateur par l’interface web et le contrôleur qui fait 
office de passerelle entre le modèle et la vue en effectuant les opérations de connexion nécessaires. 
On peut donc représenter ce  à l'aide du schéma représenté ci‐dessous. 
 
Schéma de l’architecture type d’une application utilisant Struts 
10 | Page  
 

Soyez le premier à déposer un commentaire !

17/1000 caractères maximum.