Upload
jouha
View
13
Download
0
Embed Size (px)
DESCRIPTION
rapport de stage TEDDD
Citation preview
Rapport de stage
Remerciements
Au terme de mon projet de stage, j’exprime ma profonde gratitude à Monsieur Le
directeur de la EST Meknès; ainsi qu’à tout le cadre administratif et professoral pour
leurs efforts considérables, notamment, le département Génie informatique témoignage
de ma reconnaissance.
Ma gratitude s’adresse également Monsieur, le Directeur de la délégation maritime de
Safi; à Monsieur M.ouchekani, chef de service des pêche maritime ou j’ai effectué mon stage,
pour m’avoir permis d’acquérir une expérience pratique en passant ce stage, dans les
meilleures conditions de professionnalisme, matérielles et morales.
Mes remerciements vont aussi à Madame Fouzia secrétaire du déléguer, Et à Monsieur
A.Karoune ainsi à Monsieur A.Bahi, pour leurs directives et conduites dont ils ont m’avait
épargné à chaque fois qu’ils étaient sollicités.
Je remercie, également les membres de jury d’avoir accepté d’évaluer mon travail.
Ainsi j’exprime tous mes sincères remerciements à l’ensemble du personnel de la
délégation de la pêche maritime de Safi: cadres, employés et opérateurs et techniciens pour
leur soutien, leur aide et, surtout, pour leur sympathie. Qu’ils trouvent ici l’expression de ma
profonde reconnaissance et mon profond respect.
Rapport de stage
Sommaire
Remerciements
Introduction générale..............................................................................................................................1
Chapitre I :Présentation de l’entreprise d’acceuil.................................................................................2
I.introduction............................................................................................................................................2
II.Déscription des sevices :.......................................................................................................................2
2.1-Services des gens des mer:.................................................................................................................2
2.1.1-Comptoir:........................................................................................................................................3
2.1.2-Section des inscriptions maritimes:.................................................................................................3
2.2-Service des industries des pêches:.....................................................................................................3
2.3-Service de pêche maritime :...............................................................................................................4
2.4-Service de sécurité de la navigation et de la prévention de la pollution :.........................................4
2.5-Sécrétariat de la délégation :.............................................................................................................5
2.6-Cellule informatique :........................................................................................................................5
2.7- Régie..................................................................................................................................................6
2.8-Diagramme de la DPM :....................................................................................................................7
III. Conclusion..........................................................................................................................................7
Chapitre II :Analyse et conception.........................................................................................................9
I. Introduction...........................................................................................................................................9
II. Analyse et modélisation UML..............................................................................................................9
2.1 -l’objectif de l’application :................................................................................................................9
2.2 Modélisation UML ............................................................................................................................9
2.2.1 notion de la modélisation UML.....................................................................................................10
2.3 la modélisation UML de notre application ………………………………………….……………..……13
2.3.1 Diagramme de cas d’utilisation:...................................................................................................13
2.3.2 Diagramme d’activité:...................................................................................................................15
2.3.3 Diagramme de séquence................................................................................................................16
2.3.4Diagramme de classe:....................................................................................................................20
Chapitre III :Réalisation de l’application............................................................................................27
I. Introduction :.......................................................................................................................................27
ParieI l’environnement du développement ............................................................................................27
1.1 Eclipse Kepler...................................................................................................................................28
Rapport de stage
1.2 Apache Tomcat:................................................................................................................................28
1.3 Spring MVC......................................................................................................................................28
1.4 l’injection de dépendence.................................................................................................................31
1.5 Hibernate..........................................................................................................................................31
1.6 php my admin....................................................................................................................................32
1.7 Base de données MYSQL..................................................................................................................32
1.8 Spring security:.................................................................................................................................33
Partie II Captures d’écrans....................................................................................................................33
2.1 Page d’authentification....................................................................................................................33
2.2 Page d’acceuil..................................................................................................................................33
2.3 Enregistrement Navire......................................................................................................................34
2.4 Consulter Navire...............................................................................................................................34
2.5 supprimer Navire..............................................................................................................................35
2.6 Enregistrement Armateur:................................................................................................................35
27 Gestion licences de pêche..................................................................................................................36
2.8 gestion Moteur..................................................................................................................................37
2.9 gestion marin………………………………….………………………………………….……………..……37
Conclusion..............................................................................................................................................38
Biographie..............................................................................................................................................39
Rapport de stage
Introduction générale
Du début de mois mai à la fin de juin, j’ai effectué un stage au sein de la délégation de la pêche maritime de Safi. J’ai pu m’intéresser de proposer et de développer une application JEE basée sur Spring MVC et Spring Security, et hibernate pour la persistence de la base de donnée.
Plus largement, ce stage a été l’opportunité pour moi d’appréhender au fond le métier du développement en java. Chose qui m'a permis d'enrichir ma capacité de l'autoformation sur de nombreuses technologies strictement nouvelles pour moi, Mais aussi approfondir mes connaissances acquises durant mon parcours en licence professionnel, ce qui m'a donné une base de départ solide dans le domaine des systèmes d'informations.
Au-delà d’enrichir mes connaissances sur le plan professionnel, ce stage m’a permis
aussi de comprendre dans quelle mesure le travail dans une équipe est primordial.
1
Rapport de stage
Chapitre I :
Présentation de l’entreprise d’acceuil
I-introduction
La Délégation des Pêches Maritimes de Safi comporte quatre services, une régie et
une cellule informatique:
oService des Gens de Mer
oService des Industries de la Pêche
oService des Pêches Maritimes
oService de la Sécurité de Navigation et Lutte Contre la Pollution
oSecrétariat de la Délégation
oCellule Informatique
oRégie
II-Description des services:
2.1-Services des gens de mer :
C’est un service chargé de tout ce qui est en relation avec le marin et son
travail. Il a pour mission :
D'assurer l’embarquement et le débarquement des marins au niveau du
comptoir.
De Régler les litiges des marins entre eux et /ou avec les armateurs des navires.
La Gestion de l’inscription et la radiation des marins.
2
Rapport de stage
La gestion des dossiers des accidents de travail.
Le contrôle des feuilles de décompte destinées à la CNSS.
Et vue de la charge importante de ce service, il a été subdivisé en deux Sections à
savoir: le comptoir et les inscriptions maritimes.
2.1.1. Comptoir :
C’est le lieu de la réalisation des embarquements et des débarquements des marins ainsi que la
gestion informatique des tâches qui lui sont attribuées. On y trouve aussi l’établissement des
registres d’équipage pour toutes les catégories de navires et canots de pêches.
2.1.2. Section des inscriptions maritimes
Elle est chargée de l’inscription et de la radiation des marins ainsi que le changement
de leurs statuts. On y trouve l’établissement des relevés de navigation, les avis de
mouvements, les attestations d’inscription … et la gestion des registres matricules de la
Délégation des Pêches Maritimes.
2.2-Service des industries des pêches:
Ce service est chargé du contrôle hygiénique des unités de traitement des produits de
la pêche à savoir:
o les unités de conserve de poisson
o les unités de congélation
o les unités des sous-produits
o les fabriques de glace
Du contrôle et mise en conformité des unités de la pêche côtière à savoir:
o les senneurs
o les palangriers
o les chalutiers
De l’assistance lors de la construction de nouvelles unités de traitement des produits
de la mer.
3
Rapport de stage
Du contrôle et suivi médical des marins actifs à la pêche côtière et artisanale.
2.3-Service des pêches maritimes:
Il est chargé de:
- la gestion administrative des unités de la pêche côtière et artisanale, à savoir :
oLa mutation de propriété des navires
oLe changement de moteur des navires
oLa refonte des navires
oLa reconversion des navires
oLe changement du port d’attache des navires
oLe changement des noms des navires
La gestion des statistiques des apports de pêche au port de Safi et à la Sous
Délégation des Pêches Maritimes de Souiria kdima.
Délivrance et contrôle des cartes gasoil des navires de la pêche côtière.
2.4-Service de sécurité de la navigation et de la prévention de la pollution :
Sa mission principale est le sauvetage des vies humaines en mer. En plus, on trouve
que plusieurs tâches lui ont été attribuées. Il s’agit :
odes visites techniques des navires de la pêche côtière et des canots de la pêche
artisanale.
odes visites de mise en service des navires de la pêche côtière.
odes visites de mise en conformité des navires de la pêche côtière.
odes visites inopinées des unités de pêche.
ode la délivrance et contrôle des cartes d’essence des canots de la pêche artisanale.
ode la délivrance des permis de navigation aux unités de pêche.
ode la délivrance des congés de police aux unités de pêche.
odu contrôle de la flotte.
4
Rapport de stage
od’infliger des amendes disciplinaires.
2.5-Secrétariat de la délégation:
Comme toute entreprise publique, semi- publique ou privée, le secrétariat joue un rôle
important dans son fonctionnement. Le secrétariat de la DPM de Safi a pour mission:
o la téléphonie.
o l’enregistrement et distribution du courrier et fax d’arrivée.
o l’enregistrement du courrier de départ.
o l’enregistrement et envoi des fax (départ).
o traitement informatique de certaines correspondances.
oPhotocopie.
2.6-Cellule informatique:
Cette cellule est créée lors de l’informatisation de la délégation des Pêches maritimes du
royaume dont celle de Safi fait partie.
Elle a pour mission:
o la gestion du matériel informatique de la délégation.
o la gestion informatique des tâches et des données.
o la résolution des problèmes informatiques.
oL’export des données quotidiennement et/ou mensuellement.
2.7-Régie:
La régie est chargée de la gestion financière de la délégation à savoir:
o la régularisation des factures du téléphone et du fax.
o la régularisation des factures eau et électricité.
o rémunération des déplacements du personnel.
o la régularisation des factures du carburant pour les véhicules de service.
o la régularisation des factures de la réparation des véhicules de service
5
Rapport de stage
III-Diagramme de la DPM:
6
Rapport de stage
III. Conclusion
Pour conclure ce chapitre, on peut dire que la gestion des missions de toutes ces
services ne peut pas se faire, sans le recoure a une application qui va gérer leurs systèmes
d’informations, et ces sa l’objectif des chapitres suivants.
7
Rapport de stage
Chapitre II :
Analyse et Conception
I. Introduction
Afin d'analyser un problème, en particulier dans le cas de la réalisation d'une application de gestion, l'analyse et la modélisation UML et la conception s'impose comme des moyens efficace pour le faire.
II. Analyse et modélisation UML:
2.1L’objectif de l’application:
La réalisation d'un site simple et facile à utiliser qui vise à faire la gestion des navires. Commençant par la gestion des armateurs (recherche, modification, suppression, ajout), et la gestion des licences de pêche (recherche, modification, suppression, ajout), la gestion des marins (recherche, modification, suppression, ajout),la gsetion des mateurs (recherche, modification, suppression, ajout),et enfin la gestion des navires (recherche, modification, suppression, ajout).
L'accès à l'application est autorisé seulement après une authentification assurant la sécurité, cette authentification se fait par l'insertion d'un nom d’utilisateur et d'un mot de passe d'un compte crée et affecté par l'administrateur de l'application.
2.2 Modélisation UML:
2. 2.1- Introduction a la notion d’UML:
UML (Unified Modeling Language, que l'on peut traduire par 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.
8
Rapport de stage
2.2.2 - Notion sur la modélisation UML :
Qu’est-ce qu’un modèle ?
La modélisation consiste à créer une représentation simplifiée d'un problème. Et
grâce au modèle il est possible de représenter simplement un problème, un concept et
le simuler. La modélisation comporte deux composantes: L'analyse, c'est-à-dire l'étude
du problème. la conception, soit la mise au point d'une solution au problème. Le
modèle constitue ainsi une représentation possible du système pour un point de vue
donné.
Les différents diagrammes :
Le méta-modèle UML fournit une panoplie d'outils permettant de représenter
l'ensemble des éléments du monde objet (classes, objets,...) ainsi que les liens qui le
relie. Toutefois, étant donné qu'une seule représentation est trop subjective, UML
fournit un moyen astucieux permettant de représenter diverses projections d'une même
représentation grâce aux vues. Une vue est constitué d'un ou plusieurs diagrammes. On
distingue trois types de vues:
Les vues statiques : représentant le système physiquement
- Diagrammes d'objets
- Diagrammes de classes
- Diagrammes de composants
- Diagrammes de déploiement
Les vues fonctionnels : montrant le fonctionnement du système
- Diagrammes de cas d'utilisation
- Diagramme de collaboration
Les vues dynamique : ils servent à préciser comment le système évolue au cours
du temps.
9
Rapport de stage
- Diagrammes de séquence
- Diagrammes de collaboration
- Diagrammes d'états-transitions
- Diagrammes d'activité
Ces diagrammes, d'une utilité variable selon les cas, ne sont pas nécessairement
tous produits à l'occasion d'une modélisation. Les plus utiles pour la maîtrise d'ouvrage
sont les diagrammes d'activités, de cas d'utilisation, de classes, d'objets, de séquence et
d'états-transitions. Les diagrammes de composants et de déploiement sont surtout
utiles pour la maîtrise d'œuvre à qui ils permettent de formaliser les contraintes de la
réalisation et la solution technique.
Diagramme de classe :
Permet de donner une vue statique du système en terme de
- Classes d'objets
- Relations entre classes- Associations-agrégation/composition
- héritage
La description du diagramme de classes est centrée sur trois concepts :
- Le concept d'objets- Le concept de classes d'objets comprenant des attributs et des
opérations
- Les différents types de relations entre classes.
Diagramme de cas d’utilisation :
o Décrit, sous forme d'actions et de réactions, le comportement d'un
système du point de vue d'un utilisateur.
o Permet de définir les limites du système et ses relations avec
l'environnement.
10
Rapport de stage
o Sert à modéliser les aspects dynamiques d'un système (Contrairement
aux diagrammes de classes).
o Fait ressortir les acteurs et les fonctions offertes par le système.
o Utilisé pour modéliser les exigences (besoins) du client.
Comportent plusieurs éléments :
• Acteurs
• Cas d'utilisation
• Relations de dépendances, de généralisations et d'associations
Diagramme de séquence
o Représenter les interactions entre objets en précisant la chronologie des
échanges de messages.
o Représente une instance d'un cas d'utilisation (les scénarios possible d'un
cas d'utilisation donné).
o Montre sous forme de scénarios, la chronologie des envois de messages
issus d'un cas d'utilisation
Le diagramme de séquence fait ressortir :
• Les acteurs• Les objets• Les messages
Diagramme de collaboration
o Représente les interactions entre objets et relations structurelles permettant La
description:
• Du comportement collectif d'un ensemble d'objets• Des connexions entre ces objets• Des messages échangés par les objets
o Interaction réalisée par un groupe d'objets qui collaborent en échangeant
des messages.
o Représentation graphique de l'évolution d'un ensemble d'objets pour
effectuer une action.
11
Rapport de stage
Différences avec diagrammes de séquence :
• pas d'axe temporel• Temps modélisé par numérotation
Diagramme d’état-transition :
o Fait partie des modèles dynamiques
o Décrit l'enchaînement de tous les états d'un objet
o Propre à une classe donnée. Il décrit :• Les états des objets de cette classe• Les événements auxquels ils réagissent• Les transitions qu'ils effectuent
Le diagramme état-transition manipule plusieurs concepts :
• Etat• Transition• Événement• Garde….
Diagramme d’activité
o Variante des diagrammes d'état-transition
o Permet de décrire le flot de contrôle entre les opérations :
• Choix
• Séquences
• Itérations
• Parallélisme
o Au niveau macroscopique : décrit les enchaînements des opérations
o Au niveau microscopique : décrit l'algorithme d'une action du diagramme
d'états.
Plusieurs concepts sont manipulés :
• État• Activité• Transition (séquentielle, alternatives ou conditionnelle)• Synchronisation (disjonction et conjonctions d'activités)• Itération
12
Rapport de stage
• Swimlanes
2.3 La modélisation UML de notre application:
2.3.1 –Diagramme de cas d’utilisation :
Dans cette partie nous présentons le diagramme de cas d'utilisation dégagé
lors de la conception de notre système. Donc nous allons commencer par les
fonctionnalités :
Les fonctionnalités :
o Facilite la communication entre l’application et le fonctionnaire;
o Facilite la consultation des informations des marins et des navires ;
o Garantir La bonne gestion des navires (affichage, recherche, modification,
suppression, ajout) ;
o Garantir La bonne gestion des marins (affichage, recherche, modification,
suppression, ajout) ;
o Garantir La bonne gestion des licences des pêches (affichage, recherche,
modification, suppression, ajout) ;
o Garantir La bonne gestion des moteurs (affichage, recherche, modification,
suppression, ajout) ;
o Garantir La bonne gestion des armateurs (affichage, recherche, modification,
suppression, ajout) ;
o La sécurité, en offrant au fonctionnaire un nom d’utilisateur et un mot de
passe.
Besoin du fonctionnaire :
Les attentes du fonctionnaire est représenté par ce use cases. Il montre les rôles
que peut effectuer un fonctionnaire en se servant du système de gestion des pannes :
13
Rapport de stage
Figure 1:Diagramme de cas d’utilisation du fonctionnaire
2.3.2 –Diagramme d’activité :
Dans cette partie nous présentons le diagramme d'activité concernant
l'authentifîcation des personnels dégagés lors de la conception de notre système :
Les processus;
o Démarrer l’application pour s’authentifier ;
o Ouvrir l’application ;
o Afficher le formulaire d’authentification ;
o Entrer le nom de l’utilisateur et le mot de passe ;
o Vérification du nom utilisateur et de mot de passe .si le nom d’utilisateur et le
mot de passe sont corrects afficher la page d’accueil sinon afficher un message d’erreur et revenir à la page d’authentification.
14
Rapport de stage
Figure 2:Diagramme d’activité
2.3.3 –Diagramme de séquence:
Dans cette partie nous présentons le diagramme de séquence dégagé lors de la
conception de notre système.
Nous avons choisi trois scénario a présenté :
15
Rapport de stage
Scénario 1 : Recherche d’un navire
Fonctionnaire Système
1) Entrer le nom d’utilisateur
2) Entrer le mot de passe 3) Validation après la vérification du
nom d’utilisateur et le mot de passe
4) Choisir l’option consultée navire
5) Entrer le numéro d’immatriculation
du navire son identifiant unique
6) L’affichage de toutes les
informations
Tableau 1:Scénario de la recherche d’un navire
Figure 3:Diagramme d’activité de la recherche d’un navire
16
Rapport de stage
Scénario 1 : Ajouter un Armateur
Fonctionnaire Système
1- Entrer le nom d’utilisateur
2- Entrer le mot de passe 3- Validation après la vérification du
nom d’utilisateur et le mot de passe
4- Choisir l’option ajoutée armateur 5- Affichage du formulaire de saisie
des informations de l’armateur
6- La saisie des informations
concernant le nouvel armateur
7- Taper le bouton d’enregistrement 8- L’enregistrement des informations
Tableau 2:Scénario de l’ajout d’un armateur
17
Rapport de stage
Figure 4:Diagramme d’activité de l’ajout d’un armateur
Scénario 3 : Modifier les informations d’une licence de
pêche
Fonctionnaire Système
9- Entrer le nom d’utilisateur
10- Entrer le mot de passe 11-Validation après la vérification du
nom d’utilisateur et le mot de passe
12-Choisir l’option gestion licenses de
pêche
13-Affichage de la page qui gére les
licenses de pêche
14-Choisir l’option editer du numéro
de la license choisi
15-Modifier les informations et
confirmer la modification
16-L’enregistrement des informations
dans la base de données
Tableau 3:Scénario de la modification de la licence de pêche
18
Rapport de stage
Figure 5:Diagramme de séquence de la modification de la licence de pêche
2.3.4 –Diagramme de classe:
Dans cette partie nous présentons le diagramme de classe dégagé lors de la
conception de notre système. Donc nous allons commencer par les règles de
gestions:
o Un armateur est caractériser par a un numéro d’identification unique,
caractériser aussi par un nom, un prénom date de naissance, un numéro
de pièce d’identité, une adresse et un email, et un pourcentage de
propriété d’une navire ;
o Un armateur peut posséder un ou plusieurs navires ;
o Un navire peut être posséder par un ou plusieurs armateurs chacun a
son pourcentage de propriété ;
o Un navire est caractérisé par un numéro d’immatriculation unique, par
un nom et une date d’immatriculation, date de construction, un
19
Rapport de stage
longueur hors tout, une date de demande d’immatriculation, un pays de
construction et un lieu, date d’une mise en service et une date de
construction et des autres informations propre a la mesure de la navire
et sa technique de pêche, et sa description ;
o un navire peut posséder un ou plusieurs moteurs.
o Un moteur est caractérisé par un numéro de série, un numéro d’ordre,
une marque, un type et un modèle et une puissance et une date
d’installation et une date effet.
o Un navire peut avoir un ou plusieurs licence de pêche chaque année il
doit avoir une.
o Un navire peut avoir au moins un marin, et un marin peut travailler
dans un seule navire ;
o Un marin est identifié par un numéro d’identification unique, un nom
et un prénom, et un numéro de la CIN, et d’autres informations ;
o Un utilisateur est identifié par un identifiant unique, un nom, un mot
de passe ;
o Un utilisateur peut avoir qu’un seul rôle, mais ce dernier peut avoir
plusieurs utilisateurs ;
o Un rôle est identifié par un identifiant unique, et un nom ;
o Le port est identifié par un numéro unique, et un code ville, un nom, et
un nom de ville ;
o Le port peut avoir un ou plusieurs navires ;
o Un navire est attaché à un seul navire.
La classe Armateur : Cette classe représente les armateurs de la
délégation maritime de Safi. Chaque armateur est caractérisé par plusieurs
informations telles que le numéro d’identification, le nom de l’armateur, sa
date de naissance, etc..
20
Rapport de stage
Figure 6 : la classe Armateur
Les attributs de cette classe sont :
NumIdent : c’est le numéro d’identification de l’armateur
nomArm : le nom de la armateur
prenArm : le prénom de l’armateur
dateNaiss : la date de naissance de l’armateur
numPieceJoint : c le numéro de la carte d’identité
raisonSocial : c’est sa situation familiale (Marié, célébataire.)
nationalite : la nationalité de l’armateur
Type d’armateur : c’est-à dire un personne (physique) ou une société (morale).
La classe Marin : cette classe contient les informations propres au marin
numIdentification : le numéro d’identification du marin, il est unique dans la délégation
numCns : son numéro de la CNS
dateNaiMa : la date de la naissance du marin
fctMar : la fonction occupé par le marin dans la navire ou il travaille
21
Rapport de stage
Figure 7 : la classe Marin
Classe Licence de pêche : Cette classe contient les informations propre a la licence de pêche du navire
Figure 8 : la classe Licence de pêche
Classe Moteur : cette classe contient les informations propres au moteur
Figure 9 : la classe Moteur
22
Rapport de stage
Classe Navire : cette classe englobe les informations propre du navire (sa
mesure, son nom, son numéro d’immatriculation…)
Figure 10 : la classe Navire
La classe Utilisateur : cette classe contient les informations de l’utilisateur son nom d’utilisateur et son mot de passe
Figure 11 : la classe Utilisateur
23
Rapport de stage
La classe Rôle : cette classe contient les différents rôles qui peut les prendre un
utilisateur.
Figure 12 : la classe Rôle
La classe Port : la classe Port contient les informations suivantes
Figure 13 : la classe Port
24
Rapport de stage
Figure 13 : Diagramme de classe
25
Rapport de stage
Chapitre III :
Réalisation de L’application
I. Introduction :
Dans mon stage de fin d’étude, j’ai choisi l’architecture JEE, car elle offre beaucoup d’avantages lors du développement d’applications. Pour cela j’ai choisi de mettre en œuvre un site basé sur cette architecture qui permet de faire la gestion des navires.
Partie I L’environnement du développement:
Avant de parler des environnements du travail, il vaut mieux de parler des exigences fonctionnelles:
Une application est créée pour répondre, tout d’abord, aux besoins fonctionnels des entreprises.
Exigences Techniques :o Les performances:o Temps de réponseo Haute disponibilité et tolérance aux panneso Eviter le problème de montée en chargeo La maintenance:o Une application doit évoluer dans le temps.o Doit être fermée à la modification et ouverte à l’extensiono Sécuritéo Portabilitéo Distributiono Capacité de communiquer avec d’autres applications distantes.o Capacité de fournir le service à différents type de clients (Desk TOP,
Mobile, SMS, http…)o Coût du logiciel
Il est très difficile de développer un système logiciel qui respecte ces exigences sans utiliser l’expérience des autres :
Serveur d’application JEE:o JBOSS, Web Sphere,o GlassFish, Tomcat,o …
Framework pour l’Inversion de contrôle:o Spring (Conteneur léger)o EJB (Conteneur lourd)
Frameworks :o Mapping objet relationnel (ORM) : JPA, Hibernate, Toplink, …o Applications Web : Struts, JSF, SpringMVC
26
Rapport de stage
o …. Middlewares :
o RMI, CORBA : Applications distribuéeso JAXWS pour Web services SOAPo JAXRS pour les Web services RESTfulo JMS.
Figure 14 : Architectures distribués
1.1. Eclipse Kepler :
Eclipse est un IDE, Integrated Development Environment (EDI environnement de développement intégré en français), c'est-à-dire un logiciel qui simplifie la programmation en proposant un certain nombre de raccourcis et d'aide à la programmation. Il est développé par IBM, est gratuit et disponible pour la plupart des systèmes d'exploitation.
1.2. Apache Tomcat :
Apache Tomcat est un conteneur web libre de servlets et JSP Java EE. Issu du projet Jakarta, c'est un des nombreux projets de l’Apache Software Foundation. Il implémente les spécifications des servlets et des JSP du Java Community Process1, est paramétrable par des fichiers XML et de propriétés, et inclut des outils pour la configuration et la gestion. Il comporte également un serveur HTTP.
27
Rapport de stage
1.3. Spring MVC :
o Le coeur de l’environnement Spring est un « conteneur léger »
o Un conteneur léger sert à contenir un ensemble d’objets instanciés etInitialisés, formant un contexte initial (ou une hiérarchie de contextes) pour une application.
o Ce contexte initial est souvent construit à partir d’une description externe (xml)
décrivant les objets à créer, les valeurs initiales et les dépendances entre objets.o Les dépendances (liens) entre objets sont automatiquement créées à partir de la
description (on parle d’injection de dépendances) et non par les objets eux-mêmes par programmation.
o C’est le Design Pattern de l’Inversion du Contrôle : IoC
o SpringMVC est un framework de présentation pour application WEB, suivant
le modèle MVC, fondé sur le conteneur léger de SPRING.o Dans le cas de SpringMVC le conteneur va servir à créer:
-Le contexte de l’application Web-Les objets traitant les requêtes (Controller)-Les objets créant les pages HTML (View)- Les objets donnés des formulaires (Command)-Les liens avec les couches métiers et BD-Et pleins d’autres
• Le mapping des URL vers les contrôleurs• Le mapping des vues, etc.
28
Rapport de stage
Il permet de séparer le code métier du code technique Spring s’appuie principalement sur l’intégration de trois concepts clés :o L’inversion de contrôle ou injection de dépendance (IoC).o La programmation orientée aspect (AOP).
29
Rapport de stage
o Une couche d’abstraction. Ce framework, grâce à sa couche d’abstraction, ne concurrence pas d’autres
frameworks dans une couche spécifique d’un modèle architectural MVC mais s’avère un framework multi-couches pouvant s’insérer au niveau de toutes les couches.
1.4. L’injection de dépendence:
L'univers Java voit souvent apparaître de nouvelles technologies favorisant la conception d'architectures logicielles. Depuis quelques années, de nombreux développeurs s'intéressent à l'inversion de contrôle, ou IoC pour Inversion of Control. L'inversion de contrôle figure une nouvelle approche de la programmation de services et de composants. Pour utiliser cette technique, on doit avoir recours à un conteneur d'inversion de contrôle comme Hivemind, PicoContainer ou Spring. Un conteneur d'IoC peut être identifié par trois caractéristiques majeures : il contient des objets, il contrôle la création de ces objets et il résout les dépendances entre les objets. De par sa nature le conteneur gère le cycle de vie de ces objets. On n’a pas à créer les instances ni à libérer les ressources.
L’inversion du contrôle permet ensuite de changer le comportement de l’application, en modifiant la description xml du conteneur, sans changer les éléments programmés.
1.5. Hibernate :
Hibernate est un framework open source gérant la persistance des objets en base de
données relationnelle.
Hibernate est adaptable en termes d'architecture, il peut donc être utilisé aussi bien dans un développement client lourd, que dans un environnement web léger de type Apache Tomcat ou dans un environnement Java EE complet : WebSphere, JBoss
Application Server et Oracle WebLogic Server.
Hibernate apporte une solution aux problèmes d'adaptation entre le paradigme
objet et les SGBD en remplaçant les accès à la base de données par des appels à des méthodes objet de haut niveau.
Hibernate est un framework qui gère la persistance des objets en base de données.Ce projet ne repose sur aucun standard mais il est populaire notamment grâce à ses bonnes performances et son ouverture avec de nombreuses bases de données.
30
Rapport de stage
Architechture de Hibernate :
L'utilisation de Hibernate présente plusieurs avantages :
o Hibernate génère le code SQL nécessaire, ce qui rend l'application plus portable (s'adapte à la base de données)
o La persistance est transparente. On peut faire de nos classes métiers des classes persistantes sans ajout de code.
o La récupération de donées est optmisée. On peut intérroger la base de données de plusieur façon (Requête SQL, langage HQL...)
o Portabilité du code en cas de changement de la base de données
1.6. php my admin :
phpMyAdmin (PMA) est une application Web de gestion pour les systèmes de gestion de base de données MySQL réalisée enPHP et distribuée sous licence GNU GPL.
1.7. Base de données MySql:
MySQL est un serveur de bases de données relationnelles Open Source.
Un serveur de bases de données stocke les données dans des tables séparées plutôt que de tout rassembler dans une seule table. Cela améliore la rapidité et la souplesse de l'ensemble. Les tables sont reliées par des relations définies, qui rendent possible la combinaison de données entre plusieurs tables durant une requête.
31
Rapport de stage
Le SQL dans "MySQL" signifie "Structured Query Language" : le langage standard pour les traitements de bases de données.
1.8. Spring security:
Spring Security fournit une solution complète en matière de sécurité pour les applications Java JEE. Ce module permet de configurer toute la sécurité sur l’ensemble d’un système sans être dépendant de l’environnement.
Partie II Captures d’écrans de l’application :
2.1. Page d’authentification:
32
Rapport de stage
2.2. Page d’accueil :
2.3. Enregistrement Navire :
2.4. Consulter Navire :
33
Rapport de stage
2.5. Supprimer Navire :
34
Rapport de stage
2.6. Enregistrement Armateur :
2.7. Gestion Licence de pêche :
35
Rapport de stage
2.8. Gestion Moteurs :
36
Rapport de stage
2.9 Gestion Marin :
37
Rapport de stage
Conclusion :
Pour conclure, ce stage a été l’opportunité pour moi d’appréhender au fond le métier du développement en java et surtout l’architecture JEE. Chose qui m'a permis d'enrichir ma capacité de l'autoformation sur de nombreuses technologies strictement nouvelles pour moi, Mais aussi approfondir mes connaissances acquises durant mon parcours en licence professionnel, ce qui m'a donné une base de départ solide dans le domaine des systèmes d'informations.et dans le domaines de la réalisation des applications basée sur l’architecture JEE, et le modèle MVC.
38
Bibliographie
Site Web :
o http://www.scub-foundation.org/accueil/tutoriaux/tutorial-spring-
security/
o http://www.futura-sciences.com/magazines/high-tech/infos/dico/d/
internet-mysql-4640/
o http://tahe.developpez.com/java/springmvc-part1/
o http://spring.developpez.com/cours/
o http://jean-luc.massat.perso.luminy.univ-amu.fr/ens/jee/tp-mvc.html
o https://fr.wikipedia.org/wiki/Mod%C3%A8le-vue-contr
%C3%B4leur
o http://eclipse.developpez.com/actu/57396/Eclipse-Kepler-apporte-le-
support-de-Java-EE-7-sortie-simultanee-entre-la-specification-et-l-
environnement-de-developpement-de-la-fondation-Eclipse/
o http://fr.slideshare.net/angelitoramy/rapport-de-stage-de-fin-detude-
l3-angelito-hasina
o http://docs.spring.io/spring/docs/current/spring-framework-
reference/html/mvc.html
o https://spring.io/guides/gs/serving-web-content/
Cours Pdf sur internet :
o Introduction a Spring Mvc Partie I jean Marc-Geib
o Cour spring MVC par Mohammed Youssefi
39