6.6 KiB
Guide d'Installation — ERP Rayhan sur Windows
PFE Ali Guennari — SUARL Rayhan
Prérequis
Avant de commencer, assure-toi d'avoir :
- Windows 10 version 1903+ ou Windows 11
- Un compte administrateur sur le PC
- Une connexion Internet
Étape 1 — Installer Docker Desktop
1.1 Télécharger Docker Desktop
Rends-toi sur le site officiel de Docker et télécharge Docker Desktop for Windows :
https://www.docker.com/products/docker-desktop/
Clique sur "Download for Windows".
1.2 Activer la virtualisation dans le BIOS
Docker nécessite la virtualisation matérielle. Pour vérifier qu'elle est activée :
- Ouvre le Gestionnaire des tâches (Ctrl + Shift + Échap)
- Onglet Performance → CPU
- Vérifie que Virtualisation : Activée apparaît en bas
Si elle est désactivée, il faut l'activer dans le BIOS (redémarrer → appuyer sur F2/F12/Suppr selon le PC).
1.3 Activer WSL 2 (Windows Subsystem for Linux)
Ouvre PowerShell en tant qu'administrateur et exécute :
wsl --install
Redémarre le PC si demandé.
1.4 Installer Docker Desktop
- Lance le fichier
Docker Desktop Installer.exetéléchargé - Laisse les options par défaut (WSL 2 coché)
- Clique OK puis Close and restart
- Après redémarrage, Docker Desktop se lance automatiquement
- Accepte les conditions d'utilisation si demandé
Vérification : Ouvre un terminal (PowerShell ou CMD) et tape :
docker --version
docker compose version
Tu dois voir quelque chose comme : Docker version 26.x.x
Étape 2 — Récupérer le Projet
Option A — Télécharger depuis Gitea (recommandé)
Ouvre PowerShell et exécute :
# Créer un dossier de travail
mkdir C:\rayhan-erp
cd C:\rayhan-erp
# Télécharger l'archive du projet
Invoke-WebRequest -Uri "https://gitea.bolbol.tn/bolbol/rayhan-erp/archive/main.zip" -OutFile "rayhan-erp.zip"
# Extraire l'archive
Expand-Archive -Path "rayhan-erp.zip" -DestinationPath "."
# Se placer dans le dossier
cd rayhan-erp
Option B — Cloner avec Git (si Git est installé)
git clone https://gitea.bolbol.tn/bolbol/rayhan-erp.git
cd rayhan-erp
Git pour Windows : https://git-scm.com/download/win
Étape 3 — Lancer l'Application
3.1 Démarrer Docker Desktop
Vérifie que Docker Desktop est lancé (icône de baleine dans la barre des tâches en bas à droite).
3.2 Lancer les conteneurs
Dans PowerShell, depuis le dossier rayhan-erp :
docker compose up -d --build
La première fois, cette commande prend 5 à 10 minutes car elle :
- Télécharge l'image MySQL 8
- Télécharge l'image Maven + Java 17
- Compile le projet Spring Boot
- Crée les conteneurs
3.3 Vérifier que les conteneurs tournent
docker ps
Tu dois voir deux conteneurs en état Up :
CONTAINER ID IMAGE STATUS
xxxxx rayhan-erp-backend Up X seconds
xxxxx mysql:8.0 Up X seconds (healthy)
Étape 4 — Tester l'API
4.1 Vérifier que l'API répond
Ouvre un navigateur et va sur :
http://localhost:8090/api/auth/signin
Tu verras une erreur 401 (normal, une connexion est requise).
4.2 Se connecter (obtenir un token JWT)
Ouvre PowerShell et exécute :
$body = '{"username":"admin","password":"Rayhan2024!"}'
Invoke-RestMethod -Uri "http://localhost:8090/api/auth/signin" -Method POST -Body $body -ContentType "application/json"
Réponse attendue :
{
"token": "eyJhbGciOiJIUzUxMiJ9...",
"type": "Bearer",
"username": "admin",
"roles": ["ROLE_PDG"]
}
4.3 Tester avec Postman (recommandé)
Télécharge Postman : https://www.postman.com/downloads/
Configure l'environnement :
baseUrl=http://localhost:8090- Consulte le fichier
Livrables/docs/Guide-Tests-Postman.mdpour tous les scénarios de test
Étape 5 — Accès à la Base de Données (optionnel)
Pour accéder directement à MySQL depuis le PC Windows, utilise MySQL Workbench ou DBeaver :
Host : localhost
Port : 3307
Database : rayhan_erp_db
Username : root
Password : rayhan_erp_2024
MySQL Workbench : https://dev.mysql.com/downloads/workbench/
Note : Sur le serveur de production (192.168.100.33), le port MySQL n'est pas exposé à l'extérieur par mesure de sécurité.
Commandes Docker Utiles
# Démarrer les conteneurs (sans rebuild)
docker compose up -d
# Arrêter les conteneurs
docker compose down
# Rebuild après modification du code
docker compose up -d --build
# Voir les logs de l'API en temps réel
docker logs rayhan-backend -f
# Voir les logs MySQL
docker logs rayhan-mysql -f
# Redémarrer uniquement le backend
docker restart rayhan-backend
# Accéder au shell MySQL
docker exec -it rayhan-mysql mysql -u root -prayhan_erp_2024 rayhan_erp_db
Résolution des Problèmes Fréquents
Problème : "Port already in use" (port 8090 occupé)
Un autre programme utilise le port 8090. Solutions :
# Trouver ce qui utilise le port
netstat -ano | findstr :8090
# Modifier le port dans docker-compose.yml
# Changer "8090:8080" par "8091:8080" par exemple
Problème : Docker ne démarre pas (WSL 2 non activé)
# En PowerShell administrateur
wsl --install
wsl --set-default-version 2
Puis redémarre et relance Docker Desktop.
Problème : "Cannot connect to the Docker daemon"
Docker Desktop n'est pas lancé. Cherche "Docker Desktop" dans le menu Démarrer et lance-le. Attends que l'icône de baleine apparaisse dans la barre des tâches.
Problème : Build échoue (erreur Maven)
# Nettoyer le cache Docker et reconstruire
docker compose down
docker system prune -f
docker compose up -d --build
Architecture du Déploiement
PC Windows
│
├── Docker Desktop (moteur de conteneurs)
│ ├── rayhan-mysql (conteneur MySQL 8)
│ │ └── Base de données : rayhan_erp_db
│ │ Port interne : 3306 → Port Windows : 3307
│ │
│ └── rayhan-backend (conteneur Spring Boot)
│ └── API REST Java
│ Port interne : 8080 → Port Windows : 8090
│
└── Application Flutter (client)
└── Se connecte à http://localhost:8090
Informations de Connexion par Défaut
| Paramètre | Valeur |
|---|---|
| URL API | http://localhost:8090 |
| Utilisateur admin | admin |
| Mot de passe admin | Rayhan2024! |
| Rôle | ROLE_PDG (accès complet) |
| DB Host | localhost:3307 |
| DB Name | rayhan_erp_db |
| DB Password | rayhan_erp_2024 |