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

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

Votre agent IA sait déjà écrire du Laravel. Branché à while par MCP, il met aussi votre appli en ligne, en France, avec sa base PostgreSQL sauvegardée chaque jour, avec un Dockerfile de Laravel tout prêt.

## Prérequis

- Une appli Laravel, avec son composer.json et son fichier artisan.
- 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: 8080
    health:
      path: /up
databases:
  - name: main
```

Laravel est reconnu à son composer.json et à son fichier artisan, et votre agent reçoit un Dockerfile prêt à construire : les dépendances de Composer, Apache qui sert le dossier `public`, un utilisateur sans droits d'administration. Votre agent l'ajoute à votre appli. Si vos pages chargent leurs fichiers avec Vite, le Dockerfile les construit aussi, et vos pages les chargent en HTTPS.

Au démarrage, les migrations passent, puis Apache sert vos pages. Laravel lit l'adresse de la base dans `DB_URL` (source 1), que le Dockerfile remplit avec `DATABASE_URL`. La route `/up` de Laravel 11 et plus dit à while que votre appli est prête (source 2). Plus ancienne, votre agent l'ajoute. Votre agent génère aussi la clé `APP_KEY` et la range dans le coffre de while.

## Faire tourner vos files d'attente

> Vous, à votre agent : Ajoute un worker pour la file d'attente des e-mails.

Votre agent déclare un worker, avec la même image et la commande `php artisan queue:work`. Vos tâches attendent dans la base PostgreSQL, sauvegardée chaque jour.

## Stocker les fichiers envoyés

> Vous, à votre agent : Stocke les fichiers envoyés par les clients.

Votre agent ajoute un stockage compatible S3 à while.yaml, et y branche le disque `s3` de Laravel. Vos fichiers survivent à chaque mise en ligne.

## Lancer une commande artisan chaque nuit

> Vous, à votre agent : Lance la commande d'export chaque nuit à 3 h.

Votre agent déclare une tâche planifiée, qui lance votre commande artisan à l'heure dite, avec le même code et la même base. 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.

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

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

- [Stocker les fichiers de votre appli](/fr/guides/stocker-des-fichiers/)
- [Choisir un PaaS français](/fr/comparatifs/paas-francais/)
- [Mettre en ligne un conteneur Docker](/fr/guides/conteneur-docker/)

## Sources

1. [Laravel, la configuration de la base (DB_URL)](https://laravel.com/docs/12.x/database#configuration), 2026-11-02
2. [Laravel, la route de santé /up](https://laravel.com/docs/12.x/deployment#the-health-route), 2026-11-02

## Questions

### Faut-il écrire un Dockerfile ?

Non. Laravel est reconnu, et votre agent reçoit un Dockerfile prêt à construire, avec Apache et PHP. Si votre projet a déjà le sien, il sert à construire l'image.

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

Oui, à chaque démarrage, par php artisan migrate --force.

### Et les files d'attente ?

Votre agent ajoute un worker, avec la même image et la commande php artisan queue:work.

### MySQL ou PostgreSQL ?

La base de while est PostgreSQL, et Laravel s'y branche sans rien changer à votre code.

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

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