Installation

Ce guide vous accompagne dans l'installation complète et la mise en route du projet Djust Front Partners Starter, une application e-commerce B2B basée sur Nuxt 3.

Prérequis Système

1. Version Node.js

# Version requise (voir .nvmrc)
Node.js v20.18.1 ou supérieur

Vérification :

node --version
# Doit afficher : v20.18.1 ou plus récent

2. Gestionnaire de Paquets

Le projet utilise Yarn v4.9.1 (recommandé) :

# Vérification Yarn
yarn --version
# Doit afficher : 4.9.1

# Si Yarn n'est pas installé
npm install -g yarn

Gestionnaires supportés :

  • Yarn 4.9.1 (recommandé)
  • npm (compatible)
  • pnpm (compatible)
  • bun (compatible)

3. Git

# Vérification Git
git --version
# Exemple : git version 2.39.0

4. Éditeur de Code (Recommandé)

Visual Studio Code avec extensions :

  • Vue Language Features (Volar)
  • TypeScript Vue Plugin (Volar)
  • Tailwind CSS IntelliSense
  • ESLint
  • Prettier

Installation Pas à Pas

Étape 1 : Clonage du Projet

# Cloner le repository
git clone https://your-repo-url.git djust-front-partners-starter

# Naviguer dans le projet
cd djust-front-partners-starter

# Vérifier la branche
git branch
# Devrait afficher : * preprod ou main

Étape 2 : Configuration Node.js (avec NVM)

# Installer la bonne version Node.js (optionnel avec NVM)
nvm install
nvm use

# Vérification
node --version
# Doit afficher : v20.18.1

Étape 3 : Installation des Dépendances

Option A : Yarn (Recommandé)

# Activer Corepack pour Yarn
corepack enable

# Installer les dépendances
yarn install

# Vérification de l'installation
yarn --version
# Doit afficher : 4.9.1

Option B : Autres Gestionnaires

# npm
npm install

# pnpm
pnpm install

# bun
bun install

Étape 4 : Configuration Environnement

Création du fichier .env

# Copier le template d'environnement
cp env.preprod .env

# Ou pour développement local
cp env.dev .env

Configuration des Variables

Éditez le fichier .env créé :

# Ouverture avec votre éditeur préféré
code .env
# ou
nano .env
# ou
vim .env

Variables d'Environnement Obligatoires

# === API DJUST (OBLIGATOIRE) === #
VITE_API_BASE_URL=https://djust-api.test.djust-app.com
VITE_DJ_API_KEY=GT3BatopsDjGIE0DXHE5GHnsCFI4lT8f
VITE_DJ_API_CLIENT=ACCOUNT

# === MAGASIN (À CONFIGURER) === #
STORE_ID=your-store-id
STORE_VIEW_ID=your-store-view-id

# === LOCALISATION === #
LOCALE=fr-FR
DEFAULTCURRENCY=EUR
CURRENCIES=EUR,USD,JPY

# === STORYBLOK CMS (OPTIONNEL) === #
STORYBLOK_VERSION=draft
STORYBLOK_ACCESS_TOKEN=F6kfqYyrG3upENipwgJ0lAtt
STORYBLOK_STORIES_LIST=header,footer,logo,faq,homepage

# === APPLICATION === #
DEFAULT_PAGINATION_SIZE=20
FRONT_MODE=private
MULTI_STORES=false
APPLICATION_ENV=development
CLIENT_NAME=YOUR-CLIENT-NAME

# === MONITORING (OPTIONNEL) === #
SENTRY_DSN=your-sentry-dsn-url

Configuration par Environnement

EnvironnementFichier BaseDescription
Développementenv.devConfiguration locale
Pré-productionenv.preprodTests avant production
QA Multi-storesenv.qa-multistoresTests multi-magasins
Productionenv.prodEnvironnement live

Étape 5 : Vérification de l'Installation

Test de Démarrage

# Démarrer le serveur de développement
yarn dev

# Avec autres gestionnaires
npm run dev
pnpm run dev
bun run dev

Sortie attendue :

Nuxt 3.16.2 with Nitro 2.x.x

  ➜ Local:    http://localhost:3000/
  ➜ Network:  use --host to expose

ℹ Using Nitro development server.
✔ Nuxt DevTools is enabled v1.x.x

Vérification dans le Navigateur

  1. Ouvrir : http://localhost:3000
  2. Vérifier : Page d'accueil se charge
  3. Console : Aucune erreur critique
  4. Network : Appels API fonctionnels

