Beruflich Dokumente
Kultur Dokumente
Nous tenons à remercier également Monsieur Zaamoune, pour avoir bien voulu
nous encadrer et nous guider dans la conception et la réalisation de notre application.
Enfin, nous remercions Monsieur Nabil du CED pour son aide précieuse dans la
compréhension de la GIPE.
Et que tous ceux qui ont attribué de près ou de loin à l’élaboration de ce travail
trouvent ici, l’expression de notre profonde gratitude.
Projet de Fin d’Etudes 2003/2004
Abréviation Désignation
CPS Cahier des Prescriptions Spéciales
GIPE Gestion Intégrée du Personnel de l’Etat
GP Gestion du Personnel
GRH Gestion de Ressources Humaines
J2EE Java 2 Entreprise Edition
MCD Modèle Conceptuel de Données
MERISE Méthode d’Etude et de Réalisation Informatique par Sous Ensembles
MPD Modèle Physique de Données
MVC Modèle-Vue-Contrôleur
SGBD Système de Gestion de Bases de Données
UML Unified Modelling Language
3
Projet de Fin d’Etudes 2003/2004
4
Projet de Fin d’Etudes 2003/2004
SOMMAIRE
INTRODUCTION GENERALE……………………………………………… 7
5
Projet de Fin d’Etudes 2003/2004
CONCLUSION GENERALE……………………………………………….... 66
BIBLIOGRAPHIE…………………………………………………………….. 67
6
Projet de Fin d’Etudes 2003/2004
INTRODUCTION GENERALE
7
Projet de Fin d’Etudes 2003/2004
Introduction........................................................ 9
1.1 Présentation de FORINFO.......................... 9
1.2 Description du projet................................... 13
Conclusion........................................................... 13
8
Projet de Fin d’Etudes 2003/2004
Introduction
Dans cette partie nous présentons l’organisme d’accueil au sein duquel nous avons
passé notre projet de fin d’étude à savoir FORINFO.
Nous présentons également une description complète de l’application.
Alliant souplesse dans les structures et rigueur dans les méthodes, FORINFO,
hormis les départements Administratif et Commercial, agit aujourd’hui à travers les
départements suivants, dont nous indiquons les spécificités :
9
Projet de Fin d’Etudes 2003/2004
- Audit Informatique
- Suivi de Performance
10
Projet de Fin d’Etudes 2003/2004
plus de 70 % des départements ministériels ont été touchés par une prestation
de service FORINFO
11
Projet de Fin d’Etudes 2003/2004
12
Projet de Fin d’Etudes 2003/2004
GIPE est un progiciel conçu par le CED du ministère des finances pour gérer les
situations administratives des employés. Certains ministères utilisent GIPE, d’autres
ont conçu leur propre système, tandis que le reste ne possède pas ce progiciel.
Les administrations publiques n’accordaient pas d’importance à la gestion des
ressources humaines (GRH), ou la confondait avec la gestion du personnel (GP).
Se contenter de GIPE pour réaliser les deux fonctions (GRH et GP) s’avère
insuffisant. Notre projet consiste à concevoir et réaliser deux modules pour la gestion
des appels à candidatures et de la formation pour les administrations publiques. Ces
modules peuvent intégrer des fonctionnalités intervenant dans le cadre de la GIPE. Ils
peuvent aussi ne pas les intégrer (cela dépend du besoin du client).
Ces modules devant être disponibles pour tous les employés des ministères, il s’agit
donc de les déployer sur le Web.
Notre application suit une architecture 3-tiers. Sa partie traitement est exécutée au
niveau d’un serveur Web, l’accès à la base de données se fait via un serveur de
données tandis que le client utilise un navigateur.
La séparation entre les trois couches : présentation, traitement et logique métier nous
conduit à adopter le standard MVC dans la conception de notre application.
Enfin, notre projet est réalisé en utilisant l’environnement de développement J2EE.
Cela assure des critères de portabilité et de stabilité exigés pour notre application.
Conclusion
Notre application est développée pour le compte de FORINFO. Elle est composée
de deux modules en relation avec les ressources humaines à savoir la gestion de la
formation et des appels à candidature. Elle est destinée aux administrations publiques
et elle est réalisée selon l’architecture 3-tiers et le modèle MVC.
13
Projet de Fin d’Etudes 2003/2004
14
Projet de Fin d’Etudes 2003/2004
Introduction........................................................... 15
2.1 Analyse de l’existant....................................... 15
2.1.1 GIPE...................................................... 15
2.1.2 Gestion des appels à candidatures...... 17
2.1.3 Gestion de la formation....................... 18
2.2 Spécification des besoins................................ 21
2.2.1 Cahier des charges............................... 21
2.2.2 Assurance qualité................................. 23
Conclusion............................................................. 25
15
Projet de Fin d’Etudes 2003/2004
Introduction
Dans ce chapitre nous présentons l’analyse de l’existant. Cette analyse permet
d’une part de comprendre les procédures utilisées par les ministères et d’autre part de
cerner les fonctionnalités à intégrer dans notre application.
Ensuite nous définissons le cahier de charges de notre projet qui contiendra les
objectifs de l’application et l’assurance qualité.
2.1.1 GIPE
Ce progiciel est destiné aux administrations publiques, il est développé par le CED
(Centre des Engagements et des Dépenses) en 1995 en utilisant Oracle Developper
2000 et une base de donnée Oracle ou SQLServer selon le choix de l’utilisateur. Il est
composé de 3 volets :
Administration
Paramétrage
Utilisateur
Le volet qui nous intéresse est celui de l’administration. Il est constitué de 5 modules :
Dernière situation, loi cadre, gestion des actes, codification et GRH. Mais nous avons
axé notre étude uniquement sur les trois premiers modules.
Le module « dernière situation » est composé de trois menus :
Dernière situation de l’agent : Ce menu offre un certain nombre de fonctionnalités
comme le chargement des données du CED, le contrôle des données chargées, la
mise à jour de la dernière situation (Services antérieures, Interruptions, Conjoints,
Enfants, Diplômes, Indemnisation...) et la visualisation de l’historique de l’agent.
16
Projet de Fin d’Etudes 2003/2004
Préparation des actes de gestion (avec une recherche des actes en préparation et
un regroupement des mouvements dans une même référence d’arrêté).
Traitement de plus de 150 types de mouvements administratifs et familiaux
groupés dans une trentaines de classes de procédures types. L’automatisation
couvre tout le processus de traitement des actes de gestion. En effet, de chaque
état de l’acte on peut revenir à l’état précédent, en annulant automatiquement
les traitements déjà effectués. Les états possibles d’un acte sont : préparé,
proposé, validé, signé, visé (ou bien rejeté).
Signature des actes (on peut annuler l’acte et donc son état devient préparé, et
on peut annuler sa signature et dans ce cas il devient dans un état validé et non
signé).
Envoi des actes au CED dans un support magnétique avec Bordereau.
Prise en charge des réponses du CED (actes visés ou rejetés).
Le module de gestion de la loi cadre intègre tous les aspects de traitement des
postes budgétaires : la préparation de la loi cadre et des errata, sa prise en charge
automatique, son individualisation ainsi que le suivi de la situation des postes
budgétaires.
Les informations relatives aux postes budgétaires sont par conséquent mises à jour
de deux manières : soit par l'individualisation des mouvements de la loi cadre qui agit
sur le type du poste et l'entité à laquelle il appartient, soit par le visa des actes de
gestion qui a un impact sur la situation des postes budgétaires.
17
Projet de Fin d’Etudes 2003/2004
Ceci étant pour l’existant logiciel, en ce qui concerne l’existant procédural nous
avons eu des entretiens avec un certain nombre d’administrations (le ministère
d’agriculture, le ministère de l’habitat) pour collecter les informations et les documents
nécessaires. Nous avons remarqué que leurs besoins se situent au niveau de la gestion
des appels à candidatures et la gestion de la formation. Dans ce qui suit nous
présentons un compte rendu de ces réunions.
18
Projet de Fin d’Etudes 2003/2004
19
Projet de Fin d’Etudes 2003/2004
Une fois le marché est soumis avec un prestataire, ce dernier est tenu d’exécuter le
marché par phase et selon un planning.
Les formations
Les sessions sont organisées en cycles de formation. Chaque cycle concerne un thème
à une période calculée en nombre de jours et pour un nombre déterminé de groupes.
Chaque cycle est exécuté sur une ou plusieurs sessions. Chaque session concerne un
groupe avec un nombre de personnes, à une période et sera effectué dans un lieu de
formation.
Les animateurs
Dans le cas des animateurs internes eux même font partie du personnel du ministère.
Le service des formations les désigne pour des thèmes spécifiques. Ces animateurs
bénéficieront d’un budget de vacation.
Quand les formations sont assurées par un fournisseur ou une société de formation, les
animateurs désignés par le fournisseur seront payés par le fournisseur.
20
Projet de Fin d’Etudes 2003/2004
Les participants
Les participants sont les personnes qui bénéficieront des formations. Ils font partie du
personnel du ministère, ils peuvent provenir des différentes directions, des différentes
divisions et des différents services.
Quand le service de formation organise des cycles de formation, il envoie des
formulaires / canevas aux différentes directions leur demandant de désigner des
personnes pour bénéficier de la formation d’un thème spécifique.
Au niveau des directions, les canevas seront remplis par les informations suivantes :
noms, services et divisions des personnes. Puis ces canevas seront retournés au service
formation.
Le service de formation organise les participants dans des groupes et affecte ces
groupes aux cycles de formation dont ils vont bénéficier.
21
Projet de Fin d’Etudes 2003/2004
22
Projet de Fin d’Etudes 2003/2004
En plus des objectifs communs, chaque module doit satisfaire des fonctionnalités
spécifiques.
En ce qui concerne le module des appels à candidatures, il doit permettre :
Aux chefs de départements de saisir les appels à candidatures sur notre site
Web.
A la DRH de visualiser les appels saisis et de les valider.
Aux employés de consulter les appels validés et de s’inscrire.
A la DRH de visualiser les inscriptions et de prendre la décision convenable
(accepté pour entretien, condition non remplies, dossier incomplet…).
A la DRH de générer le contenu des lettres et des emails automatiquement
selon la nature de la décision.
A la DRH de modifier ce contenu avant l’envoi.
A la DRH d’affecter au poste celui qui le mérite le plus, les autres sont
automatiquement non admis. Et ceci est effectué pour chaque appel.
23
Projet de Fin d’Etudes 2003/2004
24
Projet de Fin d’Etudes 2003/2004
25
Projet de Fin d’Etudes 2003/2004
Conclusion
Notre existant est divisé en deux types : logiciel qui est la GIPE, et procédural qui
concerne la gestion des appels à candidatures et de la formation. L’analyse de cet
existant permet d’abord de mieux comprendre les procédures utilisées par les
ministères et par la suite de cerner les fonctionnalités à intégrer dans les deux modules
de notre application.
Ces modules, selon le cahier de charge, doivent être développés sur le Web en utilisant
la technologie J2EE. Ils doivent aussi respecter l’architecture 3-tiers et le standard
MVC. En plus, les deux modules doivent respecter un certain nombre de critères
assurance qualité tels que la portabilité, la maintenabilité et la réutilisabilité.
26
Projet de Fin d’Etudes 2003/2004
27
Projet de Fin d’Etudes 2003/2004
Introduction................................................................ 27
3.1 Conception des traitements................................. 27
3.1.1 Module des appels à candidatures.............. 27
3.1.2 Module de la formation............................... 31
3.2 Conception de la base de données...................... 36
3.2.1 Le dictionnaire des données........................ 36
3.2.2 Les règles de gestion.................................... 37
3.2.3 Modèle conceptuel de données................... 38
3.2.4 Modèle physique de données...................... 39
Conclusion.................................................................. 40
28
Projet de Fin d’Etudes 2003/2004
Introduction
Dans ce chapitre nous présentons la conception des deux modules de notre
application à savoir : les appels à candidatures et la formation. Cette conception est
axée sur deux parties : traitements et données. Après une collecte de données
manipulées au niveau du système étudié, nous détaillons les différents schémas
conceptuels associés à chacun des deux modules.
29
Projet de Fin d’Etudes 2003/2004
30
Projet de Fin d’Etudes 2003/2004
<<utilise>>
<<utilise>>
<<utilise>>
<<utilise>> identification
Informations sur l'appel
Traitement des appels
statistiques
historique
Departement
inscription
Agent
31
Projet de Fin d’Etudes 2003/2004
Diagrammes de séquence
Un diagramme de séquence montre les interactions qui surviennent dans une
séquence de temps d’un scénario donné. Nous nous limitons dans cette présentation
aux deux scénarios suivants : « informations sur les appels à candidature », et
« inscription ».
S'identifier
Valider
choisir un appel
demander les résultats
Figure 3.2 : Diagramme de séquence pour le scénario « informations sur les appels »
32
Projet de Fin d’Etudes 2003/2004
Valider
Selectionner l'appel
S'inscrire
33
Projet de Fin d’Etudes 2003/2004
Diagramme de collaboration
Les diagrammes de collaboration montrent les flots de données entre les objets
ainsi que les liens qui existent entre ces objets. Nous allons nous intéresser au scénario
du « traitement des inscriptions » par la DRH.
Valider
1: S'identifier
: DRH Appels à
candidatures
3: Consulter
Examiner
Inscription
4: Envoyer Emails et
lettres de réponses
: Agent
34
Projet de Fin d’Etudes 2003/2004
<<utilise>>
MAJ du planning
Pré_inscription
Agent Département
35
Projet de Fin d’Etudes 2003/2004
Annonce des thèmes : La DRH annonce la liste des thèmes retenus dans un
marché particulier et fixe le nombre de groupes autorisé pour chaque
département.
Mise à jour des inscriptions : chaque département détermine la liste définitive des
candidats et l’envoie à la DRH.
36
Projet de Fin d’Etudes 2003/2004
Mise à jour du planning : la DRH établit un planning dans lequel elle organise les
sessions et les personnes participantes dans chaque session.
Diagrammes de séquence
Nous prenons l’exemple des scénarios suivants : «définition des besoins», et
«analyse des pré-inscriptions».
Valider
choisir un programme
Voir les modules
Selectionner un thème
S'inscrire
37
Projet de Fin d’Etudes 2003/2004
Valider
Choisir un programme
Génerer le CPS
Diagramme de collaboration
Dans notre cas nous allons nous intéressé au scénario : « annonce des besoins » par
la DRH.
38
Projet de Fin d’Etudes 2003/2004
Valider
1: S'identifier
Identification_form 2: Créer nouveau programme
: DRH
Programme
Module
Thème
4: Saisir les thèmes
: Département
39
Projet de Fin d’Etudes 2003/2004
40
Projet de Fin d’Etudes 2003/2004
Une fois le dictionnaire de données établi, nous pouvons mettre au point le Modèle
conceptuel de données suivant les spécifications de la méthode MERISE. Ceci étant
dit, la liste des règles de gestion s’avère d’une importance majeure :
41
Projet de Fin d’Etudes 2003/2004
42
Projet de Fin d’Etudes 2003/2004
Marché 1,n
1,n
RefMar Module
ObjMar RefMod
DatNot Contient DesMod
Prestataire DelMar NbrMod
1,n
RefPre 1,n PriMod
NomPre
1,1
AdrPre
Thème_Mar Theme
VilPre 1,n
1,1
TelPre AniThe RefThe
1,1
FaxPre IntGrh DesThe
EmaPre 1,n ConThe
correspond
PubThe
Detail_pro 1,nObjThe
NbrDem
NbrRet 1,n
1,n 1,n PriThe 0,n
NbrGro Session
Programme DurThe
RefSes
RefPro NbrPer Avoir 1,1
Des_Effectif LieSes
ObjPro
DatDeb
NbrPar DatPro
0,n DatFin
Inscription_form 1,n
1,n EtaIns
Departement Date
1,n
RefDep Date 0,n
DesDep Formation_groupe
Agent
EmaDep
RefAge
FaxDep
CinAge
ResDep 0,n
1,n NomAge
PreAge
FonAge
Appartient GraAge
1,1
TelAge
VilAge
AdrAge
1,n EmaAge 1,n
Entretien
RefEnt
ComEnt
Inscription_appel
DatEnt
HerEnt DatIns
Appel de candidature ResIns
ResEnt
RefApl 0,n
RefPos
0,n
DatEch
PapIns
DatApl
EtaApl
ComPos
QuaPos
43
Projet de Fin d’Etudes 2003/2004
MARCHE
REFMAR int MODULE
OBJMAR text REFMOD int
DATNOT datetime DESMOD text
DELMAR int REFMOD = REFMOD NBRMOD int
PRESTATAIRE PRIMOD int
THEME_MAR
REFPRE int
REFTHE int
NOMPRE text
ANITHE text REFTHE = REFTHE
ADRPRE text
INTGRH text
VILPRE text THEME
TELPRE int REFPRE = REFPRE
CORRESPOND REFTHE int
FAXPRE int REFMOD int
REFPRE int
EMAPRE text DESTHE text
REFPRO int
DETAIL_PRO
REFTHE = REFTHE CONTHE text REFTHE = REFTHE
REFPRO int AVOIR
PUBTHE text
REFTHE int REFTHE = REFTHEOBJTHE text REFTHE int
REFPRO = REFPRO
NBRDEM int REFSES int
DES_EFFECTIF NBRRET int REFSES = REFSES
REFPRO = REFPRO
REFDEP text PRITHE int SESSION
REFTHE int NBRGRO int REFSES int
PROGRAMME DURTHE int REFTHE = REFTHE
NBRPAR int LIESES text
REFPRO int NBRPER int DATDEB datetime
OBJPRO text
REFPRO = REFPRO DATFIN datetime
DATPRO datetime INSCRIPTION_FORM
REFTHE int
REFAGE int
REFDEP = REFDEP DATE = DATE REFPRO int
DATE datetime
DATE
ETAINS text
DATE datetime REFSES = REFSES
REFAGE = REFAGE
AGENT
REFAGE int
DEPARTEMENT REFDEP text
REFDEP text REFAGE = REFAGE FORMATION_GROUPE
CINAGE text
DESDEP text NOMAGE text REFSES int
EMADEP text PREAGE text REFAGE int
FAXDEP int FONAGE text
RESDEP text REFDEP = REFDEP
GRAAGE text
TELAGE int
VILAGE text
ADRAGE text
EMAAGE text
REFAGE = REFAGE
REFAGE = REFAGE
APPEL_DE_CANDIDATURE
ENTRETIEN REFAPL int
INSCRIPTION_APPEL
REFAPL int REFPOS text
DATECH datetime REFAPL = REFAPL REFAPL int
REFAGE int
REFENT int PAPINS text REFAGE int
REFAPL = REFAPL DATINS timestamp
COMENT text DATAPL timestamp
ETAAPL bit RESINS bit
DATENT datetime
HERENT datetime COMPOS text
RESENT bit QUAPOS text
Conclusion
44
Projet de Fin d’Etudes 2003/2004
Dans ce chapitre nous avons présenté la conception des traitements des deux
modules du projet à travers les diagrammes d’UML. Le diagramme des cas
d’utilisation contient trois acteurs principaux qui sont : la DRH, le chef de département
et le candidat.
Nous avons également présenté la persistance de la base de données physique en
utilisant le modèle conceptuel de données. Ce modèle tourne autour d’une entité
principale qui est la table Agent de la base de données GIPE.
Le chapitre suivant sera consacré à la description des différentes phases de la mise
en œuvre de l’application.
45
Projet de Fin d’Etudes 2003/2004
Introduction.............................................................................. 42
4.1 Environnement technique................................................. 42
4.1.1 Architecture choisie et outils d’implémentation....... 42
4.1.2 Modèle MVC ............................................................... 44
4.2 Réalisation du module des appels à candidatures........... 46
4.3 Réalisation du module de la formation............................ 57
4.4 Tests et mise au point........................................................ 65
Conclusion................................................................................ 65
46
Projet de Fin d’Etudes 2003/2004
Introduction
Les résultats de développements des deux modules de l’application seront exposés
dans ce chapitre. Nous y trouverons une présentation de l’environnement technique
utilisé, des échantillons des écrans de saisie et quelques états de sortie.
47
Projet de Fin d’Etudes 2003/2004
L’architecture 3-tiers (voir figure 4.1) permet de séparer les objets d’une
application Web sur trois parties :
- Serveur d’applications : pour effectuer les traitements de l’application
- Serveur de bases de données : pour stocker et lire les données
- Browser : pour permettre au client d’accéder à l’application
48
Projet de Fin d’Etudes 2003/2004
Le modèle MVC (Modèle Vue Contrôleur) permet de séparer entre les trois
couches de base de n’importe quelle application Web à savoir : la couche présentation
(ou Vue), la couche métier (ou Modèle) et la couche application (ou Contrôleur).
Pour implémenter ce modèle nous avons utilisé les technologies JSP et Servlets
offertes par la plate-forme J2EE (Annexe2). La figure 4.2 présente le schéma
d’implémentation de ce modèle :
49
Projet de Fin d’Etudes 2003/2004
Voici une description des différentes étapes présentées dans la figure 4.2 :
3. La servlet récupère du modèle les données qui devront être renvoyées à l'utilisateur
et les dépose dans un objet accessible par la JSP.
50
Projet de Fin d’Etudes 2003/2004
- La maintenance : Elle devient plus aisée. En effet, une remise en cause de la charte
graphique de l'application n'aura pas d'impact sur l'application puisque seuls les pages
JSP seront à modifier (les parties servlet et modèle étant indépendant de la charte
graphique). De la même manière, une modification de la structure du système
d'information n'aura pas d'impact sur la partie infographie.
- La sécurité : Elle est garantie avec les servlets. En effet, une servlet ne produit pas
des erreurs fatales sur le serveur d'applications Web par des erreurs de manipulation
mémoire. Son code est compilé, il n'est donc pas possible, en utilisant des failles de
sécurité du serveur d'applications Web d'accéder à des informations sensibles
hébergées dans le code (contrairement aux cgi perl, aux scripts ASP, JSP ou PHP3).
En plus, une servlet ne souffre pas de l'interprétation de Meta caractères (comme les
" |, >, >>, ... " de perl) qui permettent aux " bidouilleurs " d'interagir avec le
gestionnaire de fichier.
51
Projet de Fin d’Etudes 2003/2004
La première page Web qui s’affiche est destinée aux candidats. Ces derniers ne
peuvent accéder qu’aux deux premières fonctionnalités à savoir : « Appels à
candidature » et « Voir les résultats ». Tandis que les deux autres fonctionnalités :
52
Projet de Fin d’Etudes 2003/2004
Chef de département :
53
Projet de Fin d’Etudes 2003/2004
Ils peuvent ainsi visualiser les demandes qui ont été déjà saisies et validées par la
DRH. L’affichage de ces demandes se fait par pages, l’utilisateur peut passer d’une
page à une autre en utilisant soit les liens « suivant » et « précédent » soit le menu
déroulant « Aller à la page ».
Et pour ajouter une nouvelle demande il suffit de cliquer sur le bouton « Ajouter »,
la figure 4.6 s’affiche :
54
Projet de Fin d’Etudes 2003/2004
Le chef de département doit savoir aussi le résultat de sa demande et les informations sur
les candidats qui ont été retenus par la DRH. Ceci est assuré par la deuxième fonctionnalité :
55
Projet de Fin d’Etudes 2003/2004
56
Projet de Fin d’Etudes 2003/2004
Les candidats :
57
Projet de Fin d’Etudes 2003/2004
58
Projet de Fin d’Etudes 2003/2004
DRH :
59
Projet de Fin d’Etudes 2003/2004
Après avoir cliqué sur le bouton « valider », la figure 4.12 apparaît. La DRH
peut alors soit refuser le candidat pour des conditions non remplies soit l’aviser dans
le cas de pièces incomplètes soit l’accepter pour entretien et dans ce cas elle doit
remplir le formulaire qui contient les informations sur cet entretien à savoir : la date,
l’heure, le lieu et la comité.
60
Projet de Fin d’Etudes 2003/2004
Après l‘entretien, le candidat est soit accepté pour le poste ou bien non admis, et
dans les deux cas il sera avisé par des lettres et des emails.
61
Projet de Fin d’Etudes 2003/2004
62
Projet de Fin d’Etudes 2003/2004
63
Projet de Fin d’Etudes 2003/2004
64
Projet de Fin d’Etudes 2003/2004
Lorsque les besoins en matière de thèmes de formations sont définis, la DRH peut
procéder alors à l’opération de lancement d’un nouveau programme. Cette opération
est réalisée avec un bouton «Ajouter » qui existe dans l’écran de mise à jour des
programmes (voir figure 4.17).
65
Projet de Fin d’Etudes 2003/2004
66
Projet de Fin d’Etudes 2003/2004
Le bouton « Voir les thèmes » de la figure 4.17 mène vers une page qui permet de
visualiser et d’effectuer les opérations d’ajout, modification et suppression sur les
thèmes contenus dans un programme (voir figure 4.18).
Après le lancement du programme, la DRH doit imprimer des lettres et envoyer des
e-mails aux chefs de départements pour qu’ils commencent l’opération d’inscription
au programme. La figure 4.19 montre un exemple d’e-mail. Le numéro, la date de
lancement et la date d’échéance du programme ainsi que les e-mails des chefs des
départements sont générés automatiquement.
67
Projet de Fin d’Etudes 2003/2004
68
Projet de Fin d’Etudes 2003/2004
L’opération de l’inscription peut se faire soit par le candidat, soit par le chef de
département. Mais seules les inscriptions qui sont validées par les chefs de
départements qui sont envoyées à la DRH. Pour ajouter une inscription il faut choisir
un thème contenu dans un programme (voir figure 4.21) et remplir un formulaire de
saisie (voir figure 4.22). Le bouton « chargement » permet à l’agent de charger ses
informations à partir d’une base de données existante GIPE ou autre
.
69
Projet de Fin d’Etudes 2003/2004
70
Projet de Fin d’Etudes 2003/2004
Lorsque les inscriptions sont envoyées à la DRH. Cette dernière peut visualiser le CPS
généré (figure 4.23).
71
Projet de Fin d’Etudes 2003/2004
72
Projet de Fin d’Etudes 2003/2004
Après la phase des tests unitaires, les différents composants sont regroupés pour
constituer un système homogène, les tests d’intégration font l’objet de l’étape suivante
qui consiste à vérifier la cohérence entre les différents composants.
En effet, une erreur dans un composant ne doit pas entraîner une panne du système.
Par ailleurs, cette phase aide à mieux personnaliser les messages affichés par notre
application (erreurs, confirmation de modification ou suppression, changement de mot
de passe, …). Ainsi, les tests d’intégration permettent de garder un fonctionnement
correct même si un autre module est ajouté à notre application.
Conclusion
Nous avons présenté dans ce chapitre une vue globale sur les deux modules
réalisés à savoir : les appels à candidatures et la formation. Et ceci à travers une
description de quelques services offerts par notre application tels que : la mise à jour
des programmes par la DRH, la saisie et la validation des inscriptions par les chefs de
départements, ainsi que l’envoi des e-mails et des lettres …etc.
73
Projet de Fin d’Etudes 2003/2004
CONCLUSION GENERALE
74
Projet de Fin d’Etudes 2003/2004
BIBLIOGRAGHIE
[JF1] : www.javafr.com
[J4L2] : www.java4less.com
[CS3] : www.codes-sources.com
[DEV4] : www.developpez.com
[JSF5] : www.javascriptfr.com
[DA6] : www.developers-assosiation.org
[JSC7] : http://java.sun.com/J2EE
[JAO8] : http://jakarta.apache.org
[JT9] : www.jsptut.com
[CCM10] : www.commentcamarche.net
[SIF11] : www-sop.inria.fr
[ORS12] : www.orsys.fr
[SP13] : www.Supinf-Projects.com
[JS14] : www.javaside.com
75
Projet de Fin d’Etudes 2003/2004
La première annexe sera dédiée au dictionnaire de données des deux modules, il regroupe
l’ensemble des données avec leurs descriptions, leurs types, leurs natures, sans oublier les
tables qui leur sont associées. Les données sont groupées par tables, et les tables sont listées
selon leur ordre alphabétique.
76
Projet de Fin d’Etudes 2003/2004
77
Projet de Fin d’Etudes 2003/2004
78
Projet de Fin d’Etudes 2003/2004
NB :
C : champ calculable
NC : champ non calculable
79
Projet de Fin d’Etudes 2003/2004
Cette annexe sera consacrée aux outils techniques que nous avons utilisés dans la phase de
réalisation de l’application. Nous présentons alors la plate forme J2EE (Java 2 Enterprise
Edition), les servlets, le langage JSP (Java Server Page), le serveur Web « Apache » ainsi que
le serveur d’applications Web « Tomcat » qui constitue un moteur d’exécution des servlets et
des pages JSP.
80
Projet de Fin d’Etudes 2003/2004
J2EE est à la fois une spécification technique mature et une industrie dans laquelle
les éditeurs et le monde du Libre se livrent une compétition dont l'utilisateur est le
bénéficiaire en matière choix.
Tout d'abord, Java, qui est à la base de J2EE, est aujourd'hui une technologie majeure
adoptée par l'ensemble de l'industrie logicielle à l'exception de Microsoft. Java
revendique désormais, 8 années après son apparition, plus de développeurs que le
langage Visual Basic. Avant de traiter plus en détails les propriétés de Java coté
serveur avec J2EE, il est important de noter que Java est une technologie très présente
sur le poste client ainsi que sur les périphériques tels que les téléphones portables (78
millions de téléphones vendus), les voitures, les routeurs, les cartes à puces (300
millions de cartes déployées) ou encore les assistants numériques. Toutes ces
technologies embarquées sont regroupées sous le nom de J2ME (Java 2 Micro
Edition). L'évolution de Java est aujourd'hui gérée par le Java Community Process
(JCP), consortium dans lequel siègent tous les acteurs de ce monde Java (plus de 700
membres).
Enfin, le mouvement du Libre est un acteur majeur du développement Java avec de
nombreuses implémentations Open Source.
81
Projet de Fin d’Etudes 2003/2004
Java 2 Enterprise Edition (J2EE) : est une extension de J2SE qui lui rajoute des
technologies pour le développement d'applications d'entreprise (des API) ainsi que
la notion de serveur d'application. J2EE et la notion de serveurs d'application
s'inscrivent dans la démarche d'architecture multi-niveaux aussi appelée
architecture « 3 tiers ». L'objectif d'une telle architecture est de masquer la
complexité d'intégration et de « webification » d'applications existantes (bases de
données, ERP, systèmes mainframe, application maison, …etc.) tout en fournissant
une meilleure qualité de service en recyclant tout ce qui peut l'être (connexions
SGBD, données, ressources, ...) au travers de pools et de caches. Un serveur
applicatif met également en œuvre des systèmes de mise en grappe (clustering) qui
utilisent plusieurs « instances » à des fins de reprise sur erreur.
Cette architecture permet également de répondre à des problématiques de sécurité
avec des topologies réseau qui nécessitent, par exemple, la mise en place d'une
zone démilitarisée (DMZ). J2EE est en quelque sorte le standard pour ces serveurs
d'applications comme LDAP est le standard pour les annuaires d'entreprises.
Le marché de J2EE sur l'année 2002 représente plus de 2 milliards de dollars et il est
en constante croissance. Il s'agit réellement d'une industrie J2EE pour laquelle plus de
trente produits se livrent une compétition autour de valeurs ajoutées. Différents
cabinets d'analystes estiment que J2EE est un standard utilisée pour 90% des serveurs
d'applications. Les technologies d'infrastructure, sous-ensembles de J2EE, telles que
JDBC pour les bases de données relationnelles, J2EE Connector Architecture (J2EE
CA) pour les ERP, mainframes, ou Java Messaging Service (JMS) pour les
82
Projet de Fin d’Etudes 2003/2004
2. les servlets
Une servlet est un programme java très similaire aux CGI. Elle se déclenche sur
demande d'un navigateur. Elle interagit avec des bases de données ou d'autres
programmes afin de fournir une réponse http au navigateur. Applet et Servlet, Un
applet est un programme java qui s'exécute dans un navigateur. Pour s'exécuter il
nécessite la présence d'une machine virtuelle java (Java Virtual Machine - JVM).
L'applet est une technologie " cliente ". Une servlet est un programme java qui tourne
sur un serveur. Tout comme le navigateur a besoin d'une JVM pour exécuter l'applet,
le serveur a besoin d'une JVM pour exécuter la servlet. La servlet est une technologie
"serveur ".Toutes les fonctionnalités offertes par les CGI sont accessibles dans les
servlets : une servlet peut récupérer des données en provenance d'un formulaire
HTML, elle peut accéder aux informations stockées dans l'entête http de la requête du
navigateur, il peut déposer et demander des cookies,...Contrairement aux CGI un
programme servlet est chargé une seule fois en mémoire. Il est capable de traiter des
requêtes provenant de plusieurs navigateurs en même temps. Une servlet est un
programme qui offre de bonne garantie en matière de sécurité:
une servlet est écrite en java, elle ne peut pas produire des erreurs fatales sur le
serveur d'applications Web par des erreurs de manipulation mémoire.
le code qui s'exécute sur le serveur est compilé, il n'est donc pas possible, en
utilisant des failles de sécurité du serveur d'applications Web d'accéder à des
83
Projet de Fin d’Etudes 2003/2004
informations sensibles hébergées dans le code (contrairement aux cgi perl, aux
scripts ASP, JSP ou PHP3).
Une servlet ne souffre pas de l'interprétation de Meta-caractères (comme les " |, >,
>>, ... " de perl) qui permettent aux "bidouilleurs" d'interagir avec le gestionnaire
de fichiers.
84
Projet de Fin d’Etudes 2003/2004
Il est possible pour une servlet de récupérer une requête HTTP en provenance d'un
navigateur, de générer une requête dynamiquement, en interrogeant le système
d'informations si nécessaire, et de renvoyer une réponse contenant du HTML. Le
problème avec cette approche est que la construction de la page doit être faite par la
servlet, ce qui veut dire qu'un infographiste qui voudrait modifier l'apparence de la
page renvoyée devrait modifier le code java de la servlet et le recompiler. Avec cette
approche la génération de contenu dynamique nécessite des connaissances en
programmation.
Au moment du développement un JSP est très différent d'un servlet puisque c'est un
document texte composé de HTML pour les parties statiques du document, et de tags
85
Projet de Fin d’Etudes 2003/2004
spéciaux ou de code java, pour les parties dynamiques du document. Un JSP peut donc
être développé par un infographiste à partir de ses outils classiques de développement.
Au moment de l'exécution un JSP est transformé en servlet par un pré- processeur et
compilé en une classe java de manière à pouvoir être exécuté par le serveur
d'applications Web.
Le serveur Web d’une application J2EE (Web tiers) rend disponible la logique d'une
application sur le Web.
86
Projet de Fin d’Etudes 2003/2004
- support de plusieurs clients : par le biais des types MIME, un serveur Web peut
envoyer de l’information vers n’importe quel type de client et étendre les capacités de
publication.
- implémentation de la logique métier.
il est compatible J2EE ce qui veut dire que l'ensemble des développements réalisé
pour Tomcat pourront être porté sur des serveurs d'applications d'entreprise.
les développements se font en java ce qui assure un niveau élevé de portabilité : il
sera possible de déployer le code qui tourne sur Tomcat sur la plupart des systèmes
d'exploitations, (Linux, AS400, Solaris, HPUX, AIX, Windows, Netware, OS390).
Ce haut niveau de portabilité favorise la réutilisation, atout des technologies objets.
En quelques mots Tomcat est un moteur d'exécution pour les servlets et les JSP. Il peut
87
Projet de Fin d’Etudes 2003/2004
être intégré au très populaire serveur Web Apache mais aussi à IIS. Le serveur Web est
alors en charge de toute la partie statique du site Web, alors que Tomcat gère la partie
dynamique (requêtes sur les servlets et les JSP).
Dans cette annexe nous présentons l’implémentation de quelques classes importantes comme
l’ajout, la modification, la suppression et la recherche. Nous présentons aussi des algorithmes
comme celui de la génération des sessions et celui de la génération des groupes pour un thème
particulier.
88
Projet de Fin d’Etudes 2003/2004
1. Classe ‘enregistrement’
89
Projet de Fin d’Etudes 2003/2004
return this.get_valchamps(index);
}
90
Projet de Fin d’Etudes 2003/2004
2. Classe ‘tab_enregistrement’
91
Projet de Fin d’Etudes 2003/2004
3. Classe ‘ajout’
Cette classe permet d’effectuer l’ajout d’un enregistrement. Elle est une classe
générique qui peut être utilisée pour insérer dans n’importe quelle table de la base de
données en utilisant sa méthode ‘inserer’. Elle contient également la méthode
‘enregistrement_existe’ qui sert à vérifier l’existence de l’enregistrement avant son
insertion.
92
Projet de Fin d’Etudes 2003/2004
4. Classe ‘suppression’
Comme la classe ‘ajout’, ‘suppression ‘ est également une classe générique qui
permet de supprimer un ou plusieurs enregistrements de n’importe quelle table de la
base de données.
93
Projet de Fin d’Etudes 2003/2004
5. Classe ‘recherche’
94
Projet de Fin d’Etudes 2003/2004
return condition;
}
resultat=new tab_enregistrement(nb_lignes);
try
{ stmt = con.createStatement();
res =stmt.executeQuery("select * from "+nomtable+" where
"+this.set_condition()+" order by "+nomclé+" desc;");
95
Projet de Fin d’Etudes 2003/2004
6. Classe ‘generer_sessions’
Cette classe sert à générer les sessions d’un thème donné. Elle permet de calculer,
pour chaque session, la date de début et la date de fin en tenant compte de la durée du
thème, des jours fériés et de l’horizon entre les sessions.
96
Projet de Fin d’Etudes 2003/2004
for(int i=1;i<=GroRet;i++)
{ if(!this.HorSes.equals("jour"))
{ calendar=j_fer.add (calendar, -1+2*DurThe); }
else
{ calendar=j_fer.add (calendar, DurThe-1); }
DatFin=calendar.getTime();
int RefSes=res1.getInt("max(RefSes)")+1;
97
Projet de Fin d’Etudes 2003/2004
7. Classe ‘generer_groupes_monoregions’
Lorsque les sessions sont générées, la DRH doit procéder à la formation des
groupes. Cette classe permet de réaliser cette opération selon un scénario monorégion.
C'est-à-dire que les groupes sont formés de façon à ce que les personnes du même
département se trouvent dans la même session.
Il existe aussi une classe similaire dont le nom est ‘generer_groupes_multiregions’
qui permet de former des groupes contenant des personnes de différents départements.
while(res1.next())
{ String RefDep=res1.getString("RefDep");
Statement stmt3 = con.createStatement();
ResultSet res3=stmt3.executeQuery("select * from
98
Projet de Fin d’Etudes 2003/2004
99