Post on 26-Apr-2023
1
]
Système de gestion de production | 2014-2015 1
Mémoire de stage d’ingénieur
«Génie du Logiciel et Système Informatique Distribué»
GLSID
Lieu du stage : Maroc Ingenov
Soutenue le 29 Octobre 2014
Réalisé par : : Encadré par :
Hajar GAOUCHE
Abdellah SABIR
M. Lahsen BOUDLA
Université Hassan II Mohammedia Casablanca
Ecole Normale Supérieure de l’Enseignement Technique
ENSET – Mohammedia
Département Mathématiques et Informatique
ANNEE UNIVERSITAIRE : 2014-2015
ENSET Av. Hassan II - B.P. 159 - Mohammedia - Maroc
0523322220/0523323530 Fax: 0523322546 Site Web: www.enset-media.ac.ma E-mail:enset-media@enset-media.ac.ma
2
]
Système de gestion de production | 2014-2015 2
Remerciement
A terme de ce projet on tient à remercier non seulement comme devoir
mais par grand respect et gratitude profonde monsieur Lahsen BOUDLAL, Le
Directeur de la société Maroc INGENOV, pour avoir encadré ce stage et nous
avoir permis de le réaliser dans les meilleures conditions le long de ces deux
mois de stage et nous avoir confié un projet d’une grande valeur.
Nous voudrons également, remercier chaleureusement le corps
pédagogique de l’école normale supérieure de l’enseignement technique de
Mohammedia, pour leur dévouement à nous transmettre les connaissances
théoriques qui nous permettent d’avancer dans notre formation.
Enfin, nous remercions tout particulièrement et à témoigner toute nos
reconnaissances et toute personne ayant participé à la réussite de ce travail et
ayant aidé notre groupe à atteindre son objectif ainsi que tous ceux qui ont
contribué de près ou de loin à l’élaboration de ce travail.
3
]
Système de gestion de production | 2014-2015 3
Glossaire
ACRONYME DESIGNATION
SIG Système d’Information Géographique
SI Système d'Information
AEP Alimentation en Eau Potable
EL Langage d’Expression
ERP Enterprise Resource Planning
DAO Data Access Object
UML Unified Modeling Language
SGBD Système de Gestion de Base de Données
Java EE Java Enterprise Edition
MVC Model-View-Controller
IOC Inversion Of Control
JDBC Java DataBase Connectivity
HTTP HyperText Transfer Protocol
jsp Java Server Pages
IDE Integrated Development Environment
POM Project Object Model
XML Extensible Markup Language
CSS Cascading Style Sheets
HTML Hypertext Markup Language
SQL Structured Query Language
AJAX Asynchronous JavaScript and XML
AOP Programmation Orienté Aspect
JSTL JavaServer Pages Standard Tag Library
4
]
Système de gestion de production | 2014-2015 4
Sommaire Remerciement ............................................................................................................................................. 2
Glossaire ........................................................................................................................................................ 3
Liste des figures ......................................................................................................................................... 6
Introduction ................................................................................................................................................. 7
Contexte du projet .................................................................................................................................... 8
I. Présentation de l’organisme d’accueil ................................................................... 8
1. Maroc IngEnov ......................................................................................................................... 8
2. Organigramme ........................................................................................................................ 9
3. Infrastructure technique ...................................................................................................... 9
II. Contexte du projet ................................................................................................. 11
1. Etude de l’existence et présentation du projet ........................................................ 11
2. Objectifs du projet ............................................................................................................... 13
3. Conduite du projet ............................................................................................................... 14
4. Planification du projet ....................................................................................................... 15
5. Facteurs de risque ................................................................................................................ 15
Analyse et conception............................................................................................................................ 16
I. Analyse et spécification des besoins fonctionnels ............................................. 16
1. Acteurs ...................................................................................................................................... 16
2. Diagramme de cas d’utilisation ...................................................................................... 18
3. Diagramme de séquence ................................................................................................... 19
III. Conception ............................................................................................................ 20
1. Diagramme de classes des entités ................................................................................ 20
Environnement technique .................................................................................................................... 21
I. Outils de modélisation .......................................................................................... 21
II. Outils de développement ...................................................................................... 21
1. Présentation du serveur d’application (Tomcat) ...................................................... 21
2. Environnement d’intégration de développement (Eclipse) ................................. 22
III. Framework Spring .................................................................................................. 22
IV. Outils de construction ........................................................................................... 22
V. Outils de test .......................................................................................................... 23
VI. Technique de développement .............................................................................. 23
1. Architecture de l’application ........................................................................................... 23
2. Mise en forme ........................................................................................................................ 26
3. Coté langage .......................................................................................................................... 27
4. Système de gestion de base données .......................................................................... 28
5
]
Système de gestion de production | 2014-2015 5
Réalisation .................................................................................................................................................. 29
I. Présentation ........................................................................................................... 29
II. Interface de l’Agent de saisie ................................................................................ 30
III. Gestion de pointage et activités ........................................................................... 34
IV. Interface du chef de groupe .................................................................................. 38
V. Interface du chef de projet .................................................................................... 39
VI. Direction ................................................................................................................. 41
Conclusion .................................................................................................................................................. 45
Bibliographie ............................................................................................................................................. 46
Webographie ............................................................................................................................................. 46
6
]
Système de gestion de production | 2014-2015 6
Liste des figures
Figure 1 : Organigramme de l’entreprise ................................................................................. 9
Figure 2 : Organisation physique de la production ............................................................... 12
Figure 3 : Mode de gestion des temps passés ....................................................................... 13
Figure 4 : Cycle en Y ................................................................................................................ 14
Figure 5 : Diagramme de Gantt ............................................................................................... 15
Figure 6 : Diagramme de cas d’utilisation .............................................................................. 18
Figure 7 : Diagramme de séquence ........................................................................................ 19
Figure 8 : Diagramme de classes ............................................................................................ 20
Figure 9 : L’architecture de l’application sous Eclipse .......................................................... 23
Figure 10 : L’architecture globale de l’application ................................................................ 24
Figure 11 : L’architecture du projet sous Eclipse .................................................................. 26
Figure 12 : Traitement d’image sous Photoshop ................................................................... 27
Figure 13 : Accueil .................................................................................................................... 29
Figure 14 : Authentification .................................................................................................... 29
Figure 15 : Accueil de l’agent de saisie .................................................................................. 30
Figure 16 : L’ajout d’un nouvel employé ................................................................................ 31
Figure 17 : Liste des employés................................................................................................ 31
Figure 18 : Ajout d’une nouvelle affaire ................................................................................. 32
Figure 19 : Liste des affaires ................................................................................................... 32
Figure 20 : Gestion des catégories .......................................................................................... 33
Figure 21 : Gestion des clients ................................................................................................ 33
Figure 22 : Gestion des fournisseurs ...................................................................................... 34
Figure 23 : Interface de pointage ........................................................................................... 34
Figure 24 : L’accueil de l’employé .......................................................................................... 35
Figure 25 : Etats de pointage .................................................................................................. 35
Figure 26 : Liste des pointages d’un employé ....................................................................... 36
Figure 27 : notification taches et imputation ........................................................................ 36
Figure 28 : imputations d’un employé .................................................................................... 37
Figure 29 : Liste des imputations par tâche ........................................................................... 37
Figure 30 : Heures supplémentaires ....................................................................................... 38
Figure 31 : L’accueil du chef de groupe ................................................................................. 38
Figure 32 : Liste des employés et leurs imputations ............................................................ 39
Figure 33 : L’accueil du chef de projet ................................................................................... 39
Figure 34 : Liste des employés et leurs imputations et leurs tâches .................................. 40
Figure 35 : Liste des affaires ................................................................................................... 40
Figure 36 : Validation des pièces débours ............................................................................. 41
Figure 37 : L’accueil de la Direction ....................................................................................... 41
Figure 38 : Liste des affaires ................................................................................................... 42
Figure 39 : Liste des employés................................................................................................ 42
Figure 40 : Imputations des employés ................................................................................... 43
Figure 41 : Pièces débours à valider ....................................................................................... 43
Figure 42 : Pièce débours à valider ........................................................................................ 44
7
]
Système de gestion de production | 2014-2015 7
Introduction
Ce rapport expose le travail effectué dans le cadre d’un Stage d’ingénieur
du premier Juillet au 31 Août réalisé au sein de l’entreprise Maroc Ingenov dans
le cadre de notre formation en deuxième année du cycle d’ingénieur Génie du
Logiciel et des Systèmes Informatiques Distribués à l’Ecole Normale Supérieur
de l’Enseignement Technique Mohammedia. L’objectif confié à ce stage, est
d’étudier, concevoir et mettre en place un système de gestion de production
basé sur la technologie Java EE notamment le Framework Spring et PostgreSQL
comme système de gestion de base de données.
Le présent document envisage dans sa première partie le contexte du
projet qui comporte deux axes : la présentation de l’organisme d’accueil, et
celle de notre projet. La deuxième partie est consacrée à l’étude des besoins
fonctionnels, l’analyse et la conception du projet. La troisième présente
l’environnement technique du travail, et finalement la phase de la réalisation
décrivant les interfaces type de notre application.
8
]
Système de gestion de production | 2014-2015 8
Contexte du projet
I. Présentation de l’organisme d’accueil
MAROC INGENOV est un bureau d’étude, créée en 2009 par le directeur M. Lahsen
BOUDLAL. Elle a pour vocation, la réalisation des systèmes d’information, des systèmes
d’information géographique et des études techniques.
Parmi les domaines d’expertise de la société : l’informatique et le Système
d’Information Géographique (SIG), les études hydrologiques, hydrogéologiques, géologiques,
sismiques, l’aménagement urbain et rural, l’aménagement des cours d’eau, la gestion des
ressources en eau, les études d’impact sur l’environnement et les études de qualité.
Le bureau d’étude est constituée d’une équipe cohérente et solidaire d’experts et de
consultants dans les domaines près cités, et qui ont pour principal objectif la réalisation des
études de haute qualité, d’offrir des services divers adaptés aux besoins des clients, et
d’assister le client ou le maître d’œuvre depuis la conception du projet jusqu'à la réalisation
dans les règles de l’art.
Les projets sont étudiés au sein du département informatique constitué de plusieurs
équipes, que dans chacune on trouve un chef de projet, des ingénieurs et des techniciens.
9
]
Système de gestion de production | 2014-2015 9
Figure 1 : Organigramme de l’entreprise
3.1. Système Informatique
Dans le développement des systèmes informatiques Le bureau d’étude MAROC
INGENOV utilise comme système de gestion de base de données : Oracle et Microsoft
SQL Server et comme langage de programmation : PHP, .Net et Java.
Les prestations :
Etude de l’existant et des besoins.
Elaboration des manuels de procédures.
Conception des systèmes d’informations.
Développement (Windows, Intranet, Internet) et mise en place.
Accompagnement pendant la mise en œuvre & Maintenance.
3.2. Système d’Information Géographique (SIG)
Dans le développement des Systèmes d’Information Géographique Le bureau
d’étude MAROC INGENOV utilise comme logiciel : ArcGis, Autodesk Map et Autodesk
MapGuide Enterprise Open Source.
1
0]
Système de gestion de production | 2014-2015 10
Les prestations :
Etude de l’existant et des besoins - Architecture et mise en place
Intégration au Système d’information de l’entreprise
Adaptation & Personnalisation
Développement et déploiement en architecture Client/Serveur et SIG
Intranet/Internet
Support et formation
3.3. Les domaines d’application des SI et les SIG
Chaque système développé à MAROC INGENOV a son domaine d’application.
Parmi ces derniers on trouve :
Développement des systèmes d’information à caractère technique et/ou
scientifique dans les domaines suivants : Eau, Environnement, Agriculture,
Energie, Géotechnique, Topographie, Génie civil (simulation, modélisation,
etc.).
Systèmes d’information de gestion du patrimoine et des infrastructures:
Gestion du patrimoine mobilier et immobilier.
Gestion des réseaux : AEP, assainissement, électricité, télécom et
transport.
Gestion du foncier et du cadastre.
Application de gestion urbaine et communautaire.
Géolocalisation et gestion de flottes.
Promotion et gestion immobilière.
Développement des systèmes d’information de support qui préoccupent les
domaines suivant :
Intégration de progiciels et ERP : Comptabilité, trésorerie, RH,
achats, logistique, recouvrement, contentieux.
Développement produits spécifiques de support pour
administrations et entreprises.
Réalisation des sites web et portails à caractère général.
Systèmes de gestion documentaire qui consiste dans :
L’étude et la conception de solutions de gestion documentaires,
courrier et Workflow.
La numérisation et l’intégration de fonds documentaires.
L’acquisition, le traitement et l’intégration des données.
1
1]
Système de gestion de production | 2014-2015 11
II. Contexte du projet
Maroc Ingenov est une entreprise qui a pour mission l’étude et la réalisation des projets de
diffèrent domaines, la procédure de travail dessus est actuellement traditionnelle ce qui a
causé les problèmes suivants :
L’employé doit se déplacer afin de chercher une information à propos d’un projet. Ses
déplacements peuvent être inutiles et même peuvent provoquer un gaspillage de
temps.
Absence de structuration (catégories et groupe …) ce qui va entrainer une mal gestion
du projet
Mal gestion des imputations sur les affaires
Mal gestion des heures supplémentaires
Mal gestion des pièces débours
Maroc Ingenov dispose également d’un système de pointage manuel à savoir le pointage via
des feuilles de pointage.
Solutions :
La solution consiste à mettre en place un système de gestion de production. Ce système
est une image conforme à la réalité des concepts et de l'organisation physique de la
production Cette organisation est représentée shématiquement sur le diagramme ci-
contre. Les deux principaux concepts sont : L’employé et l'affaire.
Les employés sont répartis en catégories en fonction de leur expérience et des tâches
qu'ils assurent. Ce qui se traduit par un coût horaire moyen de chaque catégorie.
L'affaire est le noyau de la production. Elle peut correspondre à un ou plusieurs
contrats avec un client, traité par un ensemble de personnes (membres) dont les
spécialités et l'expérience sont conditionnées par la nature et l'importance de
l'affaire. Sa gestion est confiée à un ingénieur (chef de projet) qui peut à son tour
désigner l'un des membres en tant qu'adjoint au chef de projet.
1
2]
Système de gestion de production | 2014-2015 12
Figure 2 : Organisation physique de la production
La responsabilité du chef de projet vis à vis aussi bien de la Direction que du Client
se traduit par un pouvoir de prise de décision sanctionné à la fois par un bon aboutissement
de l'affaire et par la meilleure rentabilité possible.
Les conditions et les délais de cette prise de décision sont nettement améliorés par ce
système d'information qui est fondé sur les mêmes concepts utilisés avant combinés aux
dernières technologies de l'information de l'époque.
Ci-contre un diagramme qui résume le mode de gestion des temps passés dans le cadre
d'une affaire.
Groupe Personnel et Catégorie Chef de Groupe
Adjoint au Chef de Projet
1
3]
Système de gestion de production | 2014-2015 13
Figure 3 : Mode de gestion des temps passés
Les principaux objectifs du système sont :
d’une part de pouvoir évaluer la rentabilité des affaires à tout moment et
d’autre part de matérialiser dans les faits les attributions et devoirs des responsables
à tout niveau.
Ces objectifs ont été atteints par le biais d'une répartition efficace des rôles et la collecte
de l'information aussitôt qu'elle est disponible
L'évaluation de la rentabilité des affaires est effectuée par le biais de ratios mis au point par
l'entreprise et utilisant les informations générées par le système pour chaque affaire à
savoir : le montant facturé, le montant des débours, le coût direct productif, le coût direct
prévisionnel et les débours prévisionnels
1
4]
Système de gestion de production | 2014-2015 14
Dans le cadre d’un projet de développement informatique, il apparaît aujourd’hui une
nouvelle dimension qui est celle de la « réutilisation » ; réutilisation des spécifications, des
services, des composants et du code. Cette démarche permettra un gain considérable de
temps et donc d’argent, l’amélioration de la qualité des développements et donc satisfaction
des utilisateurs.
Pour cela il faut alors modifier les méthodes de travail classiques et passer à des méthodes
dites agiles notamment 2TUP. Parce que la méthodologie Agile permet de travailler en
binôme, aucune personne travaillant sur le projet n’est seule dans son coin, contrairement à
ceux travaillant dans un cadre de gestion de projet traditionnelle.
Processus de développement :
Le modèle 2TUP -appelé aussi cycle en « Y » - repose sur cinq principes fondamentaux :
Séparer les aspects fonctionnels et les aspects techniques
Travailler selon deux points de vue qui se complètent et s’enrichissent
mutuellement ; celui de l’entreprise, celui des applications.
Modéliser l’activité de l’entreprise et des applications aux moyens d’objets en
utilisant UML.
Effectuer la réingénierie des applications dans le sens de la réutilisation.
La figure 4 montre bien le cycle en « Y » caractéristique de 2TUP.
Figure 4 : Cycle en Y
1
5]
Système de gestion de production | 2014-2015 15
Le diagramme ci-dessous (figure 5) illustre les différentes phases du projet avec une
estimation approximative de chaque tache et la succession des taches dans le temps
Figure 5 : Diagramme de Gantt
Cette phase consiste à présenter les risques qui peuvent survenir lors de ce projet (tableau 1).
Risque Impact Probabilité Solutions
Modification
des besoins
Important de
quelques jours
Faible 1. Tentative d'adaptation aux
nouveaux besoins
2. Retour à la phase d'analyse
des besoins
Indisponibilité
d’un membre
Faible à important
de quelques jours à
quelques semaines
Faible 1. Correction du planning
prévisionnel
2. Continuité du travail (taches
en parallèle).
Tableau 1 : Facteurs de risque
12
10
33
33
7
50
0 10 20 30 40 50 60 70
Etude et analyse
Conception
Développement
Test unitaire
Test final
Rapport du projet
Durée
1
6]
Système de gestion de production | 2014-2015 16
Analyse et conception
I. Analyse et spécification des besoins fonctionnels
La spécification des besoins fonctionnels va nous permettre d’avoir une meilleure approche
des utilisateurs, des fonctionnalités et de la relation entre les deux. Elle sera sous forme de
cas d’utilisation. Pour cela nous allons procéder ainsi :
Identification des messages et des acteurs du système.
Diagramme de cas d’utilisation
Diagramme de séquence
Dans cette phase on va identifier les différents acteurs interagissant avec le
système et qui sont les suivants :
Chef de projet :
Décomposition des affaires en missions
Prévision des temps restant à passer par chaque employé sur l’affaire
Autorisation des HS
Définition des quotas sur les temps à passer
Contrôle et validation des temps passés
Validation des factures
Validation des saisis débours
Chef de groupe :
Contrôle et validation des temps passés par les personnes du groupe
Employé :
Pointage
imputation
Consultation des heures supplémentaire autorisé à effectuer
Consultation de la liste des pointages
Consultation de la liste des imputations
Consulter de la fiche de solde mensuel
1
7]
Système de gestion de production | 2014-2015 17
Agent de saisie :
Ajouter client
Ajouter employé
Ajouter fournisseur
Création des affaires
Création des contrats
Saisi des pièces débours
Ajouter groupe
Ajouter qualification
Ajouter catégorie
Comptable :
Validation des pièces débours
Emission des factures -> Suivi de l’encaissement
Suivi des règlements
Calcul des débours
Génération des écritures comptables
Responsable de facturation :
Préparation des factures
Encaissement des factures
génération des écritures relatives aux factures
Direction :
Validation des prévisions
Suivi et Contrôle des affaires
Suivi des débours de toutes les affaires
Suivi détaillé de la facturation des affaires
1
8]
Système de gestion de production | 2014-2015 18
Figure 6 : Diagramme de cas d’utilisation
Agent de sa isi
Employé
Responsable facturation
C hef de projet
C hef de groupe
C omptable
Direction
Ajouter C lient
Ajouter fournisseur
Ajouter E mployé
Ajouter affaire
Imputation
P ointage
fiche de solde mensuel
Valider encaissements
G énérer les écritures comptable
Ajouter factures
G énérer factures
ajouter contrat
Décomposer l'affaire
Valider P D
Définir temps/coùt
autoriser les HS
Affectation des employés
Calculer débours
G énérer les écritures comptable pou P D
Validation P D
Validation prévos ions
S uivi des affaires
S uivi des imputaions
S ais ir les données
Controler les temps passés
Ajouter qualification
Ajouter groupe
Ajouter catégorie
ajouter pièce débours
Consulter
lis te pointage
lis te imputation
Valider les imputation
Validation facture
Validation P iece debours
S uivi des pointages
S uivi Facturation
1
9]
Système de gestion de production | 2014-2015 19
Figure 7 : Diagramme de séquence
DiagrammeSequence_1
Facture validée
Validation de la factire
Facture générée
Génération de facture
Ecritures comptable générées
Génération des ecritures comptable
Facture ajoutée
Ajouter facture
Affichage de la l iste du solde
Consultation de la fiches du solde mensuel
Calcule des débours effectués
Calcule des débours
Ecritures comptable générées
Génération des ecritures comptable
Encaissements validé
validation des encaissements
PD validée
Validation pd
PD validé par le comptable
Validation pd
PD validé par le chef de projet
Validation pd
PD enregistrée
Ajouter PD
Heures supplémentaire autorisées
Autorisation HS
controle de temps
controle de temps
Imputation validée
Validation de l 'inputation
Imputation validée par le chéf de groupe
Validation de l 'inputation
Imputation enregistrée
Imputation
tâche enregistrée
Affectation des employés au tâches
Prévision temps/coût
Affaire enregistrée
Decomposition de l 'affaire
contrat enregistré
Ajouter contrart
Ajouter Affaire
Employé présent
Employé absent
Pointage
Emloyé connecté
authentification
Agent de saisie Employé Chef de groupe Chef de projet Comptable Responsable facturation Directeur
Systéme
absent
présent
alt
par
[ ]opt
[ ]opt
[ ]opt
[ ]opt
Facture validée
Validation de la factire
Facture générée
Génération de facture
Ecritures comptable générées
Génération des ecritures comptable
Facture ajoutée
Ajouter facture
Affichage de la l iste du solde
Consultation de la fiches du solde mensuel
Calcule des débours effectués
Calcule des débours
Ecritures comptable générées
Génération des ecritures comptable
Encaissements validé
validation des encaissements
PD validée
Validation pd
PD validé par le comptable
Validation pd
PD validé par le chef de projet
Validation pd
PD enregistrée
Ajouter PD
Heures supplémentaire autorisées
Autorisation HS
controle de temps
controle de temps
Imputation validée
Validation de l 'inputation
Imputation validée par le chéf de groupe
Validation de l 'inputation
Imputation enregistrée
Imputation
tâche enregistrée
Affectation des employés au tâches
Prévision temps/coût
Affaire enregistrée
Decomposition de l 'affaire
contrat enregistré
Ajouter contrart
Ajouter Affaire
Employé présent
Employé absent
Pointage
Emloyé connecté
authentification
2
0]
Système de gestion de production | 2014-2015 20
III. Conception
Figure 8 : Diagramme de classes
2
1]
Système de gestion de production | 2014-2015 21
Environnement technique
I. Outils de modélisation
Dans notre projet, nous avons adapté UML (Unified Modeling language) comme
langage de modélisation.
En informatique UML (de l'anglais Unified Modeling Language), ou Langage
de modélisation unifié, est un langage de modélisation graphique à base de pictogrammes.
Il est utilisé en développement logiciel, et en conception orientée objet. UML est
couramment utilisé dans les projets logiciels.
PowerAMC permet de réaliser tous les types de modèles informatiques. Il
reste un des seuls qui permet de travailler avec la méthode Merise. Selon Riff News, cela
permet d'améliorer la modélisation, les processus, le coût et la production d'applications.
II. Outils de développement
Le serveur d'applications est l'environnement d'exécution des applications côté
serveur. Il offre un certain nombre de services tels que : l'accès aux composants, la
répartition de charge, la persistance, la gestion transactionnelle et la sécurité.
Le serveur d’application mise en place dans notre système de gestion de production
est 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 Process, est
2
2]
Système de gestion de production | 2014-2015 22
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.
Eclipse est un EDI (Environnement de Développement Intégré) ou en
anglais un IDE. Il vise à développer un environnement de production de logiciels libres qui
soit extensible, universel et polyvalent, en s'appuyant principalement sur Java. Son objectif
est de produire et fournir des outils pour la réalisation de logiciels, englobant les activités
de programmation (notamment environnement de développement intégré et Framework)
recouvrant modélisation, conception, gestion de configuration, reporting…etc. Bien
qu'Eclipse ait d'abord été conçu uniquement pour produire des environnements de
développement, les utilisateurs et contributeurs se sont rapidement mis à réutiliser ses
briques logicielles pour des applications clientes classiques.
III. Framework Spring
Spring est un Framework open source J2EE base sur la manipulation de composants logiciels
(beans) qui fournit un conteneur capable de stocker ces beans. La configuration de
l'application peut se faire grâce à un fichier XML.
Pendant le stage, on a pu utiliser la puissance IOC concepts clés de Spring : L'Inversion of
Control (Ioc-inversion de contrôle ou injection de dépendances). L'Ioc est un patron de
conception permettant, en programmation orientée objet, de découpler les dépendances
entre objets. On sait juste que l'objet A dépend de B et c'est Spring qui va gérer les
dépendances entre les instances. Leur création est faite au moment du lancement de
l'application. L'idée du pattern IOC est très simple, elle consiste, lorsqu'un objet A a besoin
d'un objet B, à déléguer à un objet C la mise en relation de A avec B.
IV. Outils de construction
Pour la construction de notre projet, nous avons adapté l’outil
Maven qui est un outil pour la gestion et l'automatisation de production des projets logiciels
Java en général et Java EE en particulier. L'objectif recherché est comparable au système
2
3]
Système de gestion de production | 2014-2015 23
Make sous Unix : produire un logiciel à partir de ses sources, en optimisant les tâches
réalisées à cette fin et en garantissant le bon ordre de fabrication.
Maven et Eclipse : Un plugin Maven pour Eclipse est disponible, permettant à Eclipse
d’utiliser Maven en arrière-plan et donc d'utiliser Eclipse et Maven conjointement.
Ceci permet d’avoir des projets Maven
générés et stockés dans le référentiel. Il
permet notamment de dépendre de projets qui
sont dans le référentiel, et donc on n’a pas
besoin de les importer sous Eclipse comme
c’est le cas dans les outils existant. Le
classpath est généré par Maven.
Maven généré un répertoire « target » qui
permet de visualiser de nombreuses pages
contenant des rapports et des informations sur
le projet (nom du projet, les dépendances,…).
Figure 9 : L’architecture de l’application sous Eclipse
V. Outils de test
JUnit est un framework de test unitaire pour le langage de programmation Java. Créé par
Kent Beck et Erich Gamma, JUnit est certainement le projet de la série des xUnit connaissant
le plus de succès.
VI. Technique de développement
L’architecture adoptée pour ce projet est celle la plus utilisée dans le développement des
grandes applications, c’est l’architecture 3-tiers.
L’architecture à trois niveaux ou architecture à trois couches est l'application du modèle
plus général qu'est le multi-tiers. L'architecture logique du système est divisée en trois
niveaux ou couches : Couche présentation ; couche métier ; couche accès aux données.
2
4]
Système de gestion de production | 2014-2015 24
Figure 10 : L’architecture globale de l’application
Un client web est un logiciel conçu pour se connecter à un serveur HTTP.
C’est le serveur d’application utilisé pour son déploiement.
La présentation des données : cette couche est l’apparence visuelle de
l’application, telle qu’elle sera perçue par l’utilisateur finale. Pour cette couche on
adopte le Framework Spring Web Model-View-Controller (MVC). La logique de
présentation est basée sur le pattern Model-View-Controller. En effet, L'organisation
globale d’un programme est souvent délicate. Plusieurs solutions sont proposées pour
arranger la façon d'organiser une interface graphique d'un programme. Le modèle MVC
offre aussi un cadre pour structurer une application, en proposant trois entités distinctes :
le modèle, la vue et le contrôleur ayant chacun un rôle précis dans l'interface.
L’aspect de sécurité est traité au niveau de cette couche, on utilisant le Framework Spring
security. En effet, les requêtes http sont interceptées par un filtre de servlet qui délègue
à un bean Spring les traitements de vérification d’accès aux pages web.
C
B
A
2
5]
Système de gestion de production | 2014-2015 25
Le traitement métier des données : correspondant à la mise en œuvre de
l'ensemble des règles de gestion et de la logique applicative. Nous avons adopté
pour cette couche le Framework Spring IOC. C’est un Framework open source qui prend
en charge la création d’objets et la mise en relation d’objet par l’intermédiaire d’un fichier
de configuration qui décrit les objets à fabriquer et les relations de dépendance entre ces
objets.
L'accès aux données persistantes : correspondant aux données qui sont destinées
à être conservées sur la durée, voire de manière définitive. Pour cette couche nous
avons utilisé le Framework Hibernate, qui est un Framework open source. Il 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.
L’architecture du projet sous Eclipse IDE :
Globalement, l'architecture d'un projet web Java EE notament Spring dans eclipse est la
suivante :
D
E
2
6]
Système de gestion de production | 2014-2015 26
Figure 11 : L’architecture du projet sous Eclipse
La mise en forme de notre projet a été réalisée par le Framework Bootstrap2 coté
présentation des pages web et Photoshop coté conception du logo et traitement d’images
Bootstrap2 est une collection d'outils utile à la création de sites web et applications
web. C'est un ensemble qui contient des codes HTML et CSS, des formulaires, boutons,
outils de navigation et autres éléments interactifs, ainsi que des extensions JavaScript en
option. C'est l'un des projets les plus populaires sur la plate-forme de gestion de
développement GitHub, Bootstrap est un projet open source de Twitter.
2
7]
Système de gestion de production | 2014-2015 27
: C’est une bibliothèque JavaScript libre et multi-plateforme créée pour faciliter
l'écriture de scripts côté client dans le code HTML des pages web.
Photoshop CS6 : est un logiciel de retouche, de traitement et de dessin assisté par
ordinateur édité par Adobe. Il est principalement utilisé pour le traitement de photographies
numériques.
Figure 12 : Traitement d’image sous Photoshop
SQL : est un langage informatique normalisé servant à exploiter des bases de données
relationnelles. La partie langage de manipulation des données de SQL permet de rechercher,
d'ajouter, de modifier ou de supprimer des données dans les bases de données
relationnelles.
Java : Le langage Java est un langage de programmation informatique orienté objet
créé par James Gosling et Patrick Naughton, employés de Sun Microsystems. Il permet de
créer des logiciels compatibles avec de nombreux systèmes d’exploitation (Windows, Linux,
Macintosh, Solaris). Java donne aussi la possibilité de développer des programmes pour
téléphones portables et assistants personnels. Enfin, ce langage peut être utilisé sur internet
pour des applications intégrées à la page web (applet) ou encore comme langage serveur
(JSP).
2
8]
Système de gestion de production | 2014-2015 28
EL : JSTL propose un langage particulier constitué d'expressions qui permettent
d'utiliser et de faire référence à des objets Java accessibles dans les différents contextes de
la page JSP. Le but est de fournir un moyen simple d'accéder aux données nécessaires à une
JSP.
JavaScript : est un langage de programmation qui permet d'apporter des améliorations
au langage HTM pour exécuter des commandes du côté client, c'est-à-dire au niveau du
navigateur et non du serveur web. AJAX est une méthode de développement web basée sur
l'utilisation d'un script JavaScript pour effectuer des requêtes web à l'intérieur d'une page
web sans recharger la page.
Est un système de gestion de bases de données relationnelles
objet (ORDBMS), développé à l'université de Californie au département des sciences
informatiques de Berkeley. Il supporte de nombreuses fonctionnalités modernes : requêtes
complexes, clés étrangères, déclencheurs, intégrité des transactions… De plus, il est étendu
de plusieurs façons par l'utilisateur, par exemple en ajoutant de nouveaux types de données,
fonctions, opérateurs, fonctions d'agrégat, méthodes d'indexage et langages de procédure.
2
9]
Système de gestion de production | 2014-2015 29
Réalisation
I. Présentation
Le système de gestion de production développé durant notre stage comprend sept
applications qui interagissent entre elles. La page d’accueil du Project Management se
compose de son tour de septe icones où chacune amène à une de ces applications
Figure 13 : Accueil
Pour accéder au système sous n’importe quel profil une authentification est requise.
Figure 14 : Authentification
3
0]
Système de gestion de production | 2014-2015 30
II. Interface de l’Agent de saisie
En cliquant sur l’icône de l’agent de saisie la page représenté par la figure ci-contre
s’affiche (figure 15). A travers cet interface l’agent de saisie pourra ajouter des entrées les
modifiées ou/et les supprimées en cas de besoin.
Figure 15 : Accueil de l’agent de saisie
Afin d’ajouter un nouveau employé, l’agent de saisie doit entrer toutes les informations
personnel ainsi que professionnel propre à ce dernier, de plus il doit préciser les rôles dans
cet employé disposera, un message informatif est affiché pour signalé que le rôle Employé
est attribuer implicitement. Un email est envoyé à l’employé ajouté contenant le login o le
mot de passe pour accéder au système (figure 16).
3
1]
Système de gestion de production | 2014-2015 31
Figure 16 : L’ajout d’un nouvel employé
Une fois un employé s’est ajouté il sera inséré dans la liste des personnels de Maroc-
Ingenov, cette liste est représentée dans un tableau avec la possibilité de rechercher,
modifier ou bien supprimer.
Figure 17 : Liste des employés
Chaque affaire prise par MarocIngenov doit être ajouté depuis l’interface représentée
par la figure ci-dessous, lors de l’ajout d’une nouvelle affaire l’agent de saisie doit préciser
l’employé dite chef de projet qui sera responsable de cette dernière ainsi que son adjoint.
3
2]
Système de gestion de production | 2014-2015 32
Une fois l’affaire s’est ajoutée avec succès une notification sera instantanément
envoyée au chef de projet concerné à l’aide de la méthode AJAX
Figure 18 : Ajout d’une nouvelle affaire
Chaque affaire peut avoir une ou plusieurs contrats, du même pour les pièces débours.
Pour les ajouter l’agent de saisie se serve de l’interface ci-dessous. Dans cette interface on
dispose de toutes les informations correspondantes aux affaires notamment l’état, la date
de service, la date d’achèvement … . Si une pièce débours s’est ajoutée pour une affaire une
notification sera instantanément envoyée au chef du projet dans le but est soit la valider ou
la refuser
Figure 19 : Liste des affaires
3
3]
Système de gestion de production | 2014-2015 33
Les employés dans MarocIngenov sont groupé par catégorie, chaque catégorie a sa
propre coût horaire. L’interface suivant permet à l’agent de saisie d’ajouter des nouvelles
catégories.
Figure 20 : Gestion des catégories
L’interface suivant permet d’ajouter des nouveaux clients et d’avoir une vision sur les
affaires réalisées pour chaque client.
Figure 21 : Gestion des clients
3
4]
Système de gestion de production | 2014-2015 34
L’ajout des fournisseurs se fait depuis l’interface si dessous.
Figure 22 : Gestion des fournisseurs
III. Gestion de pointage et activités
En cliquant sur l’icône de l’employé une liste des photos des personnels de l’entreprise
s’affiche. L’employé en question doit cliquer sur sa propre photo pour qu’il ait la possibilité
de s’authentifier (figure 23) et par la suite de pointer, imputer sur les tâches ou bien
consulter son profile.
Figure 23 : Interface de pointage
3
5]
Système de gestion de production | 2014-2015 35
Une fois connecté la page d’accueil si dessous s’affiche
Figure 24 : L’accueil de l’employé
La première action qu’un employé doit effectuer est le pointage, dans cette interface
le salarié pourra changer son état de absent vers présent et inversement (figure 25).
L’employé n’a pas le droit de pointé au-delà de 23h jusqu’à la prochaine ouverture du
système à 6h du matin, tous les pointages seront clôturé automatiquement à la fermeture
du système.
Figure 25 : Etats de pointage
L’employé a le droit de consulté à tout moment la liste des pointages où il trouve
comme informations le nombre des heures normale effectué, le nombre des heures a
effectué ainsi le nombre des heures supplémentaires.
3
6]
Système de gestion de production | 2014-2015 36
Figure 26 : Liste des pointages d’un employé
Chaque employé possède des tâches à effectuer dans un délai spécifique et chaque
tâche a une durée à ne pas dépasser (figure 27). Pour une meilleure coordination entre le
délai et la durée notre système mis à la disposition des employés l’action d’imputation
accompagné par un calendrier où on trouve les taches imputées et le temps restent pour
chaque tache (figure 28).
Pour chaque imputation effectuée une notification sera instantanément envoyée au
chef du groupe afin de la valider (figure 27).
Figure 27 : notification taches et imputation
3
7]
Système de gestion de production | 2014-2015 37
Figure 28 : imputations d’un employé
Vu l’importance des imputations en plus du calendrier on offre à l’employé un tableau
qui contiens toutes les imputations groupé pare tache.
Figure 29 : Liste des imputations par tâche
3
8]
Système de gestion de production | 2014-2015 38
Chaque employé peut vérifier s’il lui est autorisé des heures supplémentaires effectuer
(Figure 30).
Figure 30 : Heures supplémentaires
IV. Interface du chef de groupe
La page d’accueil du chef de groupe est la suivante :
Figure 31 : L’accueil du chef de groupe
Le chef de groupe a comme mission le contrôle du temps passé par les employés
appartenant à son groupe. Pour se faire il doit valider les imputations effectuées par ses
3
9]
Système de gestion de production | 2014-2015 39
derniers. Le tableau ci-contre liste les taches groupé par employé et donne la possibilité au
chef du groupe de valider ou d’annulé les imputations.
Figure 32 : Liste des employés et leurs imputations
V. Interface du chef de projet
La page d’accueil du chef du projet et la suivant :
Figure 33 : L’accueil du chef de projet
4
0]
Système de gestion de production | 2014-2015 40
De son tour le chef de projet doit contrôler le temps passé par les employés, de plus il
a le droit d’autorisé des heures supplémentaires pour une tâche en cas de besoin.
Figure 34 : Liste des employés et leurs imputations et leurs tâches
Le chef de projet est responsable de la décomposition de l’affaire en missions puis en
tâches, de donné des prévisions temporaire et budgétaire et d’affecter les tâches au
employés.
Figure 35 : Liste des affaires
4
1]
Système de gestion de production | 2014-2015 41
Cette interface permet au chef de projet de valider les pièces débours.
Figure 36 : Validation des pièces débours
VI. Direction
La direction doit être ajour de toutes les informations circulantes dans le système, elle
fait le suivie de toutes les actions effectué par : l’agent de saisie, l’employé, le chef du
groupe, le chef projet …
Figure 37 : L’accueil de la Direction
4
2]
Système de gestion de production | 2014-2015 42
La liste des affaires :
Figure 38 : Liste des affaires
La liste des employés :
Figure 39 : Liste des employés
4
3]
Système de gestion de production | 2014-2015 43
La liste des imputations groupées par employé :
Figure 40 : Imputations des employés
La liste des pièces débours groupés par affaire :
Figure 41 : Pièces débours à valider
4
4]
Système de gestion de production | 2014-2015 44
La validation finale des pièces débours se fait par le directeur.
Figure 42 : Pièce débours à valider
4
5]
Système de gestion de production | 2014-2015 45
Conclusion
Ce projet, malgré la courte duré dont nous avons disposé, nous a été d'un grand
bénéfice. En effet, lorsqu'on nous a proposé de choisir l’outil de développement
on n’a pas hésité de choisir la technologie Java EE, l'un des principaux objectifs
était de proposer un profil extrêmement attractif sur nos CV puisque le marché
de l'emploi dans le domaine de l'informatique est aujourd'hui dominé par le
développement Java/Java EE.
Le but de notre étude était de mettre en place une architecture 3-tiers avec
base de données centralisée sous PostgreSQL. Elle s'est portée sur la gestion
de production : affaire, activités et pointage ainsi les procédures de traitement
des projets (affaires) et système de pointage vont être automatisée pour une
gestion efficace et sans perte des données. Et mieux encore cette solution
laisse la possibilité de pouvoir intégrer d'autres applications sans modifier
l'architecture ce qui a était le cas de l’application de comptabilité et la gestion
de facturation, en effet la durée du stage nous n’a permis pas de compléter ces
applications.
La solution peut être adaptée à toute organisation utilisant les bases de
données et dont les buts sont la performance, l'évolutivité, la maintenabilité.
4
6]
Système de gestion de production | 2014-2015 46
Bibliographie
Livre : Spring par la pratique - Eyrolles – 2eme Edition
Webographie
http://fr.wikipedia.org
http://www.spring.io
http://www.developpez.com
http://www.stackoverflow.com