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éristique | Description |
|---|---|
| ⚡ Démarrage instantané | Aucune installation requise |
| 🔄 Mises à jour automatiques | Bénéficiez des dernières fonctionnalités |
| 💾 Sauvegardes automatiques | Vos données sont protégées en permanence |
| 🔒 Sécurité gérée | Infrastructure sécurisée et maintenue |
Inscription
- Rendez-vous sur app.skelisul.com
- Cliquez sur Créer un compte
- Renseignez votre email et créez un mot de passe sécurisé
- Vérifiez votre email pour confirmer votre compte
- 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
| Composant | Version minimale | Recommandée |
|---|---|---|
| Node.js | 18.x | 20.x LTS |
| PostgreSQL | 14.x | 16.x |
| Redis | 6.x | 7.x |
| npm | 9.x | 10.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
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
-
Créez un nouveau projet sur Railway
-
Ajoutez les services requis :
- PostgreSQL (depuis le marketplace Railway)
- Redis (depuis le marketplace Railway)
- Service Web (depuis votre repo GitHub)
-
Configurez les variables d'environnement :
Variable Valeur 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_ENVproductionCLIENT_URLVotre URL de production -
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é
| Test | Commande / URL | Résultat Attendu |
|---|---|---|
| Backend | curl http://localhost:5000/health | {"status":"ok"} |
| Frontend | Ouvrir http://localhost:5173 | Page de connexion |
| Base de données | Vérifier les logs serveur | PostgreSQL connection pool initialized |
| Redis | Vérifier les logs serveur | Redis 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