Démarrage local
Le Clos des Eucalyptus se compose de deux dépôts Git indépendants placés dans un même dossier de travail :
web/ pour SvelteKit et backend/ pour Go/PocketBase. Le Makefile à la racine orchestre les deux
sans fusionner leur historique Git.
Prérequis
Section intitulée « Prérequis »| Outil | Version ou source | Vérification |
|---|---|---|
| Node.js | version exacte de web/.nvmrc : 22.19.0 |
node --version |
| npm | livré avec Node.js | npm --version |
| Go | version exacte de backend/.go-version : 1.24.3 |
go version |
| staticcheck | honnef.co/go/tools/cmd/[email protected] |
staticcheck -version |
| Chromium Playwright | installé par Playwright ou son image CI | npx playwright --version |
| Make et Git | versions récentes | make --version, git --version |
Avec nvm, placez-vous dans web/ puis exécutez nvm use. Installez staticcheck avec la version
utilisée en CI :
Disposition attendue
Section intitulée « Disposition attendue »HarmonyV2/├── Makefile # orchestration locale des deux dépôts├── AGENTS.md # conventions partagées├── web/ # dépôt Chris589/harmony-web└── backend/ # dépôt Chris589/harmony-backendExécutez toujours les commandes Git dans le dépôt concerné. git status lancé dans web/ ne dit
rien de l’état de backend/.
Installer les dépendances
Section intitulée « Installer les dépendances »Depuis HarmonyV2/ :
make installCette commande exécute go mod download, npm ci pour l’application web et npm ci --prefix documentation pour Starlight. Elle respecte les fichiers de verrouillage et doit être préférée à
npm install pour reproduire la CI.
Pour installer un seul dépôt :
make -C backend installmake -C web installConfigurer le frontend
Section intitulée « Configurer le frontend »Copiez web/.env.example vers web/.env et adaptez les valeurs locales :
| Variable | Valeur locale typique | Sensibilité |
|---|---|---|
API_BASE_URL |
http://127.0.0.1:8090 |
serveur uniquement |
API_TOKEN |
vide par défaut | secret serveur, facultatif |
PUBLIC_MAPTILER_KEY |
clé limitée aux domaines autorisés | publique par définition |
API_TOKEN sert aux lectures serveur qui doivent recevoir des champs administratifs. Il ne doit
jamais être importé dans un composant ou un module client. Une variable PUBLIC_* est intégrée au
bundle : n’y placez aucun secret.
Initialiser les données
Section intitulée « Initialiser les données »Depuis la racine du workspace :
make seedLe backend effectue deux opérations idempotentes dans backend/pb_data :
superuser upsertcrée ou met à jour le superutilisateur PocketBase ;- la commande de seed compilée avec le tag
devcharge les données de démonstration.
Les valeurs par défaut sont réservées au développement. Pour les remplacer :
make seed \ SEED_SUPERUSER_PASSWORD='mot-de-passe-local' \ PB_DATA_DIR=pb_dataLe seed contient notamment trois appartements, des services, plans tarifaires, promotions, demandes fictives et utilisateurs de chaque rôle. Une seconde exécution met à jour les mêmes enregistrements au lieu de les dupliquer.
Lancer la plateforme
Section intitulée « Lancer la plateforme »Dans un terminal à la racine :
make devLe Makefile démarre les deux processus en parallèle :
| Service | Adresse |
|---|---|
| Frontend SvelteKit | http://localhost:5173 |
| API PocketBase | http://127.0.0.1:8090 |
| Santé API | http://127.0.0.1:8090/api/hello |
| Administration PocketBase | http://127.0.0.1:8090/_/ |
Pour isoler les sorties, démarrez chaque application dans son propre terminal :
make dev-backendmake dev-webLancer les outils annexes
Section intitulée « Lancer les outils annexes »Depuis web/ :
make storybookmake docsStorybook écoute sur http://localhost:6006. La documentation écoute sur
http://localhost:4321 et synchronise le contrat OpenAPI avant de démarrer. Pour désigner
explicitement le dépôt backend :
HARMONY_BACKEND_DIR=../backend npm run docs:devPremière validation
Section intitulée « Première validation »Après l’installation et le seed :
make verifymake e2emake verify valide d’abord le backend, puis le frontend et la documentation. make e2e reseed le
backend, attend /api/hello, puis exécute Playwright contre le build de production du frontend.
Boucle de développement recommandée
Section intitulée « Boucle de développement recommandée »- Consultez l’issue et les dépendances cross-stack.
- Créez une branche depuis
developdans chaque dépôt concerné. - Lancez le test ciblé en mode rapide pendant l’implémentation.
- Vérifiez manuellement le parcours modifié.
- Exécutez la validation complète du ou des dépôts.
- Exécutez les E2E lorsqu’un parcours ou contrat traverse les deux applications.
- Mettez à jour la documentation, OpenAPI et Storybook dans la même branche.
La suite est détaillée dans le workflow Git et pull requests.