Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Ce rapport s'articule autour de quatre chapitres qui présentent l'ensemble des travaux
réalisés au cours de ce projet.
Le rapport se termine par une conclusion générale qui synthétise le travail réalisé.
Chapitre 1 : Contexte générale
Introduction :
Dans ce premier chapitre, On doit tout d’abord mettre le projet dans son cadre, ensuite
on va présenter l’organisme d’accueil.
1.2.1. Présentation :
Société : SmartUp
1.2.2. Services
1.4. Problématiques :
On peut conclure après cette comparaison, de choisir de suivre la méthode 2TUP dans
notre travail.
Conclusion :
Dans ce chapitre, on a essayé de présenter la société ainsi que les différentes difficultés
existantes et les solutions attendus, ensuite on a parlé de la méthodologie à suivre pour arriver à
mettre en place notre projet.
Cette partie est très nécessaire car, on pourra facilement, grâce à elle, d’extraire dans le
chapitre qui suit notre spécification des besoins tels que les besoins fonctionnels et non
fonctionnels.
Introduction :
Avant de commencer ce chapitre, et en se rapportant au chapitre précédent, on peut dire
que la spécification des besoins, qui constitue une étape déterminante dans la réalisation de notre
projet, ne sera détecté qu’après l’étude des problématiques de l’existant.
Dans ce chapitre, on commence, tout à d’abord, par l’étude des besoins fonctionnels,
ainsi que la définition des besoins non fonctionnels (ou dites techniques), après on fera
l’extraction des différents acteurs du ce système pour arriver, enfin, à réaliser le diagramme de
cas d’utilisation et à identifier les scénarios.
Après l’extraction et l’étude des besoins fonctionnels attendus par le système, on est
arrivé à dégager trois acteurs principaux : un administrateur Rh (responsable du service Rh,
AdminRh), un administrateur de l’application (le manager, AdminApp) et (Employé).
Le tableau ci-dessous illustre toutes les opérations existantes et les utilisateurs
concernés :
Opérations
N° Module Consulter Ajouter Modifier Supprimer Activer/Désactiver Valider
1 Gérer les AdminApp
AdminRh
employés AdminApp AdminApp AdminApp AdminRh ____
personnelles
6 Consulter des AdminApp ____ ____ ____ ____ ____
Employé
documents
7 Gérer les AdminRh AdminRh ____ AdminRh ____ ____
Employé
notifications
Dans la figure ci-dessous, on présente le diagramme des cas d’utilisations « Gérer les
employés » :
Figure 4:Diagramme de cas d'utilisation « Gérer les employés »
Le tableau suivant résume les scénarii réalisés par les acteurs identifiés par les acteurs
identifiés au niveau du cas d’utilisation « Gérer les employés » :
Cas d’utilisation : « Ajouter un nouvel employé » :
Acteurs AdminApp
Objectif Le module « Gérer les employés » permet l’administrateur de l’application
d’ajouter un nouvel employé.
Pré- condition Authentification de l’administrateur de l’application est réussite.
Post-condition Un message de réussite d’ajout s’affiche et l’employé sera ajouté dans la base.
Scénario nominal 1. L’administrateur de l’application s’authentifie au système.
2. L’administrateur de l’application clique sur « Gestion
Utilisateurs ».
3. L’administrateur de l’application clique sur le bouton « nouveau
utilisateur ».
4. L’administrateur de l’application remplit le formulaire d’ajout.
5. L’administrateur de l’application confirme d’ajout.
Scénario alternatif 1. Un message d’erreur s’affiche lors de l’authentification. Un
message s’affiche « login ou mot de passe incorrect ».
5. Un message d’erreur s’affiche quand l’administrateur de
l’application a tenté d’ajouter un employé existant. Un message
s’affiche
Acteurs AdminApp
Objectif Le module « Gérer les employés » permet l’administrateur de l’application de
modifier les informations d’un employé.
Pré- condition Authentification de l’administrateur de l’application est réussite.
Post-condition L’information sera modifiée dans la base.
Scénario nominal 1. L’administrateur de l’application s’authentifie au système.
2. L’administrateur de l’application clique sur « Gestion
Utilisateurs ».
3. L’administrateur de l’application cherche l’employé.
4. L’administrateur de l’application choisi l’employé.
5. L’administrateur de l’application clique sur le bouton
« modifier ».
6. L’administrateur de l’application sélectionne l’information à
modifier.
Scénario alternatif 1. Un message d’erreur s’affiche lors de l’authentification. Un
message s’affiche « login ou mot de passe incorrect ».
Acteurs AdminRh
Objectif Le module « Gérer les employés » permet l’administrateur Rh :
Activer un employé
Désactiver un employé
Pré- condition Authentification de l’administrateur Rh est réussite.
Post-condition Un message de réussite d’activation ou de désactivation s’affiche et l’employé
sera activer ou désactive dans la base.
Scénario nominal 1. L’administrateur Rh s’authentifie au système.
2. L’administrateur Rh clique sur « Gestion Utilisateurs ».
3. L’administrateur Rh choisi l’employé qui va activer ou
désactiver.
4. L’administrateur Rh clique sur le bouton « Activer »ou
« Désactiver ».
Scénario alternatif 1. Un message d’erreur s’affiche lors de l’authentification. Un
message s’affiche « login ou mot de passe incorrect ».
Tableau 7:Description du cas d'utilisation « Activer un employé » et le cas d'utilisation « Désactiver un employé »
Acteurs AdminRh
Objectif Le module « Gérer les employés » permet l’administrateur Rh de validé un
congé.
Pré- condition Authentification de l’administrateur Rh est réussite.
Post-condition Un message de réussite de validation (Accepté ou Refusé) s’affiche et la
demande sera validée dans la base.
Scénario nominal 1. L’administrateur Rh s’authentifie au système.
2. L’administrateur Rh clique sur « Demandes Congés ».
3. L’administrateur Rh choisi la demande à valider.
4. L’administrateur Rh clique sur le bouton « accepté »ou
« refusé ».
Scénario alternatif 2. Un message d’erreur s’affiche lors de l’authentification. Un
message s’affiche « login ou mot de passe incorrect ».
Le tableau suivant résume les scénarii réalisés par les acteurs identifiés par les acteurs
identifiés au niveau du cas d’utilisation « Consulter des documents administratifs » :
Acteurs AdminApp, Employé
Objectif Le module « Consulter des documents administratifs » permet l’administrateur
de l’application et l’employé de consulter :
Bulletin de paie
Attestation de salaire
Solde de congé
Pré- condition Authentification de l’administrateur de l’application ou l’employé est réussite.
Post-condition Le document sera affiché.
Scénario nominal 1. L’administrateur de l’application ou l’employé s’authentifie au
système.
2. L’administrateur de l’application ou l’employé clique sur
« Documents Administratifs ».
3. L’administrateur de l’application ou l’employé affiche le
document à consulter.
Scénario alternatif 1. Un message d’erreur s’affiche lors de l’authentification. Un
message s’affiche « login ou mot de passe incorrect ».
Dans la figure ci-dessous, on présente le diagramme des cas d’utilisations « Gérer les
notifications» :
Le tableau suivant résume les scénarii réalisés par les acteurs identifiés par les acteurs
identifiés au niveau du cas d’utilisation « Gérer les notifications » :
Cas d’utilisation : « supprimer une notification »
Acteurs AdminRh
Objectif Le module « Gérer les notification » permet l’administrateur Rh de supprimer
une notification.
Pré- condition Authentification de l’administrateur Rh est réussite.
Post-condition Un message de réussite de suppression s’affiche et la notification sera
supprimée dans la base.
Scénario nominal 1. L’administrateur de Rh s’authentifie au système.
2. L’administrateur de Rh clique sur « Notifications ».
3. L’administrateur de Rh choisi la notification qui va supprimer.
4. L’administrateur de Rh clique sur le bouton «supprimer ».
Acteurs AminRh
Objectif Le module « Gérer les notification » permet l’administrateur Rh de consulter les
notifications.
Pré- condition Authentification de l’administrateur Rh est réussite.
Post-condition La liste des notifications sera affichée.
Scénario nominal 1. L’administrateur Rh s’authentifie au système.
2. L’administrateur Rh clique sur « Notifications ».
3. l’administrateur Rh affiche la liste des demandes de congé.
Scénario alternatif 1. Un message d’erreur s’affiche lors de l’authentification. Un
message s’affiche « login ou mot de passe incorrect ».
Conclusion :
Ce chapitre nous a permis de préciser les besoins fonctionnels et techniques des acteurs
de ce système. On a exposé une analyse plus détaillé de ses besoins avec les diagrammes de
cas d’utilisation et la description détaillé de chaque cas.
Dans le chapitre suivant, on doit aborder les choix de technologie et la partie conception.
Chapitre 3 : Conception et choix technologiques :
Introduction :
La conception est une phase décisive dans le cycle de développent de tous les logiciels,
son objectif est d’exprimer l’architecture de ce système qui répond aux besoins formulés. Pour
garantir ses objectifs, on pourra utilisés les diagrammes de classe et de séquence pour mieux
expliquer les besoins déjà identifiés.
3.1. Conception architecturale:
3.1.1. Architecture logique :
L’architecture logique ou bien dite architecture logicielle se passionne au découpage
logique de l’application. Dans cette architecture, les applications au niveau serveur sont
délocalisées: chaque serveur est spécialisé dans une tâche et que l’architecture peut être des
différentes machines.
L’architecture de cette application est n-tiers, cette architecture permet à diviser
l’application sous forme de n couches qui sont indépendantes. La liaison logique de ces couches
sera à travers le même système.
En appliquant cette architecture, ce système sera décomposé sur trois couches : la
première couche est la couche présentation ou couche affichage (elle expose l’affichage et les
traitements locaux), la deuxième couche est la couche traitement ou la logique applicative (prise
par le serveur d’application « web »), la troisième couche est la couche de données (liées aux
serveurs de base de données).
L’architecture 3-tiers est une architecture suffisante pour comprendre la division logique
et physique de ce système. Cette architecture est présentée par le modèle suivant :
L’architecture 3-tiers est basé sur le modèle technique MVC (Model Vue Controller)
qu’on l’exprime dans la figure ci-dessous :
Figure 11: Modèle MVC (2)
Dictionnaire de données :
Classe « User »
Classe « Rôle »
Classe « Notifications »
Classe « BulletinPaie »
Tableau 22:BulletinPaie
Classe « AttestationSalaire »
Classe « Demandes »
Classe « TypeModification »
Classe « congé »
Champ type description
date_debut Date La date début de congé
date_fin Date La date fin de congé
nbre_jour Int Le nombre de jour de congé
id_remplacant Int L’identifiant du remplaçant
pendant le congé
tache_delg String La tache déléguée pour le
remplaçant pendant le stage
Classe « TypeCongé »
Classe « AvanceSalaire »
Champ type description
Montant float Le montant de l’avance du
salaire
Classe « FraisPersonnelle »
User
ControlerSaisie()
Excepti on
succè du controle
Veri fier(login,password)
Reponse
Page authentificati on
[Verifi er=true]
Al erte(Connexi on résussie)
AdminApp
ref
Authentification()
ControleSaisie()
Exception
AjouterEmploye()
succè du controle <<Invocation du service
AjouterEmploye>>
Reponse
Alerte(Ajout echoué)
[AjouterEmploye()=true]
AdminApp
ref
Authentificati on()
<<Invocation du service :
ListerEmpl oyés>>
<<Invocation du service
SupprimerEmploye>>
Réponse
Al erte(Supression echoué)
[SupprimerEmploye()=true]
AdminApp/Employé/
AdminRH
ref
Authentification()
<<Invocation du service :
ListerEmployés>>
Choisir employé
FicheEmploye()
<<Invocation du service
InfosEmploye>>
Réponse
Infos Employé
Employé
ref
Authentification()
ControleSaisie()
Exception
DemandeConge()
succè du controle <<Invocation du service
DemandeConge>>
Reponse
[DemandeConge=true]
Employé
ref
Authentification()
Réponse
Fiche paie
Spring Data JPA : est l’un des Framework de Spring reposant sur Spring data .Spring
Data JPA vise à améliorer la mise en œuvre de la couche d’accès aux donnés en réduisant
considérablement l’effort d’écriture du code d’implémentation en particulier pour les
méthodes CRUD et pour le recherche. La notion centrale dans Spring Data JPA est la
notation « Repository ». Le repository est une interface à écrire par le développeur. Il
déclare, dans cette interface, les méthodes utiles d’accès aux données et fournit les
implémentations nécessaires.(3)
Java Mail Sender : JavaMail est une API qui permet d'utiliser le courrier électronique (e-
mail) dans une application écrite en Java (application cliente, applet, servlet, EJB, ...). Son
but est d'être facile à utiliser, de fournir une souplesse qui permette de la faire évoluer et
de rester le plus indépendant possible des protocoles utilisés.(4)
Bootstrap est une boîte à outils open source pour le développement avec
HTML, CSS et JS. Protégez rapidement vos idées ou construisez votre application entière
avec nos variables et combinaisons Sass, notre système de grille réactif, de nombreux
composants prédéfinis et de puissants plug-ins basés sur jQuery.(5)
CSS Les Feuilles de Style CSS (Cascade Style Sheets) : est un langage
informatique utilisé pour décrire l’affichage des documents HTML et XML. . Les normes
spécifiant les CSS sont publiés par le World Wide Web Consortium (W3C). CSS a été
introduit au milieu des années 1990. Il est largement utilisé dans la conception de sites web et
est bien pris en charge par les navigateurs web au cours du nouveau millénaire.
REST utilise les méthodes, ce qui serait plus facile et plus facile à gérer :
Il utilise la méthode GET lorsque nous demande de web service une réponse à
afficher pour le client.
Il utilise la méthode POST pour envoyer une demande au web service pour
enregistrer des données.
Il utilise la méthode PUT et DELETE pour mettre à jour ou supprimer des
ressources.
Méthode Action
GET Afficher
POST Enregistrer
PUT Mise à jour
DELETE Supprimer
Conclusion :
Durant ce chapitre, On a définit le processus de conception ainsi on a explicité le
diagramme de classe et les diagrammes de séquences. Enfin, on a justifié le choix technologique
pour la réalisation de cette application. Dans le chapitre suivant, on va présenter l’environnement
de développent (matérielle et logiciel).
Chapitre 4 : Réalisation
Introduction :
La réalisation expose l’aboutissement d’un travail de conception et aussi d’analyse. La
question dans ce chapitre est de présenter cette application spécifique dans le chapitre
précédent. Tout d’abord, on doit spécifier l’environnement : matériel et logiciel qu’on a utilisé
pendant la phase de développement. On clôture ce chapitre par l’exposant de la phase
d’implémentation.
4.1. Environnement de travail :
On va présenter dans cette partie l’environnement matériel et logiciels utilisées pour le
développent de notre application architecture micro-services pour le développement d’une
application portail Rh.
Spring Tools Suite (STS) : est l’outil officiel pour développer un projet Spring
Boot. Cet outil consiste en un Integrated Development Environment (IDE) Eclipse avec une
extension développé spécifiquement pour intégrer les opérations nécessaires au
développement d’un projet Spring.
Angular Command Line : Angular Command Line (CLI) est une librairie open
source qui facilite la création de projets Web utilisant la technologie Angular. Il permet de
générer différents fichiers contenant un minimum de code pour le fonctionnement dans
l’environnement Angular.(7)
Node Package Manager (NPM) : un outil de gestion de librairie open source
pour la langue de programmation JavaScript. Apparu avec NodeJS en 2009 l’utilisation de
NPM dépasse aujourd’hui l’environnement serveur. Il est aussi le gestionnaire par défaut dans
l’environnement d’exécution NodeJS. Il est de plus en plus utilisé dans le développement des
interfaces utilisateurs. Il est simple à utiliser et permet d’accéder au plus gros dépôt de paquets
tous langages confondus. (7)
Visual Studio Code : Visual Studio Code est présenté comme un éditeur de code
multiplateforme, logiciel libre et gratuit. C’est un éditeur de code source léger, mais puissant
qui s'exécute sur le bureau et est disponible pour Windows, macOS et Linux. Il est livré avec
un support intégré pour JavaScript, TypeScript et Node.js et possède un écosystème riche en
extensions pour d'autres langages (tels que C++, C#, Java, Python, PHP, Go) et
environnements d'exécution (tels que .NET et Unity). (7)
Swagger 2.0 : Swagger est un logiciel libre offrant un large écosystème d’outils
aidant la conception, le développement, la documentation ainsi que la production de tests d’un
API Web RESTful. Swagger offre un éventail de fonctionnalités tel que la génération de
documentation, la génération de code ainsi que la génération de tests. En outre, il définit un
standard qui permet aux développeurs d’application de découvrir et comprendre les méthodes
disponibles dans une application ou un service sans avoir besoin d’accéder à son code ou
consulter une documentation supplémentaire. Lorsqu’une API a été correctement définie avec
Swagger, les développeurs peuvent comprendre et interagir avec le service avec beaucoup
moins d’effort d’implémentation. (7)
4.1.2.3. Environnement de base de données :
PostgreSQL (version 12) : est un système de gestion de base de données
relationnelle et objet. L’une des principales qualités de postgreSQL est d’être un logiciel
gratuit et open Source .PostgreSQL possède de nombreuses caractéristiques faisant de lui un
SGDB robuste. Il dispose d’interface graphique, des bibliothèques facilement l’accès aux
données a partir des programmes écrit en (JAVA, C, C++..) et d’une API ODBC permettant a
n’importe quelle application supportant. Ce type d’interface d’accéder a des bases de données
de types PostgreSQL.(7)
L’interface d’authentification est constituée de deux champs qui servent à la saisie de login
et du mot de passe. Après avoir remplir ces champs avec des données valides, l’utilisateur clique sur le
bouton « Connecter » afin d’accéder à l’application.
Si les données sont invalides un message d’erreur sera affiché comme indique la figure ci-
dessous :
Figure 21:Interface erreur d'Authentification
Mots clés :
Abstract :
This end-of-study project was carried out within "SmartUp" to obtain a the National
Diploma of Engineering in Computer Science. In this work, efforts have been made to design
and develop a web application for human resource management that facilitates communication
between employee and management.
Keywords :