Tests des Fonctionnalités

# Linter (qualité code)
yarn lint

# Formatage code
yarn format:check

# Analyse du build
yarn analyze

# Informations projet
yarn project-info

Configuration Avancée

1. Configuration IDE (VS Code)

Créer .vscode/settings.json :

{
  "editor.formatOnSave": true,
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true
  },
  "typescript.preferences.importModuleSpecifier": "relative",
  "vue.inlayHints.optionsWrapper": true,
  "tailwindCSS.experimental.classRegex": [
    ["ui:\\s*{([^}]*)}", "[\"'`]([^\"'`]*).*?[\"'`]"]
  ]
}

2. Configuration Git Hooks

# Installation automatique avec Husky
yarn prepare

# Vérification des hooks
ls -la .husky/
# Doit afficher les hooks pre-commit, etc.

3. Configuration Développement Multi-stores

Pour tester le mode multi-magasins :

# Utiliser la configuration QA multi-stores
cp env.qa-multistores .env

# Modifier la variable
MULTI_STORES=true

4. Configuration SSL Local (HTTPS)

# Démarrer avec HTTPS
yarn dev --https

# Ou configurer dans nuxt.config.ts
{
  devServer: {
    https: true
  }
}

Scripts Disponibles

Scripts de Développement

ScriptCommandeDescription
Développementyarn devServeur dev avec hot-reload
Buildyarn buildCompilation production
Previewyarn previewTest du build local
Startyarn startServeur production

Scripts de Qualité

ScriptCommandeDescription
Lintyarn lintVérification ESLint
Lint Fixyarn lint:fixCorrection auto ESLint
Formatyarn formatFormatage Prettier
Format Checkyarn format:checkVérification format

Scripts d'Analyse

ScriptCommandeDescription
Analyzeyarn analyzeAnalyse bundle Nuxt
Project Infoyarn project-infoInfos système/projet
Cleanupyarn cleanupNettoyage complet

Script de Nettoyage

# Nettoyage complet (si problèmes)
yarn cleanup

# Équivalent à :
# rm -rf node_modules yarn.lock .nuxt .output
# yarn cache clean
# yarn install
# yarn dev

Variables d'Environnement Détaillées

1. Variables API Djust

# URL de base de l'API Djust
VITE_API_BASE_URL=https://djust-api.test.djust-app.com

# Clé d'authentification API
VITE_DJ_API_KEY=your-api-key

# Type de client (généralement ACCOUNT)
VITE_DJ_API_CLIENT=ACCOUNT

2. Variables Magasin

# Identifiant du magasin
STORE_ID=your-store-id

# Identifiant de la vue magasin
STORE_VIEW_ID=your-store-view-id

Comment obtenir ces IDs :

  1. Se connecter à l'interface Djust
  2. Naviguer vers Configuration > Magasins
  3. Copier les identifiants fournis

3) Variables Localisation

# Langue par défaut
LOCALE=fr-FR

# Devise par défaut
DEFAULTCURRENCY=EUR

# Devises supportées (séparées par virgules)
CURRENCIES=EUR,USD,JPY

4. Variables Storyblok

# Version du contenu (draft/published)
STORYBLOK_VERSION=draft

# Token d'accès Storyblok
STORYBLOK_ACCESS_TOKEN=your-token

# Liste des stories à précharger
STORYBLOK_STORIES_LIST=header,footer,logo,faq,homepage

5. Variables Application

# Taille pagination par défaut
DEFAULT_PAGINATION_SIZE=20

# Mode frontend (private/public)
FRONT_MODE=private

# Support multi-magasins
MULTI_STORES=false

# Environnement application
APPLICATION_ENV=development

# Nom du client
CLIENT_NAME=YOUR-CLIENT

6. Variables Monitoring

# URL Sentry pour monitoring erreurs
SENTRY_DSN=https://your-sentry-dsn-url

Résolution de Problèmes

1. Erreurs d'Installation

Erreur : "Node.js version incompatible"

# Solution : Utiliser la bonne version Node.js
nvm install 20.18.1
nvm use 20.18.1

# Ou mettre à jour Node.js

Erreur : "Yarn command not found"

# Solution : Installer Yarn
npm install -g yarn

# Ou avec Corepack
corepack enable

Erreur : "Permission denied"

# Solution : Utiliser sudo (Linux/Mac)
sudo npm install -g yarn

# Ou changer permissions npm
npm config set prefix ~/.npm-global

2. Erreurs de Configuration

Erreur : "API_BASE_URL not configured"

