Ce projet est un Travail Pratique donné au cours d'Algorithme Orienté Objet(AOO) en Faculté des Sciences et Technologies, promotion L2 LMD Mathématique Informatique à l'Université de Kinshasa (UNIKIN)
Ce travail consiste à créer une application de Gestion des Ressources Humaines par empreinte digitale d'une entreprise.
Faute de matériel adapté pour le scan d'empreinte digitale, nous avons opté pour une approche selon laquelle le scan se fera avec l'appareil téléphonique de l'employé. Chaque appareil est enregistré dans le système avec un identifiant unique le reliant à l'identité de l'employé.
Ce système a été conçu avec les technologies suivantes (juste les principaux) :
- MySQL : SGBD
- JAVA : application Desktop et la gestion des données avec la BDD
- JavaScript (React Native) : application Mobile
- PHP : serveur de liaison entre les applications
Faute de temps pour la remise de ce travail, nous n'avons pas pu mettre en place une architecture pour mettre en réseau les applications avec la technologie des Sockets. Nous avons donc opté pour cette approche avec un serveur HTTP géré par PHP.
Pour pouvoir lancer le système, vous devez au préalable avoir ou installé :
- Application Desktop :
- NetBeans : Télécharger Apache NetBeans 20.
- Ayez déjà les fichiers JARs :
- MySQL connector la version 8.2.0 ou téléchargez-le directement ici
- Téléchargez JCalendar
- Ayez déjà les fichiers JARs :
- JDK : JDK Development Kit 21.0.2, vous devez créer un compte Oracle pour télécharger le JDK.
- JRE : Téléchargements Java pour tous les systèmes d'exploitation.
- MySQL : Comment installer MySQL 8.3 (sous Windows, macOS, Ubuntu) et démarrer avec la programmation SQL. Pour ceux qui utilisent XAMPP ou autre application qui lance le serveur MySQL, vous n'avez pas besoin de l'installer.
- Pour tous les utilisateurs de Netbeans et de JDK sur Windows : How to Download and Install Netbeans 18 with Java JDK 20 on Windows
- Pour tous les utilisateurs de Netbeans et de JDK sur Linux (Ubuntu) : 3 ways to Install NetBeans IDE on Ubuntu 22.04 or 20.04 LTS
- NetBeans : Télécharger Apache NetBeans 20.
- Application Mobile :
- Sur votre ordinateur :
- Node.js : Node.js Download, en plus un article expliquant comment l'installer sur tous les OS
- Sur votre smartphone :
- Sur votre ordinateur :
- Serveur :
- PHP : pour le serveur web, il faut configurer PHP dans vos variables d'environnement. Pour savoir si PHP est installé dans votre environnement, allez sur votre terminal (ou invite de commande) et tapez la commande
php -v
. Si vous obtenez une erreur, cela signifie que PHP n'est pas installé dans votre environnement, alors suivez ceci selon votre OS :- Windows
- Pour ceux qui utilisent XAMPP (Windows) : Add XAMPP PHP to Environment Variables in Windows 10.
- Pour ceux qui utilisent WAMP (Windows) : Installer WampServer.
- Pour ceux qui n'utilisent aucun de ces logiciels sur Windows, suivez l'une des étapes (XAMPP ou WAMP) pour accéder à la fenêtre d'ajout des variables et vous mettrez le chemin absolu du dossier contenant le fichier d'exécution php.exe.
- Linux
- Aller sur ce lien Comment installer PHP : guide pas-à-pas, il y a deux méthodes dont l'une avec XAMPP.
- Windows
- PHP : pour le serveur web, il faut configurer PHP dans vos variables d'environnement. Pour savoir si PHP est installé dans votre environnement, allez sur votre terminal (ou invite de commande) et tapez la commande
Vous devez juste importer le fichier grh.sql de la BDD se trouvant dans le dossier resources/datas/
dans votre MySQL.
Cliquer ici pour savoir comment importer un fichier .sql sur MySQL.
En premier, veuillez configurer l'adresse IP sur la ligne 2 des fichiers start-windows.bat
pour ceux qui sont sur Windows ou start-linux-mac.sh
pour ceux qui sont sur MacOs, se trouvant dans le dossier grh_php_server/
. De préférence, connectez vos appareils avec un seul point d'accès utilisant le WiFi et choisissez l'adresse IP de votre Carte Wifi.
Mettez votre adresse IP locale sur la commande php -S 172.20.10.4:3001 ./index.php
(remplacez l'adresse 172.20.10.4 par le votre), celle qui se connectera avec votre appareil.
Cliquez ici pour savoir comment connaître votre adresse IP locale.
Après l'avoir configuré lancer le fichier start-windows.bat
pour ceux qui sont sur Windows ou start-linux-mac.sh
pour ceux qui sont sur MacOs, se trouvant dans le dossier grh_php_server/
.
Si un problème se pose vous pouvez juste ouvrir le terminal (ou invite de commande) sur le dossier grh_php_server/
et executer la commande php -S votre.ip.locale:3001 ./index.php
À savoir, pour ceux qui n'arrivent pas à retrouver l'IP sur laquelle configurer, vous pouvez lancer le serveur après le lancement de l'application mobile. Cela ne posera aucun problème. Pour ne pas entrer dans les détails, React Native avec Expo ouvrira un portail vers l'adresse IP locale. Elle se présentera de la manière suivante
› Metro waiting on exp://votre.ip.lacale:8081
, et vous n'aurez qu'à copiervotre.ip.locale
et configurer l'adresse IP du serveur.
En premier lieu, ouvrez le projet (ou dossier) grh_java
dans NetBeans et configurez les chemins des fichiers JAR sur votre gauche il y a la section "Projects" ou "Projets" et dans celle-ci se trouve notre projet que l'on a ouvert avec le nom "RH_Empreinte", faites un clic droit sur "Libraries" et ensuite "> Add JAR/Folder" ou "Bibliothèques > Ajouter un JAR/Dossier". Ensuite, sélectionnez les fichiers JAR du connecteur MySQL et le JCalendar.
Vous pouvez exécuter le projet. De préférence, exécutez le fichier grh_java\src\IHM\login.java
.
Pour les testes, connectez vous à ce compte :
- UserName : admin
- Password : 1234
Pour que vous puissiez vous connecter dessus, vous devez déjà avoir lancé le serveur MySQL (sur l'hôte par défaut 127.0.0.1:3306) et vous assurer d'avoir importé le fichier grh.sql de la BDD se trouvant dans le dossier
resources/datas/
dans votre MySQL.
D'abord vous devez installer toutes les dependances du projet, allez dans votre terminal (ou invite de commande) et naviguez jusqu'au répertoire où se trouve le projet (ou dossier) React Native (grh_react-native).
Ensuite executez la commande :
cd chemin_vers_le_projet/gestion_rh/grh_react-native
npm install
Cette commande installera toutes les dépendances nécessaires au projet pour fonctionner, ensuite connectez votre téléphone et ordinateur sur un même point d'accès Wifi et assurez-vous d'avoir installé Expo Go dans votre smartphone et exécutez la commande suivante :
npx expo start
Et scannez le QR code qui s'affiche sur votre terminal (ou invite de commande) avec votre smartphone.
Et aussi votre IP locale s'affiche sur
› Metro waiting on exp://votre.ip.locale:8081
Sachez que si votre "votre.ip.locale" est "127.0.0.1", alors votre ordinateur a un problème de connexion Wifi, vérifiez votre point d'accès et arrêtez l'exécution de la commandenpx expo start
et re-exécutez-la.
Après les installations et les configurations il n'y a que deux types d'utilisateurs :
- L'administrateur : utilisant l'application desktop.
- L'employé : utilisant l'application mobile, en sachant qu'un administrateur est aussi un employé.
...
...