---
title: "Déployer Flask par MCP, avec while.sh"
url: https://while.sh/fr/guides/appli-flask/
author: "Aloïs Oddon, cofondateur de Nextmap"
updated: 2026-11-02
---

# Mettre en ligne une appli Flask depuis votre agent IA, par MCP

Votre appli Flask tourne en local. Branché à while par MCP, votre agent IA la met en ligne en France, servie par gunicorn plutôt que par le serveur de développement, avec sa base PostgreSQL sauvegardée chaque jour.

## Prérequis

- Une appli Flask, avec un fichier requirements.txt.
- 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 appli, et collez-lui ces instructions :

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

Sans compte, votre agent met votre appli en ligne à l'essai, en une demande. Pour la garder, ouvrez le lien qu'il vous donne et créez votre compte.

Avec votre compte, 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 votre appli, ou « Une nouvelle appli », puis cliquez sur Autoriser.

## Étape 2 : Ouvrez votre appli

Votre agent vous donne l'adresse de votre appli, par exemple `https://mon-appli.while.cloud`, en HTTPS.

## Ce que fait votre agent

Il écrit while.yaml à la racine de votre appli :

```yaml titre="while.yaml"
apiVersion: while/v1
project: mon-appli
services:
  - name: web
    port: 8000
    health:
      path: /
```

Puis il ajoute gunicorn à requirements.txt (source 1), et un Procfile qui le lance sur le port reçu dans `PORT`. Le nom `app:app` suit votre fichier, et votre agent l'adapte :

```text titre="Procfile"
web: gunicorn app:app --bind 0.0.0.0:$PORT
```

Votre appli est installée, vos tests pytest tournent, puis elle démarre.

## 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.

## Lancer un travail chaque nuit

> Vous, à votre agent : Lance l'import des données chaque nuit à 3 h.

Votre agent déclare une tâche planifiée, qui part à l'heure dite avec le même code et les mêmes variables. Si elle échoue, votre agent est prévenu.

## Réserver votre appli à vos collègues

> Vous, à votre agent : Réserve l'appli aux personnes de l'entreprise.

Votre agent ajoute deux lignes au service :

```yaml titre="while.yaml"
    access: internal
    email_domains: [acme.fr]
```

Une fois votre Google Workspace ou Microsoft 365 relié à while, avec l'offre Pro, vos collègues l'ouvrent avec leur compte habituel, et votre code reçoit leur nom et leur adresse électronique, sans page de connexion à écrire.

## Passer sur votre propre domaine

> Vous, à votre agent : Mets l'appli sur app.acme.fr.

Votre agent déclare le domaine, vous ajoutez les enregistrements DNS qu'il vous donne, et le certificat HTTPS suit.

## Corriger une faille dans vos dépendances

> Vous, à votre agent : Corrige les failles de nos dépendances.

Les dépendances de votre appli sont comparées aux failles connues à chaque mise en ligne, puis chaque jour. Votre agent est prévenu d'une faille grave, et met à jour le paquet en cause.

## Revenir à la version d'avant

> Vous, à votre agent : Reviens à la version d'avant.

Dans les 30 minutes qui suivent une mise en ligne, la version d'avant revient en une seconde. Ensuite, en quelques secondes. Une fois la version d'avant revenue, votre agent lit ce qui a cassé dans les journaux de while, corrige et remet en ligne.

## Prochaines étapes

- [Mettre en ligne une API FastAPI](/fr/guides/api-fastapi/)
- [Mettre en ligne une appli Django](/fr/guides/appli-django/)
- [Comparer les hébergements d'API Python](/fr/comparatifs/hebergement-api-python/)

## Sources

1. [Flask, servir l'appli avec gunicorn](https://flask.palletsprojects.com/en/stable/deploying/gunicorn/), 2026-11-02

## Questions

### Faut-il écrire un Dockerfile ?

Non. Votre appli Python est reconnue, installée depuis requirements.txt et lancée par la ligne web du Procfile.

### Pourquoi pas flask run ?

C'est le serveur de développement : en ligne, gunicorn sert vos pages, comme le conseille Flask (source 1).

### Mes tests tournent-ils ?

Oui, pytest tourne à chaque mise en ligne, et une version qui échoue ne remplace pas celle d'avant.

### Où est hébergée mon appli ?

En France, par Nextmap, une entreprise française.
