Une application web moderne et intuitive pour la gestion visuelle et interactive du personnel sur un plan d'étage en temps réel.
WorkSphere est une solution innovante développée pour faciliter la gestion et l'organisation du personnel au sein des espaces de travail. L'application offre une interface graphique interactive permettant de visualiser et gérer la répartition des employés sur un plan d'étage, tout en respectant les contraintes liées aux rôles et zones autorisées.
Ce projet répond aux besoins des entreprises qui souhaite disposer d'un outil de gestion visuelle du personnel intégrant :
- La gestion en temps réel des affectations
- Le respect des règles de sécurité et d'accès
- Une expérience utilisateur fluide et responsive
- La centralisation des données du personnel
- ✅ Ajout d'employés avec formulaire complet (nom, rôle, photo, email, téléphone)
- ✅ Gestion des expériences professionnelles avec formulaire dynamique
- ✅ Prévisualisation de photo dans la modale d'ajout
- ✅ Profils détaillés avec historique professionnel complet
- ✅ Validation des données avec regex pour email, téléphone et dates
L'application gère 6 zones distinctes :
- 🏛️ Salle de conférence (capacité : 8 personnes)
- 📞 Réception (capacité : 12 personnes)
- 💻 Salle des serveurs (capacité : 6 personnes)
- 🔒 Salle de sécurité (capacité : 6 personnes)
- 👥 Salle du personnel (capacité : 6 personnes)
- 📦 Salle d'archives (capacité : 3 personnes)
- 🎯 Affectation intelligente : bouton "+" dans chaque zone pour assigner un employé éligible
- 🔄 Désaffectation rapide : bouton "X" pour retirer un employé d'une zone
- 📊 Filtrage par rôle : tri des employés non assignés par rôle
- 🚨 Alertes visuelles : zones vides obligatoires en rouge pâle avec animation
- 📱 Design responsive : adapté pour desktop, tablette et mobile
- 💾 Persistance des données : utilisation de localStorage
- ✨ Animations CSS : transitions fluides et animations subtiles
- 🔔 Notifications : retours visuels pour les actions utilisateur
- HTML5 : Structure sémantique de l'application
- CSS3 : Stylisation moderne avec animations
- TailwindCSS : Framework CSS utility-first
- JavaScript ES6+ : Logique métier et interactions
- LocalStorage API : Persistance des données
- Font Awesome : Bibliothèque d'icônes
- Git : Gestion de version
- Cliquer sur le bouton "Add New Worker"
- Remplir le formulaire avec les informations requises
- Cliquer sur "Save" pour valider
- Cliquer sur le bouton "+" dans la zone souhaitée
- Sélectionner un employé parmi ceux éligibles
- Cliquer sur "Assign" pour confirmer
- Employé non assigné : Cliquer sur la carte dans la liste latérale
- Employé assigné : Cliquer sur l'avatar dans la zone
- Cliquer sur l'avatar de l'employé dans sa zone
- Cliquer sur le bouton "X" en haut à droite du profil
worksphere/
│
├── index.html # Structure HTML principale
├── style.css # Styles personnalisés
├── app.js # Logique JavaScript
├── images/wood.jpg # Image du plan d'étage
└── README.md # Documentation
{
id: timestamp,
nom: string,
role: string,
image: url,
email: string,
phone: string,
currentStatus: "assigned" | "unassigned",
currentRoom: string,
possibleRoom: array,
experiences: [
{
title: string,
company: string,
startDate: year,
endDate: year | "present",
description: string
}
]
}| Rôle | Zones Autorisées |
|---|---|
| Réceptionniste | Réception uniquement |
| Technicien IT | Salle des serveurs uniquement |
| Agent de sécurité | Salle de sécurité uniquement |
| Manager | Toutes les zones |
| Nettoyage | Toutes sauf Salle d'archives |
| Autres rôles | Salle de conférence, Salle du personnel, Salle d'archives |
- Réception : 12 personnes
- Salle de conférence : 8 personnes
- Salle des serveurs : 6 personnes
- Salle de sécurité : 6 personnes
- Salle du personnel : 6 personnes
- Salle d'archives : 3 personnes
Les zones suivantes doivent être occupées (indication visuelle rouge si vides) :
- Réception
- Salle des serveurs
- Salle de sécurité
- Salle d'archives
Le code a été validé avec :
Moussa Mohammed
- GitHub: Moussa-Mohammed1
- LinkedIn: Moussa Mohammed
