Post on 12-Sep-2018
2012/2013
Plan du projet
« Archivages des stages » Dossier d’étude du projet
El Merchichi Mouad
Groupe : CRJJ GB
1
NTIC ISTA 2012/2013
Cadre réservé à l’encadrant :
Code d’identification du Candidat : ………………………
Nom des Validateurs Commentaires :
2
NTIC ISTA 2012/2013
LISTE DES FIGURES
Figure 1 : Méthode en cascade......................................................................11
Figure 2 : Diagramme de Gantt....................................................................12
Figure 3 : Cas d’utilisation saisie et recherche de stages...............................14
Figure 4 : Cas d’utilisation gestion des stagiaires et tuteurs pédagogiques...15
Figure 5 : Cas d’utilisation validation des stages.........................................17
Figure 6 : Digramme de classes organisation................................................19
Figure 7 : Digramme de classes archivage des stages....................................19
Figure 8 : Diagramme de séquence ajout d’un stagiaire................................20
Figure 9 : Diagramme d’état-transition de l’objet stage...............................21
Figure 10 : Diagramme d’activité traitement d’un stage..............................22
Figure 11 : Diagramme de déploiement.......................................................23
Figure 12 : Architecture JEE.......................................................................24
Figure 13 : Architecture MVC.....................................................................25
Figure 14 : Architecture technique....................................................................26
3
NTIC ISTA 2012/2013
SOMMAIRE
LISTE DES FIGURES .......................................................................................................................... 2
I. Description du cadre du projet ................................................................................................ 4
1.1. Enjeux et vision du projet ..................................................................................................... 4
1.2. Analyse du besoin .................................................................................................................. 6
1.3. Contraintes et exigences ....................................................................................................... 8
II. Plan de mise en œuvre ............................................................................................................ 11
2.1. Démarche du projet ................................................................................................................... 11
2.2. Méthode d’analyse : Méthode en Cascade ................................................................................ 11
2.3. Planning du projet ...................................................................................................................... 12
III. Conception et modélisation ................................................................................................. 13
3.1. Diagramme de cas d’utilisation .................................................................................................. 13
3.2. Diagramme de classes ................................................................................................................ 18
3.3. Diagramme de séquence ............................................................................................................ 20
3.4. Diagramme d’état-transition ...................................................................................................... 21
3.5. Diagramme d’activité ................................................................................................................. 22
3.6. Diagramme de déploiement....................................................................................................... 23
IV. Architecture Applicative ....................................................................................................... 24
V. Architecture Technique .......................................................................................................... 26
5.1. Choix technologiques ................................................................................................................. 26
5.2. Outils : ........................................................................................................................................ 27
4
NTIC ISTA 2012/2013
I. Description du cadre du projet
1.1. Enjeux et vision du projet
1.1.1. Introduction
À l’issue de la formation offshoring en Java/JEE, il nous est demandé d’effectuer un
projet de fin d’étude. Il s’agit, en effet, de la meilleure façon de mettre en pratique les
connaissances théoriques acquises au cours de cette année. La réalisation d’un projet réel et
complet permet de prendre du recul par rapport à ce qui nous a été enseigné et donc,
d’assembler ces savoirs, de les mettre en forme et ainsi de les intégrer durablement.
Ce travail consiste à concevoir et à réaliser une application qui permettrait de
référencer l’ensemble des stages effectués par les stagiaires de l’Institut Spécialisé des
Technologies Appliquées (NTIC ISTA), toutes filières confondues. Par conséquent, mon
projet, appelé ISTA Back_Stage, se compose de plusieurs étapes distinctes, qui sont :
l’analyse des besoins, l’étude fonctionnelle, la planification, la conception et modélisation et
enfin, envisager les différentes architectures utilisées.
La nécessité de l’existence d’une telle application a été exprimée, dans un premier
lieu, par l’administration de NTIC ISTA pour qui l’archivage d’un stage n’a pas été aisé. Les
stagiaires eux aussi ignoraient où et comment obtenir les informations utiles pour trouver un
stage. La réalisation de ce projet s’est donc révélée évidente.
1.1.2. Présentation de la formation au sein de NTIC ISTA
L’Institut Spécialisé des Technologies Appliquées NTIC ISTA forme, entre autres, des
spécialistes de la gestion de l’information, de son organisation et de sa valorisation. En effet,
la notion d’Information représente dans ce domaine un concept majeur : La posséder, la
maîtriser est devenu un enjeu important pour de nombreuses entreprises. La numérisation
croissante de cette information oblige les professionnels à s’adapter aux nouvelles avancées et
aux contraintes qu’elle entraîne. Cette capacité d’adaptation, ce recul réflexif est devenu
nécessaire pour appréhender les enjeux stratégiques de l’information. NTIC ISTA, pour
permettre aux stagiaires qu’elle forme d’acquérir ces capacités réflexives, propose des
formations dans lesquelles la formation professionnelle est dominante. De fait, les futurs
professionnels sont préparés et sensibilisés aux difficultés qu’ils rencontreront une fois insérés
dans le monde du travail mais ils sont également armés pour y faire face de manière concrète.
5
NTIC ISTA 2012/2013
Pour parvenir à ce niveau d’enseignement, NTIC ISTA entretient des relations étroites
avec les professionnels; il est d’ailleurs possible de parler de « réseau de partenaires ». Grâce
à leur soutien, NTIC ISTA est en contact constant avec la sphère professionnelle et elle
connaît ainsi les mutations qui ont lieu dans le domaine des Sciences de l’Information, du
point de vue de l’entreprise. L’intervention de ces professionnels permet de modifier, de
corriger, d’ajuster, d’enrichir le contenu des enseignements afin que ceux-ci correspondent à
la réalité du marché et puissent, par conséquent, être utiles aux stagiaires.
1.1.3. Le stage réalisé par les stagiaires de NTIC ISTA
Le stage effectué a des objectifs spécifiques. Il sera demandé aux stagiaires de la
deuxième année une mission qui sera en rapport direct avec l’activité et le travail quotidien du
service. En revanche, les stagiaires devront être capables de prendre du recul par rapport à une
situation professionnelle, l’analyser et mettre en pratique les connaissances théoriques
acquises durant la période scolaire.
Cette présentation généraliste de la formation détermine le contexte de
professionnalisation dans lequel intervient le projet : ISTA Back_Stage.
1.1.4. Origine et définition du projet
L’idée du projet n’a pas été venue comme un prétexte pour permettre à un stagiaire de
la deuxième année d’obtenir une mission de stage à réaliser. Il est certain que son existence
sera utile à de nombreux individus.
Tout d’abord, les stagiaires de la deuxième année, savent en début d’année qu’il leur
faudrait rechercher un stage qui débuterait à partir du début du deuxième semestre. Cette
recherche de l’entreprise de stage s’est révélée plus laborieuse qu’ils ne l’auraient imaginée.
Un sentiment d’impuissance est naît, a grandi, laissant peu à peu place à l’incompréhension :
comment se pouvait-il que des stagiaires, appartenant à un institut spécialisé dispensant des
formations centrées sur la discipline des Sciences de l’Information, n’aient aucun moyen
fiable à leur disposition pour obtenir des renseignements concernant les entreprises qui
accueillent des stagiaires ? L’étonnement face à ce vide informationnel laisse penser
sérieusement à la conception et réalisation d’une application qui donnerait accès à des
informations sur les stages effectués les années antérieures.
Ce projet s’intéresse aux stagiaires de NTIC ISTA mais aussi au personnel
administratif et aux formateurs.
6
NTIC ISTA 2012/2013
Par conséquent, nous pouvons dire que de nombreux acteurs souhaitent sa création
pour satisfaire un besoin concret d’information, ce qui constitue un facteur motivant : il existe
une réelle volonté d’usage.
1.1.5. ISTA Back_Stage
Il était nécessaire d’attribuer un nom au projet et le choix est tombé sur ISTA
Back_Stage.
Celui-ci est, en effet, court et porteur de sens : il contient le nom de l’institut ainsi que
le thème des données incluses dans l’application: « Stage ». Sa consonance anglo-saxonne lui
assure une fraîcheur non négligeable en ce qui concerne la promotion de ce projet, le nom
étant très important lors de la communication au public. Cet intitulé renferme un jeu de mots
qui illustre parfaitement les objectifs et justifie l’existence du projet : « Backstage » signifie
en anglais « les coulisses ». Par conséquent, en consultant cette application, l’utilisateur
bascule de l’autre côté de la scène et a accès à des informations qu’il ne pourrait pas consulter
en temps normal.
1.2. Analyse du besoin
1.2.1. Etude Fonctionnelle
Avant d’entreprendre une modélisation des données, il est essentiel de connaître les
attentes et donc les besoins de l’ensemble des usagers de cette future application, comme nous
l’avons vu précédemment. Ce projet, n’ayant pas de précédent actuellement utilisé à l’institut
NTIC ISTA, ne peut être conçu à partir d’une analyse des usages d’un objet spécifique mais
bien d’une étude des besoins des usagers potentiels.
Trois catégories d’utilisateurs sont concernées : les stagiaires inscrits à NTIC ISTA et
susceptibles d’entreprendre une recherche de stage, les enseignants et le personnel
administratif qui possède un certain recul sur ce sujet et qui peut donc avoir des idées
novatrices et constructives, de plus il est important de l’intégrer de quelque manière que ce
soit dans ce projet car une fois le stage terminé et que la base de données est alimentée, il sera
en charge de consulter et d’archiver le stage et de rendre ses informations accessibles pour les
futurs stagiaires chercheurs de stage.
Afin de satisfaire les besoins d’information exprimés par les différentes catégories
d’utilisateurs potentiels, le tableau suivant illustre un récapitulatif sur les profils d’usagers
7
NTIC ISTA 2012/2013
et leur niveau d’accès aux données :
1.2.2. Analyse des résultats
a. Les besoins exprimés se rapportant aux stages
Dans ce cas, les données permettraient aux stagiaires de s’orienter de manière plus
rationnelle dans leur recherche de stage, aux enseignants de conseiller leurs stagiaires et de les
informer sur les stages passés et les lieux possibles de stage car les élèves semblent rencontrer
des difficultés pour cerner ce qui pourrait faire office de stage et correspondre au mieux aux
attentes de ISTA. Cette application représenterait également un moyen efficace pour
promouvoir les formations dispensées par NTIC ISTA auprès des entreprises, des étudiants
extérieurs… En outre elle pourrait offrir la possibilité aux enseignants et au personnel
Acteur Description
Stagiaire
Le stagiaire aura l’opportunité d’optimiser sa recherche de stage vis à vis plusieurs critères et ainsi visualiser les différentes informations concernant les entreprises offrants des stages. Il pourra aussi gérer les informations relatives au stage qui ’il a effectué (stage, entreprise, encadrant de stage, etc.).
Administrateur
L’administrateur aura à mettre à jours les stagiaires avec leurs filières, les tuteurs pédagogiques, gérer les rôles et affecter des stages à ces derniers. Il peut aussi archiver un stage validé. Il aura une fiche complète sur les entreprises qui accueillent les stagiaires en cours de stage. Il pourra ainsi créer et renforcer les partenariats. Il lui sera possible d’établir des statistiques : savoir où la majorité des stages se déroulent, quelles sont les entreprises qui accueillent le plus de stagiaires chaque année, statistiques, etc.
Tuteur Pédagogique
Le tuteur pédagogique, quant à lui, aura à vérifier que les projets de stage de l’année en cours ne sont pas identiques à ceux déjà réalisés et ainsi valider les stages effectués et donner une note et une appréciation. Il pourra consulter la base de données à titre d’information : acquérir une connaissance exhaustive sur les lieux de stages passés et en cours.
8
NTIC ISTA 2012/2013
d’évaluer les tendances pédagogiques des formations et ainsi de s’adapter aux besoins du
marché.
L’objectif principal étant de pérenniser les données à propos des stages, il faut par
conséquent inclure dans cette application, les rapports de stage. Ces derniers seront stockés,
archivés, indexés et être ainsi accessibles pour assurer leur conservation, pour pouvoir étudier
la manière dont s’effectue la mise en page et pour pouvoir consulter les problématiques déjà
traitées (les stagiaires peuvent se rassurer et s’assurer qu’ils ne s’orientent pas dans la
mauvaise direction lors de la rédaction de leur propre document). À un niveau purement
administratif, les données stockées pourront être utiles pour réaliser la planification des
soutenances, le nombre de stages suivis par un formateur serait, en effet, consultable.
b. Les besoins relatifs aux entreprises dans lesquelles les stagiaires
ont effectué un stage
La base de données servirait à analyser la demande des entreprises et conseiller aussi
bien les stagiaires que les organisations dans leurs démarches respectives. De plus, l’accès aux
informations se rapportant aux entreprises est souvent complexe, grâce à ce projet toutes ces
données seraient réunies en un unique lieu.
Voici un résumé des besoins fondamentaux qu’il sera nécessaire de satisfaire :
Proposer au stagiaire un accès unique aux différentes ressources dont il aura
besoin pour la recherche de stage et lui fournir un moyen d’introduire les
informations concernant le stage qu’il a effectué.
Valider les stages introduits par les stagiaires.
Consolider le partenariat entre NTIC ISTA et les entreprises en maintenant des
contacts réguliers avec les professionnels
Produire des analyses statistiques sur les données relatives aux stages.
1.3. Contraintes et exigences
1.3.1. Les exigences fonctionnelles
a. La recherche
La première fonction que doit être offerte est la recherche des stages. Le site doit offrir
plusieurs critères de recherche : Lieu, titre, dates… Les résultats de la recherche doivent
9
NTIC ISTA 2012/2013
apparaître sur une page particulière. Le visiteur doit pouvoir aussi accéder à une classification
thématique des stages.
b. La consultation
Chaque stage doit pouvoir être présentée en détail sur une page. Cette page doit
contenir :
Des informations sur le stage (Titre, date…).
Les informations de l’entreprise du stage.
Une description détaillée.
c. Validation du stage
Le tuteur pédagogique doit pouvoir valider un stage est le mettre en tant que stage
validé.
1.3.2. Les exigences non fonctionnelles
a. Exigences de qualité
Il est connu que la majorité des utilisateurs n’utiliseraient sûrement pas une application
si celle-ci ne respectait pas les exigences de qualité suivantes :
Ergonomie sobre permettant des présentations claires.
Une présentation exhaustive de chaque stage publiée.
La facilité de l’accès aux informations et leur visibilité.
b. Exigences de performance
ISTA Back_Stage doit pouvoir gérer tous les stagiaires. Une filière doit pouvoir
contenir un nombre important de stagiaires. La recherche ne doit pas affecter les ressources du
système.
1.3.3. Les contraintes de conception
a. Les stagiaires et les stages
Les stagiaires ont la possibilité d’introduire leurs stages effectués. Ils auront le droit de
les modifier tant qu’ils ne sont pas archivés.
10
NTIC ISTA 2012/2013
b. Validation des stages
La validation d’un stage par le tuteur pédagogique consisterait à vérifier le stage avec
le rapport. Il semble inconcevable d’associer un nom d’étudiant à une note d’évaluation et de
fait, ces données n’apparaîtront pas dans la base.
11
NTIC ISTA 2012/2013
II. Plan de mise en œuvre
2.1. Démarche du projet
La gestion de projet est aussi une démarche visant à structurer, assurer et optimiser le
bon déroulement d'un projet suffisamment complexe pour devoir :
Être planifié dans le temps.
Faire intervenir de nombreuses parties prenantes : maîtrise d'œuvre et maîtrise
d'ouvrage.
Suivre des enjeux opérationnels importants.
L'objectif est d'obtenir un résultat conforme à des normes de qualité et de
performances prédéfinies, pour le meilleur délai possible.
2.2. Méthode d’analyse : Méthode en Cascade
C'est le type de méthode le plus utilisé aujourd'hui dans
tous les domaines qui nécessitent de concevoir avant de
produire quelque chose. Pour parvenir à un produit fini, on
passe par plusieurs phases du cadrage du projet jusqu'à la
livraison finale.
Le principe est simple : on ne passe à la phase suivante
que lorsque la précédente est validée. Autre principe : on ne
revient pas en arrière (d'où le terme "cascade")
Cette méthode présente de nombreux avantages,
notamment celui de sécuriser le planning du projet puisque l'on
verrouille chacune des étapes les unes après les autres : on
s'entend sur ce que l'on va faire (cadrage), on le conçoit dans les
grandes lignes (conception générale) puis dans le détail
(conception détaillée) avant de le produire (production), de le
tester (tests/corrections) et de le livrer (livraison).
Elle permet également de bien s'entendre sur les attendus du projet et elle est très
facile à expliciter à un groupe de travail. Enfin, bien menée, elle permet d'éviter les dérives en
Figure 1 : Méthode en cascade
12
NTIC ISTA 2012/2013
termes de planning : il est facile de visualiser que si une étape se décale, les suivantes sont
impactées.
2.3. Planning du projet
La planification du projet est une phase importante d'avant-projet. Elle consiste à
prévoir le déroulement de ce dernier tout au long des phases constituant le cycle de
développement.
Le diagramme de Gantt suivant présente le planning du projet :
Figure 2 : Diagramme de Gantt
13
NTIC ISTA 2012/2013
III. Conception et modélisation
UML (Unified Modeling Language ou langage de modélisation unifié) est une
notation permettant de modéliser un problème de façon standard.
Ce langage est né de la fusion de plusieurs méthodes existant auparavant, et est devenu
désormais la référence en terme de modélisation objet, à un tel point que sa connaissance est
souvent nécessaire pour obtenir un poste de développeur objet.
Il est apparu dans le monde du génie logiciel dans le cas de la conception orienté objet.
Il est Couramment utilisé dans les projets logiciels, il peut être appliqué à toutes sortes de
systèmes ne se limitant pas au domaine informatique.
UML, ces modèles sont utilisés dans plusieurs types de diagramme. Exemple
d'élément : cas d'utilisation, classe, activité, diagramme de séquence, diagramme de classe etc.
3.1. Diagramme de cas d’utilisation
3.1.1. Définition
Les diagrammes de cas d’utilisation permettent de décrire les grandes fonctionnalités
du système du point de vue des utilisateurs.
Un cas d’utilisation est un service rendu par le système.
Les cas d’utilisation sont organisés en package.
3.1.2. Rôle du diagramme des cas utilisation
Donne une vue du système dans son environnement extérieur.
Définit la relation entre l’utilisateur et les éléments que le système met en œuvre.
14
NTIC ISTA 2012/2013
3.1.3. Description détaillée des cas d’utilisation
Les cas d’utilisation du système sont organisés en 3 packages :
Saisie et recherche de stages.
Gestion des stagiaires et tuteurs pédagogiques.
Validation des stages.
a. UC : Saisie des stages
Diagramme :
Sommaire d’identification :
Titre : Saisie et recherche de stages.
Objectifs : Enregistrer un stage effectué avec toutes ses informations qui le concernent
et faire des recherches paramétrées.
Résumé : Cette fonctionnalité permet au stagiaire de :
Introduire un stage effectué au système.
Ajouter les différentes informations relatives au stage effectué.
Faire des recherches selon des critères multiples.
Acteurs : Stagiaire.
Description détaillée :
Figure 3 : Cas d’utilisation saisie et recherche de stages
15
NTIC ISTA 2012/2013
Préconditions :
Le stagiaire doit s’authentifier pour avoir accès aux fonctionnalités qui lui est
accordé.
Description du traitement nominal :
Le stagiaire peut :
Ajouter un stage.
Ajouter des critères de stage.
Ajouter l’encadrant de stage.
Ajouter l’entreprise accueillante.
Rechercher des informations concernant les entreprises offrants des stages.
Exceptions
[Exception 1 : ChampsObligatoires] : Message d'erreur si l'un des champs
obligatoires n'est pas rempli.
[Exception 2 : ChampsValides] : Message d'erreur si une données est
invalide.
[Exception 3 : ErreurDate] : Message d'erreur si la date de début est
postérieure à la date de fin d’un stage.
b. UC : Gestion des stagiaires et tuteurs pédagogiques.
Diagramme :
Figure 4 : Cas d’utilisation gestion des stagiaires et tuteurs pédagogiques
16
NTIC ISTA 2012/2013
Sommaire d’identification :
Titre : Gestion des stagiaires et tuteurs pédagogiques.
Objectifs :
Mettre à jours les stagiaires avec les filières et les tuteurs pédagogiques.
Gérer les rôles.
Affecter des stages à ces derniers et obtenir des statistiques.
Archiver les stages validés.
Résumé : Cette fonctionnalité permet à l’administrateur (responsable des stages) de :
Mettre à jours au système les stagiaires en cours de stage.
Mettre à jours les filières.
Mettre à jours les tuteurs pédagogiques.
Gérer les rôles.
Affecter les stages aux tuteurs pédagogiques.
Archiver les stages validés.
Effectuer des recherches afin d’obtenir des statistiques.
Acteurs : Administrateur.
Description détaillée :
Préconditions :
L’administrateur doit s’authentifier pour avoir accès aux fonctionnalités du système.
Description du traitement nominal :
L’administrateur peut :
Mettre à jours au système les stagiaires en cours de stage.
Mettre à jours les filières.
Mettre à jours les tuteurs pédagogiques.
Gérer les rôles.
Affecter les stages aux tuteurs pédagogiques.
Archiver les stages validés.
Effectuer des recherches afin d’obtenir des statistiques.
Exceptions
[Exception 1 : ChampsObligatoires] : Message d'erreur si l'un des champs
obligatoires n'est pas rempli.
[Exception 2 : DonneesUniques] : Message d'erreur si l'un des champs
uniques existe déjà (ex : CNE ou CIN).
[Exception 3 : ChampsValides] : Message d'erreur si une données est
invalide.
17
NTIC ISTA 2012/2013
c. UC : Validation des stages
Diagramme :
Sommaire d’identification :
Titre : Validation des stages.
Objectifs : Vérifier la validité d’un stage, donner une appréciation et consulter des
informations concernant les stages.
Résumé : Cette fonctionnalité permet au tuteur pédagogique de :
Valider un stage.
Consulter des informations sur les stages effectués et en cours.
Acteurs : Tuteur pédagogique.
Description détaillée :
Préconditions :
Le tuteur pédagogique doit s’authentifier pour avoir accès aux fonctionnalités du
système.
Description du traitement nominal :
Le tuteur pédagogique peut :
Valider un stage et de le noter.
Consulter des informations sur les stages effectués et en cours.
Figure 5 : Cas d’utilisation validation des stages
18
NTIC ISTA 2012/2013
3.2. Diagramme de classes
3.2.1. Définition
Le diagramme de classes est considéré comme le plus important de la modélisation
orientée objet, il est le seul obligatoire lors d’une telle modélisation.
Alors que le diagramme de cas d’utilisation montre un système du point de vue des
acteurs, le diagramme de classes en montre la structure interne. Il permet de fournir une
représentation abstraite des objets du système qui vont interagir ensemble pour réaliser les cas
d’utilisation. Il est important de noter qu’un même objet peut très bien intervenir dans la
réalisation de plusieurs cas d’utilisation. Les cas d’utilisation ne réalisent donc pas une
partition des classes du diagramme de classes. Un diagramme de classes n’est donc pas adapté
(sauf cas particulier) pour détailler, décomposer, ou illustrer la réalisation d’un cas
d’utilisation particulier.
Il s’agit d’une vue statique car on ne tient pas compte du facteur temporel dans le
comportement du système. Le diagramme de classes modélise les concepts du domaine
d’application ainsi que les concepts internes créés de toutes pièces dans le cadre de
l’implémentation d’une application. Chaque langage de Programmation Orienté Objets donne
un moyen spécifique d’implémenter le paradigme objet (pointeurs ou pas, héritage multiple
ou pas, etc.), mais le diagramme de classes permet de modéliser les classes du système et
leurs relations indépendamment d’un langage de programmation particulier.
Les principaux éléments de cette vue statique sont les classes et leurs relations :
association, généralisation et plusieurs types de dépendances, telles que la réalisation et
l’utilisation.
3.2.2. Diagramme de classes (Archivage des stages)
19
NTIC ISTA 2012/2013
Figure 6 : Digramme de classes organisation
Figure 7 : Digramme de classes archivage des stages
20
NTIC ISTA 2012/2013
3.3. Diagramme de séquence
3.3.1. Définition
C’est une représentation séquentielle du déroulement des traitements et des
interactions entre les éléments du système et/ou de ses acteurs.
Les principales informations contenues dans un diagramme de séquence sont les
messages échangés entre les lignes de vie, présentés dans un ordre chronologique. Ainsi,
contrairement au diagramme de communication, le temps y est représenté explicitement par
une dimension (la dimension verticale) et s’écoule de haut en bas.
3.3.2. Diagramme de séquence : Ajout d’un stagiaire
Figure 8 : Diagramme de séquence ajout d’un stagiaire
21
NTIC ISTA 2012/2013
3.4. Diagramme d’état-transition
3.4.1. Définition
Le diagramme d’états-transitions représente la façon dont évoluent (cycle de vie) les
objets appartenant à une même classe. La modélisation du cycle de vie est essentielle pour
représenter et mettre en forme la dynamique du système.
3.4.2. Diagramme d’état-transition : Objet stage
Figure 9 : Diagramme d’état-transition de l’objet stage
22
NTIC ISTA 2012/2013
3.5. Diagramme d’activité
3.5.1. Définition
Les diagrammes d’activités permettent de mettre l’accent sur les traitements. Ils sont
donc particulièrement adaptés à la modélisation du cheminement de flots de contrôle et de
flots de données. Ils permettent ainsi de représenter graphiquement le comportement d’une
méthode ou le déroulement d’un cas d’utilisation.
3.5.2. Diagramme d’activité : Traitement d’un stage
Figure 10 : Diagramme d’activité traitement d’un stage
23
NTIC ISTA 2012/2013
3.6. Diagramme de déploiement
3.6.1. Définition
Un diagramme de déploiement décrit la disposition physique des ressources
matérielles qui composent le système et montre la répartition des composants sur ces
matériels. Chaque ressource étant matérialisée par un nœud, le diagramme de déploiement
précise comment les composants sont répartis sur les nœuds et quelles sont les connexions
entre les composants ou les nœuds. Les diagrammes de déploiement existent sous deux
formes : spécification et instance.
3.6.2. Diagramme de déploiement
Figure 11 : Diagramme de déploiement
24
NTIC ISTA 2012/2013
IV. Architecture Applicative L’application est constituée de trois couches. Ces trois couches se conforment à
l’architecture de couches fermées « Closed layer architecture » (une couche peut
communiquer seulement avec la couche qui lui est adjacente).
La figure suivante présente l’architecture Java EE d’une application web en trois
couches :
Une application web possède souvent une architecture 3-tier :
La couche dao s'occupe de l'accès aux données, le plus souvent des données
persistantes au sein d'un SGBD.
La couche métier implémente les algorithmes " métier " de l'application. Cette
couche est indépendante de toute forme d'interface avec l'utilisateur. Ainsi elle
doit être utilisable aussi bien avec une interface console, une interface web, une
interface de client riche. Elle doit ainsi pouvoir être testée en-dehors de
l'interface web et notamment avec une interface console. C'est généralement la
couche la plus stable de l'architecture. Elle ne change pas si on change
l'interface utilisateur ou la façon d'accéder aux données nécessaires au
fonctionnement de l'application.
La couche interface utilisateur qui est l'interface (graphique souvent) qui
permet à l'utilisateur de piloter l'application et d'en recevoir des informations.
Base de données
Couche Présentation
Couche Métier
Couche Persistance de données
Figure 12 : Architecture JEE
25
NTIC ISTA 2012/2013
Les couches métier et dao sont normalement utilisées via des interfaces Java. Ainsi la
couche métier ne connaît de la couche dao que son ou ses interfaces et ne connaît pas les
classes les implémentant. C'est ce qui assure l'indépendance des couches entre-elles : changer
l'implémentation de la couche dao n'a aucune incidence sur la couche métier tant qu'on ne
touche pas à la définition de l'interface de la couche dao. Il en est de même entre les couches
interface utilisateur et métier.
L'architecture MVC prend place dans la couche interface utilisateur lorsque celle-ci est
une interface web
Figure 13 : Architecture MVC
26
NTIC ISTA 2012/2013
V. Architecture Technique
5.1. Choix technologiques
JSF
Java Server Faces est un framework de développement d’application Web en Java
permettant de respecter le modèle d’architecture MVC et basé sur des composants côté
présentation.
Couche Présentation
Couche Métier
Couche Persistance de données
Base de données
Couche Sécurité
Couche
domaine Couche service
Couche DAO
Figure 14 : Architecture technique
27
NTIC ISTA 2012/2013
Facelets
Technologie de présentation pour le développement d'applications web en Java ;
Système de templating : permet de définir des vues de JSF en utilisant des calibres
du modèle HTML ;
Réduit la quantité de code nécessaire pour intégrer des composants dans la vue.
PrimeFaces
Librairie de composants JSF pour le développement d'applications web riches (RIA)
Rich Internet Application avec Ajax.
Spring
Spring est un framework open source J2EE pour applications 3-tiers ;
Faciliter l'intégration des différentes technologies qui a priori sont pour le moins
hétérogènes.
Hibernate
Hibernate est un framework open source gérant la persistance des objets en base de
données relationnelle.
Spring Security
Framework qui permet la gestion de deux grandes problématiques liées à la sécurité
applicative :
Authentification ;
Autorisation.
5.2. Outils :
TOMCAT
L'utilisation d'un serveur Java EE est obligatoire pour le développement
de pages Web dynamiques en Java EE. Un serveur HTTP classique
reçoit des requêtes HTTP et renvoie des réponses mais il ne connait pas
les Servlets, les JSP... Il est donc essentiel d'utiliser un programme
28
NTIC ISTA 2012/2013
appelé moteur de Servlets qui est contenu dans le serveur Java EE et qui
permet de pallier ce manque.
ECLIPSE
Eclipse est l'environnement de développement (spécialisé pour le
langage Java) qui sera utilisé dans ce projet. Le choix d'Eclipse repose
essentiellement sur sa gratuité, sa facilité d'utilisation, sa puissance de
développement et surtout ses nombreux plugins (bibliothèques
additives).
APACHE
Apache est le serveur Web le plus utilisé sur Internet. Dans une
architecture en production, il est recommandé d'utiliser un serveur Web
en frontal d'un serveur d'applications. Ces recommandations sont
également appliquées dans le cas de l'utilisation d'un conteneur Web
comme Tomcat. L'utilisation d'un serveur Web en frontal est nécessaire
dans ce projet pour des raisons de performance, de sécurité et de
flexibilité.
Coupler Tomcat et le serveur web Apache
L'intégration d'un serveur Tomcat avec un serveur Web se fait au travers
d'un connecteur configuré au sein de Tomcat et d'une extension ajoutée
au serveur Web. Un connecteur Tomcat est une classe Java qui supporte
un protocole réseau spécifique et propriétaire. La librairie d'extension du
serveur Web permet un dialogue entre les deux serveurs.
MySQL
Le SGBD MySQL est supporté par un large éventail d'outils. MySQL
est surtout installé pour les applications Web, ce SGBD est solide et
utilisé par de grands groupes spécialisés dans l'Internet. Plusieurs pilotes
natifs de type 4 sont disponibles pour MySQL et sont conseillés pour
une utilisation en Java.