# Solution : Vérifier .env
cat .env | grep VITE_API_BASE_URL

# Doit afficher la variable configurée

Erreur : "Store ID missing"

# Solution : Configurer STORE_ID et STORE_VIEW_ID
# Dans .env :
STORE_ID=your-store-id
STORE_VIEW_ID=your-store-view-id

3. Erreurs de Démarrage

Erreur : "Port 3000 already in use"

# Solution 1 : Utiliser un autre port
yarn dev --port 3001

# Solution 2 : Tuer le processus existant
lsof -ti:3000 | xargs kill -9

Erreur : "Module not found"

# Solution : Réinstaller les dépendances
rm -rf node_modules
yarn install

4. Erreurs de Build

Erreur : "Build failed"

# Solution : Vérifier les variables d'environnement
yarn build --verbose

# Nettoyer et reconstruire
yarn cleanup

Erreur : "TypeScript errors"

# Solution : Vérifier les types
yarn lint:fix

# Mettre à jour TypeScript
yarn add -D typescript@latest

5. Erreurs SSL/HTTPS

Erreur : "SSL certificate problem"

# Solution temporaire (développement seulement)
export NODE_TLS_REJECT_UNAUTHORIZED=0

# Solution permanente : Configurer certificats SSL

Optimisations de Performance

1. Cache Yarn

# Nettoyer le cache Yarn
yarn cache clean

# Vérifier la taille du cache
yarn cache dir

2. Variables NODE_OPTIONS

# Augmenter la mémoire heap (si nécessaire)
export NODE_OPTIONS="--max-old-space-size=4096"

# Ajouter dans .bashrc/.zshrc pour permanence
echo 'export NODE_OPTIONS="--max-old-space-size=4096"' >> ~/.bashrc

3. Configuration Vite

Dans nuxt.config.ts, optimiser Vite :

export default defineNuxtConfig({
  vite: {
    build: {
      rollupOptions: {
        output: {
          manualChunks: {
            vendor: ["vue", "nuxt"],
            utils: ["@djust-b2b/djust-front-sdk"],
          },
        },
      },
    },
  },
});

Déploiement

1. Build Local

# Build pour production
yarn build

# Test du build
yarn preview

# Serveur de production
yarn start

2. Docker

# Build de l'image Docker
docker build -t djust-front-partners-starter .

# Démarrer le conteneur
docker run -p 3000:3000 djust-front-partners-starter

3. Variables de Build Docker

# Build avec fichier env spécifique
docker build --build-arg ENV_FILE=env.prod -t djust-app .

Maintenance

1. Mise à Jour des Dépendances

# Vérifier les mises à jour
yarn outdated

# Mettre à jour les dépendances mineures
yarn upgrade

# Mettre à jour une dépendance spécifique
yarn upgrade nuxt@latest

2. Audit de Sécurité

# Audit des vulnérabilités
yarn audit

# Correction automatique
yarn audit fix

3. Nettoyage Régulier

# Nettoyage complet périodique
yarn cleanup

# Suppression des fichiers temporaires
rm -rf .nuxt .output

Liste de Vérification Post-Installation

✅ Installation Réussie

  • Node.js v20.18.1+ installé
  • Yarn v4.9.1 configuré
  • Dépendances installées sans erreur
  • Fichier .env créé et configuré
  • Serveur dev démarre sur http://localhost:3000
  • Page d'accueil s'affiche correctement
  • Console sans erreurs critiques
  • Linter passe sans erreur (yarn lint)
  • Build réussit (yarn build)

✅ Configuration Avancée

  • VS Code configuré avec extensions
  • Git hooks installés (yarn prepare)
  • Variables API testées et fonctionnelles
  • Storyblok configuré (si utilisé)
  • Multi-stores testé (si applicable)
  • HTTPS local configuré (si nécessaire)

✅ Tests Fonctionnels

  • Navigation dans l'application
  • Changement de langue (fr/en)
  • Appels API vers Djust
  • Gestion d'erreurs fonctionnelle
  • Responsive design vérifié
  • Performance acceptable

Support et Ressources

Documentation Officielle

Outils de Développement

Ressources Djust

  • Documentation SDK : Voir /docs/sdk/
  • Documentation API : Voir /docs/
  • Support technique : Équipe développement Djust

🎉 Félicitations ! Votre environnement Djust Front Partners Starter est maintenant configuré et prêt pour le développement !

Pour aller plus loin, consultez la documentation des différentes fonctionnalités dans le dossier /docs/.