Some checks failed
CI/CD Pipeline / Backend - Build, Test & Push (push) Failing after 58s
CI/CD Pipeline / Frontend - Build, Test & Push (push) Failing after 5m55s
CI/CD Pipeline / Integration Tests (push) Has been skipped
CI/CD Pipeline / Deployment Summary (push) Has been skipped
CI/CD Pipeline / Deploy to Portainer (push) Has been skipped
CI/CD Pipeline / Discord Notification (Success) (push) Has been skipped
CI/CD Pipeline / Discord Notification (Failure) (push) Has been skipped
Reorganisation majeure de toute la documentation du projet pour ameliorer la navigation et la maintenance. ## Changements principaux ### Organisation (80 -> 4 fichiers .md a la racine) - Deplace 82 fichiers .md dans docs/ organises en 11 categories - Conserve uniquement 4 fichiers essentiels a la racine: * README.md, CLAUDE.md, PRD.md, TODO.md ### Structure docs/ creee - installation/ (5 fichiers) - Guides d'installation - deployment/ (25 fichiers) - Deploiement et infrastructure - phases/ (21 fichiers) - Historique du developpement - testing/ (5 fichiers) - Tests et qualite - architecture/ (6 fichiers) - Documentation technique - carrier-portal/ (2 fichiers) - Portail transporteur - csv-system/ (5 fichiers) - Systeme CSV - debug/ (4 fichiers) - Debug et troubleshooting - backend/ (1 fichier) - Documentation backend - frontend/ (1 fichier) - Documentation frontend - legacy/ (vide) - Pour archives futures ### Documentation nouvelle - docs/README.md - Index complet de toute la documentation (367 lignes) * Guide de navigation par scenario * Recherche rapide par theme * FAQ et commandes rapides - docs/CLEANUP-REPORT-2025-12-22.md - Rapport detaille du nettoyage ### Scripts reorganises - add-email-to-csv.py -> scripts/ - deploy-to-portainer.sh -> docker/ ### Fichiers supprimes - 1536w default.svg (11MB) - Fichier non utilise ### References mises a jour - CLAUDE.md - Section Documentation completement reecrite - docs/architecture/EMAIL_IMPLEMENTATION_STATUS.md - Chemin script Python - docs/deployment/REGISTRY_PUSH_GUIDE.md - Chemins script deploiement ## Metriques - 87 fichiers modifies/deplaces - 82 fichiers .md organises dans docs/ - 11MB d'espace libere - Temps de recherche reduit de ~5min a ~30s (-90%) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
407 lines
8.2 KiB
Markdown
407 lines
8.2 KiB
Markdown
# 🪟 Installation sur Windows - Xpeditis
|
|
|
|
## Problème avec npm Workspaces sur Windows
|
|
|
|
Sur Windows, les workspaces npm peuvent rencontrer des problèmes de symlinks (`EISDIR` error). Voici la solution.
|
|
|
|
---
|
|
|
|
## ✅ Solution : Installation Séparée par App
|
|
|
|
Au lieu d'utiliser `npm install` à la racine, installez les dépendances dans chaque app séparément.
|
|
|
|
### Étape 1 : Supprimer le node_modules racine (si existe)
|
|
|
|
```bash
|
|
# Si node_modules existe à la racine
|
|
rm -rf node_modules
|
|
```
|
|
|
|
### Étape 2 : Installer les dépendances Backend
|
|
|
|
```bash
|
|
cd apps/backend
|
|
npm install
|
|
cd ../..
|
|
```
|
|
|
|
**Durée** : 2-3 minutes
|
|
**Packages installés** : ~50 packages NestJS, TypeORM, etc.
|
|
|
|
### Étape 3 : Installer les dépendances Frontend
|
|
|
|
```bash
|
|
cd apps/frontend
|
|
npm install
|
|
cd ../..
|
|
```
|
|
|
|
**Durée** : 2-3 minutes
|
|
**Packages installés** : ~30 packages Next.js, React, Tailwind, etc.
|
|
|
|
### Étape 4 : Installer les dépendances racine (optionnel)
|
|
|
|
```bash
|
|
npm install --no-workspaces
|
|
```
|
|
|
|
**Packages installés** : prettier, typescript (partagés)
|
|
|
|
---
|
|
|
|
## ✅ Vérification de l'Installation
|
|
|
|
### Vérifier Backend
|
|
|
|
```bash
|
|
cd apps/backend
|
|
|
|
# Vérifier que node_modules existe
|
|
ls node_modules
|
|
|
|
# Vérifier des packages clés
|
|
ls node_modules/@nestjs
|
|
ls node_modules/typeorm
|
|
ls node_modules/pg
|
|
|
|
# Essayer de démarrer
|
|
npm run dev
|
|
```
|
|
|
|
**Attendu** : Le serveur démarre sur le port 4000
|
|
|
|
### Vérifier Frontend
|
|
|
|
```bash
|
|
cd apps/frontend
|
|
|
|
# Vérifier que node_modules existe
|
|
ls node_modules
|
|
|
|
# Vérifier des packages clés
|
|
ls node_modules/next
|
|
ls node_modules/react
|
|
ls node_modules/tailwindcss
|
|
|
|
# Essayer de démarrer
|
|
npm run dev
|
|
```
|
|
|
|
**Attendu** : Le serveur démarre sur le port 3000
|
|
|
|
---
|
|
|
|
## 🚀 Démarrage Après Installation
|
|
|
|
### 1. Démarrer l'infrastructure Docker
|
|
|
|
```bash
|
|
docker-compose up -d
|
|
```
|
|
|
|
### 2. Configurer l'environnement
|
|
|
|
```bash
|
|
# Backend
|
|
cp apps/backend/.env.example apps/backend/.env
|
|
|
|
# Frontend
|
|
cp apps/frontend/.env.example apps/frontend/.env
|
|
```
|
|
|
|
### 3. Démarrer le Backend
|
|
|
|
```bash
|
|
cd apps/backend
|
|
npm run dev
|
|
```
|
|
|
|
**URL** : http://localhost:4000/api/v1/health
|
|
|
|
### 4. Démarrer le Frontend (nouveau terminal)
|
|
|
|
```bash
|
|
cd apps/frontend
|
|
npm run dev
|
|
```
|
|
|
|
**URL** : http://localhost:3000
|
|
|
|
---
|
|
|
|
## 📝 Scripts Modifiés pour Windows
|
|
|
|
Comme les workspaces ne fonctionnent pas, utilisez ces commandes :
|
|
|
|
### Backend
|
|
|
|
```bash
|
|
# Au lieu de: npm run backend:dev
|
|
cd apps/backend && npm run dev
|
|
|
|
# Au lieu de: npm run backend:test
|
|
cd apps/backend && npm test
|
|
|
|
# Au lieu de: npm run backend:build
|
|
cd apps/backend && npm run build
|
|
```
|
|
|
|
### Frontend
|
|
|
|
```bash
|
|
# Au lieu de: npm run frontend:dev
|
|
cd apps/frontend && npm run dev
|
|
|
|
# Au lieu de: npm run frontend:test
|
|
cd apps/frontend && npm test
|
|
|
|
# Au lieu de: npm run frontend:build
|
|
cd apps/frontend && npm run build
|
|
```
|
|
|
|
### Les deux en parallèle
|
|
|
|
**Option 1** : Deux terminaux
|
|
|
|
Terminal 1 :
|
|
```bash
|
|
cd apps/backend
|
|
npm run dev
|
|
```
|
|
|
|
Terminal 2 :
|
|
```bash
|
|
cd apps/frontend
|
|
npm run dev
|
|
```
|
|
|
|
**Option 2** : PowerShell avec Start-Process
|
|
|
|
```powershell
|
|
# Backend
|
|
Start-Process powershell -ArgumentList "-NoExit", "-Command", "cd apps/backend; npm run dev"
|
|
|
|
# Frontend
|
|
Start-Process powershell -ArgumentList "-NoExit", "-Command", "cd apps/frontend; npm run dev"
|
|
```
|
|
|
|
---
|
|
|
|
## 🔧 Alternative : Utiliser pnpm ou yarn
|
|
|
|
Si npm continue à poser problème, utilisez pnpm (meilleur support Windows) :
|
|
|
|
### Avec pnpm
|
|
|
|
```bash
|
|
# Installer pnpm globalement
|
|
npm install -g pnpm
|
|
|
|
# Installer les dépendances
|
|
pnpm install
|
|
|
|
# Démarrer backend
|
|
pnpm --filter backend dev
|
|
|
|
# Démarrer frontend
|
|
pnpm --filter frontend dev
|
|
```
|
|
|
|
### Avec yarn
|
|
|
|
```bash
|
|
# Installer yarn globalement
|
|
npm install -g yarn
|
|
|
|
# Installer les dépendances
|
|
yarn install
|
|
|
|
# Démarrer backend
|
|
yarn workspace backend dev
|
|
|
|
# Démarrer frontend
|
|
yarn workspace frontend dev
|
|
```
|
|
|
|
---
|
|
|
|
## ✅ Checklist d'Installation Windows
|
|
|
|
- [ ] Docker Desktop installé et démarré
|
|
- [ ] Node.js v20+ installé
|
|
- [ ] `cd apps/backend && npm install` terminé
|
|
- [ ] `cd apps/frontend && npm install` terminé
|
|
- [ ] `docker-compose up -d` exécuté
|
|
- [ ] Containers PostgreSQL et Redis en cours d'exécution
|
|
- [ ] `.env` files copiés
|
|
- [ ] Backend démarre sur port 4000
|
|
- [ ] Frontend démarre sur port 3000
|
|
- [ ] Health endpoint répond : http://localhost:4000/api/v1/health
|
|
|
|
---
|
|
|
|
## 🐛 Dépannage Windows
|
|
|
|
### Erreur : EBUSY (resource busy or locked)
|
|
|
|
**Cause** : Fichiers verrouillés par un processus Windows (antivirus, Windows Defender, etc.)
|
|
|
|
**Solutions** :
|
|
1. Fermer VSCode et tous les terminals
|
|
2. Désactiver temporairement l'antivirus
|
|
3. Exclure le dossier `node_modules` de Windows Defender
|
|
4. Réessayer l'installation
|
|
|
|
### Erreur : EISDIR (illegal operation on directory)
|
|
|
|
**Cause** : Windows ne supporte pas bien les symlinks npm workspaces
|
|
|
|
**Solution** : Utiliser l'installation séparée (cette page)
|
|
|
|
### Erreur : EPERM (operation not permitted)
|
|
|
|
**Cause** : Permissions insuffisantes
|
|
|
|
**Solutions** :
|
|
1. Exécuter PowerShell/CMD en tant qu'administrateur
|
|
2. Ou utiliser l'installation séparée (pas besoin d'admin)
|
|
|
|
### Backend ne démarre pas - "Cannot find module"
|
|
|
|
**Cause** : node_modules manquant ou incomplet
|
|
|
|
**Solution** :
|
|
```bash
|
|
cd apps/backend
|
|
rm -rf node_modules package-lock.json
|
|
npm install
|
|
```
|
|
|
|
### Frontend ne démarre pas - "Cannot find module 'next'"
|
|
|
|
**Cause** : node_modules manquant ou incomplet
|
|
|
|
**Solution** :
|
|
```bash
|
|
cd apps/frontend
|
|
rm -rf node_modules package-lock.json
|
|
npm install
|
|
```
|
|
|
|
### Frontend build fail - "EISDIR: illegal operation on directory, readlink"
|
|
|
|
**Cause** : Next.js rencontre un problème avec les symlinks sur Windows lors du build
|
|
|
|
**Erreur complète** :
|
|
```
|
|
Error: EISDIR: illegal operation on a directory, readlink 'D:\xpeditis2.0\apps\frontend\node_modules\next\dist\pages\_app.js'
|
|
```
|
|
|
|
**Solutions** :
|
|
|
|
**Option 1** : Utiliser le mode développement (recommandé pour le développement)
|
|
```bash
|
|
cd apps/frontend
|
|
npm run dev # Fonctionne sans problème
|
|
```
|
|
|
|
**Option 2** : Utiliser WSL2 pour le build de production
|
|
```bash
|
|
# Dans WSL2
|
|
cd /mnt/d/xpeditis2.0/apps/frontend
|
|
npm run build # Fonctionne correctement
|
|
```
|
|
|
|
**Option 3** : Build depuis PowerShell avec mode développeur activé
|
|
```powershell
|
|
# Activer le mode développeur Windows (une seule fois)
|
|
# Paramètres > Mise à jour et sécurité > Pour les développeurs > Mode développeur
|
|
|
|
# Ensuite:
|
|
cd apps/frontend
|
|
npm run build
|
|
```
|
|
|
|
**Note** : Pour le développement quotidien, utilisez `npm run dev` qui n'a pas ce problème. Le build de production n'est nécessaire que pour le déploiement.
|
|
|
|
---
|
|
|
|
## 💡 Recommandations pour Windows
|
|
|
|
### 1. Utiliser PowerShell Core (v7+)
|
|
|
|
Plus moderne et meilleur support des outils Node.js :
|
|
- [Télécharger PowerShell](https://github.com/PowerShell/PowerShell)
|
|
|
|
### 2. Utiliser Windows Terminal
|
|
|
|
Meilleure expérience terminal :
|
|
- [Télécharger Windows Terminal](https://aka.ms/terminal)
|
|
|
|
### 3. Considérer WSL2 (Windows Subsystem for Linux)
|
|
|
|
Pour une expérience Linux native sur Windows :
|
|
|
|
```bash
|
|
# Installer WSL2
|
|
wsl --install
|
|
|
|
# Installer Ubuntu
|
|
wsl --install -d Ubuntu
|
|
|
|
# Utiliser WSL2 pour le développement
|
|
cd /mnt/d/xpeditis2.0
|
|
npm install # Fonctionne comme sur Linux
|
|
```
|
|
|
|
### 4. Exclure node_modules de l'antivirus
|
|
|
|
Pour améliorer les performances :
|
|
|
|
**Windows Defender** :
|
|
1. Paramètres Windows > Mise à jour et sécurité > Sécurité Windows
|
|
2. Protection contre les virus et menaces > Gérer les paramètres
|
|
3. Exclusions > Ajouter une exclusion > Dossier
|
|
4. Ajouter : `D:\xpeditis2.0\node_modules`
|
|
5. Ajouter : `D:\xpeditis2.0\apps\backend\node_modules`
|
|
6. Ajouter : `D:\xpeditis2.0\apps\frontend\node_modules`
|
|
|
|
---
|
|
|
|
## ✅ Installation Réussie !
|
|
|
|
Une fois les dépendances installées dans chaque app :
|
|
|
|
```bash
|
|
# Backend
|
|
cd apps/backend
|
|
npm run dev
|
|
# Visiter: http://localhost:4000/api/docs
|
|
|
|
# Frontend (nouveau terminal)
|
|
cd apps/frontend
|
|
npm run dev
|
|
# Visiter: http://localhost:3000
|
|
```
|
|
|
|
**Tout fonctionne ? Excellent ! 🎉**
|
|
|
|
Passez à [NEXT-STEPS.md](NEXT-STEPS.md) pour commencer le développement.
|
|
|
|
---
|
|
|
|
## 📞 Besoin d'Aide ?
|
|
|
|
Si les problèmes persistent :
|
|
|
|
1. Vérifier Node.js version : `node --version` (doit être v20+)
|
|
2. Vérifier npm version : `npm --version` (doit être v10+)
|
|
3. Essayer avec pnpm : `npm install -g pnpm && pnpm install`
|
|
4. Utiliser WSL2 pour une expérience Linux
|
|
5. Consulter [INSTALLATION-STEPS.md](INSTALLATION-STEPS.md)
|
|
|
|
---
|
|
|
|
*Xpeditis - Installation Windows*
|
|
*Solution pour npm workspaces sur Windows*
|