Menu
Français

Générateur d'expression cron

Créez, décodez et prévisualisez des plannings cron avec les prochaines exécutions.

Dernière mise à jour

Préréglages
Expression
Minute*/15
Heure*
Jour du mois*
Mois*
Jour de la semaine*
En clairValide

Toutes les 15 minutes

5 prochaines exécutions (heure locale)
  • 12026-04-26 21:45 Sun
  • 22026-04-26 22:00 Sun
  • 32026-04-26 22:15 Sun
  • 42026-04-26 22:30 Sun
  • 52026-04-26 22:45 Sun

Qu'est-ce qu'une expression cron ?

Une expression cron est une façon compacte de décrire une planification récurrente. C'est la même syntaxe que celle utilisée par cron sous Unix — l'ordonnanceur Linux historique — et elle s'est répandue dans à peu près tous les outils d'exécution de tâches que vous croiserez : CronJobs Kubernetes, planifications GitHub Actions, AWS EventBridge, Cloudflare Workers, cron de Vercel, et la plupart des plateformes CI/CD.

Le format peut sembler intimidant, mais ce ne sont en réalité que cinq champs séparés par des espaces : minute, heure, jour du mois, mois, jour de la semaine. Chaque champ accepte un nombre, une liste (1,15), un intervalle (9-17), un pas (*/5) ou un joker (*). Un bon outil cron traduit l'expression en français clair et affiche les prochaines exécutions, ce qui vous permet de vérifier avant de déployer.

Certaines plateformes étendent la syntaxe classique à 5 champs en ajoutant un champ *secondes* en tête (Quartz, Spring, Kubernetes 6 champs) ou un champ *année* à la fin. Vérifiez toujours quel format votre ordonnanceur attend avant de coller une expression.

Ce que vous allez apprendre en construisant des planifications cron

  • Une expression cron standard comporte 5 champs : minute, heure, jour du mois, mois, jour de la semaine.
  • * signifie « toutes les valeurs » pour ce champ — c'est la raison la plus fréquente pour qu'une tâche se déclenche plus souvent que prévu.
  • */N signifie « tous les N » — */5 dans le champ minute correspond à « toutes les 5 minutes ».

Écrire une expression cron, étape par étape

  1. Partez d'un modèle

    Choisissez un modèle proche de ce que vous voulez : Toutes les minutes, Toutes les heures, Tous les jours à 9h, En semaine à 9h, Tous les mois. L'expression apparaît dans l'éditeur.

  2. Ajustez chaque champ

    Modifiez la minute, l'heure, le jour du mois, le mois, le jour de la semaine. Utilisez * pour n'importe quelle valeur, des listes avec virgules, des intervalles (9-17) ou des pas (*/15).

  3. Lisez l'explication en français

    L'outil traduit votre expression en une phrase (À 09h00 chaque jour ouvré). Si la phrase ne correspond pas à ce que vous vouliez, c'est que l'expression est fausse.

  4. Prévisualisez les prochaines exécutions

    Vérifiez les 5 à 10 prochains horaires d'exécution dans votre fuseau local. Faites attention aux changements d'heure si la planification tombe près de la transition.

  5. Copiez dans votre ordonnanceur

    Collez l'expression dans votre crontab, votre workflow GitHub Actions, votre CronJob Kubernetes ou n'importe quel autre ordonnanceur que vous utilisez.

Aide-mémoire des champs cron

Les cinq champs d'une expression cron standard, dans l'ordre. Référence : la page de manuel POSIX crontab(5).

PositionChampPlageCaractères spéciaux
1Minute0–59* , - /
2Heure0–23* , - /
3Jour du mois1–31* , - / ? (selon les dialectes)
4Mois1–12 ou JANDEC* , - /
5Jour de la semaine0–6 (dim=0) ou SUNSAT* , - /

Exemples d'expressions cron à essayer

Toutes les 5 minutes

Expression

*/5 * * * *

Se lit

Toutes les 5 minutes — au début de l'heure puis toutes les 5 minutes ensuite.

Les pas (*/5) sont la façon la plus simple d'exprimer « toutes les N » sans énumérer chaque valeur. Très utilisé pour les health checks et les jobs de polling.

Jours ouvrés à 9h

Expression

0 9 * * 1-5

Se lit

À 09h00 du lundi au vendredi.

L'intervalle 1-5 sur le jour de la semaine correspond à lundi–vendredi. Idéal pour les rappels en heures de bureau ou les digests envoyés uniquement en semaine.

Le 1er de chaque mois à minuit

Expression

0 0 1 * *

Se lit

À 00h00 le 1er jour de chaque mois.

Le jour du mois à 1 et * partout ailleurs vous donne une vraie tâche mensuelle. Classique pour la facturation, les rapports et les tâches de rotation.

Deux fois par heure, en heures de bureau, en semaine

Expression

0,30 9-17 * * 1-5

Se lit

Aux minutes 0 et 30, entre 09h00 et 17h00, du lundi au vendredi.

Une liste avec virgules (0,30), un intervalle (9-17) et les jours ouvrés. Le genre de planification typique pour un rafraîchissement BI ou un vidage de file qui n'a de sens que pendant les heures de travail.

Erreurs courantes avec cron

  • Oublier le fuseau horaire. La plupart des démons cron se déclenchent dans le fuseau du *serveur* — pas le vôtre. Définissez le fuseau explicitement quand la plateforme le permet.
  • Renseigner à la fois le jour du mois et le jour de la semaine. En cron Unix classique, la tâche se déclenche dès qu'*un des deux* correspond — ce qui surprend presque tout le monde la première fois.
  • Utiliser */45 en pensant que ça se déclenche toutes les 45 minutes. Les pas sont calculés à partir de 0, donc */45 se déclenche à 0 et 45 — pas à un vrai intervalle de 45 minutes.

FAQ sur les expressions cron

Comment écrit-on une expression cron ?
Une expression cron standard a cinq champs séparés par des espaces : minute, heure, jour du mois, mois, jour de la semaine. Utilisez * pour *toutes les valeurs*, un nombre pour une valeur précise, une liste à virgules (1,15), un intervalle (9-17) ou un pas (*/5).
Que signifie */5 * * * * ?
Ça veut dire « toutes les 5 minutes ». Le */5 du champ minute déclenche la tâche à la minute 0 puis toutes les 5 minutes — 0, 5, 10, 15, …, 55 — et le * dans tous les autres champs signifie que ça s'exécute à chaque heure, chaque jour, chaque mois, chaque jour de la semaine.
Quel fuseau horaire utilise cron ?
Par défaut, cron utilise le fuseau horaire du système sur lequel il tourne. La plupart des ordonnanceurs cloud permettent de définir un fuseau explicitement (TZ=Europe/Paris, expressions de planification AWS, etc.). Dans le doute, stockez vos planifications en UTC.
Une expression cron peut-elle se déclencher chaque seconde ?
Le cron standard à 5 champs a la minute comme plus petite unité, donc la résolution maximale est d'une minute. Le cron Quartz, le cron Spring et certaines versions de Kubernetes ajoutent un 6e champ *secondes* pour des planifications inférieures à la minute.
Quelle différence entre 0 0 * * 0 et 0 0 * * 7 ?
Les deux signifient dimanche à minuit. Le jour de la semaine va de 0 à 6 (dim–sam) dans la plupart des implémentations cron, mais 7 est aussi accepté comme dimanche, par compatibilité avec certains dialectes.

Autres outils pour développeurs

Apprendre à coder avec Coddy

COMMENCER