---
title: "Tâches planifiées : lancez un travail à heure fixe | Briks"
url: https://briks.dev/fr/docs/crons
description: "Planifiez une tâche sur votre site : résumé matinal, nettoyage hebdo. Écrivez l'horaire, lisez chaque exécution, corrigez un échec, voyez les limites du plan."
last_updated: 2026-10-08
---

# Tâches planifiées : lancez un travail à heure fixe

Une tâche planifiée exécute quelque chose sur votre site à des heures fixes sans que personne n'appuie sur un bouton : un résumé chaque matin, un grand nettoyage chaque dimanche soir. Vous les trouvez dans les **Settings** du projet, sous **Scheduled tasks**. Cette page montre comment en créer une, lire ses exécutions et réparer une tâche qui échoue.

8 minutes de lecture Vérifié par rapport au studio le 8 octobre 2026

## Ce que fait une tâche planifiée

Une tâche planifiée est un appel que Briks effectue selon un calendrier. Elle appelle soit une **route** de votre site (une adresse sous `/api/` qui exécute du code au lieu d'afficher une page), soit une autre adresse https publique, par exemple un service que vous utilisez. C'est cette adresse qui fait le travail. Briks effectue l'appel à l'heure prévue et enregistre ce qui revient.

Une tâche a donc besoin de quelque chose à appeler. Si votre site n'a pas encore de route pour ce travail, demandez-en une dans le studio, puis dirigez une tâche vers elle. Tant qu'il n'y a aucune tâche, la page affiche **No scheduled tasks** et résume les travaux habituels : envoyer un récapitulatif quotidien, nettoyer d'anciens enregistrements ou se synchroniser avec un autre service.

Les tâches s'exécutent que le site soit publié ou non, aux heures que vous définissez, dans le fuseau horaire que vous choisissez. La section propose trois vues : **Tasks**, **Runs** et **Settings**.

Où

1. Projects
2. Your project
3. Settings
4. Scheduled tasks

## Limites de chaque plan

| Plan | Tâches planifiées par projet | Appels par jour et par projet |
| --- | --- | --- |
| Free | 1 | 2,000 |
| Starter | 5 | 5 000 |
| Pro | 10 | 10,000 |
| Studio | 25 | 50,000 |
| Agency | 50 | 100 000 |

Les appels du jour sont partagés entre les exécutions de tâches et les tentatives d'envoi des webhooks, et la journée commence à minuit UTC.

La vue **Tasks** indique où vous en êtes, par exemple 2 sur 5 avec votre offre, et **Add task** est grisé une fois la limite atteinte. Un lien **Get more** apparaît alors à côté du compteur et ouvre la fenêtre de mise à niveau, qui indique la plus petite offre ayant de la place pour une tâche de plus. Une exécution qui dépasserait les appels du jour est marquée **Skipped**. Les offres sont comparées sur [Facturation](https://briks.dev/fr/docs/billing).

Choisissez un intervalle raisonnable

Une tâche qui s'exécute chaque minute fait à elle seule 1 440 appels par jour. Sur l'offre Free, avec 2 000 appels par jour, il reste peu de place pour le reste. Toutes les 5 ou 15 minutes suffisent pour la plupart des tâches, et une fois par jour suffit pour des résumés.

## Ajouter une tâche planifiée

1. Appuyez sur Add task

   Où : Settings, Scheduled tasks

   La boîte de dialogue **Add a scheduled task** s'ouvre. Les Editors, les Admins et les Owners peuvent ajouter des tâches.

2. Donnez-lui un nom

   Où : Add a scheduled task

   Donnez-lui un nom court que vous reconnaîtrez dans la liste des exécutions, par exemple `Daily digest`. 60 caractères au maximum.

3. Définir le calendrier

   Où : Add a scheduled task

   Saisissez un calendrier dans **Schedule** ou appuyez sur l'un des boutons en dessous. La section suivante explique le format.

4. Choisissez le fuseau horaire

   Où : Add a scheduled task

   Le **Time zone** est d'abord le vôtre. Un encadré en dessous décrit le calendrier en toutes lettres et indique les cinq prochaines exécutions dans ce fuseau, pour que vous puissiez vérifier avant d'enregistrer.

5. Indiquez ce qu'il appelle

   Où : Add a scheduled task

   Sous **What it calls**, choisissez **A route on this site** et saisissez son chemin (il commence par `/api/`), ou **Another address** et saisissez une adresse https complète. Pour une route, l'indication sous le champ affiche l'adresse complète qui sera appelée.

6. Choisissez POST ou GET

   Où : Add a scheduled task

   **POST** envoie un court message avec l'appel, ce qu'attendent la plupart des routes conçues pour une tâche. **GET** demande seulement l'adresse. Si vous hésitez, laissez POST.

7. Enregistrer

   Où : Add a scheduled task

   Appuyez sur **Add task**. Elle n'est enregistrée que lorsque le planificateur l'a prise en charge : chaque tâche de la liste est donc une tâche qui s'exécute.

## Rédiger une planification

Une planification se compose de cinq valeurs séparées par des espaces : minute, heure, jour du mois, mois et jour de la semaine. Un `*` signifie chaque. Si ce que vous saisissez est illisible, la zone indique ce qui ne va pas, par exemple quelle valeur est hors limites.

| Vous voulez | Type | L'aperçu indique |
| --- | --- | --- |
| Chaque matin à 7 h | `0 7 * * *` | Tous les jours à 07:00 |
| En semaine à 18 h 30 | `30 18 * * 1-5` | Chaque jour de semaine à 18:30 |
| Toutes les 15 minutes | `*/15 * * * *` | Toutes les 15 minutes |
| Toutes les deux heures, pile à l'heure | `0 */2 * * *` | Toutes les 2 heures, pile à l'heure |
| Les dimanches à 11 h du soir | `0 23 * * 0` | Tous les dimanches à 23:00 |
| Le 1er de chaque mois à 6 heures du matin | `0 6 1 * *` | Le 1er de chaque mois à 06:00 |

Les jours de la semaine vont de 0 (dimanche) à 6 (samedi), et 7 correspond aussi au dimanche. Vous pouvez aussi écrire des noms comme `mon` ou `jan`, des listes comme `1,3,5`, des plages comme `1-5` et des pas comme `*/10`. Les raccourcis fonctionnent également : `@hourly`, `@daily`, `@weekly`, `@monthly` et `@yearly`.

Les boutons sous le champ le remplissent pour vous : **Every 5 minutes**, **Every hour**, **Every day at 09:00**, **Mondays at 09:00** et **First of the month**.

Deux précisions

Si vous limitez à la fois le jour du mois et le jour de la semaine, un jour qui correspond à l'un ou à l'autre s'exécute. Et lors du changement d'heure, une heure qui survient deux fois s'exécute une seule fois, tandis qu'une heure que l'horloge saute s'exécute juste après le changement, si bien qu'une tâche quotidienne à 02:30 n'est jamais manquée.

## Ce que chaque appel contient

Une tâche attend une réponse pendant 30 secondes au maximum. Chaque appel porte un `user-agent` valant `Briks-Cron/1.0` et un en-tête `x-briks-cron` contenant l'identifiant de la tâche, pour que la route sache d'où vient l'appel. Un appel POST envoie aussi un court message JSON (le JSON est un format de texte simple que les programmes savent lire) qui nomme la tâche :

Le corps d'un appel POST

> `{"cron":{"id":"…","name":"Daily digest"},"trigger":"schedule","scheduledFor":"2026-10-09T06:00:00.000Z"}`

`trigger` vaut `manual` quand quelqu'un a appuyé sur **Run now**, et `scheduledFor` vaut alors `null`.

Briks n'appellera pas une adresse située sur un réseau privé, une adresse écrite en chiffres, ni l'une de ses propres adresses, et ne suit pas les redirections : indiquez donc l'adresse finale. Les appels vers une route de votre site passent par son adresse `briks.live`, et si vous changez cette adresse, ils la suivent.

## Les exécutions et le sens de chaque statut

Où

1. Projects
2. Your project
3. Settings
4. Scheduled tasks
5. Runs

**Runs** liste toutes les exécutions des trente derniers jours, la plus récente en premier, planifiées ou lancées à la main. Une exécution lancée à la main porte l'étiquette **By hand**. Avec plusieurs tâches, choisissez-en une dans la case au-dessus de la liste et appuyez sur **Show**. Cliquez sur une exécution pour voir la méthode et l'adresse appelées, l'éventuelle erreur, et le début de la réponse de l'adresse.

| Statut | Ce qui s'est passé |
| --- | --- |
| **Succeeded** | L'adresse a répondu avec un statut 2xx, le code du web pour dire que tout s'est bien passé. |
| **Failed** | Tout le reste : un autre statut (404 signifie introuvable, 500 signifie que le code derrière a échoué), aucune réponse en 30 secondes, une redirection, ou une adresse inaccessible. |
| **Skipped** | Les appels du jour pour le projet ont été épuisés. L'exécution indique : Today's calls for this project are used up. Les exécutions reprennent après minuit (UTC). |

La vue **Tasks** montre la même chose d'un coup d'œil : **Next** et l'heure de la prochaine exécution, **Last** avec le dernier statut, ou **Not run yet**.

## Quand une exécution échoue

Une exécution échouée est enregistrée, mais pas répétée. La suivante arrive à son heure habituelle. Les exécutions manquées pendant que rien ne pouvait les lancer ne sont pas rattrapées non plus : la tâche s'exécute une fois, puis continue normalement.

Une fois la cause corrigée, ouvrez les trois points de la tâche et choisissez **Run now**. Le résultat s'affiche aussitôt, par exemple : Daily digest ran: l'adresse a répondu 200 en 312 ms. Vous pouvez lancer une tâche à la main jusqu'à 20 fois par heure, et chaque exécution compte dans les appels du jour.

| Ce que dit l'exécution | Que faire |
| --- | --- |
| a répondu 404 | Il n'existe aucune route à cet emplacement. Vérifiez l'orthographe, et que la version contenant la route a bien été publiée. |
| a répondu à 500 | La route elle-même a échoué. Ouvrez [Logs](https://briks.dev/fr/docs/logs), choisissez **Requests** et recherchez le chemin pour lire l'erreur. |
| Aucune réponse dans les 30 secondes. | La tâche est trop longue d'un seul coup. Demandez dans le studio la route pour en faire moins par appel, et lancez-la plus souvent. |
| Les redirections ne sont pas suivies : utilisez l'adresse finale. | Ouvrez l'adresse dans un navigateur, copiez l'adresse à laquelle elle aboutit, et changez la tâche pour qu'elle utilise celle-ci. |
| Cette adresse pointe vers un réseau privé et ne peut pas être appelée. | Utilisez une adresse publique. Briks n'appelle jamais les réseaux privés. |

Rendre les tâches sûres à répéter

Toute personne qui connaît l'adresse d'une route peut l'appeler, et vous appuierez sur **Run now** pendant vos tests. Demandez des routes sans danger si elles s'exécutent deux fois : effacer les enregistrements de plus de 90 jours plutôt que les 50 plus anciens.

## Suspendre, modifier ou supprimer

L'interrupteur à côté de chaque tâche la met en pause (une étiquette **Paused** apparaît) et la relance. Dans ses trois points, **Change** ouvre le même formulaire, intitulé **Change task**, et **Delete** l'arrête et supprime son historique d'exécutions. Tout cela demande des droits de modification.

Où

1. Projects
2. Your project
3. Settings
4. Scheduled tasks
5. Settings

La vue **Settings** propose **Download JSON**, un fichier contenant le nom, le calendrier, le fuseau horaire et la cible de chaque tâche. Sa zone de danger contient **Clear history** (les tâches continuent de s'exécuter) et **Delete all** (vous saisissez le nom du projet pour confirmer). Les deux sont réservés aux Owners et aux Admins.

## Exemples concrets

Demandé dans le studio Un résumé quotidien pour un cabinet de kinésithérapie

> Ajoutez une route à /api/daily-summary qui m'envoie par e-mail, en un seul message, les demandes de rendez-vous d'hier.

Une fois la modification publiée, la clinique ajoute une tâche planifiée nommée `Daily summary` avec le calendrier `0 7 * * *`, le fuseau horaire Europe/London, qui appelle POST `/api/daily-summary`. Chaque matin à sept heures, le résumé arrive.

Le récapitulatif part par l'e-mail du site lui-même, désactivé tant que vous ne l'activez pas. Voir [E-mail du site](https://briks.dev/fr/docs/site-email) pour savoir comment faire et connaître le quota mensuel.

Demandé dans le studio Effacer les anciens enregistrements pour une agence de soutien scolaire

> Ajoutez une route à /api/tidy-enquiries qui supprime les demandes de plus de 90 jours.

Une tâche nommée `Tidy enquiries` l'exécute avec `0 23 * * 0`, chaque dimanche à 23 h 00. Le lundi, **Runs** affiche **Succeeded**, et l'ouverture de l'exécution montre ce que la route a répondu.

Avant de lancer un nettoyage de ce type pour la première fois, enregistrez un point de restauration dans les paramètres de l'onglet Database. Si la route supprime plus que prévu, vous pourrez revenir en arrière. Voir [Backups](https://briks.dev/fr/docs/backups).

## À lire ensuite

- [Données et automatisation **Webhooks** Envoyez un message signé à un autre outil à chaque publication, envoi de formulaire ou enregistrement modifié. Contenus, signatures, relances, livraisons.](https://briks.dev/fr/docs/webhooks)
- [Données et automatisation **Journaux** Lisez le journal de création et les requêtes du site sur 24 h, filtrez par niveau ou statut, repérez un formulaire ou une tâche en échec, ou une page lente.](https://briks.dev/fr/docs/logs)
- [Les fonctionnalités de votre site **E-mail du site** Envoyez confirmations et réponses depuis l'adresse de votre site sur emails.briks.live, choisissez où vont les réponses, suivez le quota mensuel.](https://briks.dev/fr/docs/site-email)
- [Données et automatisation **Base de données** Voyez ce que stocke votre site, modifiez ou ajoutez des enregistrements à la main, exportez les collections en JSON ou CSV. Qui peut quoi, et les limites.](https://briks.dev/fr/docs/database)

Toujours bloqué ?

Écrivez à [hello@briks.dev](mailto:hello@briks.dev) en indiquant le nom de votre projet et ce que vous espériez voir. Une capture d'écran aide.
