52
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.

Rapport de Stage TEDDD

  • Upload
    jouha

  • View
    13

  • Download
    0

Embed Size (px)

DESCRIPTION

rapport de stage TEDDD

Citation preview

Page 1: Rapport de Stage TEDDD

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.

Page 2: Rapport de Stage TEDDD

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

Page 3: Rapport de Stage TEDDD

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

Page 4: Rapport de Stage TEDDD

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

Page 5: Rapport de Stage TEDDD

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

Page 6: Rapport de Stage TEDDD

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

Page 7: Rapport de Stage TEDDD

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

Page 8: Rapport de Stage TEDDD

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

Page 9: Rapport de Stage TEDDD

Rapport de stage

III-Diagramme de la DPM:

6

Page 10: Rapport de Stage TEDDD

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

Page 11: Rapport de Stage TEDDD

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

Page 12: Rapport de Stage TEDDD

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

Page 13: Rapport de Stage TEDDD

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

Page 14: Rapport de Stage TEDDD

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

Page 15: Rapport de Stage TEDDD

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

Page 16: Rapport de Stage TEDDD

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

Page 17: Rapport de Stage TEDDD

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

Page 18: Rapport de Stage TEDDD

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

Page 19: Rapport de Stage TEDDD

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

Page 20: Rapport de Stage TEDDD

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

Page 21: Rapport de Stage TEDDD

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

Page 22: Rapport de Stage TEDDD

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

Page 23: Rapport de Stage TEDDD

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

Page 24: Rapport de Stage TEDDD

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

Page 25: Rapport de Stage TEDDD

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

Page 26: Rapport de Stage TEDDD

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

Page 27: Rapport de Stage TEDDD

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

Page 28: Rapport de Stage TEDDD

Rapport de stage

Figure 13 : Diagramme de classe

25

Page 29: Rapport de Stage TEDDD

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

Page 30: Rapport de Stage TEDDD

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

Page 31: Rapport de Stage TEDDD

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

Page 32: Rapport de Stage TEDDD

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

Page 33: Rapport de Stage TEDDD

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

Page 34: Rapport de Stage TEDDD

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

Page 35: Rapport de Stage TEDDD

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

Page 36: Rapport de Stage TEDDD

Rapport de stage

2.2. Page d’accueil :

2.3. Enregistrement Navire :

2.4. Consulter Navire :

33

Page 37: Rapport de Stage TEDDD

Rapport de stage

2.5. Supprimer Navire :

34

Page 38: Rapport de Stage TEDDD

Rapport de stage

2.6. Enregistrement Armateur :

2.7. Gestion Licence de pêche   :

35

Page 39: Rapport de Stage TEDDD

Rapport de stage

2.8. Gestion Moteurs   :

36

Page 40: Rapport de Stage TEDDD

Rapport de stage

2.9 Gestion Marin   :

37

Page 41: Rapport de Stage TEDDD

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

Page 42: Rapport de Stage TEDDD

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