Article

Temporal : introduction complète à la durable execution pour des workflows qui survivent aux crashs

Illustration editoriale Temporal avec code workflow, durable execution et event stream

Temporal fait partie de ces technos qui changent très vite la façon de penser un workflow distribué. Au premier abord, on pourrait croire à un simple orchestrateur de jobs. En pratique, on tombe sur quelque chose de beaucoup plus structurant : une plateforme de durable execution qui permet d écrire des workflows longs, stateful et résistants aux crashs sans devoir reconstruire à la main une machine à états maison (Docs : https://docs.temporal.io, site officiel : https://temporal.io).

Cette introduction s appuie sur trois sources complémentaires : la vidéo Temporal – 01. Introduction – C est quoi ?? de Xavki (YouTube), les slides du chapitre 01 du repo de la série (slides 01) et le dépôt principal de la série (GitLab).

Mots-clés : Temporal, durable execution, workflow engine, orchestration, event history, replay, Python SDK, task queue, workers, retries, signaux, LLM agents.

TL;DR

  • Temporal transforme du code applicatif en workflows durables capables de reprendre après un crash.
  • Le cœur du modèle repose sur l event history et le replay déterministe.
  • La plateforme est particulièrement adaptée aux traitements longs, multi-étapes, stateful et critiques.
  • Elle devient souvent plus pertinente qu un empilement cron + Redis + base SQL + retries maison.
  • Elle parle autant aux équipes backend et plateforme qu aux équipes IA / agents qui ont besoin d un état durable entre plusieurs appels.

La vidéo de référence

Si vous voulez suivre la série depuis le début, la playlist est disponible ici : Temporal – Tutorials.

Temporal, c est quoi exactement ?

La définition la plus concise reste celle mise en avant dans les slides : Temporal est une plateforme de durable execution. Le site officiel reformule cette promesse de façon très directe : il s agit de construire des applications capables de reprendre exactement là où elles se sont arrêtées après un crash, une panne réseau ou une interruption d infrastructure (Docs : docs.temporal.io, Product : temporal.io/product).

Dit autrement, Temporal s attaque à un problème que tous les devs backend finissent par rencontrer :

  • un process meurt au milieu d une opération critique,
  • une API externe timeout,
  • un workflow dure plusieurs heures, plusieurs jours ou plusieurs semaines,
  • un humain doit intervenir en plein milieu,
  • un enchaînement de retries finit par rendre la logique illisible.

La proposition de Temporal est radicale : la plateforme se souvient pour vous. Votre logique reste du vrai code. L exécution, elle, devient durable.

Durable execution : le concept qui justifie tout le reste

Le terme est essentiel, parce qu il explique pourquoi Temporal n est ni juste une queue de tâches, ni juste un scheduler, ni juste un moteur d états. Avec Temporal, le workflow n est pas seulement relancé en cas d incident. Il est reconstruit à partir de son historique d événements, puis il rejoue son exécution de manière déterministe jusqu au point où il s était arrêté (slides 01 : 01-introduction/slides.md).

Le gain n est pas seulement la reprise après incident. Le vrai gain, c est l abandon d une énorme quantité de plomberie maison : sauvegardes d état intermédiaire, tables de jobs, reprises manuelles, cron de compensation, retries incomplets et scripts de reconciliation.

Dans un système classique, un workflow distribué finit souvent dans une base SQL ou Redis sous forme de statuts, de checkpoints et de drapeaux plus ou moins cohérents. Dans Temporal, l historique d exécution devient un artefact central. C est lui qui permet :

  • la reprise après crash,
  • les timers durables,
  • les retries gérés proprement,
  • la visibilité dans la Web UI,
  • les tests par replay,
  • les signaux et les interactions sur des exécutions déjà en cours.

Un peu d histoire : de Cadence à Temporal

Le chapitre 01 rappelle bien la généalogie du projet. Temporal naît indirectement chez Uber sous le nom Cadence en 2017. En 2019, l équipe fork Cadence pour créer Temporal. En 2020, Temporal Technologies est fondée autour de Maxim Fateev et Samar Abbas. Puis, en 2022, l offre Temporal Cloud arrive comme version managée de la plateforme (slides 01 : slides, cloud : temporal.io/cloud).

Ce contexte compte, parce qu il montre que Temporal n arrive pas comme une idée théorique. Le projet s inscrit dans une longue histoire d outillage autour des workflows distribués, et le site officiel met d ailleurs en avant un usage en production depuis plusieurs années ainsi qu une forte présence open source (site officiel : temporal.io, GitHub : github.com/temporalio/temporal).

Le vrai problème que Temporal résout

La plupart des équipes n ont pas besoin d un workflow engine pour une requête HTTP de 40 ms. En revanche, elles commencent à souffrir dès qu elles doivent faire tenir dans le temps une logique métier distribuée :

  • encaisser un paiement, provisionner un service, envoyer des notifications et compenser en cas d échec,
  • orchestrer une commande e-commerce de bout en bout,
  • faire durer une approbation humaine sur plusieurs jours,
  • piloter un déploiement avec rollback,
  • maintenir l état d un agent LLM qui appelle des outils à répétition.
Découvrez  [Python] : comment logger dans vos scripts avec logging ?

Le pattern traditionnel, c est de bricoler :

  • une table de jobs,
  • un worker cron ou un consumer,
  • des colonnes de statut,
  • du retry applicatif,
  • de l idempotence un peu partout,
  • des scripts de réparation quand le système se désynchronise.

C est exactement la pente glissante citée dans les slides : au départ, le homegrown semble simple. Puis arrivent l exponential backoff, la dead-letter queue, les migrations de schéma, la visibilité, les arrêts propres, la reprise des processus bloqués, la surveillance des timeout, et la facture conceptuelle explose (slides 01 : slides).

Le modèle mental minimal pour comprendre Temporal

Avant de rentrer dans les détails de l architecture, il suffit de tenir quelques briques en tête :

  1. Workflow : la logique d orchestration durable.
  2. Activity : la logique non déterministe ou à effets de bord, comme un appel HTTP, une requête SQL ou un accès fichier.
  3. Worker : le process qui exécute workflows et activities.
  4. Task Queue : le point de rendez-vous entre ce qui doit être exécuté et les workers disponibles.
  5. Event History : le journal d événements qui permet le replay.

Le repo de la série annonce justement cette progression pédagogique : introduction, architecture, notions et définitions, installation, premier workflow Python puis commandes CLI (README : README.md).

Où Temporal brille vraiment

Les slides du premier chapitre listent déjà des cas d usage très parlants, et ils restent d actualité :

  • payments and billing : charge, retry, compensation, refund, journalisation,
  • order processing : checkout, fulfillment, coordination multi-services,
  • CI/CD et infra : déploiements longs avec rollback et visibilité,
  • AI agents et pipelines LLM : état durable entre plusieurs appels et plusieurs outils,
  • data pipelines : traitements batchs, polling et enchaînements multi-étapes,
  • SaaS onboarding : workflows qui durent plusieurs jours avec étapes humaines.

Sur son site, Temporal pousse très fort cette lecture moderne du produit en l associant à des cas d usage AI, humans-in-the-loop, order fulfillment, durable ledgers ou encore CI/CD (site officiel : temporal.io).

Quand utiliser Temporal

Les trois questions du chapitre 01 sont une excellente heuristique :

  • est-ce que mon workflow dure plus longtemps qu une requête unique ?
  • est-ce qu il contient plusieurs étapes qui doivent toutes bien s enchaîner ?
  • est-ce que je serais mal si ça crashait au milieu ?

Si la réponse est oui à l une de ces questions, Temporal devient très vite un candidat sérieux.

Plus concrètement, Temporal devient intéressant quand vous avez besoin de :

  • gérer des workflows long-running,
  • maintenir un état par instance,
  • attendre un événement externe ou une validation humaine,
  • déclencher des retries à l échelle d un flux métier complet,
  • observer finement ce qu il se passe à l exécution,
  • faire évoluer votre logique sans perdre les exécutions déjà en cours.

Quand ne pas utiliser Temporal

Un bon moteur d orchestration ne devient pas une réponse universelle. Les slides sont très claires sur ce point :

  • une requête HTTP rapide et synchrone n a pas besoin de Temporal,
  • un simple job background fire-and-forget reste souvent plus simple dans Celery ou RQ,
  • un CRUD pur sans orchestration devient vite de l overkill,
  • un ETL batch quotidien peut rester très confortable dans Airflow, dbt, Prefect ou Dagster selon le contexte.

Autrement dit : Temporal n est pas la bonne réponse à tous les problèmes. C est la bonne réponse à une famille très précise de problèmes difficiles.

Temporal vs Celery, Airflow, Step Functions et le bricolage maison

Solution Ce qu elle fait bien Quand Temporal prend l avantage
Celery / RQ Jobs background simples, fire-and-forget Workflows multi-étapes, stateful, observables, avec reprise globale
Airflow / Prefect / Dagster DAGs et orchestration batch / data Flux temps réel, par instance, réactifs et code-first
AWS Step Functions State machines managées dans AWS Portabilité, développement local, langage complet plutôt qu une DSL JSON
Redis + cron + SQL maison Mise en place très rapide au départ Fiabilité, replay, visibilité, retries, versioning et maintenance long terme

Le point fort de Temporal n est pas de remplacer brutalement tous ces outils. Son point fort est de couvrir la zone où la complexité applicative commence à dépasser le confort d une queue de jobs, sans pour autant vous obliger à basculer dans une DSL ou un système trop déclaratif.

Pourquoi Temporal excite autant les profils infra, backend et tech fanboys

Il y a un vrai plaisir d ingénierie derrière Temporal. Le produit donne une impression rare : celle d une abstraction haut niveau qui simplifie vraiment sans gommer la maîtrise technique. On continue d écrire du code. On garde la lecture métier. Mais on délègue à la plateforme la partie la plus pénible de l exécution distribuée.

Découvrez  Top5 des vidéos devops en août 2020 !!!

Pour beaucoup d équipes, c est la fin du syndrome suivant : une logique métier simple au tableau blanc devient un monstre de coordination en production. Avec Temporal, cette traduction reste beaucoup plus proche de l intention initiale.

Et pour les amateurs de systems design, la promesse est élégante :

  • le code reste proche du domaine,
  • la résilience devient native,
  • la reprise n est pas une rustine,
  • la visibilité fait partie du modèle,
  • la testabilité est pensée dès le départ.

Pourquoi Temporal parle aussi très fort au monde IA et agents

Le site de Temporal met aujourd hui largement en avant les use cases AI et agentic workflows (site officiel : temporal.io). Ce n est pas un hasard. Un agent LLM réel ne se limite pas à une completion unique. Il enchaîne des appels à des outils, attend des réponses externes, gère des échecs transitoires, stocke du contexte, repart parfois plusieurs heures plus tard et doit rester observable.

Exactement le terrain de jeu de Temporal.

Les slides de l introduction citent déjà les AI agents and LLM pipelines parmi les cas d usage. C est probablement un des angles les plus importants pour comprendre l actualité du projet : la durable execution n est pas seulement utile aux systèmes financiers ou e-commerce. Elle devient de plus en plus critique pour les applications IA qui veulent sortir du prototype.

Premier setup local en Python

Le repo d apprentissage propose un chemin très concret pour tester Temporal en local avec le SDK Python (README : README, Python SDK : python.temporal.io).

temporal server start-dev
uv run 05-hello-world/worker.py
uv run 05-hello-world/starter.py

Ce premier run suffit déjà à visualiser l intérêt de la plateforme :

  • un serveur Temporal local,
  • un worker qui exécute workflows et activities,
  • un client qui démarre une exécution,
  • une Web UI accessible sur http://localhost:8233.

Si vous voulez aller plus loin après cette introduction, la doc officielle propose un quickstart et des guides par langage : Quickstarts, Developer guide Python, samples Python.

Liens utiles autour de Temporal

FAQ rapide sur Temporal

Temporal remplace-t-il Celery ?

Pas systématiquement. Pour un simple job asynchrone sans état long terme, Celery ou RQ peuvent rester plus simples. Temporal devient nettement plus intéressant dès que la logique est multi-étapes, longue, critique ou interactive.

Temporal remplace-t-il Airflow ?

Pas complètement. Airflow reste très adapté à certains pipelines batch et data orchestrations. Temporal prend souvent l avantage sur les workflows applicatifs temps réel, événementiels et par instance.

Temporal est-il lié à AWS ?

Non. C est justement un des arguments rappelés dans les slides face à Step Functions : Temporal est vendor-neutral, peut se lancer en local et peut être self-hosted ou consommé via Temporal Cloud.

Est-ce que Temporal est pertinent pour les agents IA ?

Oui, et c est même un des messages forts du site officiel actuel. Quand un agent doit enchaîner outils, retries, pauses, interactions humaines et suivi d exécution, la durable execution devient très vite un besoin concret.

Est-ce que Temporal est compliqué à tester ?

La plateforme est justement pensée pour rendre les workflows testables, notamment grâce au replay et aux outils des SDKs. Les slides de la série annoncent d ailleurs plus loin un chapitre dédié au replay testing.

Conclusion

Temporal n est pas un gadget d architecture, ni un énième scheduler rebrandé. C est une réponse très sérieuse à un problème classique du logiciel distribué : comment faire tenir dans le temps une logique métier complexe sans la dissoudre dans de la plomberie de fiabilité.

Ce qui rend le projet passionnant, c est ce mélange assez rare entre élégance conceptuelle et impact pratique. Les workflows restent lisibles. Les crashes deviennent gérables. L observabilité fait partie du système. Et des cas d usage modernes comme les agents IA trouvent enfin une base d exécution qui ne repose pas sur du bricolage.

Si vous aimez les technos qui enlèvent du chaos au lieu d en ajouter, Temporal mérite clairement qu on s y attarde. Et si vous voulez suivre le sujet pas à pas, le meilleur point de départ reste cette première vidéo et la suite de la série Xavki.

Explorer les formations Xavki

Pour apprendre dans l ordre, repartez depuis la roadmap ou une playlist thematique.