Blog

De Heroku à Scalingo : migrez vers un PaaS européen en quelques minutes

Chargement...

5 min de lecture

De Heroku à Scalingo : migrez vers un PaaS européen en quelques minutes

Vous aimez Heroku, mais vous recherchez une alternative européenne avec plus de contrôle, de transparence et de souveraineté des données ? Bienvenue sur Scalingo.

Vous aimez Heroku pour sa simplicité d’utilisation et sa polyvalence — mais vous cherchez maintenant une alternative européenne à Heroku qui vous offre davantage de contrôle, de transparence et de souveraineté des données ? Bienvenue sur Scalingo !

De nombreux clients, dont Le Wagon et Yespark, ont déjà migré de Heroku vers Scalingo. Ils voulaient conserver l’expérience PaaS conviviale à laquelle ils étaient habitués, tout en bénéficiant d’un hébergement des données en France et d’un support réactif de haute qualité.

Bonne nouvelle : Scalingo est conçu pour rendre les migrations depuis Heroku simples. Dans la plupart des cas, vous pouvez être opérationnel sur notre plateforme en seulement quelques minutes. Ce tutoriel vous guide pas à pas tout au long du processus.

Premiers pas

Commençons par choisir une application à migrer. Dans ce tutoriel, nous travaillerons avec FilmReco — une application légère de recommandation de films. Les utilisateurs saisissent une courte description d’un film, et l’application renvoie la correspondance la plus proche de son catalogue.

La stack est simple :

App Architecture before migration from Heroku



Pour les besoins de ce tutoriel — et pour rester au plus près de l’expérience d’un utilisateur Heroku préparant sa migration — nous avons d’abord hébergé l’application sur Heroku.

Si votre propre application ne correspond pas exactement à cette configuration, pas d’inquiétude : Scalingo prend en charge un large éventail de langages, de frameworks et de bases de données. Vous devrez simplement adapter les prochaines étapes à votre stack, mais le processus global reste le même.

Voyons maintenant comment migrer cette application vers Scalingo.

Bon à savoir : chez Scalingo, tout comme sur Heroku, nous nous appuyons sur un système basé sur les buildpacks. Les buildpacks permettent à notre plateforme de détecter automatiquement la technologie de votre application et d’installer les bonnes dépendances. Ils vous offrent aussi la possibilité d’étendre les capacités de la plateforme en utilisant des buildpacks personnalisés.



Récupérer l’application et la configurer sur Scalingo

Commencez par cloner sur votre machine locale l’application actuellement hébergée sur Heroku. Comme expliqué dans notre documentation, voici les commandes à exécuter — remplacez simplement « filmreco » par le nom de votre propre application :

# Log in to Heroku
heroku login

# Clone the Heroku app
heroku git:clone -a filmreco

cd filmreco
# Log in to Heroku
heroku login

# Clone the Heroku app
heroku git:clone -a filmreco

cd filmreco
# Log in to Heroku
heroku login

# Clone the Heroku app
heroku git:clone -a filmreco

cd filmreco
# Log in to Heroku
heroku login

# Clone the Heroku app
heroku git:clone -a filmreco

cd filmreco

Après cette étape, vous devriez avoir tout le code de l’application en local, y compris le Procfile, requirements.txt et votre configuration d’environnement.

Ensuite, vous devrez créer l’application sur Scalingo. Vous avez deux options :

  • Vous préférez une interface graphique ? Connectez-vous au site Scalingo (ou inscrivez-vous si ce n’est pas encore fait — votre première inscription inclut un essai gratuit de 30 jours). Depuis le tableau de bord, cliquez sur « Create an app. » Donnez-lui le nom de votre choix. Nous continuerons d’utiliser « filmreco » dans ce tutoriel.

  • À l’aise avec la ligne de commande ? Vous pouvez utiliser notre CLI, qui est l’option que nous utiliserons dans ce guide.

Pour vous connecter à Scalingo et créer l’application avec la CLI :

