Académique Documents
Professionnel Documents
Culture Documents
********** **********
MINISTERE DE L’ENSEIGNEMENT INSTITUT SUPERIEUR DE GESTION
SUPERIEUR ET DE LA RECHERCHE DE GABES
SCIENTIFIQUE **********
**********
Sujet
Réalisé par :
Dans un univers hautement concurrentiel, la gestion de temps dans l’entreprise moderne est
devenue un véritable enjeu stratégique. Afin de créer ou de maintenir ses avantages
concurrentiels, l’entreprise est continuellement menée à améliorer ses performances, ce qui se
traduit souvent par l’optimisation de ses processus et donc par une maitrise de ses ressources,
que celles-ci soient matérielles ou humaines. Or, bien gérer son capital humain passe par un
suivi adéquat de ses activités et donc, du temps de travail et de ses absences.
La complexité de cette tâche varie en fonction de l’organisation, de la taille et de la culture de
l’entreprise, mais aussi selon la législation en vigueur.
Ce travail fournit un effort d’analyse et de développement d’un système d’information
facilitant le suivi des temps de travail et des absences des employés dans une entreprise. Il
aborde les thèmes de la gestion de temps dans les entreprises, du cadre légal Tunisie régissant
les relations de travail, de l’analyse des processus de l’entreprise et du recueil des exigences
du futur système.
Dans ce contexte, dans le cadre de notre formation de mastère d’ingénierie de développement
mobile et pour mettre en application nos connaissances en matière de développement et
acquérir de solides compétences, nous sommes appelés à réaliser un Projet de fin d’étude avec
la collaboration de la société Mega DEV. Le sujet du projet consiste à concevoir et
développer une application mobile du système de gestion du temps de travail. Elle convient
parfaitement aux entreprises ayant des impératifs de mobilité ou de personnel itinérant.
Dédiée aux employés en déplacement comme les commerciaux ou les techniciens, elle facilite
à la fois le quotidien des employés et des ressources humaines. En effet l’application est
souvent en relation avec un logiciel de gestion qui collecte toutes les informations et permet
de les traiter facilement. Elle tourne autour de 3 grandes fonctionnalités :
Le pointage : des entrées, des sorties, des pauses, des déplacements, des arrêts maladie...
La consultation : du temps de travail sur une période donnée, du solde sur une période
donnée, des heures supplémentaires ou à rattraper
La gestion : de toutes les informations en main pour gérer au mieux vos équipes (les missions,
les absences, les mises à jour…)
Le présent rapport est divisé en trois chapitres avec une introduction générale et une
conclusion :
- Le premier chapitre, intitulé étude préalable, introduit dans un premier volet la présentation
générale de société Mega DEV, le QR code et le pointage. Dans un deuxième volet, il
introduit le contexte du projet, l’étude de l’existant, la critique de l’existant ainsi que la
solution proposée et finalement les besoins fonctionnelles et non fonctionnelles.
- La conception du projet sera l’objectif du deuxième chapitre qui porte sur la modélisation
UML (Unified Modeling Language), où nous présentons les différents diagrammes de cas
d’utilisation, de séquences et de classes.
- Le troisième chapitre sera consacré à la mise en place de l’application. Nous préciserons
dans un premier lieu l’environnement du travail matériel et logiciel ainsi que les langages et
les technologies utilisées. Dans un deuxième lieu, nous allons illustrer par des captures
d’écran notre travail réalisé.
- Nous clôturons notre rapport par une conclusion générale à travers laquelle nous allons
présenter les différentes étapes de notre projet ainsi qu’une amélioration possible de notre
application à travers les perspectives envisagées.
Chapitre1 : Étude préalable
Introduction
Dans le présent chapitre nous présentons en premier lieu la société Mega DEV dans laquelle
le stage du projet de fin d’étude est effectué et les services fournis par cette société. En
deuxième lieu, nous étudions l’existant et le critiquons. Enfin nous citons les besoins
fonctionnels et non fonctionnels du projet et la solution proposée.
1. Recueil
1.1. Présentation de la société
1.1.1. Mega DEV
Mega DEV est une société de conception et de développement web à responsabilité limitée
(S.A.R.L). Elle fournit un service de bout en bout pour le développement web et mobile.
Mega DEV est engagé à appliquer des normes élevées de qualité et d’innovation dans les
domaines du marketing, la formation et le développement. [1]
La pointeuse mécanique
Cette solution est l’une des plus simples et des plus anciennes en terme de pointage horaire.
La pointeuse numérique
La pointeuse numérique est une version améliorée de la pointeuse mécanique. En effet, elle a
plus de fonctionnalité que la pointeuse mécanique.
La pointeuse mobile
La pointeuse mobile reste de nos jours le système de pointage le plus performant par rapport
aux pointeuses mécaniques, numériques et badgeuses. Ce système de pointage est
principalement destiné aux salariés itinérants. Parmi les différentes fonctionnalités, nous
pouvons relever les suivantes :
Système de géo localisation des salariés.
Pointage grâce à un QR code.
Gestion du temps de travail avec un planning précis.
Contrôle du temps de travail.
Ainsi, la pointeuse mobile dispose de nombreuses fonctionnalités intéressantes pour les
entreprises. Il existe différents types de pointeuses mobiles, c'est-à-dire des modalités
différentes d'organisation du pointage des salariés externalisés et/ou en mission
o Pointage par téléphone fixe : À son arrivée ou à son départ du lieu de travail, le salarié
compose un numéro spécial et donne un code personnel à son interlocuteur/trice qui
déclenche ou clôt le décompte du temps de travail.
o Pointage par téléphone portable : À son arrivée ou à son départ du lieu de travail, le
salarié passe son portable près d'une puce ou d'un code-barres installé(e) là, ce qui
déclenche ou clôt le décompte du temps de travail.
1.3. QR Code
1.3.1. Définition
QR (abréviation de l'anglais quick response) signifie que le contenu du code peut être décodé
rapidement après avoir été lu par un lecteur de code-barres, un téléphone mobile,
un smartphone ou encore une webcam. Son avantage est de pouvoir stocker plus
d'informations qu'un code à barres , et surtout des données directement reconnues par des
applications.
Figure 2 : QR Code
Les QR codes statiques sont fixes. Cela signifie que les données qu'ils contiennent ne sont pas
modifiables. Ce type de code a un caractère définitif dès qu'il est créé. Il est utilisé pour
fournir aux utilisateurs des informations permanentes. Dans les faits, lorsque l'URL est
modifiée, le QR code cesse de fonctionner. Au cas où on veut revoir les données contenues
dans un QR code statique, on devra en établir un nouveau.
Les QR codes dynamiques sont à l'opposé des QR codes statiques. Il s'agit de codes dont les
informations peuvent être modifiées en cas de besoin. En fait, le contenu ne se trouve pas
dans le QR code à proprement parler, mais plutôt dans l'URL du site web.
Nous avons donc la possibilité de retoucher le contenu lié à l'URL cible, sans que le QR code
dynamique perde sa fonction.
Les QR codes dynamiques sont plus flexibles que les QR codes statiques
Les codes QR sont surtout lus à partir d’un Smartphone. Il faut en amont télécharger une
application qui est en général gratuite. Par la suite, il faut prendre en photo le code pour
visualiser son contenu.
Le code embarque :
Ce contenu peut :
être transféré,
et/ ou imprimé.
Il s’impose de plus en plus dans les campagnes de marketing relationnel. Le QR Code est
d’une efficacité redoutable si son usage est bien maîtrisé. On le retrouve maintenant sur tous
les types de support de communication comme :
les affiches,
des emballages,
les panneaux d’informations,
des flyers,
les catalogues…
• Economique
• Facile à mettre en œuvre
• Disponible sur tous les mobiles
2. Contexte du projet
Les absences et présences des collaborateurs engendrent beaucoup de mouvements qui
doivent être planifiés, consultés et validés. Les absences (maladies, vacances, congés) sont
validées et contrôlées par les RH (ressources humaines) de l’entreprise.
Ainsi que la gestion de congés est une activité confiée à la direction technique et
administrative de l’entreprise Mega DEV. Un personnel remplit une demande de congé en
papier. Par la suite, il la dispose chez la poste du chef de département pour l’approbation
en tenant compte de la durée de congé. Lorsque la demande est acceptée par ce dernier,
elle passe à un deuxième niveau d’approbation par le directeur de société qui à son tour
soumet la demande aux ressources humaines.
Conclusion
Après avoir présenté la société Mega DEV, le contexte du projet et les spécifications des
besoins de notre application, nous passerons au chapitre suivant pour la modélisation de ces
besoins.
b) Cas d'utilisation
Est une unité cohérente représentant une fonctionnalité visible de l'extérieur. Il réalise un service
de bout en bout, avec un déclenchement, un déroulement et une fin, pour l'acteur qui l'initie. Un
cas d'utilisation modélise donc un service rendu par le système, sans imposer le mode de
réalisation de ce service. Un cas d'utilisation se représente par une ellipse contenant le nom du
cas et optionnellement, au-dessus du nom, un stéréotype. [3]
a. Description
Description de cas d’utilisation « gérer employé»
Cas d’utilisation Gérer employé
Pré-condition Authentification
Pré-condition Authentification
Pré-condition Authentification
Acteur Employé
L’employé se connecte à l’application et effectue la demande d’un congé. Cette demande sera
confirmée par le chef de service.
b. Les classes
Une classe est une représentation abstraite d’un d’ensemble d’objets, elle contient les
informations nécessaires à la construction de l’objet (c'est-à-dire la définition des attributs et des
méthodes).
c. Les relations
Une association peut apporter de nouvelles informations (attributs et méthodes) qui
n’appartiennent à aucune des deux classes qu’elle relie et qui sont spécifiques à l’association.
Ces nouvelles informations peuvent être représentées par une nouvelle classe attachée à
l’association via un trait en pointillés.
Un employé est caractérisé par un id, un nom, un prénom, un email, un mot de passe
et un Qrcode
Chaque employé doit marquer sa Présence à chaque fois (un ou plusieurs). Il a un id
présence, un temps d’entrée, un temps sortie, une heure quotidien, un temps de retard,
une tardive heure tot, un temps mort
La présence est indiquée à chaque fois (un ou plusieurs) par une date (heure, jour,
année) et un lieu (longitude, latitude) de l’employé.
Pour demander un congé l’employé doit saisir l’id congé, le type de congé, la raison et
fixer la durée et la date (date début, date fin)
Introduction
Après avoir détaillé la conception adaptée à mon application, nous allons consacrer le dernier
chapitre de ce rapport à la partie réalisation. Pour cela nous allons présenter dans un premier
lieu l’environnement matériel et logiciel de développement et les outils de travail, Par la suite,
nous décrivons la phase d’implémentation en se basant sur quelques interfaces.
L’application Web utilise un modèle MVC (Modèle Vue Controlleur). Un avantage apporté
par ce modèle est la clarté de l'architecture qu'il impose (service, API, interface). Cela
2. Environnement du travail
JQuery est une bibliothèque JavaScript libre et multiplateforme créée pour faciliter
l'écriture de scripts côté client dans le code HTML. La première version est lancée
en janvier 2006 par John Resig (un petit génie du JavaScript).
2.2.2. Framework et environnent
Laravel
Bootstrap
Bootstrap est un framework qui utilise les langages HTML, CSS et JavaScript pour créer
un site facilement. Ce framework est pensé pour développer des sites avec un design
responsive, qui s'adapte à tout type d'écran, et en priorité pour les smartphones.
Flutter
Visual Studio Code est un éditeur de code open-source développé par Microsoft
supportant un très grand nombre de langages grâce à des extensions. Il supporte l’auto
complétion, la coloration syntaxique, le débogage (exécution pas à pas), et les
commandes git.
Android Studio
L'utilisation de XAMPP sert à tester les sites de vos clients ou votre propre site
Web avant de le télécharger sur le serveur Web distant. Ce logiciel
serveur XAMPP vous donne l'environnement approprié pour tester des projets
MYSQL, PHP, Apache et Perl sur l'ordinateur local.
StarUML
La figure 11 présente l’interface d’authentification qui oblige le chef de service à remplir les
deux champs adresse mail et mot de passe afin d’avoir accès à l’application et bénéficier des
fonctionnalités qui lui sont destinées. Si l’authentification est réalisée avec succès, ceci
permettra le passage à l’interface suivant tableau de bord de la figure 13.
Cette interface de la figure 15 permet au chef de service de consulter la liste de présences des
employés détaillée Date d’entrée, date de sortie et leur localisation.
Cette fenêtre contient les informations liées à l’entreprise son propre QR code et la date de
travail avec la clé de l’application spécifique.
Pour marquer la date d’arrivée et de départ l’employé doit suivre les étapes suivantes :
Appuyer sur le bouton adéquat de l’interface de la figure 18. Il lui apparait l’interface de
pointage de la figure 19.
Appuyer sur le bouton < scan QR > pour scanner QR code à partir de son caméra
Figure 20 : Interface de rapport Figure 21: Interface à propos
L’objectif de ce projet est de créer une application web et mobile pour la gestion des
ressources humaines. Cette application permet aux salariés de pointer leurs heures de travail
sur leur téléphone mobile. C’est dans ce cadre que s’inscrit le présent travail ; en effet, notre
objectif est de développer un smart système de gestion du pointage basé sur un QR code. A
partir de ce système, l’administrateur peut facilement suivre la présence des employés,
consulter le nombre des heures de travail, valider les demandes de congés et faciliter la
communication entre les employés et le chef de service.
Dans le présent rapport, nous avons commencé par mettre en relief l’étude de l’existant et la
critique de l’existant qui nous ont poussés à mettre en place notre solution. Ensuite, nous
avons décrit la phase de conception en se basant sur la méthodologie UML. Enfin, nous avons
implémenté le système proposé en utilisant divers langages de programmation tels que PHP,
DART, et leurs Framework Laravel et Flutter.
Malgré toute l’implication et la volonté que nous avons démontrée pour la réalisation de ce
projet, cela ne nous a pas évité de rencontrer quelques difficultés ou obstacles à différentes
étapes de notre travail. Nous sommes bel et bien conscients que cela est tout à fait naturel
dans toute démarche de ce genre et qu’un projet sans obstacles serait trop parfait pour exister.
D’un point de vue technique, ce projet nous a permis de mettre en œuvre les acquis théoriques
et de les enrichir par la découverte de nouvelles technologies.
Nous pouvons conclure enfin que notre application peut être considérablement étendue par
l’ajout de nouvelles fonctionnalités telles que la partie IOS de l’application mobile et pour
l’application web le paiement de salariés.
Références
[1] https://mega-dev.net/fr/
[2] https://www.smart-packaging.fr/statistique-du-qr-code-qui-est-en-
croissance/#:~:text=30%25%20des%20utilisateurs%20de%20smartphones%20ont%20scann
%C3%A9%20un%20QR%2Dcode&text=Environ%2010%25%20des%20utilisateurs%20de,s
cann%C3%A9%20au%20moins%20une%20fois.
[3] https://programmation.developpez.com/actu/286180/Quels-sont-les-meilleurs-langages-
de-programmation-a-apprendre-en-2020-Voici-un-classement-de-ces-langages-selon-le-cas-d-
utilisation/
[4] https://openclassrooms.com/fr/courses/4670706-adoptez-une-architecture-mvc-en-
php/4678736-comment-fonctionne-une-architecture-mvc
[5] https://cynoteck.com/fr/blog-post/flutter-basics-why-use-flutter-for-mobile-app-
development/
Liste des acronymes
RH : Ressources Humaines
UML: Unified Modeling Language
QR: Quick Response
GRH : Gestion des Ressources Humaines
RFID: Radio Frequency Identification
SSL: Secure Socket Layer
TLS : Sécurité de la couche de transport