Environnement de développement Docker pour le projet GestSIS - Architecture microservices avec Laravel, Vue.js, Django et MySQL.
- Docker et Docker Compose
- Git avec support SSH
- Make (optionnel mais recommandé)
- Cloner le projet
git clone git@github.com:GestSIS/GestSIS_dev_docker.git
cd GestSIS_dev_docker- Initialiser l'environnement
make init
# ou directement: ./init.sh- Lancer les services
make up
# ou: docker compose upLe script d'initialisation va:
- 📦 Cloner tous les sous-modules (Auth, API, APP, Alarm, Doc)
- 🔑 Générer les clés RSA pour l'authentification
- ⚙️ Configurer automatiquement tous les services
| Service | URL | Description |
|---|---|---|
| APP | http://localhost:8080 | Interface Vue.js 3 |
| API | http://localhost:8000 | API principale Laravel |
| Auth | http://localhost:8001 | Service d'authentification Laravel |
| Alarm | http://localhost:8002 | Service d'alarmes Django |
| Doc | http://localhost:8081 | Documentation Retype |
- Email: test@gmail.com
- Mot de passe: apptest
make help # Afficher toutes les commandes
make up # Démarrer tous les services
make down # Arrêter tous les services
make restart # Redémarrer les services
make logs # Afficher tous les logs
make logs-api # Logs d'un service spécifique
make pull # Mettre à jour les sous-modules
make clean # Nettoyer (volumes + node_modules/vendor)
make rebuild # Rebuild les containersGestSIS_dev_docker/
├── GestSIS_Auth/ # Service d'authentification (Laravel)
├── GestSIS_API/ # API principale (Laravel)
├── GestSIS_APP/ # Interface utilisateur (Vue.js)
├── GestSIS_Alarm/ # Service d'alarmes (Django)
├── GestSIS_Doc/ # Documentation (Retype)
├── docker-compose.yml # Orchestration Docker
├── Makefile # Commandes simplifiées
└── init.sh # Script d'initialisation
Tous les services supportent le hot reload. Modifiez le code et les changements seront automatiquement pris en compte.
# Tous les services
docker compose logs -f
# Un service spécifique
docker compose logs -f api
make logs-apidocker compose exec api bash
docker compose exec alarm sh# Tous les containers
make rebuild
# Un service spécifique
docker compose up --build apiImportant: Sur Windows avec WSL2, assurez-vous que le projet est dans le système de fichiers Linux (\\wsl$\DISTRO_NAME) et non sur une partition Windows montée. Cela évite des problèmes de performance significatifs.
git submodule update --init --recursiverm -rf rsa_keys/
./init.shVérifiez qu'aucun service ne tourne sur les ports 8000-8002, 8080-8081.
docker compose down -v
docker compose upLa documentation complète est disponible sur http://localhost:8081 après avoir lancé les services.
- Frontend: Vue.js 3.5, Vite, Pinia, Bootstrap 5
- Backend API: Laravel 12, PHP 8.4
- Auth: Laravel 12, JWT avec RSA 4096
- Alarm: Django 5.2, Python 3.11+, DRF
- Database: MySQL 8.1 partagée
- Orchestration: Docker Compose
- Génération des fichiers .env de config des projets Laravel à la volée.
- La config actuelle nécessite plusieurs databases et le fichier de config
docker-compose\mysql\gestsis.sqlest hardcodé.