Prochaines exécutions d’un cron
À partir d’une expression cron, cet outil calcule les prochaines dates et heures auxquelles la tâche s’exécutera : les cinq, dix ou vingt occurrences à venir, en clair. C’est la meilleure façon de confirmer qu’une planification tombe bien aux moments voulus avant de la mettre en service. Le calcul se fait dans votre navigateur.
Lancer gratuitement
Tout se passe dans votre navigateur : gratuit, sans envoi de vos données.
Voir les dates, pas seulement la règle
Une expression cron décrit une règle, mais l’esprit peine à en déduire les dates réelles. En affichant les prochaines occurrences — jour et heure précis — l’outil rend la planification tangible. Vous constatez, par exemple, que « 0 9 1 * * » tombe le premier de chaque mois à 9 h, et vous vérifiez que la toute première échéance correspond bien à ce que vous attendez, sans mauvaise surprise.
Anticiper les cas particuliers
Certaines expressions cachent des surprises : une tâche prévue « le 31 » saute les mois qui n’ont pas de 31e jour ; une planification autour du changement d’heure peut se décaler. Lister les dates à venir met ces cas en lumière avant qu’ils ne posent problème en production. Mieux vaut le voir sur un écran de vérification que dans un incident au milieu de la nuit.
Calcul local, sans envoi
L’expression reste dans votre navigateur : les prochaines dates se calculent sur cette page, sans transmission ni conservation. Pour intégrer ce calcul à un tableau de bord ou un outil interne via l’API, chaque requête revient à $0.002, en dollars US ; l’usage manuel demeure gratuit et sans limite. Le web est le canal principal ; l’API n’intervient que pour l’automatisation, sans que votre expression ne sorte du navigateur.
Cas d’usage
Vérifier une nouvelle planification
Avant de l’activer, Sophie Nguyen liste les cinq prochaines exécutions de sa tâche et confirme qu’elles tombent bien chaque lundi à 3 h.
Prévoir une fenêtre de maintenance
Menuiserie Rousseau & Fils vérifie les dates à venir d’un traitement nocturne pour ne pas le faire coïncider avec une intervention prévue.
Contrôler un cas de fin de mois
Thomas Rousseau constate qu’une tâche calée « le 31 » ne s’exécutera pas en février ni en avril, et ajuste aussitôt son expression.
Questions fréquentes
Combien de dates l’outil affiche-t-il ?
Il liste les prochaines occurrences à venir — plusieurs d’affilée — pour que vous puissiez confirmer le rythme réel de la tâche, pas seulement la première échéance.
Que se passe-t-il pour une tâche prévue le 31 ?
Elle est ignorée les mois sans 31e jour, comme février ou avril. Lister les dates à venir le montre clairement, ce qui évite de croire à tort à une exécution mensuelle systématique.
Le changement d’heure est-il pris en compte ?
Le passage à l’heure d’été ou d’hiver peut décaler une exécution proche de la bascule. Voir les dates précises permet de repérer ce décalage avant la mise en service.
Mon expression est-elle transmise quelque part ?
Non. Le calcul des prochaines dates se fait dans votre navigateur, sans envoi ni enregistrement.
Est-ce gratuit ?
Oui, sans limite dans le navigateur. Pour intégrer le calcul via l’API, le tarif est de $0.002 par requête, en dollars US, sans abonnement.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/dev/cron-next \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"items":["valor-1","valor-2"]}'const res = await fetch("https://api.kit.forhosting.com/dev/cron-next", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"items": [
"valor-1",
"valor-2"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/cron-next",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"items": [
"valor-1",
"valor-2"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/cron-next", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"items":["valor-1","valor-2"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"items":["valor-1","valor-2"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/cron-next", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"items": [
"valor-1",
"valor-2"
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.cron_next",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |