Skip to main content

Prérequis

Node.js 18+ installé (Télécharger)
npm installé
Git installé
Compte Nhost créé (S’inscrire) — ou utiliser les credentials dev par défaut

Installation

1

Cloner le repository

2

Installer les dépendances

Dépendances principales :
  • react 18
  • vite 6
  • @nhost/nhost-js (client GraphQL + Auth + Storage)
  • react-router-dom 6.x
  • tailwindcss 3.x
L’installation prend environ 2-3 minutes
3

Configurer Nhost

Créer un projet Nhost (optionnel)

Si vous créez un nouveau projet backend :
  1. Allez sur app.nhost.io
  2. Créez un nouveau projet
  3. Choisissez la région eu-central-1 (Europe)
  4. Notez le subdomain et la region

Créer le fichier .env

Ajoutez ces variables :
Ne commitez JAMAIS le fichier .env ! Il est déjà dans .gitignore

Où trouver ces valeurs ?

Dans votre dashboard Nhost :
  • SettingsGeneral
  • Copiez le Subdomain et la Region
Des valeurs par défaut sont intégrées dans le code (client.ts) pour l’environnement de développement partagé. Vous pouvez démarrer sans .env si vous utilisez le backend commun.
4

Lancer le serveur de développement

L’application démarre sur http://localhost:5173Vérifications :
  • ✅ Page d’accueil (landing) s’affiche avec CTA quiz
  • ✅ Catalogue d’outils se charge sur /catalogue
  • ✅ Quiz accessible sur /quiz/diagnostic-digital
  • ✅ Pas d’erreurs console liées à Nhost/GraphQL

Premier lancement

URLs disponibles

Routes disponibles :

Créer un compte admin

L’authentification est gérée par Nhost Auth (email/password).

Via Dashboard Nhost

  1. Allez dans votre projet Nhost → AuthUsers
  2. Cliquez sur Add User
  3. Entrez :
    • Email : admin@lucdidion.lu
    • Password : votre_mot_de_passe_securise
  4. L’utilisateur est créé et peut se connecter

Se connecter

  1. Allez sur http://localhost:5173/admin
  2. Vous serez redirigé vers /login
  3. Entrez vos credentials
  4. Vous devriez accéder au dashboard admin
Une fois connecté, Nhost gère automatiquement le refresh des tokens JWT. Pas besoin de se reconnecter à chaque refresh.

Ajouter des données de test

Option 1 : Manuellement via Admin Dashboard

Une fois connecté en admin :
  1. Créer des catégories — onglet Tools du dashboard
  2. Ajouter des outils — cliquez sur + Nouvel outil, remplissez le formulaire, uploadez un logo
  3. Créer un workflow — onglet Workflows, définissez les étapes, publiez (status = active)

Option 2 : Via Hasura Console

Accédez à la console Hasura de votre projet Nhost pour insérer des données directement :

Structure du projet

Comprendre l'architecture

Documentation complète de l’organisation

Commandes disponibles


Troubleshooting

Erreur : “Failed to fetch” ou “Network error”

Cause : Connexion Nhost/GraphQL échoue Solutions :
  1. Vérifiez que .env contient les bonnes valeurs (VITE_NHOST_SUBDOMAIN et VITE_NHOST_REGION)
  2. Vérifiez que votre projet Nhost est actif et accessible
  3. Ouvrez les DevTools → Network → filtrez par graphql pour voir les requêtes

Erreur : “Permission denied” sur une mutation

Cause : Permissions Hasura bloquent l’opération Solution :
  1. Vérifiez que vous êtes authentifié (JWT valide)
  2. Vérifiez les permissions Hasura pour le rôle user ou admin
  3. Accédez à la console Hasura pour inspecter les permissions

Page admin vide

Cause : Pas authentifié ou session expirée Solution :
  1. Reconnectez-vous via /login
  2. Nhost Auth gère le refresh automatique des tokens
  3. Si persistant, videz le localStorage et reconnectez-vous

Prochaines étapes

Explorer l'architecture

Comprendre l’organisation du code

Nhost & GraphQL

Backend et API Layer

API Layer

apiCall, apiCallVoid et GraphQL

Conventions de code

Standards et bonnes pratiques

Support

Besoin d’aide ?
  • 📖 Documentation : Parcourez les sections ci-dessous
  • 💬 GitHub Discussions : Posez vos questions
  • 🐛 Issues : Signalez un bug
  • 📧 Email : contact@lucdidion.lu