Skip to content

Installation

Bienvenue dans l'équipe ! 🎉 Ce guide t'amène d'un dépôt fraîchement cloné à un environnement de dev qui tourne. Compte ~30 min selon ta connexion et ce qui est déjà installé.

Prérequis

Assure-toi d'avoir ces outils avant de commencer :

OutilVersionPourquoi
PHP8.3clartt-api (Laravel 12)
Composer2.xDépendances PHP
Node.js20+clartt-front, clartt-public, cette doc
Python3.12clartt-kent-ai (FastAPI)
Dockerrécentclartt-kent-ai + Qdrant

💡 Astuce macOS : Laravel Herd fournit PHP, et surtout PostgreSQL, Redis et MinIO prêts à l'emploi. C'est le chemin le plus simple pour la couche données en local.

1. Cloner le monorepo

bash
git clone <url-du-repo> clartt
cd clartt

Tu obtiens cette structure — 4 applications + cette documentation :

clartt/
├── clartt-api/        # API Laravel (le cœur)
├── clartt-front/      # Interface d'administration (Next.js)
├── clartt-public/     # Site marketing (Next.js)
├── clartt-kent-ai/    # Service IA (FastAPI)
└── clartt-doc/        # Cette documentation (VitePress)

Chaque service possède son propre .env. Pense à copier les .env.example correspondants et à demander les secrets (clés API, tokens) à l'équipe.

2. clartt-api — l'API Laravel

C'est la pièce centrale : commence par elle.

bash
cd clartt-api
composer setup          # installe les deps, génère la clé, migre la base

Pour le développement au quotidien, une seule commande lance tout (serveur + queue + logs + Vite) :

bash
composer dev

Si tu préfères lancer les processus à la main :

bash
php artisan serve        # API sur http://localhost:8000
php artisan horizon      # worker de files d'attente (jobs)
php artisan reverb:start # serveur WebSocket sur :8080

Et pour les tests (Pest) :

bash
composer test                          # toute la suite
./vendor/bin/pest tests/Feature/Auth   # un dossier précis
./vendor/bin/pest --filter "nom test"  # un seul test

Variables d'environnement clés (.env)

DB_CONNECTION=pgsql
REVERB_HOST=localhost
REVERB_PORT=8080
CLARTT_KENT_BASE_URL=http://localhost:5001
CLARTT_KENT_INTERNAL_TOKEN=<token-partagé-avec-kent>

3. clartt-front — l'interface d'administration

bash
cd clartt-front
npm install
npm run dev   # http://localhost:3000

Crée un fichier .env.local :

NEXT_PUBLIC_API_URL=http://localhost:8000
NEXT_PUBLIC_REVERB_HOST=localhost
NEXT_PUBLIC_REVERB_PORT=8081
NEXT_PUBLIC_REVERB_APP_KEY=laravel-herd

4. clartt-public — le site marketing

bash
cd clartt-public
npm install
npm run dev   # http://localhost:3001

5. clartt-kent-ai — le service IA

Le plus simple est de passer par Docker (Qdrant est inclus dans le compose) :

bash
cd clartt-kent-ai
docker compose up --build      # premier lancement
docker compose up -d --build   # en arrière-plan
docker compose logs -f api     # suivre les logs

Préférence pour le local sans Docker ? Un virtualenv suffit :

bash
python -m venv venv && source venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --reload --port 5001

Variables d'environnement clés (.env)

ENVIRONMENT=development
DEBUG=true
INTERNAL_TOKEN=<token-partagé-avec-api>
MISTRAL_API_KEY=<clé-mistral>
QDRANT_HOST=qdrant
QDRANT_PORT=6333
MINIO_ENDPOINT=minio.herd.test
MINIO_BUCKET=clartt

Le INTERNAL_TOKEN doit être identique au CLARTT_KENT_INTERNAL_TOKEN côté API, et MINIO_BUCKET au AWS_BUCKET côté API.

6. Tout lancer d'un coup (VS Code)

Pas envie d'ouvrir 5 terminaux ? Ouvre le workspace à la racine :

bash
code clartt.code-workspace

VS Code propose alors de démarrer automatiquement l'ensemble des services.

7. Vérifier que tout tourne

Une fois les services lancés, tu devrais avoir :

ServiceURLDoit afficher
clartt-fronthttp://localhost:3000L'interface d'administration
clartt-publichttp://localhost:3001Le site marketing
clartt-apihttp://localhost:8000La réponse de l'API
clartt-kent-aihttp://localhost:5001/health/live{"status": "ok"}
Qdranthttp://localhost:6333Le dashboard Qdrant

Et après ?

Tu es prêt·e ! 🚀 Si quelque chose coince, vérifie d'abord que PostgreSQL, Redis et MinIO tournent (via Herd), puis que les tokens partagés entre l'API et Kent correspondent bien. N'hésite pas à demander un coup de main à l'équipe.