Académique Documents
Professionnel Documents
Culture Documents
et de la Recherche Scientifique
****
Université de Sousse
****
Ecole Supérieure des Sciences et de la Technologie de Hammam Sousse
Président de jury :
Rapporteur :
Encadrant universitaire : Mme. Kefi Sonia
Encadrant professionnel : Mlle. Ammar Abir
J'aimerai remercier tous mes enseignants d'avoir partagé avec nous leur passion pour
l'enseignement. J'ai grandement apprécié leur appui, implication et expérience tout au long de
ma formation.
J'adresse aussi mes vifs remerciements à tous les membres de la société Satoripop
auprès desquels j'ai trouvé l'accueil chaleureux, l'aide et l'assistance dont j'ai besoin, un
environnement dans lequel j'ai pu m'adapter facilement.
Je ne laisserai pas cette occasion passer sans remercier mes collègues de stage Maher
Zaidoun, Moneem Saadaoui et Emer Zarred pour les bons moments passés avec eux et l'aide
qu'ils m'ont fourni pendant cette période de stage.
Je tiens à remercier tous mes amis, avec eux j'ai passé d'agréables moments pendant ces
dernières années, je leur souhaite tout le succès et un avenir brillant.
Enfin, je dédie ce travail à ma chère famille pour tous leurs sacrifices ainsi que le
soutien moral qu'ils m'ont prodigué tout au long de mon cursus scolaire et universitaire.
-i-
Table des matières
Remerciements..................................................................................................................i
Acronymes.....................................................................................................................viii
Introduction générale......................................................................................................1
Introduction...................................................................................................................3
2. Etude de l'existant.................................................................................................5
3. Méthodologie de développement..........................................................................7
4. Chronogramme.....................................................................................................9
Conclusion...................................................................................................................10
Introduction.................................................................................................................11
-ii-
1. Identification des acteurs....................................................................................11
2. Besoins fonctionnels...........................................................................................12
2.1 Employé.......................................................................................................12
2.2 Supérieur......................................................................................................12
Conclusion...................................................................................................................26
Introduction.................................................................................................................27
2. Conception détaillée............................................................................................30
Conclusion...................................................................................................................34
Chapitre 4 : Réalisation................................................................................................35
Introduction.................................................................................................................35
1. Le développement Web.......................................................................................35
-iii-
1.1 Technologies utilisées..................................................................................35
2. Le développement mobile...................................................................................38
2.1 Xamarin............................................................................................................38
2.2 XAML..............................................................................................................39
3. Outils utilisés......................................................................................................39
3.2 GitKraken....................................................................................................39
3.4 StarUML......................................................................................................40
4.2 Employé.......................................................................................................45
4.3 Supérieur......................................................................................................47
Conclusion...................................................................................................................48
Conclusion générale.......................................................................................................49
Références.......................................................................................................................50
-iv-
Table des figures
-v-
Figure 31 : Interface Liste des équipes...........................................................................42
Figure 32 : Interface Liste des types d'absence..............................................................43
Figure 33 : Email de la demande reçu par l'administrateur............................................43
Figure 34 : Interface Liste des demandes reçues (Admin).............................................44
Figure 35 : Email réponse à la demande d'un employé..................................................44
Figure 36 : Interface Historique de toutes les demandes validées (Admin)...................45
Figure 37 : Interface Tableau de bord (Employé)...........................................................45
Figure 38 : Interface Profil.............................................................................................46
Figure 39 : Interface Dépôt demande d'absence.............................................................46
Figure 40 : Email Confirmation dépôt demande d'absence............................................47
Figure 41 : Interface « Equipe ».....................................................................................47
Figure 42 : Interface Statistiques équipe........................................................................48
-vi-
Liste des tableaux
-vii-
Acronymes
-viii-
Introduction générale
Dans toute entreprise, chaque employé, de l'agent salarier au cadre supérieur, est
susceptible de s'absenter pour des raisons diverses et pour des durées plus ou moins longues.
Des absences pour des raisons familiales comme le mariage, la naissance ou le décès, ou pour
des raisons de santé liées à la maladie ou aux accidents.
Pour chaque type d'absence, l'entreprise se doit de préciser les conditions préalables
pour qu'un employé puisse bénéficier d'un congé conformément aux lois en vigueur.
Malgré le fait que cette solution puisse répondre au besoin principal de l'employé qui
est de déposer sa demande d'absence, elle risque quand même de poser de nombreux
inconvénients pour l'administration ainsi que pour les supérieurs spécialement, des
inconvénients tels que la difficulté de gestion de ces demandes sans oublier les incidents cités
plus haut qui risquent d'endommager les documents personnels de l'effectif de la société.
Pour remédier à ce problème et essayer de répondre aux exigences des employés et des
supérieurs de la société Satoripop, cette dernière projette de mettre en service une application
web ainsi qu'une application mobile pour avoir un meilleur contrôle sur les demandes
d'absence et éviter d'utiliser les documents en papier pour au final rendre le processus de
bénéfice de congé simple et rapide
Ce rapport présente tout le travail que nous avons réalisé au cours de ce projet, il est
constitué de quatre chapitres.
Le premier chapitre présentera le cadre général du travail au sein duquel le projet a
été réalisé, notre étude préalable et la méthodologie utilisée.
-1-
Le deuxième chapitre comportera l’analyse et la spécification des besoins et une
description approfondie des différentes fonctionnalités de notre projet.
Pour finir, on aura une conclusion générale dans laquelle on récapitulera tout le travail
réalisé.
-2-
Moez Baccouche Chapitre 1 : Cadre générale du travail
Introduction
Ce chapitre présentera, tout d'abord, l'entreprise hôte dans laquelle le projet a été réalisé,
on donnera, ensuite, une meilleure idée sur ce dernier et on le comparera avec la solution
utilisée actuellement.
Satoripop engage des employés hautement qualifiés, dans leurs domaines respectifs et
qui sont passionnés par leur travail.
Elle possède des clients dans différents domaines tels que la finance, E-Commerce,
logistique et bien d'autres secteurs. Ses clients sont de divers pays dans le monde entier.
-3-
Moez Baccouche Chapitre 1 : Cadre générale du
travail
1
Une application mobile qui est développée spécifiquement pour un des systèmes d’exploitation utilisé par les Smartphones et tablettes
(IOS, Android, etc.).
2
Une application développé à partir des langages web (HTML, CSS, JavaScript, ...) en s'appuyant aussi sur les technologies natives mobiles
pour utiliser certaines fonctionnalités du Smartphone.
-4-
Moez Baccouche Chapitre 1 : Cadre générale du
travail
Système tunisien : Un employé qui suit le système tunisien bénéficie des jours fériés
précisés par les lois tunisiennes.
5. Etude de l'existant
Cette étape est l'une des principales étapes lors de la réalisation d'un projet. Elle nous a
permis d'identifier les points faibles de la solution actuelle pour pouvoir y pallier et concevoir
une application qui répond aux besoins de ses utilisateurs en offrant des fonctionnalités plus
riches et plus développées qui permettront à l'utilisateur une utilisation simple et fluide.
-5-
Moez Baccouche Chapitre 1 : Cadre générale du
travail
-6-
Moez Baccouche Chapitre 1 : Cadre générale du
travail
6. Méthodologie de développement
3.1 Méthodologie Scrum
Scrum est une méthode dédiée à la gestion de projets de développement de produits
complexes (3). Ce Framework s'appuie sur le découpage d'un projet en boîtes de temps
nommées Sprints. Ces sprints peuvent durer entre quelques semaines et un mois.
Chaque sprint commence par une estimation suivie d'une planification opérationnelle.
Le sprint se termine par une démonstration de ce qui a été achevé.
La figure 2 suivante décrit le processus de fonctionnement de la méthode Scrum.
-7-
Moez Baccouche Chapitre 1 : Cadre générale du
travail
-8-
Moez Baccouche Chapitre 1 : Cadre générale du
travail
Tous ces sprints sont décrits et définis sur la plateforme Microsoft Team Foundation
dans laquelle on peut préciser les tâches à effectuer et le temps nécessaire en heures pour
chaque sprint comme le montre la figure 3 suivante.
7. Chronogramme
Les différentes étapes de réalisation de ce projet, ainsi que la période de rédaction du
rapport pendant la durée du stage de 2 mois qui s'étend du 14 Mars jusqu'au 14 Mai sont
représentées par le diagramme de Gantt de la figure 4.
-9-
Moez Baccouche Chapitre 1 : Cadre générale du
travail
Conclusion
On a mentionné les inconvénients de la solution utilisée actuellement pour permettre le
dépôt et la gestion des demandes de congés des employés de Satoripop et ceci afin de réaliser
une application riche en fonctionnalités et qui répond à toutes les exigences demandées.
Le chapitre suivant permettra de détailler avec plus de précision le projet qu'on va
réaliser en décrivant les différents acteurs, les rôles et les actions qu'ils vont réaliser en
interagissant avec l'application.
-10-
Moez Baccouche Chapitre 2 : Analyse et spécification des besoins
Introduction
L'étude de la solution existante et l'analyse de ses multiples défauts nous ont conduit à
dégager plusieurs idées de fonctionnalités qui pourront sans doute améliorer la situation
actuelle de la société et faciliteront le processus de prise de congé non seulement pour
l'employé mais aussi pour le validateur.
Durant ce chapitre, nous allons tout d'abord commencer par définir les acteurs qui vont
utiliser notre application ainsi que leurs tâches. On le clôturera en indiquant les besoins non
fonctionnels que le système doit assurer pour avoir une application qui répond aux attentes de
ses utilisateurs.
⦁ Supérieur : C'est un employé de Satoripop qui gère une équipe d'employés. D'une
part, il pourrait lui aussi déposer une demande et d'autre part, il doit répondre aux
demandes d'absence des membres de son équipe.
⦁ Super administrateur : C'est une personne qui doit gérer l'intégration de tous les
employés dans l'application et la création des équipes. Il possède les mêmes droits que le
supérieur mais sur toutes les équipes et peut formuler une demande pour n'importe quel
employé. Il possède aussi les mêmes droits qu'un employé et peut donc déposer une
demande pour lui même qui sera validée par un autre administrateur.
-11-
Moez Baccouche Chapitre 2 : Analyse et spécification des besoins
2. Besoins fonctionnels
La plateforme assure à ses utilisateurs de nombreuses fonctionnalités :
2.1 Employé
▷ Déposer une demande d'absence : Pour déposer sa demande, l'employé doit
indiquer le type d'absence et la période durant laquelle il s'absentera
▷ Gérer sa demande : Après émission de la demande et avant validation, l'employé
a la possibilité de :
- Modifier sa demande
- Annuler sa demande
▷ Accéder à son profil : En accédant à son profil l'employé pourra :
- Consulter son solde de congé
- Afficher ses informations personnelles.
▷ Afficher le suivi des demandes en cours
2.2 Supérieur
Le supérieur hérite des mêmes fonctionnalités que l'employé mais possède d'autres
prérogatives, notamment :
▷ Gérer les demandes d'absence : Le supérieur reçoit les demandes émises par les
membres de l'équipe qu'il gère, il peut dans ce cas :
- Accepter la demande
- Rejeter la demande
- Joindre un commentaire motivant sa réponse
▷ Consulter le solde de congé des membres de son équipe
▷ Afficher un calendrier du planning d'absences de son équipe : En accédant à ce
calendrier le supérieur aura une vue d'ensemble sur les absences de ses employés qui l'aidera à
mieux prendre ses décisions et suivre l'état de son équipe en temps réel.
-12-
Moez Baccouche Chapitre 2 : Analyse et spécification des besoins
-13-
Moez Baccouche Chapitre 2 : Analyse et spécification des besoins
-14-
Moez Baccouche Chapitre 2 : Analyse et spécification des besoins
Titre :
Dépôt demande d'absence
Résumé :
Chaque utilisateur a le droit de déposer sa demande d'absence pour qu'elle soit
validée par le supérieur si le demandeur est un employé et un administrateur si le
demandeur est un supérieur ou un administrateur.
Acteurs :
- Employé
- Supérieur
- Super administrateur
Pré-Condition :
- Authentification réussie
- Accès à l'interface de dépôt des demandes
-15-
Moez Baccouche Chapitre 2 : Analyse et spécification des besoins
Post-Condition :
- Un Email de confirmation de dépôt sera transmis à l'employé
- Un Email contenant les informations de la demande sera transmis au supérieur
de l'employé ainsi qu'à l'administrateur.
- Un message s'affiche informant l'employé que sa demande a été bien envoyée.
- L'employé sera redirigé vers l'interface des demandes personnelles en cours de
traitement.
Enchainements nominaux
-16-
Moez Baccouche Chapitre 2 : Analyse et spécification des besoins
Enchainement alternatif :
A1 : Si l'employé n'a pas bien rempli le formulaire :
a. Le système lui affiche un message d'erreur.
b. Le système lui affiche le formulaire de nouveau.
-17-
Moez Baccouche Chapitre 2 : Analyse et spécification des besoins
Résumé : Pour chaque utilisateur, il est possible d'annuler sa demande après son
émission et avant qu'elle soit validée.
Acteur :
- Supérieur
- Employé
- Super administrateur
Pré-condition :
- Authentification réussie.
- Accès à l'interface des demandes en attente.
Post-condition :
- Un message affirmant le succès d'annulation de la demande sera affiché.
Enchainements nominaux
-18-
Moez Baccouche Chapitre 2 : Analyse et spécification des besoins
8 - Actualise la page.
Enchainement Erreur :
E1 : Si la connexion avec la base de données est interrompue :
Le cas d'utilisation se termine par un échec.
-19-
Moez Baccouche Chapitre 2 : Analyse et spécification des besoins
Acteur :
- Supérieur
- Super administrateur
Pré-condition :
- Authentification réussie.
- Accès à l'écran des demandes en attente.
Post-condition :
- Envoi d'un Email au demandeur contenant la réponse de son supérieur.
- Envoi d'un Email au supérieur (et à l'administrateur si le validateur est un supé-
rieur) l'informant de la transmission de sa réponse.
- Un message s'affichera informant l'acteur que sa réponse a été émise avec suc-
cès.
- La page sera actualisée.
Enchainements nominaux :
-20-
Moez Baccouche Chapitre 2 : Analyse et spécification des besoins
7- Saisit un commentaire
Enchainement alternatif :
A1: Si le type d'absence demandée est un congé de maladie et que l'acteur la va-
-21-
Moez Baccouche Chapitre 2 : Analyse et spécification des besoins
lide :
Enchainement Erreur :
E1 : Si la connexion avec la base de données est interrompue :
Le cas d'utilisation se termine par un échec.
-22-
Moez Baccouche Chapitre 2 : Analyse et spécification des besoins
La description détaillée du cas d'utilisation "Créer équipe" est donnée par le tableau 6
suivant.
Sommaire d'identification
Acteur :
- Super administrateur
Pré-condition :
- Authentification réussie.
- Accéder à l'interface Equipes.
Post-condition :
- Affichage d'un message informant le super administrateur que son action a été effectuée
avec succès.
Enchainements nominaux :
-23-
Moez Baccouche Chapitre 2 : Analyse et spécification des besoins
Enchainement alternatif :
A1 : Si l'employé n'a pas bien rempli le formulaire :
a. Le système lui affiche un message d'erreur.
b. Le système lui affiche le formulaire de nouveau.
Enchainement Erreur :
E1 : Si la connexion avec la base de données est interrompue :
Le cas d'utilisation se termine par un, échec.
-24-
Moez Baccouche Chapitre 2 : Analyse et spécification des besoins
Acteur :
- Super administrateur
Pré-condition :
- Authentification réussie
- Accéder à l'interface des demandes validées.
Post-condition :
- Affichage d'un message informant l'acteur que la demande a été annulée.
- Envoi d'un email à l'employé pour l'informer que les jours substitués ont été ra-
joutés à son solde de congé.
Enchainements nominaux :
-25-
Moez Baccouche Chapitre 2 : Analyse et spécification des besoins
Enchainement Erreur :
E1 : Si la connexion avec la base de données est interrompue :
Le cas d'utilisation se termine par un échec.
Conclusion
Dans ce chapitre on a identifié les différents acteurs qui vont utiliser notre application,
détaillé tous les besoins fonctionnels et non fonctionnels qu'elle doit assurer et présenté les
interactions qui auront lieu entre l'acteur et le système.
Le chapitre suivant sera consacré à la phase de conception de l'application.
-26-
Moez Baccouche Chapitre 3 : Etude conceptuelle
Introduction
Dans le chapitre précédent nous avons précisé les fonctionnalités de notre application,
les acteurs qui vont l'utiliser ainsi que leurs interactions avec le système et sa réaction suite à
chaque action possible. Nous arrivons maintenant à l'une des étapes les plus importantes lors
du développement d'une application qui est la conception. Dans cette étape nous allons
commencer par présenter les patrons de conceptions utilisés ainsi que les diagrammes de
classes et séquences.
-27-
Moez Baccouche Chapitre 3 : Etude conceptuelle
Modèle : Représente la structure logique des données dans une application logicielle. En
général, ces données sont représentées par un ensemble de classes permettant d'accéder à
une base de données mais peuvent également être stockées dans des fichiers.
Vue : Se charge d'afficher et de mettre en forme les données du modèle qui lui sont
transmises.
Une vue correspond à une route donc à une action du contrôleur.
Contrôleur : Le contrôleur est le point d'entrée de l'application: c'est lui qui reçoit la
requête du client.
Il fait également la liaison entre la vue et le modèle, il s'occupe de réaliser les interactions
entre l'entrée dans l'application, détermine la page que l'utilisateur attend, récupère les
données du modèle et les transmets à la vue qui les affichera.
2. Repository Pattern
Dans beaucoup d'applications, l'accès direct à la base de données peut receler un
ensemble d'inconvénients tels que la répétition du code, un potentiel plus élevé d'erreurs de
programmation, un faible typage des données métiers et une incapacité à tester facilement la
logique métier.
Le Repository Pattern permet d'éviter ces inconvénients grâce à l'abstraction entre la
couche d'accès aux données et la couche de logique métier (7).
Il récupère les données à partir de la source, mappe ces données de la source à une entité
métier et sauvegarde les modifications sur les données qui ont eu lieu dans l'entité métier.
-28-
Moez Baccouche Chapitre 3 : Etude conceptuelle
L'idée à retenir avec le MVVM est que la vue ne traite jamais les données, mais elle les
affiche uniquement. Le ViewModel aura pour fonction d'effectuer les conversions et les accès
au modèle de données.
La figure 13 suivante explique le principe de ce patron de conception.
-29-
Moez Baccouche Chapitre 3 : Etude conceptuelle
4. Conception détaillée
Nous allons présenter en premier lieu le modèle statique qui décrit la structure et le
comportement des objets constituant notre application grâce au diagramme de classes, ensuite
le modèle dynamique avec les diagrammes de séquences réalisés avec le langage UML.
-30-
Moez Baccouche Chapitre 3 : Etude conceptuelle
1.1.1
-31-
Moez Baccouche Chapitre 3 : Etude conceptuelle
-32-
Moez Baccouche Chapitre 3 : Etude conceptuelle
-33-
Moez Baccouche Chapitre 3 : Etude conceptuelle
-34-
Moez Baccouche Chapitre 3 : Etude conceptuelle
Conclusion
Au cours de ce chapitre, on a défini l'aspect statique et l'aspect dynamique de notre
application grâce aux diagrammes de classes et de séquences.
Le chapitre suivant sera consacré à une étape importante, la réalisation de l'application
-35-
Moez Baccouche Chapitre 4 : Réalisation
Chapitre 4 : Réalisation
Introduction
Après la phase de conception, on arrive à une étape cruciale, la réalisation du projet.
Afin de réussir cette phase, il est important de bien choisir les outils et les technologies à
utiliser.
Durant ce chapitre, nous allons tout d'abord présenter les technologies auxquelles
nous avons eu recours pendant le développement de notre application ainsi que les différents
outils et logiciels utilisés et enfin on clôturera ce chapitre par la présentation des interfaces
réalisées.
1. Le développement Web
1.1 Technologies utilisées
Dans un premier temps, nous allons présenter les technologies utilisées qui nous ont
permis de réaliser notre application web.
7
Un ensemble d'outils et de composants logiciels à la base d'un logiciel ou d'une application
8
Un programme informatique dont le code source est distribué sous une licence permettant à quiconque de lire,
modifier ou redistribuer ce logiciel.
9
La partie serveur qui servira aux traitements de données.
-36-
Moez Baccouche Chapitre 4 : Réalisation
Avant l'apparition d' ASP. NET Core, les développeurs utilisait le Framework ASP.NET
MVC 5, nous allons mentionner quelques différences principales entre ces deux technologies
dans le tableau 8.
Tableau 8 : Tableau comparatif entre ASP .NET Core et ASP .NET MVC 5
1.1.2 MySQL
MySQL est un système de gestion de bases de données relationnelles. Il fait partie des
logiciels de gestion de base de données les plus utilisés au monde. Il est très exploité dans le
développement des applications web.
-37-
Moez Baccouche Chapitre 4 : Réalisation
1.1.4 Bootstrap 4
Bootstrap est un framework utilisé pour le design de la partie frontale d'un site web qui
rend le développement plus rapide et simple (13). Il inclut des modèles de conception
HTML12 et CSS13 pour les formulaires, boutons, tableaux ainsi que des plugins JavaScript.
Bootstrap donne aussi la possibilité de créer facilement des pages web avec un
Responsive Design, c'est à dire des pages qui s'ajustent automatiquement selon la résolution
de l'écran de l'appareil.
1.1.5 jQuery
jQuery est une bibliothèque JavaScript libre et multiplateforme dont la première version
a été créée en 2006 (14) pour faciliter les scripts coté client.
12
HyperText Markup Language, langage de balisage conçu pour représenter les pages web.
Cascading Style Sheets, langage qui permet de décrire le style de la présentation visuelle d'une page HTML ou
13
XML.
-38-
Moez Baccouche Chapitre 4 : Réalisation
2. Langages de programmation
Pour pouvoir programmer cette application, on a utilisé deux langages principaux.
Figure 21 : Logo C#
JavaScript : C'est un langage de programmation de scripts, principalement employé
dans les pages web interactives mais aussi pour les serveurs (16). Sa première version
a été créée en 1995.
2. Le développement mobile
2.1 Xamarin
Xamarin est une plateforme de développement d'applications mobiles pour la création
d'applications natives IOS, Android et Windows à partir d'une base de code commune
C#/ .NET. Les applications écrites avec Xamarin et C# ont un accès complet aux API de la
plateforme sous-jacente (17), et permettent de créer des interfaces utilisateur natives et de
compiler en mode natif et par conséquent les performances de l'exécution seront meilleures.
-39-
Moez Baccouche Chapitre 4 : Réalisation
2.2 XAML
Extensible Application Markup Language est un langage de balisage créé par Microsoft
(18) qui permet de réaliser des interfaces utilisateur pour des applications fonctionnant avec le
Framework .NET.
3. Outils utilisés
Dans cette partie nous allons présenter les différents outils et logiciels qui nous ont
conduit à réaliser notre application.
3.2 GitKraken
Pour ne pas perdre tout le travail et avoir la possibilité de revenir à une version
antérieure en cas d'un problème quelconque, GitKraken nous permet de sauvegarder
l'avancement de notre projet qui sera accessible à n'importe quel moment.
-40-
Moez Baccouche Chapitre 4 : Réalisation
3.4 StarUML
StarUML est un logiciel de modélisation UML que nous avons utilisé pour réaliser les
différents diagrammes de cas d'utilisation, classes et séquences.
-41-
Moez Baccouche Chapitre 4 : Réalisation
l'utilisateur doit saisir correctement son email et son mot de passe inscrits dans l'annuaire
d'Azure Active Directory pour accéder à son tableau de bord.
-42-
Moez Baccouche Chapitre 4 : Réalisation
-43-
Moez Baccouche Chapitre 4 : Réalisation
-44-
Moez Baccouche Chapitre 4 : Réalisation
-45-
Moez Baccouche Chapitre 4 : Réalisation
4.2 Employé
L'employé de Satoripop a le droit de déposer sa demande qui sera validée par son chef
d'équipe ou par l'administrateur de l'application, consulter son solde de congé, son historique
de demandes et ses statistiques personnelles.
-46-
Moez Baccouche Chapitre 4 : Réalisation
-47-
Moez Baccouche Chapitre 4 : Réalisation
4.3 Supérieur
Le supérieur a les mêmes droits qu'un employé et pourra donc accéder aux mêmes
interfaces que l'employé, mais a aussi le droit de valider les demandes des membres de son
équipe, consulter leur calendrier d'absence, l'historique d'absences ainsi que les statistiques
qui concernent son équipe.
-48-
Moez Baccouche Chapitre 4 : Réalisation
-49-
Moez Baccouche Chapitre 4 : Réalisation
Conclusion
Dans ce chapitre, nous avons présenté les différentes technologies et outils auxquelles
nous avons eu recours lors de la réalisation de cette étape de réalisation et nous l'avons clôturé
avec la présentation des différentes interfaces Homme / Machine qui le composent.
-50-
Conclusion générale
En effet, la société Satoripop utilisait depuis son lancement la méthode de dépôt des
demandes écrites sur papier et dont les informations importantes qui concernent ses employés
sont stockées dans des boites d'archive et par conséquent, le dépôt d'une demande, sa
validation ainsi que la consultation des données personnelles comme le solde de congé restant
deviennent des tâches compliquées pour le demandeur et le validateur. Pour remédier à ce
problème, nous avons pensé à trouver une solution pour centraliser les données et les stocker
dans des bases de données ainsi que de permettre aux employés de déposer leurs demandes en
toute simplicité et être notifié de la réponse dès la validation.
Ce rapport détaille toutes les phases avec lesquelles nous sommes passés pour avoir
réussi à avoir une application qui répond aux besoins de ses utilisateurs. Dans la première
étape, l'analyse de l'existant nous a permis d'identifié les problèmes de la solution existante
pour pouvoir fixer des objectifs et combler les vides de la solution actuelle. La deuxième
partie était consacrée à l'identification des acteurs et la description détaillée des
fonctionnalités de la plateforme, ensuite on a mentionné les aspects statiques et dynamiques
grâce aux diagrammes de classes et séquences réalisés avec le langage UML. Enfin, nous
avons présenté la phase de réalisation avec les outils utilisés et les interfaces de l'application.
Pour réaliser cette application, nous avons eu recours à des technologies populaires et
performantes telles que ASP .NET Core MVC pour le développement Web et Xamarin pour le
développement mobile. Nous avons appliqué les principes de différents patrons de conception
qui nous ont facilité le développement et amélioré la qualité du code pour qu'il soit
réutilisable et facile à modifier ou améliorer à l'avenir.
-51-
Moez Baccouche Chapitre 4 : Réalisation
-52-
Références
-53-
16. Wikipedia. JavaScript. Wikipedia. [En ligne] [Consulté le 26 Février 2018.]
https://fr.wikipedia.org/wiki/JavaScript.
17. Microsoft. Xamarin Documentation. [En ligne] [Consulté le 5 Mai 2018.]
https://docs.microsoft.com/en-us/xamarin/.
18. Microsoft. [En ligne] [Consulté le 5 Mai 2018.]
https://docs.microsoft.com/en-us/dotnet/framework/wpf/advanced/xaml-overview-wpf.
19.Microsoft. What is Azure Active Directory? [En ligne] [Consulté le 5 Mai 2018.]
https://docs.microsoft.com/en-us/azure/active-directory/active-directory-whatis.
20. Freeman, Adam.Pro ASP .NET MVC 5 . 18 avril 2014.
21. Microsoft. Web Server (IIS) Overview. [En ligne] [Consulté le 3 Février 2018.]
https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-
and-2012/hh831725(v=ws.11).
22. Nginx. [En ligne][Consulté le 3 Février 2018.] https://www.nginx.com/.
-54-
FORMULAIRE DE « DÉCLARATION »
DECLARATION SUR L’HONNEUR
Par la présente, je soussigné BACCOUCHE Moez certifie avoir rédigé mon mémoire de
stage intitulé: Conception et réalisation d’une plateforme web et mobile de gestion des
absences seul et sans aucune aide interdite. Je ne me suis basé sur aucune autre source que
celles mentionnées et citées dans le manuscrit. Ce mémoire n’a ni dans sa forme actuelle, ni
dans une forme proche, été soumis à une autre institution.
Hammam Sousse, le 27/06/2018
Signature
-55-
Résumé
Afin de centraliser les données de ses employés et d'améliorer le processus de demande
et validation des congés et absences, la société de développement informatique Satoripop a
mis au point une plateforme Web et Mobile qui donne aux différents employés la possibilité
de déclarer leurs absences et à leurs supérieurs de les valider tout en ayant le droit à d'autres
fonctionnalités telles que la consultation du profil, du solde de congé restant, de l'historique
des absences, etc. Donnant résultat à un meilleur respect du règlement interne de la société,
une plus grande autonomie et une meilleure notification des réponses sur les demandes.
Abstract
In order to centralize employee's data and to enhance the leaves requests and validation
process, the IT company Satoripop has created a Web and Mobile platform that enables
employees to declare their absence and to their superiors the ability to validate their requests,
while having the right to other features such as profile consultation, remaining leave credit
checking, absence history consultation, etc. Leading to a better compliance with the
company's internal reglement, a higher level of autonomy and a better notification of
responses on requests.