Skip to main content

Installation

Ce guide vous accompagne dans l'installation et la configuration de Zen Trader Journal, que vous souhaitiez utiliser la version cloud ou déployer votre propre instance.

🌐 Option 1 : Version Cloud (Recommandée)

La manière la plus simple de démarrer est d'utiliser notre version hébergée sur app.skelisul.com.

Avantages de la Version Cloud

CaractéristiqueDescription
⚡ Démarrage instantanéAucune installation requise
🔄 Mises à jour automatiquesBénéficiez des dernières fonctionnalités
💾 Sauvegardes automatiquesVos données sont protégées en permanence
🔒 Sécurité géréeInfrastructure sécurisée et maintenue

Inscription

  1. Rendez-vous sur app.skelisul.com
  2. Cliquez sur Créer un compte
  3. Renseignez votre email et créez un mot de passe sécurisé
  4. Vérifiez votre email pour confirmer votre compte
  5. Vous êtes prêt !

🖥️ Option 2 : Installation Locale (Développeurs)

Pour les développeurs souhaitant contribuer ou déployer leur propre instance.

Prérequis Système

ComposantVersion minimaleRecommandée
Node.js18.x20.x LTS
PostgreSQL14.x16.x
Redis6.x7.x
npm9.x10.x

Étapes d'Installation

1. Cloner le Repository

git clone https://github.com/Elrodia/SkelisulX.git
cd SkelisulX

2. Configurer les Variables d'Environnement

Copiez le fichier d'exemple et configurez vos variables :

cp .env.example .env

Éditez le fichier .env avec vos paramètres :

# Base de données PostgreSQL
DATABASE_URL=postgresql://user:password@localhost:5432/zentrader

# Redis
REDIS_URL=redis://localhost:6379

# Sécurité
JWT_SECRET=votre_secret_jwt_minimum_32_caracteres

# Application
NODE_ENV=development
PORT=5000
CLIENT_URL=http://localhost:5173
Sécurité

Ne partagez jamais votre fichier .env et ne le committez jamais dans votre repository. Il contient des secrets sensibles.

3. Installer les Dépendances

# Installation des dépendances serveur et client
npm run install-all

4. Initialiser la Base de Données

# Les migrations s'exécutent automatiquement au premier démarrage
# Ou manuellement :
cd server && npm run db:migrate

5. Démarrer l'Application

# Mode développement (serveur + client)
npm run dev

# Ou séparément :
npm run dev:server # Backend sur http://localhost:5000
npm run dev:client # Frontend sur http://localhost:5173

☁️ Option 3 : Déploiement Railway

Railway est notre plateforme de déploiement recommandée pour les instances de production.

Configuration Manuelle Railway

  1. Créez un nouveau projet sur Railway

  2. Ajoutez les services requis :

    • PostgreSQL (depuis le marketplace Railway)
    • Redis (depuis le marketplace Railway)
    • Service Web (depuis votre repo GitHub)
  3. Configurez les variables d'environnement :

    VariableValeur
    DATABASE_PRIVATE_URL${{Postgres.DATABASE_PRIVATE_URL}}
    REDIS_PRIVATE_URL${{Redis.REDIS_PRIVATE_URL}}
    JWT_SECRET(générez avec node -e "console.log(require('crypto').randomBytes(64).toString('hex'))")
    NODE_ENVproduction
    CLIENT_URLVotre URL de production
  4. Déployez et Railway se charge du reste !

Pour une documentation détaillée des variables Railway, consultez notre Guide de Configuration Railway.

🐳 Option 4 : Docker (Avancé)

Pour les déploiements containerisés :

# docker-compose.yml
version: '3.8'

services:
app:
build: .
ports:
- "5000:5000"
environment:
- DATABASE_URL=postgresql://postgres:password@db:5432/zentrader
- REDIS_URL=redis://redis:6379
- JWT_SECRET=${JWT_SECRET}
- NODE_ENV=production
depends_on:
- db
- redis

db:
image: postgres:16-alpine
environment:
- POSTGRES_DB=zentrader
- POSTGRES_PASSWORD=password
volumes:
- postgres_data:/var/lib/postgresql/data

redis:
image: redis:7-alpine
volumes:
- redis_data:/data

volumes:
postgres_data:
redis_data:
# Démarrer avec Docker Compose
docker-compose up -d

✅ Vérification de l'Installation

Après l'installation, vérifiez que tout fonctionne correctement :

Checklist de Santé

TestCommande / URLRésultat Attendu
Backendcurl http://localhost:5000/health{"status":"ok"}
FrontendOuvrir http://localhost:5173Page de connexion
Base de donnéesVérifier les logs serveurPostgreSQL connection pool initialized
RedisVérifier les logs serveurRedis client connected

Logs de Démarrage Sains

Vous devriez voir quelque chose comme :

✅ Environment variables validated
✅ Using DATABASE_URL for database connections
✅ Using REDIS_URL for Redis connections
✅ PostgreSQL connection pool initialized
✅ Redis client connected
🚀 Server running on port 5000

🆘 Dépannage

Problèmes Courants

❌ "ECONNREFUSED" - Connexion base de données refusée

Causes possibles :

  • PostgreSQL n'est pas démarré
  • Mauvais port ou host dans DATABASE_URL
  • Pare-feu bloquant la connexion

Solutions :

# Vérifier que PostgreSQL est démarré
sudo systemctl status postgresql

# Tester la connexion
psql $DATABASE_URL -c "SELECT 1"
❌ "JWT_SECRET must be at least 32 characters"

Solution : Générez un secret suffisamment long :

node -e "console.log(require('crypto').randomBytes(64).toString('hex'))"
❌ Port déjà utilisé

Solution : Changez le port dans votre .env ou tuez le processus existant :

# Trouver le processus utilisant le port
lsof -i :5000

# Ou utiliser un autre port
PORT=3000 npm run dev

📞 Besoin d'Aide ?

Si vous rencontrez des difficultés :

  1. Consultez la FAQ — Réponses aux questions fréquentes
  2. Ouvrez une issue sur GitHub
  3. Contactez le supportsupport@skelisul.com

Prochaine Étape

Votre installation est prête ? Passez aux Premiers Pas pour créer votre premier trade !