Ceci est une ancienne révision du document !
Pour continuer le développement sur un poste windows, installez Docker Desktop pour Windows avec WSL 2 comme backend.
====== ====== Étapes concrètes ====== ======
1. Prérequis Windows Windows 10 (21H2+) ou Windows 11 Activer WSL 2 : ouvrez PowerShell en admin et exécutez wsl –install Redémarrez, puis vérifiez avec wsl –list –verbose 2. Docker Desktop Téléchargez sur docker.com/products/docker-desktop À l'installation, cochez “Use WSL 2 instead of Hyper-V” Une fois démarré, vos docker run et docker compose up fonctionnent depuis PowerShell, CMD ou le terminal WSL 3. Votre stack (PostgreSQL + tout le reste) Vos docker-compose.yml existants fonctionnent sans modification. Depuis la racine du repo :
docker compose up -d 4. Développement Node/pnpm Deux options :
Option A (recommandée) — tout dans WSL 2 : installez Node/pnpm dans Ubuntu WSL, clonez le repo dans /home/user/, ouvrez VS Code avec l'extension Remote - WSL. Performances I/O maximales.
Option B — tout dans Windows natif : installez Node/pnpm pour Windows, Docker Desktop suffit pour Postgres. Légèrement plus lent sur les opérations fichier. 5. Variables d'environnement Vérifiez que vos .env pointent vers localhost (pas 127.0.0.1 en IPv6) pour Postgres :
DATABASE_URL=postgresql:user:pass@localhost:5432/rental Recommandation pour votre monorepo pnpm : optez pour l'Option A (WSL 2 + VS Code Remote). Vous aurez exactement le même environnement Linux que la prod, et les performances pnpm sont bien meilleures que sur le filesystem Windows natif. ====== Détaille de l'option A ====== Option A — WSL 2 + VS Code Remote (guide complet) 1. Activer WSL 2 et installer Ubuntu Dans PowerShell en administrateur : wsl –install # Installe WSL 2 + Ubuntu par défaut # Redémarrez Windows après Au redémarrage, Ubuntu s'ouvre et vous demande un nom d'utilisateur/mot de passe Unix. Choisissez ce que vous voulez. Vérifiez que c'est bien WSL 2 : wsl –list –verbose # NAME STATE VERSION # Ubuntu Running 2 ← doit être 2 2. Installer Docker Desktop Téléchargez Docker Desktop sur docker.com À l'installation : cochez “Use WSL 2 based engine” Une fois installé, allez dans Settings → Resources → WSL Integration et activez votre distro Ubuntu Vérifiez depuis Ubuntu : docker –version docker compose version 3. Installer les outils de dev dans Ubuntu Ouvrez le terminal Ubuntu et installez la chaîne complète : # Mise à jour système sudo apt update && sudo apt upgrade -y # Node.js via nvm (recommandé sur pnpm) curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash source ~/.bashrc nvm install 20 nvm use 20 # pnpm npm install -g pnpm # Git sudo apt install -y git # Outils courants sudo apt install -y curl wget unzip build-essential 4. Cloner le repo dans WSL (important !) Clonez dans le filesystem Linux, pas dans /mnt/c/ : # ✅ Bon — filesystem Linux, performances maximales cd ~ git clone git@github.com:hseb72/rental-platform.git cd rental-platform # ❌ Mauvais — filesystem Windows monté, 10x plus lent # /mnt/c/Users/vous/rental-platform 5. Installer VS Code + extension Remote WSL Installez VS Code sur Windows normalement Installez l'extension “WSL” (identifiant : ms-vscode-remote.remote-wsl) Depuis le terminal Ubuntu, ouvrez le projet : cd ~/rental-platform code . # VS Code s'ouvre sur Windows mais exécute tout dans WSL Le bandeau en bas à gauche de VS Code affiche “WSL: Ubuntu” — vous êtes connecté. 6. Configurer Git SSH dans WSL # Générer une clé SSH (si pas déjà fait) ssh-keygen -t ed25519 -C “sebastien.raimondi@gmail.com” # Afficher la clé publique à ajouter sur GitHub cat ~/.ssh/id_ed25519.pub Ajoutez cette clé dans GitHub → Settings → SSH keys. 7. Démarrer le projet cd ~/rental-platform # Variables d'environnement cp apps/api/.env.example apps/api/.env # Éditez avec vos valeurs (DATABASE_URL, JWT_SECRET, etc.) # Démarrer Postgres et autres services docker compose up -d # Installer les dépendances pnpm install # Migrations cd apps/api && npx prisma migrate deploy && cd ../.. # Lancer tous les services en dev pnpm dev 8. Accéder depuis le navigateur Windows Tout fonctionne normalement depuis Edge/Chrome sur Windows : http://localhost:3001 → admin-portal http://localhost:3002 → platform-console http://localhost:3005 → tenant-website http://localhost:3000 → API NestJS WSL 2 expose automatiquement les ports vers Windows. Récapitulatif visuel Windows ├── Docker Desktop (moteur de conteneurs) ├── VS Code (éditeur, interface graphique) └── Navigateur (chrome/edge) WSL 2 / Ubuntu ├── Node 20 + pnpm ├── Git + SSH ├── Code source ~/rental-platform/ └── docker CLI (parle à Docker Desktop) Docker Desktop ├── postgres:16 ├── redis (si utilisé) └── autres services docker-compose Astuce finale — terminal intégré Dans VS Code connecté en WSL, le terminal intégré (`Ctrl+``) ouvre directement un bash Ubuntu. Vous n'avez plus besoin d'une fenêtre séparée. Tout — git, pnpm, prisma, docker — s'exécute là, dans Linux.