BlockRH est une application décentralisée (DApp) permettant de gérer les ressources humaines avec une sécurité renforcée par la blockchain. Ce projet implémente un système de contrôle d'accès basé sur les rôles (RBAC) garantissant l'intégrité et la confidentialité des données sensibles.
- Système RBAC (Role-Based Access Control) :
- RH (Admin) : Seul le déployeur du contrat détient le rôle RH. Il peut ajouter des employés et consulter la liste globale.
- Employés : Chaque employé enregistré peut consulter ses propres données personnelles (Nom, Poste, Salaire) de manière sécurisée via son wallet.
- Accès Sécurisé : Les données sont stockées sur la blockchain, rendant toute modification frauduleuse impossible.
- Interface Intuitive : Frontend connecté à MetaMask avec affichage conditionnel selon le rôle de l'utilisateur.
- Smart Contract : Solidity (0.8.24)
- Framework de développement : Hardhat
- Librairie Web3 : Ethers.js (v6)
- Frontend : HTML5 / CSS3 / JavaScript (Vanilla)
- Wallet : MetaMask
- Clonez le dépôt :
git clone https://github.com/Youssef-srf/BlockRH.git cd BlockRH - Installez les dépendances :
npm install
- Lancez un nœud blockchain local (Hardhat) :
npx hardhat node
- Dans un nouveau terminal, déployez le contrat :
npx hardhat run scripts/deploy.js --network localhost
Ouvrez le fichier frontend/index.html via un serveur local (ex: extension Live Server de VS Code ou python -m http.server).
├── contracts/ # Smart Contract (GestionRH.sol)
├── scripts/ # Script de déploiement (deploy.js)
├── frontend/ # Interface utilisateur (HTML/JS/Ethers)
├── artifacts/ # Fichiers de compilation générés par Hardhat
└── hardhat.config.js # Configuration de l'environnement Hardhat
- Youssef Sarraf
- Sifeddine Legnioui
Projet réalisé dans le cadre du module Sécurité IA et Blockchain - FSBM (2025-2026).