Skip to content

Latest commit

 

History

History
321 lines (238 loc) · 5.8 KB

File metadata and controls

321 lines (238 loc) · 5.8 KB

🚀 GUIDE DE DÉMARRAGE RAPIDE

📋 Prérequis

Vous devez avoir Docker et Docker Compose installés sur votre machine.

Vérifier l'installation :

docker --version
docker-compose --version

Si 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

🎯 Démarrage en 3 Étapes

1️⃣ Aller dans le dossier du projet

cd /home/john/project

2️⃣ Lancer l'application

./start.sh

ou

docker-compose up -d --build

3️⃣ Accéder à l'application

Ouvrez votre navigateur :


👤 Se Connecter

Utilisez un des comptes de test :

🔐 Identifiant 🔑 Mot de passe 👔 Rôle
admin admin123 Admin RH
manager_it manager123 Manager
employee1 employee123 Employé

🛑 Arrêter l'Application

./stop.sh

ou

docker-compose down

📊 Vérifier l'État

# 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 database

❓ Problèmes Fréquents

L'application ne démarre pas

Solution 1 : Redémarrer

docker-compose down
docker-compose up -d --build

Solution 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 :3306

Solution 3 : Supprimer et recréer

docker-compose down -v  # ⚠️ Supprime les données !
docker-compose up -d --build

La base de données ne se connecte pas

Attendre l'initialisation complète (30 secondes)

docker-compose logs -f database
# Attendez de voir : "MySQL init process done. Ready for start up."

Erreur "port already in use"

Changer les ports dans docker-compose.yml

# Au lieu de
ports:
  - "80:80"

# Utilisez
ports:
  - "8080:80"  # Puis accédez via http://localhost:8080

🔍 Tester l'API

Avec curl :

# 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/health

Avec le navigateur :


📂 Accès à la Base de Données

Depuis votre machine :

mysql -h 127.0.0.1 -P 3306 -u app_user -p
# Mot de passe : SecurePassword123! (voir .env.docker)

Depuis 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;

🎨 Personnalisation

Changer les ports

Éditez docker-compose.yml :

frontend:
  ports:
    - "8080:80"  # Changez 80 en 8080

backend:
  ports:
    - "3000:5000"  # Changez 5000 en 3000

Changer les mots de passe

Éditez .env.docker :

DB_PASSWORD=VotreNouveauMotDePasse
JWT_SECRET=VotreNouveauSecretJWT

Puis :

docker-compose down -v
docker-compose up -d --build

📱 Modes d'Utilisation

Mode Production (Docker) - RECOMMANDÉ ✅

./start.sh
# Tout fonctionne automatiquement !

Mode Développement (Local)

Terminal 1 - Backend :

cd backend
npm install
npm run init-db
npm run dev

Terminal 2 - Frontend :

cd frontend
npm install
npm run dev

Terminal 3 - MySQL :

# Assurez-vous que MySQL est installé et démarré
sudo service mysql start
# ou
brew services start mysql

🎓 Fonctionnalités Disponibles

En tant qu'Admin (admin / admin123)

  • ✅ 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

En tant que Manager (manager_it / manager123)

  • ✅ Voir son équipe
  • ✅ Valider les demandes de son équipe
  • ✅ Voir les absences de son équipe
  • ✅ Générer des rapports

En tant qu'Employé (employee1 / employee123)

  • ✅ Créer des demandes d'absence
  • ✅ Voir ses propres absences
  • ✅ Consulter l'historique de ses demandes

🆘 Aide Rapide

Commandes essentielles :

# 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

📞 Besoin d'Aide ?

  1. Consultez les logs : docker-compose logs -f
  2. Vérifiez que Docker fonctionne : docker ps
  3. Vérifiez les ports : sudo lsof -i :80 -i :5000 -i :3306
  4. Lisez la documentation : README.md, ARCHITECTURE.md, API_EXAMPLES.md

✅ Checklist de Premier Lancement

  • 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.docker présent
  • Lancer ./start.sh
  • Attendre 30 secondes
  • Ouvrir http://localhost
  • Se connecter avec admin / admin123
  • ✨ Profiter !

🎉 C'est Tout !

Votre application de gestion des absences est maintenant opérationnelle !

URLs importantes :

Bon courage ! 🚀