Aller au contenu principal

Getting Started

Installez et lancez HeartCo en 5 minutes.

Prérequis

OutilVersion minimaleVérification
Node.js22.xnode -v
pnpm9.xpnpm -v
PostgreSQL15+ (ou Supabase)
Git2.xgit -v

Important : HeartCo utilise pnpm exclusivement. Ni npm, ni yarn ne sont supportés.

Installation

1. Cloner le projet

git clone https://github.com/votre-org/heartco.git
cd heartco

2. Installer les dépendances

pnpm install

3. Configurer les variables d'environnement

cp .env.example .env

Ouvrez .env et renseignez les 3 variables essentielles pour démarrer :

# Base de données (Supabase PostgreSQL)
DATABASE_URL="postgresql://postgres:[PASSWORD]@db.[PROJECT].supabase.co:6543/postgres?pgbouncer=true"
DIRECT_URL="postgresql://postgres:[PASSWORD]@db.[PROJECT].supabase.co:5432/postgres"
 
# Authentification (générer avec : openssl rand -base64 32)
AUTH_SECRET="votre-secret-min-32-chars"

Les autres variables (URLs publiques, Stripe, Resend, OAuth, IA, etc.) prennent des valeurs par défaut en dev (http://localhost:3000) ou sont entièrement optionnelles. L'envoi d'emails, OAuth Google/Microsoft et les paiements Stripe nécessitent les clés correspondantes — voir Déploiement pour la production.

Les intégrations avancées (Stripe Price IDs des plans/modules/bundles, Iopole, Bridge, Mistral, Sentry, Hotjar/PostHog, calendriers Google/Microsoft, etc.) sont documentées séparément dans apps/web/.env.integrations.example. Copiez uniquement les sections dont vous avez besoin dans votre .env.

4. Préparer la base de données et les données de démo

pnpm setup

Cette commande orchestre :

  1. prisma generate — génère le client Prisma dans generated/prisma/
  2. prisma migrate dev — applique toutes les migrations
  3. prisma db seed — peuple la base avec org + utilisateurs + données démo

Sans cette étape, le dashboard sera vide et la connexion impossible.

5. Lancer le serveur de développement

pnpm dev

Le serveur démarre sur http://localhost:3000 avec Turbopack.

Vérification

Une fois le serveur lancé, vérifiez que tout fonctionne :

  1. Page d'accueil : http://localhost:3000 — Landing page HeartCo
  2. Login : http://localhost:3000/login — Page de connexion
  3. Register : http://localhost:3000/register — Création de compte
  4. Dashboard : http://localhost:3000/dashboard — (après connexion)

Comptes de démonstration

Après pnpm setup, les comptes suivants sont disponibles pour se connecter :

RôleEmailMot de passe
Adminadmin@heartco.frdemo-admin-2026
Managermanager@heartco.frdemo-manager-2026
Collaborateurcollab@heartco.frdemo-user-2026

Commandes utiles

pnpm setup            # Generate + migrate + seed (premier setup ou reset)
pnpm dev              # Serveur dev (Turbopack)
pnpm build            # Build production
pnpm lint             # Vérifier le code (ESLint)
pnpm lint:fix         # Corriger automatiquement
pnpm typecheck        # Vérifier les types TypeScript
pnpm test             # Lancer les tests (Vitest)
pnpm format:write     # Formater le code (Prettier)
npx prisma studio     # Interface graphique pour la DB

Structure du projet

heartco/
├── docs/                  # Cette documentation
├── prisma/
│   ├── schema.prisma      # Schéma de la base de données
│   └── migrations/        # Migrations SQL
├── generated/prisma/      # Client Prisma généré
├── src/
│   ├── app/               # Pages (App Router)
│   ├── components/        # Composants React
│   ├── lib/               # Utilitaires et configuration
│   ├── modules/           # Modules métier (facturx, iopole, bridge)
│   ├── server/            # API tRPC + authentification
│   └── styles/            # CSS global
├── e2e/                   # Tests E2E (Playwright)
├── packages/              # Packages partagés (ui, shared, mobile-core)
└── packages/              # Packages partagés (monorepo)

Pour une vue détaillée de l'architecture, consultez Architecture.

Problèmes courants

EPERM sur Windows (Prisma DLL)

Si vous obtenez une erreur EPERM lors de prisma generate :

Error: EPERM: operation not permitted, unlink 'generated/prisma/query_engine-windows.dll.node'

Solution : Arrêtez le serveur de développement (Ctrl+C), relancez npx prisma generate, puis redémarrez pnpm dev.

Port 3000 déjà utilisé

# Trouver le processus
lsof -i :3000
# Ou sur Windows
netstat -ano | findstr :3000

Erreurs de migration Prisma

Si les migrations échouent :

npx prisma migrate reset    # Recrée la DB (ATTENTION : perte de données)
npx prisma migrate dev      # Réapplique les migrations

Prochaines étapes


Sommaire · Architecture ▶