02 - Lancement des Services
02 - Lancement des Services
Documentation technique
Audience : Développeurs
Durée estimée : 5-10 minutes
Prérequis : 01 - Configuration Environnement Local terminé
1. Vue d’ensemble
Le projet nécessite 4 services actifs pour le développement local :
- Astro Web (apps/web) - Frontend SSR
- Sanity Studio (apps/studio) - Interface d’édition CMS
- Form Handler (services/form-handler) - Worker de validation de formulaires
- Submission Processor (services/submission-processor) - Worker de traitement des soumissions
Important : Chaque service doit être lancé dans un terminal séparé car ils sont tous bloquants en mode interactif.
2. Lancement des services
2.1. Option 1 : Lancement manuel (4 terminaux)
Ouvrez 4 terminaux séparés et lancez les commandes suivantes :
Terminal 1 - Astro Web
task dev- Port : 4321
- URL : http://localhost:4321
- Utilité : Frontend SSR du site
Terminal 2 - Sanity Studio
task dev:studio- Port : 3333
- URL : http://localhost:3333
- Utilité : Interface d’édition du CMS
Terminal 3 - Form Handler
task dev:form-handler- Port : 8787
- URL : http://localhost:8787
- Utilité : Validation des formulaires + Queue producer
Terminal 4 - Submission Processor
task dev:submission-processor- Port : 8789
- URL : http://localhost:8789
- Utilité : Queue consumer → Sanity
2.2. Option 2 : Lancement via task dev:services
task dev:servicesCette commande affiche les instructions pour lancer les 4 services, mais vous devez toujours les lancer manuellement dans des terminaux séparés.
2.3. Option 3 : Lancement via task dev:all
task dev:allCette commande affiche un rappel des 4 services à lancer avec leurs ports et leurs utilisations.
3. Vérification du démarrage
3.1. Vérifier Astro Web
curl http://localhost:4321Attendu : Page HTML avec contenu “Hello, Astronaut!”
3.2. Vérifier Sanity Studio
curl http://localhost:3333Attendu : Page HTML du Sanity Studio
3.3. Vérifier Form Handler
curl http://localhost:8787/healthAttendu : JSON avec status: "healthy"
3.4. Vérifier Submission Processor
curl http://localhost:8789/healthAttendu : JSON avec status: "healthy" et infos Sanity
4. Configuration des endpoints
4.1. Configuration locale
Dans le fichier .env à la racine du projet :
# Pour le développement localWORKER_FORM_HANDLER_URL=http://localhost:8787/api/submit4.2. Configuration production
Pour la production, l’endpoint sera automatiquement configuré via le Service Binding Cloudflare FORM_HANDLER.
5. Arrêt des services
Pour arrêter les services, utilisez Ctrl+C dans chaque terminal.
5.1. Arrêt sélectif
Vous pouvez arrêter uniquement les services dont vous n’avez plus besoin. Par exemple, si vous ne travaillez que sur le frontend, vous pouvez arrêter les Workers Cloudflare.
5.2. Arrêt complet
Pour arrêter tous les services, utilisez Ctrl+C dans les 4 terminaux.
6. Dépannage
6.1. Problèmes courants
| Symptôme | Cause probable | Solution |
|---|---|---|
| Port déjà utilisé | Service déjà lancé | Vérifier avec lsof -i :4321 et arrêter le service |
| Wrangler login échoue | Session expirée | Relancer wrangler login |
| Sanity login échoue | Session expirée | Relancer sanity login |
| Variables d’environnement non chargées | Fichier .env manquant |
Vérifier que .env existe à la racine |
6.2. Logs
Pour voir les logs des services en temps réel :
# Logs Astro Web# Visible dans le terminal où `task dev` est lancé
# Logs Workers# Visible dans les terminaux où `task dev:form-handler` et `task dev:submission-processor` sont lancés7. Checklist de validation
Avant de commencer le développement, vérifier :
- Les 4 services sont lancés dans des terminaux séparés
- Astro Web accessible sur http://localhost:4321
- Sanity Studio accessible sur http://localhost:3333
- Form Handler accessible sur http://localhost:8787
- Submission Processor accessible sur http://localhost:8789
- Variables d’environnement configurées
- Authentification Cloudflare réussie
- Authentification Sanity réussie
8. Prochaine étape
Une fois les services lancés, passer à : 03 - Workflow de Développement
9. Historique des modifications
| Date | Version | Description | Auteur |
|---|---|---|---|
| 2026-09-16 | 1.0 | Création initiale | Devin |