Votre orchestrateur garde le workflow. Pulse prend la partie où les orchestrateurs sont mauvais : le traitement de flux temps réel, stateful, à haute fréquence. La surface d'intégration est identique partout — seul le nœud client change :
| Surface | Ce qu'elle fait |
|---|
POST /api/pulse/x/<app>/in | envoyer un événement dans votre app déployée |
GET /api/pulse/events/<topic> | lire le topic de sortie d'un stage |
GET /api/pulse/events/stream | SSE — du push au lieu du polling |
pulse-py client.duplex() | WebSocket corrélé — un aller-retour pour les décisions synchrones |
Le motif est donc toujours les trois mêmes étapes : pulse deploy . le step streaming → ajouter un appel HTTP à votre workflow → lire le topic de résultat. Il y a un guide pour les 14 orchestrateurs, chacun ancré dans un exemple validé livré dans le repo (examples/*-pulse-bridge/).
Légende des statuts — ✅ exécuté E2E dans le repo : l'exemple a installé le vrai orchestrateur et exécuté le flow de bout en bout contre un Pulse vivant · 🧪 validé en live : la définition complète tourne validée contre un Pulse vivant via un runner local, mais l'hôte est un service cloud managé (ou un serveur que la sandbox CI ne peut pas télécharger) — même intégration, seul le boot diffère.
Low-code / visuel
| Guide | Pulse se branche comme | Statut |
|---|
| n8n | nœud HTTP Request ×2 | ✅ exécuté E2E dans le repo |
| Node-RED | nœud http request ×2 | ✅ exécuté E2E dans le repo |
Orchestrateurs code (Python)
| Guide | Pulse se branche comme | Statut |
|---|
| LangGraph | nœud de graphe | ✅ exécuté E2E dans le repo |
| Prefect | @task | ✅ exécuté E2E dans le repo |
| Dagster | @op | ✅ exécuté E2E dans le repo |
| Airflow | @task TaskFlow | ✅ exécuté E2E dans le repo |
| Temporal | Activity | 🧪 activity validée en live |
Orchestrateurs code (JVM)
| Guide | Pulse se branche comme | Statut |
|---|
| Apache Camel | endpoint to("http:…") | ✅ exécuté E2E dans le repo |
| Spring Integration | Http.outboundGateway | ✅ exécuté E2E dans le repo |
Déclaratif / cloud
La surface étant du HTTP générique, cette liste est illustrative, pas exhaustive — ajouter l'orchestrateur suivant, c'est un nœud client. Stack tout-en-un : examples/orchestrators-compose/ du repo (docker compose up : Pulse + n8n + Temporal, --profile kestra|airflow|worker pour le reste) ; matrice complète dans docs/PULSE-ORCHESTRATOR-INTEGRATIONS.md.