Pour Commencer (Getting Started)
Bienvenue dans l'équipe de développement FirstBreath ! Ce guide vous aidera à configurer toute la stack sur votre machine locale en quelques minutes.
Prérequis
Avant de commencer, assurez-vous d'avoir installé :
- Docker & Docker Compose : Pour l'orchestration des conteneurs.
- Node.js (v20+) & Yarn : Pour l'outillage frontend/backend.
- Git : Pour le contrôle de version.
- (Optionnel) Pilotes NVIDIA : Si vous prévoyez d'exécuter le système de Vision avec accélération GPU localement.
1. Cloner l'Écosystème via le Repo Platform
Nous utilisons une stratégie de Monorepo Wrapper. Vous n'avez pas besoin de cloner chaque dépôt individuellement.
# Cloner le wrapper principal de la plateforme
git clone git@github.com:FirstBreath/FirstBreath-Platform.git
cd FirstBreath-Platform
# Initialiser tous les sous-modules (Backend, Vision, Frontend)
git submodule update --init --recursive
Récupérez toujours les derniers changements des sous-modules avec :
git submodule foreach git pull origin main
2. Configuration de l'Environnement
La plateforme est fournie avec un fichier global .env.example. Copiez-le pour créer votre config locale.
cp .env.example .env
Généralement, les valeurs par défaut fonctionnent "out-of-the-box" pour le développement local.
3. Lancer la Stack
Nous avons un docker-compose.yml unifié à la racine du dépôt Platform qui orchestre tous les sous-services.
# Tout démarrer (Base de données, Backend, Vision, Frontend)
docker compose up -d
Mode Standard vs Mode GPU
Par défaut, la stack tourne en Mode Compatibilité CPU.
Si vous avez un GPU NVIDIA configuré avec nvidia-container-toolkit, vous pouvez activer l'accélération GPU en décommentant la section deploy: resources: reservations: devices dans le fichier docker-compose.yml.
4. Accéder aux Services
Une fois démarrés, les services sont disponibles aux adresses suivantes :
| Service | URL | Description |
|---|---|---|
| Documentation | http://localhost:3000 | Ce site de documentation |
| Control Hub API | http://localhost:3333 | API Backend & Swagger |
| App Showcase | http://localhost:3001 | Dashboard Frontend |
| Grafana | http://localhost:4000 | Tableaux de bord de Monitoring |
| Prometheus | http://localhost:9090 | Collecte de Métriques |
Dépannage
Les sous-modules sont vides ?
Si les dossiers apps/backend ou apps/vision sont vides, vous avez oublié l'étape d'initialisation des sous-modules :
git submodule update --init --recursive
Erreur de connexion à la Base de Données ?
Le backend peut essayer de démarrer avant que MySQL ne soit prêt. Docker Compose gère les tentatives, mais si cela persiste, redémarrez le backend :
docker compose restart backend