Aller au contenu

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

# À la racine du projet (dossier drwh_front)
npm install

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 dossier node_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 :

APP_NAME=DrwhGroup
APP_ENV=local
APP_DEBUG=true
APP_URL=http://localhost:8002
APP_PORT=8002

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

npx nx reset

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 :

npm run dev

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


Étape suivante