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

# Mettre en ligne une appli Django et sa base PostgreSQL depuis votre agent IA, par MCP

Votre agent IA connaît Django par cœur. Branché à while par MCP, il met aussi votre appli en ligne, avec sa base PostgreSQL sauvegardée chaque jour, en France, sans Dockerfile ni serveur à gérer.

## Prérequis

- Une appli Django, 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
databases:
  - name: main
```

Puis il ajoute gunicorn et WhiteNoise à requirements.txt, une route `/health` qui répond 200, et un Procfile qui applique les migrations avant chaque démarrage :

```text titre="Procfile"
web: python manage.py migrate --noinput && python manage.py collectstatic --noinput && gunicorn monsite.wsgi --bind 0.0.0.0:$PORT
```

Il règle settings.py pour la production, en suivant la liste de contrôle de Django (source 1) : `DEBUG` coupé, la clé secrète et `ALLOWED_HOSTS` lus dans l'environnement, la base lue dans `DATABASE_URL`, l'adresse de votre appli dans `CSRF_TRUSTED_ORIGINS`, et vos fichiers statiques servis par WhiteNoise. Votre appli est installée, vos tests pytest tournent, puis elle démarre.

## Régler Django derrière PgBouncer

> Vous, à votre agent : Vérifie que Django marche bien derrière PgBouncer.

`DATABASE_URL` passe par PgBouncer en mode transaction. Votre agent coupe les curseurs côté serveur, comme le conseille Django (source 2) :

```python titre="settings.py"
DATABASES["default"]["DISABLE_SERVER_SIDE_CURSORS"] = True
```

## Lancer une commande de gestion chaque nuit

> Vous, à votre agent : Lance la commande clearsessions chaque nuit à 3 h.

Votre agent déclare une tâche planifiée, qui lance `python manage.py clearsessions` à l'heure dite, avec le même code et la même base. Si elle échoue, votre agent est prévenu.

## Interroger votre base depuis votre agent

> Vous, à votre agent : Combien d'inscrits cette semaine ?

Votre agent lit votre base en SQL par le serveur MCP de while, avec vos droits sur les données, sans pouvoir y écrire.

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

## Voir une nouvelle version avant de la mettre en ligne

> Vous, à votre agent : Montre-moi la nouvelle version avant de la mettre en ligne.

Votre agent ouvre une prévisualisation, à son adresse à elle, avec ses propres données. Vous la regardez, puis il la met en production.

## 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/)
- [Comparer les hébergements d'API Python](/fr/comparatifs/hebergement-api-python/)
- [Choisir un PaaS français](/fr/comparatifs/paas-francais/)

## Sources

1. [Django, la liste de contrôle du déploiement](https://docs.djangoproject.com/en/5.2/howto/deployment/checklist/), 2026-11-02
2. [Django, les curseurs côté serveur derrière un regroupement de connexions par transaction](https://docs.djangoproject.com/en/5.2/ref/databases/#transaction-pooling-and-server-side-cursors), 2026-11-02

## Questions

### Faut-il écrire un Dockerfile ?

Non. Votre appli Django est reconnue, installée depuis requirements.txt et lancée avec gunicorn.

### Mes migrations sont-elles appliquées ?

Oui, avant chaque démarrage, par la ligne web du Procfile. Si l'une échoue, la version d'avant reste en ligne.

### Combien coûte une appli Django avec sa base ?

Avec l'offre Libre, vous ne payez que les ressources. Une appli qui utilise au plus 0,25 vCPU et 0,5 Gio de mémoire, avec une base S et son disque de 1 Gio, paie au plus 13,75 € par mois, hors taxes.

### Puis-je garder l'admin de Django ?

Oui, avec son style, et réservée aux personnes de l'entreprise si vous le voulez, qui entrent avec leur compte habituel.

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

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