Installation pas à pas¶
Prérequis
Avant de commencer, assurez-vous d'avoir installé tous les outils requis.
→ Voir la page Prérequis
Vue d'ensemble des étapes¶
flowchart LR
E1[1. Cloner\nle projet] --> E2[2. Installer les\ndépendances JS]
E2 --> E3[3. Installer\nComposer]
E3 --> E4[4. Configurer\n.env]
E4 --> E5[5. project.json\ndrwh_group]
E5 --> E6[6. Reset cache\nNX]
E6 --> OK[✅ Lancer\nnpm run dev]
style E1 fill:#0066FF,color:#fff
style E2 fill:#0066FF,color:#fff
style E3 fill:#0066FF,color:#fff
style E4 fill:#0066FF,color:#fff
style E5 fill:#0066FF,color:#fff
style E6 fill:#0066FF,color:#fff
style OK fill:#27ae60,color:#fff
Étape 1 — Cloner le projet¶
# Télécharger le code depuis le dépôt Git
git clone <URL_DU_DEPOT>
# Entrer dans le dossier racine du monorepo
cd drwh_front
URL du dépôt
L'URL du dépôt GitHub vous est communiquée par le responsable technique de l'équipe.
Étape 2 — Installer les dépendances JavaScript¶
Que fait cette commande ?
Elle télécharge toutes les bibliothèques JavaScript nécessaires pour que drwh_tech et drwh_immo fonctionnent. Les fichiers sont stockés dans le dossiernode_modules/.
Durée
La première installation peut prendre 2 à 5 minutes selon votre connexion internet.
Étape 3 — Installer les dépendances PHP (pour drwh_group)¶
# Entrer dans le dossier du service drwh_group
cd apps/drwh_group
# Installer les bibliothèques PHP
composer install
# Revenir à la racine du monorepo
cd ../..
Étape 4 — Configurer les variables d'environnement¶
→ Guide détaillé des variables d'environnement
Pour drwh_group (Laravel)¶
# Dans le dossier apps/drwh_group
cp apps/drwh_group/.env.example apps/drwh_group/.env
# Générer la clé de l'application Laravel
cd apps/drwh_group
php artisan key:generate
cd ../..
Ouvrez apps/drwh_group/.env et vérifiez ces valeurs :
Pour drwh_tech et drwh_immo (Next.js)¶
Créez un fichier .env.development à la racine du projet :
# À la racine du monorepo drwh_front
cp .env.example .env.development # ou créez le fichier manuellement
Contenu minimal du .env.development :
NEXT_PUBLIC_API_URL=http://localhost:3000/api
NEXT_PUBLIC_ENABLE_MOCKING=false
NEXT_PUBLIC_ENVIRONMENT=development
NEXT_PUBLIC_APP_VERSION=1.0.0
Étape 5 — Créer le project.json pour drwh_group¶
Pourquoi cette étape ?
NX a besoin d'un fichier project.json dans chaque service pour savoir comment le gérer.
Ce fichier n'est pas créé automatiquement pour les projets Laravel.
Créez le fichier apps/drwh_group/project.json avec ce contenu :
{
"name": "drwh_group",
"$schema": "../../node_modules/nx/schemas/project-schema.json",
"sourceRoot": "apps/drwh_group",
"projectType": "application",
"targets": {
"serve": {
"executor": "nx:run-commands",
"options": {
"command": "php artisan serve --port=8002",
"cwd": "apps/drwh_group"
}
}
}
}
Étape 6 — Réinitialiser le cache NX¶
Pourquoi ?
NX garde en mémoire des informations sur les projets. Après avoir ajouté un nouveau service ou modifié project.json, il faut vider ce cache pour qu'il prenne en compte les nouvelles configurations.
Lancer les services en développement¶
Une fois l'installation complète, lancez tout le projet :
Ou lancer service par service¶
# Seulement le site Tech
npm run dev:tech
# Seulement le site Immo
npm run dev:immo
# Seulement le site Group (Laravel)
npm run dev:group
# ou directement
cd apps/drwh_group && php artisan serve
Accéder aux sites en local¶
| Service | URL | Port |
|---|---|---|
| drwh_group | http://localhost:8002 | 8002 |
| drwh_tech | http://localhost:4201 | 4201 |
| drwh_immo | http://localhost:4200 | 4200 |
Résolution de problèmes courants¶
??? question "npm run dev ne fonctionne pas" 1. Vérifiez que Node.js est bien installé : node --version 2. Assurez-vous d'avoir lancé npm install depuis la racine 3. Essayez npx nx reset puis relancez
??? question "composer install échoue" 1. Vérifiez que PHP 8.2+ est installé : php --version 2. Vérifiez que Composer est installé : composer --version 3. Si erreur d'extensions PHP manquantes, activez-les dans php.ini
La page s'affiche mais les données ne chargent pas
Vérifiez que NEXT_PUBLIC_API_URL est correctement configuré dans .env.development.
L'API backend doit être en cours d'exécution à l'URL configurée.
Erreur de permission sur Linux/macOS
bash
chmod -R 755 apps/drwh_group/storage
chmod -R 755 apps/drwh_group/bootstrap/cache