Vous devez avoir Docker et Docker Compose installés sur votre machine.
docker --version
docker-compose --versionSi vous n'avez pas Docker, installez-le :
- Ubuntu/Debian :
sudo apt-get install docker.io docker-compose - Mac : Téléchargez Docker Desktop
- Windows : Téléchargez Docker Desktop
cd /home/john/project./start.shou
docker-compose up -d --buildOuvrez votre navigateur :
- Application : http://localhost
- API Backend : http://localhost:5000
Utilisez un des comptes de test :
| 🔐 Identifiant | 🔑 Mot de passe | 👔 Rôle |
|---|---|---|
| admin | admin123 | Admin RH |
| manager_it | manager123 | Manager |
| employee1 | employee123 | Employé |
./stop.shou
docker-compose down# Voir les conteneurs actifs
docker-compose ps
# Voir les logs
docker-compose logs -f
# Voir les logs d'un service spécifique
docker-compose logs -f backend
docker-compose logs -f frontend
docker-compose logs -f databaseSolution 1 : Redémarrer
docker-compose down
docker-compose up -d --buildSolution 2 : Vérifier que les ports sont libres
# Vérifier si le port 80 est utilisé
sudo lsof -i :80
# Vérifier si le port 5000 est utilisé
sudo lsof -i :5000
# Vérifier si le port 3306 est utilisé
sudo lsof -i :3306Solution 3 : Supprimer et recréer
docker-compose down -v # ⚠️ Supprime les données !
docker-compose up -d --buildAttendre l'initialisation complète (30 secondes)
docker-compose logs -f database
# Attendez de voir : "MySQL init process done. Ready for start up."Changer les ports dans docker-compose.yml
# Au lieu de
ports:
- "80:80"
# Utilisez
ports:
- "8080:80" # Puis accédez via http://localhost:8080# Se connecter
curl -X POST http://localhost:5000/api/auth/login \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"admin123"}'
# Tester la santé du serveur
curl http://localhost:5000/healthmysql -h 127.0.0.1 -P 3306 -u app_user -p
# Mot de passe : SecurePassword123! (voir .env.docker)docker exec -it gestion-absences-db mysql -u root -p
# Mot de passe : SecurePassword123!
# Puis dans MySQL :
USE gestion_absences;
SHOW TABLES;
SELECT * FROM employees;Éditez docker-compose.yml :
frontend:
ports:
- "8080:80" # Changez 80 en 8080
backend:
ports:
- "3000:5000" # Changez 5000 en 3000Éditez .env.docker :
DB_PASSWORD=VotreNouveauMotDePasse
JWT_SECRET=VotreNouveauSecretJWTPuis :
docker-compose down -v
docker-compose up -d --build./start.sh
# Tout fonctionne automatiquement !Terminal 1 - Backend :
cd backend
npm install
npm run init-db
npm run devTerminal 2 - Frontend :
cd frontend
npm install
npm run devTerminal 3 - MySQL :
# Assurez-vous que MySQL est installé et démarré
sudo service mysql start
# ou
brew services start mysql- ✅ Gérer tous les employés
- ✅ Créer/Modifier/Supprimer des employés
- ✅ Voir toutes les absences
- ✅ Valider toutes les demandes
- ✅ Accéder à tous les rapports
- ✅ Voir son équipe
- ✅ Valider les demandes de son équipe
- ✅ Voir les absences de son équipe
- ✅ Générer des rapports
- ✅ Créer des demandes d'absence
- ✅ Voir ses propres absences
- ✅ Consulter l'historique de ses demandes
# Démarrer
docker-compose up -d
# Arrêter
docker-compose down
# Voir les logs
docker-compose logs -f
# Redémarrer un service
docker-compose restart backend
# Reconstruire tout
docker-compose up -d --build
# Nettoyer tout (⚠️ DANGER)
docker-compose down -v
docker system prune -a- Consultez les logs :
docker-compose logs -f - Vérifiez que Docker fonctionne :
docker ps - Vérifiez les ports :
sudo lsof -i :80 -i :5000 -i :3306 - Lisez la documentation :
README.md,ARCHITECTURE.md,API_EXAMPLES.md
- Docker et Docker Compose installés
- Ports 80, 5000, 3306 libres
- Espace disque suffisant (2GB minimum)
- Droits d'exécution sur start.sh (
chmod +x start.sh) - Fichier
.env.dockerprésent - Lancer
./start.sh - Attendre 30 secondes
- Ouvrir http://localhost
- Se connecter avec admin / admin123
- ✨ Profiter !
Votre application de gestion des absences est maintenant opérationnelle !
URLs importantes :
- 🌐 Application : http://localhost
- 🔌 API : http://localhost:5000
- 💾 MySQL : localhost:3306
Bon courage ! 🚀