02 - Lancement des Services
Audience : Développeurs
Durée estimée : 5-10 minutes
Prérequis : 01 - Configuration Environnement Local terminé
1. Vue d’ensemble
Section titled “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
Section titled “2. Lancement des services”2.1. Option 1 : Lancement manuel (4 terminaux)
Section titled “2.1. Option 1 : Lancement manuel (4 terminaux)”Ouvrez 4 terminaux séparés et lancez les commandes suivantes :
Terminal 1 - Astro Web
Section titled “Terminal 1 - Astro Web”task dev- Port : 4321
- URL : http://localhost:4321
- Utilité : Frontend SSR du site
Terminal 2 - Sanity Studio
Section titled “Terminal 2 - Sanity Studio”task dev:studio- Port : 3333
- URL : http://localhost:3333
- Utilité : Interface d’édition du CMS
Terminal 3 - Form Handler
Section titled “Terminal 3 - Form Handler”task dev:form-handler- Port : 8787
- URL : http://localhost:8787
- Utilité : Validation des formulaires + Queue producer
Terminal 4 - Submission Processor
Section titled “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
Section titled “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
Section titled “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
Section titled “3. Vérification du démarrage”3.1. Vérifier Astro Web
Section titled “3.1. Vérifier Astro Web”curl http://localhost:4321Attendu : Page HTML avec contenu “Hello, Astronaut!”
3.2. Vérifier Sanity Studio
Section titled “3.2. Vérifier Sanity Studio”curl http://localhost:3333Attendu : Page HTML du Sanity Studio
3.3. Vérifier Form Handler
Section titled “3.3. Vérifier Form Handler”curl http://localhost:8787/healthAttendu : JSON avec status: "healthy"
3.4. Vérifier Submission Processor
Section titled “3.4. Vérifier Submission Processor”curl http://localhost:8789/healthAttendu : JSON avec status: "healthy" et infos Sanity
4. Configuration des endpoints
Section titled “4. Configuration des endpoints”4.1. Configuration locale
Section titled “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
Section titled “4.2. Configuration production”Pour la production, l’endpoint sera automatiquement configuré via le Service Binding Cloudflare FORM_HANDLER.
5. Arrêt des services
Section titled “5. Arrêt des services”Pour arrêter les services, utilisez Ctrl+C dans chaque terminal.
5.1. Arrêt sélectif
Section titled “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
Section titled “5.2. Arrêt complet”Pour arrêter tous les services, utilisez Ctrl+C dans les 4 terminaux.
6. Dépannage
Section titled “6. Dépannage”6.1. Problèmes courants
Section titled “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
Section titled “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
Section titled “7. 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
Section titled “8. Prochaine étape”Une fois les services lancés, passer à : 03 - Workflow de Développement
9. Historique des modifications
Section titled “9. Historique des modifications”| Date | Version | Description | Auteur |
|---|---|---|---|
| 2026-09-16 | 1.0 | Création initiale | Devin |