Application de Gestion RH

L’objectif de cette mission était de créer un outil capable de récolter et de synthétiser les disponibilités des techniciens de l’entreprise, au sein d’une seule interfaceles informations sont mises à jour en temps réel.
L’administrateur de l’outil peut ainsi consulter les disponibilités de chacun et effectuer ses choix en fonction des prestations et de leurs critères.

Il s’agissait de ma première mission au sein de l’entreprise Les Toiles de Minuit : une mission concrète, pensée pour répondre à un besoin réel, et qui a mis à l’épreuve ma capacité à relever des défis techniques en informatique.

outils utilisés

Front end

Front-End

HTML, CSS, JavaScript, jQuery (requête AJAX), FullCalendar

Langage Web PHP

Back-End

PHP, PDO (PHP Data Objects), PHPMailer (envoie d’e-mails)

Base de données

Base de données

MySQL, phpMyAdmin (gestion des tables SQL)

Logo Hostinger

Hostinger

hébergement du site et des bases de données

Projet réalisé pour

Logo les toiles de minuit

Société d’événementiel audiovisuel Les Toiles de Minuit

Naissance du projet

Au sein de l’entreprise, la gestion des ressources humaines était un véritable casse-tête.

Lorsqu’une prestation audiovisuelle était validée, il fallait sélectionner un couple ou un trio de techniciens disponibles. Or, les disponibilités étaient notées sur une simple feuille. Résultat :

    • informations parfois obsolètes

    • appels multiples pour vérifier

    • pertes de temps

    • imprévus non anticipés

La problématique était claire :
Comment gagner du temps et optimiser la gestion des ressources humaines ?

Ma mission était donc de concevoir une application web capable de gérer jusqu’à 25 prestations simultanément, en centralisant les disponibilités et en automatisant la sélection des techniciens.

Définition du besoin & cahier des charges

Avant de coder quoi que ce soit, j’ai commencé par rédiger un cahier des charges précis :

    • gestion des comptes techniciens

    • gestion des comptes administrateurs

    • calendrier interactif des disponibilités

    • sécurisation des données

    • préparation d’un système de scoring pour une future IA

Cette phase a permis de structurer le projet et d’éviter les choix techniques improvisés.

Choix techniques & architecture

L’application devait être accessible partout et à tout moment.

Plutôt que d’héberger le site en local (contraintes de sécurité, maintenance, machine allumée en permanence), j’ai choisi un hébergement en ligne via Hostinger, déjà utilisé par l’entreprise.

Technologies utilisées :

    • HTML / CSS → structure et design

    • JavaScript & jQuery → interactions dynamiques

    • FullCalendar → gestion du calendrier

    • PHP → traitement côté serveur

    • SQL (MySQL) → stockage des données

    • PDO → connexion sécurisée base de données

Le projet repose sur une séparation claire :

    • Front-end visible par l’utilisateur

    • Back-end sécurisé côté serveur

Gestion des comptes & sécurité

J’ai développé :

    • un système d’inscription avec validation des champs

    • cryptage des mots de passe avec password_hash()

    • confirmation par mail via PHPMailer

    • gestion des sessions PHP ($_SESSION)

    • système de déconnexion sécurisé

Pour renforcer la sécurité :

    • protection contre les attaques par force brute (temporisation après échec)

    • protection contre l’injection SQL

    • système complet de réinitialisation de mot de passe avec token temporaire valable 1 heure

    • envoi de mails de sécurité à chaque modification

L’objectif était clair : une application professionnelle, sécurisée et fiable.

Calendrier des disponibilités

Côté technicien, chaque utilisateur dispose de :

    • son calendrier personnel

    • la possibilité d’ajouter des disponibilités sur 1 an

    • suppression simple en un clic

Chaque événement est enregistré en base avec :

    • date de début

    • date de fin

    • identifiant unique

    • couleur propre au technicien

Avant validation, un algorithme vérifie qu’aucun conflit horaire n’existe.

Côté administrateur :

    • vision globale de toutes les disponibilités

    • possibilité de créer des événements

    • possibilité d’attribuer des créneaux à un ou plusieurs techniciens

    • suppression ou modification des événements

Une requête AJAX récupère les données en JSON pour afficher dynamiquement le calendrier.

Préparation du système d’intelligence artificielle

La deuxième partie du projet consistait à préparer un système de sélection automatique des techniciens.

Pour cela, j’ai commencé à concevoir une logique de scoring basée sur plusieurs critères :

    • niveau de compétence

    • mobilité

    • savoir-être

    • sociabilité

    • permis de conduire

Chaque critère est noté sur une échelle définie.

À terme, une équation combinera ces paramètres pour générer un score global.
Si un technicien n’est pas disponible, son score sera automatiquement annulé.

Même si cette partie n’est pas totalement finalisée, l’architecture est prête pour intégrer l’algorithme de sélection.

Résultat & impact

Cette application transforme complètement la gestion interne :

    • centralisation des informations

    • gain de temps significatif

    • réduction des erreurs humaines

    • base solide pour une automatisation intelligente

Ce projet m’a permis de mobiliser des compétences full-stack, d’intégrer des notions de cybersécurité, et de poser les bases d’un système d’aide à la décision basé sur des critères quantifiables.

Une solution concrète, pensée pour résoudre un problème réel, et conçue pour évoluer vers un véritable outil intelligent de gestion des ressources humaines.