Date: 03/02/2026 Statut: TERMINE Duree: Session unique
connectors-front/src/routes/routines/new/index.tsx : padding mobile (px-2 sm:px-0), bouton retour btn-sm sm:btn-mdconnectors-front/src/routes/routines/[id]/edit/index.tsx : idem + grid-cols-1 sm:grid-cols-2connectors-front/src/components/routines/NodeConfigForm.tsx : 550+ lignesapi.getActions()api.getConnectors() + api.getInstances()new/index.tsx et edit/index.tsx (remplacement du textarea JSON)nodeConfigJson, saveNodeConfig devenus inutilesBackend:
routineExecutor.ts : ajout NodeProgressEvent type, ExecutionOptions interface (onNodeProgress callback + cancelledRef)node_started, node_done, node_error dans executeNode()executeNode()routines.ts : ajout executeStream() retournant ReadableStream SSEroutines.ts : ajout cancelExecution() pour annuler en DBindex.ts : endpoint POST /api/routines/:id/execute/stream (SSE)index.ts : endpoint POST /api/routines/executions/:execId/cancelFrontend:
api.ts : ajout executeRoutineStream() (meme pattern que executeActionStream())api.ts : ajout cancelRoutineExecution()[id]/index.tsx : execution utilise le streaming SSE avec progression temps reelCron:
connectors-api/src/services/routineScheduler.ts : service completinitScheduler() charge toutes les routines cron actives au demarragerefreshRoutine() appele apres chaque create/update/deletecroner (npm package ajoute a package.json)getSchedulerStatus() pour monitoringindex.ts : import + init scheduler au demarrageindex.ts : appel refreshRoutine() dans les handlers create/update/deletepackage.json : ajout dependance croner: ^8.0.0Webhook:
index.ts : endpoint POST /api/webhooks/:routineId (public, token optionnel)NodeConfigForm.tsx : TriggerForm affiche URL webhook + bouton copier (si routineId fourni)[id]/index.tsx : bouton "Dupliquer" → cree copie avec "(copie)" + is_active: falsenew/index.tsx + edit/index.tsx : boutons fleches haut/bas pour reordonner les nodesindex.tsx (liste) : toggle switch is_active inline via api.updateRoutine()| Fichier | Action |
|---|---|
connectors-front/src/components/routines/NodeConfigForm.tsx |
NOUVEAU |
connectors-front/src/routes/routines/new/index.tsx |
MODIFIE |
connectors-front/src/routes/routines/[id]/edit/index.tsx |
MODIFIE |
connectors-front/src/routes/routines/[id]/index.tsx |
MODIFIE |
connectors-front/src/routes/routines/index.tsx |
MODIFIE |
connectors-front/src/lib/api.ts |
MODIFIE |
connectors-api/src/services/routineExecutor.ts |
MODIFIE |
connectors-api/src/services/routines.ts |
MODIFIE |
connectors-api/src/services/routineScheduler.ts |
NOUVEAU |
connectors-api/src/index.ts |
MODIFIE |
connectors-api/package.json |
MODIFIE |
bun install sur prod-portainer pour installer croner