# Tâches planifiées

> Lancer une commande à heure fixe (export, nettoyage, envoi d'e-mails) : la fréquence, l'expression cron, et le planificateur Laravel.

Source : https://docs.fransys.cloud/projets/taches-planifiees/ Vérifié sur la console le 2026-10-23.

## Ajouter une tâche

Dans le panneau d'une application, onglet **Tâches planifiées**, cliquez sur **Ajouter une tâche planifiée** :
- **Commande** : ce qui sera lancé, dans le conteneur du service (par exemple `php artisan reports:send` ou `node scripts/nettoyage.js`) ;
- **Planification** : quand ;
- **Activée** : décochez pour suspendre la tâche sans la supprimer.

La tâche s'applique au prochain déploiement du projet.

## Choisir la fréquence

- **Chaque jour**, avec l'**Heure d'exécution** ;
- **Chaque semaine**, avec le **Jour de la semaine** et l'heure ;
- **Chaque mois**, avec le **Jour du mois** et l'heure ;
- **Personnalisée** : une expression cron.

La console traduit toujours la planification en phrase, par exemple « Cette tâche s'exécutera chaque lundi à 03:00 ». Relisez-la avant d'enregistrer.

## L'expression cron

Cinq champs séparés par des espaces, dans l'ordre : **Minute**, **Heure**, **Jour du mois**, **Mois**, **Jour de la semaine** (0 ou 7 = dimanche).

| Expression | Ce que dit la console |
|---|---|
| `0 3 * * *` | chaque jour à 03:00 |
| `*/15 * * * *` | toutes les 15 minutes |
| `30 8 * * 1-5` | à 08:30, du lundi au vendredi |
| `0 0 1 * *` | le 1er de chaque mois à 00:00 |

Un jour du mois au-delà du 28 saute les mois trop courts : la console le signale.

## Le planificateur Laravel

Sur un service Laravel, **Lancer le planificateur Laravel** exécute `schedule:run` pour vous. Vos tâches restent décrites dans votre code (`routes/console.php` ou `app/Console/Kernel.php`).

## Avec votre agent

Votre agent sait ajouter une tâche planifiée dans un plan. Demandez-lui par exemple : « Ajoute une tâche qui lance `php artisan backup:clean` chaque nuit à 2 h et prépare le plan. »