# Log in to Scalingo
scalingo login

# Create the app
scalingo create filmreco
# Log in to Scalingo
scalingo login

# Create the app
scalingo create filmreco
# Log in to Scalingo
scalingo login

# Create the app
scalingo create filmreco
# Log in to Scalingo
scalingo login

# Create the app
scalingo create filmreco

Comme Heroku, Scalingo configure automatiquement un remote git pour vous immédiatement :

git remote rm heroku
git remote add scalingo git@ssh.<region>

git remote rm heroku
git remote add scalingo git@ssh.<region>

git remote rm heroku
git remote add scalingo git@ssh.<region>

git remote rm heroku
git remote add scalingo git@ssh.<region>

À partir de ce moment, un simple commit suffit pour déployer votre application. Mais avant cela, ajoutons une base de données à notre application Scalingo.

Créer et configurer la base de données

Comme mentionné plus haut, notre application de démonstration utilise PostgreSQL — plus précisément l’extension pgvector, disponible dans notre offre PostgreSQL.

Si votre application utilise une base de données différente, les étapes seront très similaires. Pour plus de détails, n’hésitez pas à consulter notre documentation, qui couvre toutes les bases de données prises en charge par Scalingo.

La première étape pour configurer notre base de données sur Scalingo consiste à récupérer les données depuis Heroku. Pour cela, nous allons exporter un dump de la base de données depuis Heroku :

heroku pg:backups:capture --app filmreco
heroku pg:backups:download --app filmreco
heroku pg:backups:capture --app filmreco
heroku pg:backups:download --app filmreco
heroku pg:backups:capture --app filmreco
heroku pg:backups:download --app filmreco
heroku pg:backups:capture --app filmreco
heroku pg:backups:download --app filmreco

Sur Scalingo, nous devons maintenant ajouter un add-on de base de données. Rendez-vous dans le tableau de bord, sélectionnez votre application, puis ouvrez l’onglet « Resources ». Dans la section Add-ons, cliquez sur « Add an add-on. » Choisissez la base de données souhaitée et le plan adapté à vos besoins, puis suivez les étapes pour confirmer.

Une fois la base de données provisionnée sur Scalingo, une variable d’environnement DATABASE_URL sera créée automatiquement. Vous la trouverez dans la section « Environment » du tableau de bord de votre application.

Connectez-vous à la base de données à l’aide de notre CLI :

scalingo db-tunnel filmreco-db
pg_restore --verbose --clean --no-acl --no-owner \
  -h 127.0.0.1 -p <port> -U scalingo \
  -d filmreco_latest.dump
scalingo db-tunnel filmreco-db
pg_restore --verbose --clean --no-acl --no-owner \
  -h 127.0.0.1 -p <port> -U scalingo \
  -d filmreco_latest.dump
scalingo db-tunnel filmreco-db
pg_restore --verbose --clean --no-acl --no-owner \
  -h 127.0.0.1 -p <port> -U scalingo \
  -d filmreco_latest.dump
scalingo db-tunnel filmreco-db
pg_restore --verbose --clean --no-acl --no-owner \
  -h 127.0.0.1 -p <port> -U scalingo \
  -d filmreco_latest.dump

Enfin, si vous utilisez PostgreSQL avec pgvector comme nous, vous pouvez activer pgvector directement depuis la console de base de données de Scalingo :

CREATE EXTENSION IF NOT EXISTS vector;
CREATE EXTENSION IF NOT EXISTS vector;
CREATE EXTENSION IF NOT EXISTS vector;
CREATE EXTENSION IF NOT EXISTS vector;

Maintenant que notre base de données est opérationnelle, il ne reste qu’une dernière étape avant de déployer l’application sur Scalingo : ajouter les variables d’environnement.

Ajouter les variables d’environnement et déployer

Commencez par récupérer vos variables d’environnement depuis Heroku :

heroku config
heroku config
heroku config
heroku config

