Skip to content

🚀 Démarrage

Ce guide vous explique comment installer le projet LIPAIX sur votre machine. Il est écrit pour les développeurs qui rejoignent le projet pour la première fois.

🧩 Ce que vous installez

Le dépôt LIPAIX est un monorepo — un seul dépôt contenant plusieurs applications liées :

  • apps/web — Le site public + MyLipaix + l'API backend (tout dans une seule application Next.js)
  • apps/discord-bot — Le service du bot Discord
  • shared/common — Code TypeScript partagé utilisé par les deux applications
  • docs/vitepress — Cette documentation

En pratique, vous ferez tourner principalement apps/web en local, sauf si vous travaillez sur le bot.

✅ Prérequis

Avant de commencer, installez les outils suivants :

OutilVersion minimaleÀ quoi ça sert
Node.js22+Environnement d'exécution JavaScript
pnpm9+Gestionnaire de paquets (n'utilisez pas npm ou yarn)
GitToute version récenteContrôle de version
VS CodeÉditeur recommandé

Pour vérifier vos installations :

bash
node --version   # doit afficher v22.x.x ou supérieur
pnpm --version   # doit afficher 9.x.x ou supérieur
git --version

📥 Récupérer le code

bash
git clone https://github.com/lipaix/lipaix-web-v3.git
cd lipaix-web-v3
pnpm install

pnpm install télécharge toutes les dépendances de toutes les applications du monorepo en une seule fois.

🔐 Variables d'environnement

Les applications ont besoin de valeurs de configuration (connexion à la base de données, clés API, etc.) qui sont stockées dans un fichier .env.local et ne sont jamais commitées sur git.

Obtenez le fichier .env.local auprès de l'équipe — n'essayez pas de le créer de zéro. Le fichier est partagé en privé au sein de l'équipe.

Placez le fichier à l'emplacement apps/web/.env.local.

Variables clés (application web)

VariableCe qu'elle fait
DATABASE_URIChaîne de connexion PostgreSQL
PAYLOAD_SECRETClé secrète pour le chiffrement des sessions PayloadCMS
DISCORD_BOT_TOKENToken du bot Discord (utilisé par l'application web pour la connexion Discord)
DISCORD_CLIENT_IDID de l'application OAuth Discord
DISCORD_CLIENT_SECRETSecret de l'application OAuth Discord
LIPAIX_API_TOKENToken API interne utilisé par le bot Discord pour appeler l'API web
BASE_URLL'URL où tourne l'application (ex. : http://localhost:3000 en local)

Variables clés (bot Discord)

Pour le bot Discord, créez apps/discord-bot/.env.local (obtenez-le également auprès de l'équipe) :

VariableCe qu'elle fait
DISCORD_BOT_TOKENLe token secret du bot
DISCORD_BOT_APP_IDL'ID de l'application du bot
DISCORD_GUILD_IDL'ID du serveur Discord (guild) où le bot opère
MYLIPAIX_BASE_URLL'URL de l'application web (pour les appels API)
LIPAIX_DISCORD_ACTIONToken d'action interne
BILLETWEB_API_KEYClé API Billetweb pour la commande /tickets
BILLETWEB_USERIdentifiant utilisateur Billetweb

▶️ Lancer l'application web

Depuis la racine du dépôt :

bash
pnpm web:dev

Cela démarre le serveur de développement Next.js. Une fois lancé :

  • Site public : http://localhost:3000
  • MyLipaix : http://localhost:3000/admin

La première fois que vous le lancez, PayloadCMS vous invitera à créer un utilisateur administrateur initial. Suivez les instructions à l'écran.

🤖 Lancer le bot Discord

Dans un terminal séparé :

bash
pnpm discord:dev

Le bot se connecte à Discord et commence à écouter les commandes slash.

Enregistrer les commandes slash

Les commandes slash (/dispos, /selecs, /tickets) doivent être enregistrées auprès de Discord une fois avant d'apparaître dans le serveur. Lancez :

bash
pnpm discord:commands:register

Vous n'avez besoin de faire ça que lorsque des commandes sont ajoutées ou modifiées.

📚 Lancer la documentation

bash
pnpm docs:dev

Le site de documentation tourne sur http://localhost:3001.

🗄️ Migrations de base de données

Quand le schéma de la base de données change (des collections PayloadCMS sont ajoutées ou modifiées), vous devez lancer les migrations :

bash
pnpm web:db:migrate

🛠️ Problèmes fréquents

Erreurs "Cannot find module" après pnpm install

Lancez d'abord pnpm build dans shared/common — le package partagé doit être compilé avant que les applications puissent l'utiliser :

bash
pnpm common:build

Erreurs de connexion à la base de données

Vérifiez que votre DATABASE_URI dans .env.local est correct et que la base de données PostgreSQL est accessible.

Le bot Discord ne répond pas aux commandes

Assurez-vous que les commandes sont enregistrées (pnpm discord:commands:register) et que le DISCORD_GUILD_ID correspond au serveur dans lequel vous testez.

Publié sous licence MIT.