Flutter DevOps 2026

Deployer Flutter Web sur Scalingo

Le guide complet pour livrer une app Flutter Web sur un PaaS souverain avec buildpack custom et Nginx.

Par Ali, Agence Iroko • Avril 2026

Le probleme

Flutter est devenu un standard pour le cross-platform, mais l'hebergement de la version web reste souvent limite a des plateformes americaines. Si vos clients ont des contraintes fortes de souverainete, de conformite RGPD ou de gouvernance des donnees, Scalingo est une option naturelle cote Europe.

Le point bloquant: il n'existe pas de buildpack Flutter officiel natif. Bonne nouvelle: un buildpack custom open source permet de combler ce manque proprement.

Architecture de deploiement

Le principe est simple et suit le meme pattern que Scalingo recommande pour Angular ou React:

Your code
git push
→
Buildpack 1
Flutter SDK
→
Buildpack 2
Nginx
→
Production
Scalingo

Le buildpack Flutter telecharge le SDK, compile votre projet en fichiers statiques (flutter build web), puis le buildpack Nginx de Scalingo sert ces fichiers. En production, aucun SDK Flutter n'est present: uniquement les fichiers HTML/JS/CSS compiles.

Mise en place pas a pas

1) Fichiers de configuration

Ajoutez ces fichiers a la racine du projet Flutter.

## .buildpacks
https://github.com/asrour1/builpack-flutter-scalingo.git
https://github.com/Scalingo/nginx-buildpack.git
## nginx.conf
root /app/build/web;

location / {
    try_files $uri $uri/ /index.html =404;
}

location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot|map)$ {
    expires 1y;
    add_header Cache-Control "public, immutable";
}

location = /index.html {
    add_header Cache-Control "no-cache, no-store, must-revalidate";
    add_header Pragma "no-cache";
    expires 0;
}
## Procfile
web: bin/run

Le script bin/run est genere automatiquement par le buildpack Nginx.

2) Creer l'application Scalingo

# Creer l'application
scalingo create mon-app-flutter

# Definir la version Flutter
scalingo -a mon-app-flutter env-set FLUTTER_VERSION=3.41.7

# Ajouter le remote git
git remote add scalingo git@ssh.osc-fr1.scalingo.io:mon-app-flutter.git

3) Deployer

git add .buildpacks nginx.conf Procfile
git commit -m "Configuration Scalingo Flutter Web"
git push scalingo main

Le point cle: compatibilite Dart et Flutter

La plupart des echelles de build viennent d'un mismatch entre la contrainte Dart de pubspec.yaml et la version Dart embarquee par Flutter. Si ca diverge, vous verrez une erreur version solving failed.

environment:
  sdk: ^3.10.1
Dart SDK Flutter recommande
^3.5.03.24.0
^3.6.03.27.0
^3.10.03.38.0
^3.10.13.41.7

Variables d'environnement utiles

Variable Defaut Usage
FLUTTER_VERSION3.24.0Version du SDK Flutter
FLUTTER_CHANNELstableCanal Flutter
FLUTTER_BUILD_ARGS--releaseArguments passes a flutter build web
FLUTTER_CLEANUPtrueNettoie SDK et sources du slug final
FLUTTER_SOURCE_DIR-Sous-dossier du projet (monorepo)
FLUTTER_DEPLOY_DIRbuild/webDossier des fichiers deployes

Cas avances

Injecter des variables de build

scalingo -a mon-app env-set FLUTTER_BUILD_ARGS="--release --dart-define=API_URL=https://api.example.com"

Monorepo avec Flutter dans un sous-dossier

scalingo -a mon-app env-set FLUTTER_SOURCE_DIR=frontend

Forcer un rebuild propre

git commit --allow-empty -m "clean rebuild"
git push scalingo main

Depannage rapide

  • Erreur version solving failed: ajustez FLUTTER_VERSION selon la contrainte Dart.
  • Routes 404: verifiez la regle Nginx try_files $uri $uri/ /index.html =404;.
  • Slug trop lourd: auditez vos assets web; le buildpack nettoie deja le reste.

Pourquoi ce setup fonctionne bien

Cette approche donne un compromis solide entre souverainete, simplicite d'exploitation et performance. Vous gardez l'experience Flutter pour les equipes produit, tout en deployant une app web statique classique, facile a monitorer et a faire evoluer.

Besoin d'un deployement Flutter industriel ?

On peut vous aider a industrialiser le pipeline, securiser la configuration et fiabiliser vos releases.

Parler de votre projet →