Vous pouvez soit les ajouter depuis le tableau de bord dans « Environment », soit les définir avec la commande suivante :

scalingo --app my-app env-set NAME=Value
scalingo --app my-app env-set NAME=Value
scalingo --app my-app env-set NAME=Value
scalingo --app my-app env-set NAME=Value

Place maintenant au plus intéressant : votre premier déploiement. Si vous avez déjà déployé plus tôt dans le processus, redémarrez simplement votre application. Sinon, déployez-la avec les commandes suivantes :

git add .
git commit -m "heroku to scalingo"
git push scalingo main
git add .
git commit -m "heroku to scalingo"
git push scalingo main
git add .
git commit -m "heroku to scalingo"
git push scalingo main
git add .
git commit -m "heroku to scalingo"
git push scalingo main

Comme mentionné plus tôt à propos des buildpacks, Scalingo gère tout en coulisses lors du déploiement d’une application : détection du runtime, installation des dépendances, exécution de votre Procfile et démarrage de vos processus web — exactement comme Heroku.

Et voilà ! Quelques secondes plus tard, notre application de démonstration est en ligne à l’adresse : https://filmreco.osc-fr1.scalingo.io/.

Vous pouvez le vérifier pour votre propre application en cliquant sur « Open the app » depuis le tableau de bord.

Scalingo : la meilleure alternative européenne sécurisée à Heroku

En quelques minutes à peine, c’est terminé : votre application fonctionne désormais sur Scalingo. Passer de Heroku à Scalingo est rapide, familier et ne nécessite aucune modification de code — vous conservez le même workflow, les mêmes réflexes et les mêmes habitudes que vous connaissez déjà.

Qu’est-ce qui change ? Vous bénéficiez désormais d’une plateforme d’hébergement européenne sécurisée, fiable et certifiée. Scalingo est certifié ISO 27001 et certifié HDS, et notre infrastructure est hébergée en France chez 3DS Outscale, qui nous fournit également une infrastructure qualifiée SecNumCloud disponible pour notre région osc-secnum-fr1.

En bref : vous obtenez la même simplicité d’utilisation que Heroku, avec en plus les garanties d’un PaaS européen souverain — sans verrouillage.

Essayez dès aujourd’hui avec notre essai gratuit de 30 jours inclus lorsque vous vous inscrivez.

Besoin d’aide pour démarrer ? Notre équipe support est prête à vous aider directement depuis votre tableau de bord via le chat en direct Vous voulez échanger sur vos besoins ou les tarifs ? Prenez contact avec notre équipe commerciale.

Fanny Dufour, Scalingo

Fanny Dufour

Fanny a débuté sa carrière dans les médias par le jeu vidéo, avant de s'orienter vers le développement web et de se passionner pour les enjeux plus larges qui affectent notre vie numérique. Elle est particulièrement engagée dans les domaines de la vie privée, des outils open-source, de la sécurité numérique, et d’une utilisation responsable des technologies.

Restez informé

Recevez des articles et des mises à jour de la plateforme dans votre boîte de réception.

Prêt à déployer en toute confiance ?

Découvrez des déploiements sans temps d'arrêt, une mise à l'échelle automatique intelligente et une infrastructure entièrement gérée. Commencez à déployer vos applications sur Scalingo dès aujourd'hui.

Aucune carte de crédit requise • Déployez en quelques minutes • Annulez à tout moment

Déployez une application ou base de données

Commencez à déployer

Rejoignez les équipes qui misent sur une plateforme conçue pour livrer rapidement, opérer sereinement, avec des valeurs européennes et un support humain.

Déployez une application ou base de données

Commencez à déployer

Rejoignez les équipes qui misent sur une plateforme conçue pour livrer rapidement, opérer sereinement, avec des valeurs européennes et un support humain.

Déployez une application ou base de données

Commencez à déployer

Rejoignez les équipes qui misent sur une plateforme conçue pour livrer rapidement, opérer sereinement, avec des valeurs européennes et un support humain.