---
title: "Lancer un cron par MCP, sans serveur, avec while.sh"
url: https://while.sh/fr/guides/tache-planifiee/
author: "Aloïs Oddon, cofondateur de Nextmap"
updated: 2026-11-02
---

# Lancer un script à heure fixe depuis votre agent IA, sans serveur

Un rapport chaque matin, un import chaque nuit ? Dites l'heure à votre agent : branché à while par MCP, il programme votre script, et vous savez toujours s'il a tourné.

## Prérequis

- Un script Python, Node.js ou Go, avec son requirements.txt, son package.json ou son go.mod : votre agent l'ajoute s'il manque.
- Un agent IA qui travaille dans un terminal : Claude Code, Codex, Cursor ou Gemini CLI.

## Étape 1 : Donnez ces instructions à votre agent

Ouvrez votre agent dans le dossier de votre script, et collez-lui ces instructions :

```text titre="Instructions"
Connecte-toi à while avec mon compte (while.sh/agents), puis mets mon appli en ligne.
```

Votre agent ajoute lui-même le serveur MCP de while. S'il vous le demande, relancez-le. Au premier appel à while, une page s'ouvre dans votre navigateur. Dans Claude Code, si elle ne s'ouvre pas, tapez /mcp, choisissez while, puis Authenticate. Sur cette page, choisissez « Une nouvelle appli », puis cliquez sur Autoriser.

## Étape 2 : Suivez les passages

Votre agent vous dit quand le script partira, et vous donne le résultat de chaque passage.

## Ce que fait votre agent

Il écrit while.yaml à côté de votre script :

```yaml titre="while.yaml"
apiVersion: while/v1
project: mon-script
crons:
  - name: rapport
    schedule: "0 7 * * *"
    timezone: Europe/Paris
    command: [python, rapport.py]
    source: .
```

Le rythme se lit en une ligne : `0 7 * * *`, c'est chaque jour à 7 h (source 1). Un passage qui finit avec le code 0 a réussi.

## Lancer le script tout de suite

> Vous, à votre agent : Lance le rapport maintenant.

Votre agent lance un passage sans attendre l'heure, et vous donne son résultat.

## Savoir si tout s'est bien passé

> Vous, à votre agent : Le rapport de ce matin est-il parti ?

Chaque passage est noté avec sa durée, son code de sortie et les dernières lignes de son journal. Un passage qui échoue ou qui manque prévient votre agent.

## Rattraper une période manquée

> Vous, à votre agent : Relance l'import des trois derniers jours.

Votre agent relance la tâche sur la période : votre script en reçoit les dates de début et de fin, et votre agent l'écrit pour ne traiter qu'elles.

## Ajouter une base de données

> Vous, à votre agent : Ajoute une base PostgreSQL.

Votre agent déclare la base dans while.yaml, et son adresse arrive à votre code dans `DATABASE_URL`. Elle est sauvegardée chaque jour, et revient à un instant précis si besoin.

## Prochaines étapes

- [Mettre en ligne une API Node.js et sa base PostgreSQL](/fr/guides/api-node-postgresql/)
- [Ajouter un cache compatible Redis](/fr/guides/cache-redis/)
- [Comparer les hébergeurs qui ont un serveur MCP](/fr/comparatifs/hebergement-appli-claude-code/)

## Sources

1. [Le manuel Linux, crontab(5), les cinq champs d'une ligne cron](https://man7.org/linux/man-pages/man5/crontab.5.html), 2026-11-01

## Questions

### Mon script peut-il lire la base de mon appli ?

Oui, il reçoit les mêmes variables que votre appli, adresse de la base comprise.

### Qui peut ouvrir mon script depuis internet ?

Personne : une tâche planifiée n'a pas d'adresse publique.

### Dans quel fuseau horaire ?

Celui que vous choisissez, l'heure française par défaut.
