Essai gratuit · 14 jours · Sans engagement

Migrer depuis Vercel

Le guide pas à pas pour amener un projet Vercel sur Pierrr, de la création du token à la bascule des domaines.

Avant de commencer

Vérifiez ces points pour que l'analyse passe du premier coup :

  • Le projet Vercel est relié à un dépôt chez un fournisseur de code. Un projet sans dépôt Git ne peut pas être migré, et Bitbucket n'est pas encore pris en charge.
  • Ce fournisseur est connecté à votre organisation Pierrr, avec un accès au dépôt concerné. Voir Organisations pour connecter votre fournisseur de code.
  • Votre plan permet un projet de plus : la migration crée un nouveau projet Pierrr.
  • L'assistant est en bêta, ouvert à toutes les organisations : voir Migrer vers Pierrr.

Ouvrir l'assistant

Dans le dashboard, ouvrez la page Projets, cliquez sur Créer un projet, puis choisissez Migrer depuis un autre hébergeur. La page qui s'ouvre liste les hébergeurs pris en charge : sur la carte Vercel, cliquez sur Commencer.

Connecter Vercel avec un token

Pierrr lit votre projet grâce à un token Vercel que vous créez vous-même :

  1. Dans Vercel, ouvrez les réglages de votre compte, rubrique Tokens, et créez un token.
  2. Limitez-le à l'équipe qui possède le projet et donnez-lui une expiration d'un jour. C'est la configuration recommandée : le token n'ouvre que ce qui est utile et ne vit pas plus longtemps que la migration.
  3. Collez-le dans l'assistant, puis cliquez sur Connecter.

Pierrr s'en sert pour lire le projet et n'écrit rien chez Vercel, sauf si vous demandez vous-même la bascule automatique du DNS. Le token est conservé chiffré 24 heures au plus. Il est effacé à la fin de la migration, en cas d'échec, si vous annulez, ou au bout de 24 heures, et il n'est jamais affiché de nouveau.

Collez le token Vercel créé pour Pierrr ; il reste valable 24 heures.

Choisir le projet

Choisissez votre compte personnel ou l'équipe, puis le projet à migrer. Chaque projet affiche son framework, ou la mention Sans dépôt Git quand il n'est relié à aucun dépôt. Cliquez sur Analyser.

Si la liste est vide, choisissez une autre équipe, ou vérifiez que le token a bien accès à celle du projet.

Lire l'analyse

L'analyse montre ce qui sera importé :

  • Le dépôt de l'application.
  • La construction : le modèle Pierrr retenu pour le framework, ou le Dockerfile du dépôt.
  • Le dossier racine de l'application dans le dépôt.
  • Les commandes de build, ou celles du modèle quand le projet n'en définit pas.
  • Le nombre de variables de production.
  • Les domaines du projet.
  • La base Postgres détectée, avec la variable qui la désigne et son serveur.
  • Les avertissements, regroupés sous À savoir avant l'import.

Quatre avertissements bloquent l'import : projet sans dépôt, fournisseur Git non pris en charge, dépôt inaccessible depuis l'organisation, framework sans modèle Pierrr. Corrigez la cause, par exemple en connectant le dépôt à l'organisation ou en ajoutant un Dockerfile, puis cliquez sur Relancer l'analyse.

Quand le dépôt n'est pas accessible depuis l'organisation, un bouton Connecter le dépôt à l'organisation apparaît à côté de l'avertissement.

L'analyse montre ce qui sera importé avant que quoi que ce soit ne soit créé.

Frameworks pris en charge

Pierrr construit les frameworks suivants avec l'un de ses modèles :

  • Next.js, avec ou sans output: 'standalone'.
  • Les applications monopages Vite, Create React App, Preact, Vue et Parcel.
  • Les générateurs de sites statiques : Astro en mode statique, Gatsby, Docusaurus, Eleventy, VitePress et Storybook.
  • Les serveurs Node : Express, NestJS, Fastify, Hono, Koa, ou Node sans framework.
  • Les frameworks qui rendent côté serveur : Nuxt, SvelteKit et Remix. Pierrr lance le serveur que leur construction produit, plutôt que d'en figer une version statique qui perdrait ce que ce serveur fait.
  • Bun, FastAPI, et les sites statiques sans framework.

Un framework absent de cette liste passe si le dépôt contient un Dockerfile dans le dossier racine du projet : Pierrr l'utilise tel quel. Les règles d'un Dockerfile sur Pierrr sont décrites dans Projets.

Variables

Les variables de production du projet sont importées et rattachées à l'application.

Vercel ne rend jamais la valeur des variables marquées sensibles. L'assistant les regroupe sous Valeurs à ressaisir, dans un éditeur au format .env déjà rempli d'une ligne NOM= par variable : complétez chaque ligne après le signe =. Une ligne laissée vide n'est pas importée.

Les variables fournies par Vercel lui-même, comme VERCEL_URL, n'existent pas sur Pierrr : si votre code s'en sert, remplacez-les par vos propres variables.

L'éditeur signale les lignes illisibles avec leur numéro, liste les clés non reprises depuis cet éditeur et affiche une alerte Des valeurs sensibles sont vides avant l'import.

Les variables sensibles à ressaisir, une ligne par variable.

Base de données

Quand l'analyse détecte une base Postgres, choisissez où l'application trouvera ses données :

  • Utiliser la base Pierrr du projet, le choix par défaut : Pierrr fournit les variables de connexion, et vous pourrez y copier les données de votre base actuelle après l'import.
  • Garder ma base actuelle : l'application continue d'utiliser la base qu'elle a aujourd'hui. Ce choix est réservé aux plans payants.

Avec la base Pierrr du projet, les variables que Pierrr fournit lui-même pour cette base, comme DATABASE_URL ou DATABASE_HOST, ne sont pas écrasées par celles de Vercel.

Ce qui ne suit pas

L'analyse vous prévient aussi de ce qui n'a pas d'équivalent sur Pierrr :

  • Les cron jobs de Vercel.
  • Pour un site construit en fichiers statiques, les fonctions serverless du dossier api/ : seul le site construit est servi.
  • Pour un site construit en fichiers statiques, le rendu côté serveur éventuel.
  • Les déploiements de prévisualisation.
  • Certains réglages de build Vercel que Pierrr ne reprend pas tels quels : ceux du modèle s'appliquent à la place, et vous pouvez les modifier après l'import.

Importer

Vérifiez le nom du projet Pierrr, puis cliquez sur Importer. Pierrr crée le projet et son conteneur, importe les variables et démarre le premier déploiement, qui prend quelques minutes.

La santé d'une application migrée est vérifiée sur sa page d'accueil, /, puisqu'une application venue d'ailleurs n'expose pas forcément de route /health.

L'écran de résultat montre le premier déploiement (statut, durée, source avec branche et commit, heure de démarrage), mis à jour tout seul jusqu'à sa fin. Un tableau liste chaque variable avec son statut : Importée, Fournie par la base Pierrr, ou Non importée quand la valeur est absente. Suivre le déploiement ouvre directement son détail, Ouvrir le projet ouvre le projet. Vérifiez l'application sur son adresse Pierrr avant d'aller plus loin : l'étape Terminé de la barre de progression est cochée dès que l'application est importée.

Si l'import ne progresse plus pendant plus de dix minutes, annulez la migration et recommencez ; si un projet a déjà été créé, vérifiez-le avant de relancer.

Le résultat de l'import : déploiement, variables et prochaine étape.

Copier les données de la base

Si vous avez choisi la base Pierrr du projet, le bloc Copier les données de la base, sur l'écran de résultat, y recopie le contenu de votre base Postgres actuelle. Pierrr lit la chaîne de connexion dans la variable détectée chez Vercel, ou vous en collez une autre. Quand cette variable est marquée sensible, Vercel n'en rend pas la valeur : collez alors la chaîne de connexion directe de la base. Une chaîne collée sert à cette copie seulement et n'est jamais enregistrée.

Avant la copie : chaîne de connexion et option de remplacement des données.

Une barre de progression tourne pendant la copie, et le bloc affiche En cours, Copiée ou Échouée. Une fois la copie réussie, il indique Données copiées depuis l'hôte, avec la taille copiée, et liste les variables désormais remappées vers la base Pierrr.

Pendant la copie : la barre de progression tourne.
Après la copie : taille copiée et variables désormais liées à la base Pierrr.

Quelques règles protègent vos données :

  • La copie se fait d'un seul bloc : si elle s'interrompt, la base du projet reste telle qu'elle était.
  • Elle refuse une base de projet qui contient déjà des tables, sauf si vous cochez Remplacer les données déjà présentes.
  • Elle refuse une base source plus grande que la taille de base de données prévue par votre plan.
  • La base source doit accepter une connexion chiffrée et être joignable à une adresse publique. Préférez son adresse directe à celle d'un pooler de connexions.

Une fois la copie réussie, les variables importées qui pointaient vers l'ancienne base, adresses de pooler comprises, pointent vers la base Pierrr, et l'application est redéployée automatiquement.

La copie est un instantané : ce que l'application écrit dans l'ancienne base après la copie ne suit pas. Pour une application qui écrit beaucoup, copiez les données juste avant de basculer les domaines. Après un échec, corrigez la cause puis cliquez sur Relancer la copie.

Basculer les domaines

Le bloc Domaines reprend les adresses de votre projet Vercel. Cliquez sur Préparer les domaines : Pierrr crée un domaine pour chaque adresse et affiche l'enregistrement DNS à poser.

  • Un enregistrement A pour le domaine nu, et pour les noms qui ne dépendent d'aucun autre domaine migré.
  • Un CNAME pour www et pour les sous-domaines simples d'un domaine nu migré avec eux.

Pierrr vérifie toutes les 20 secondes et met chaque adresse en ligne sur Pierrr dès que son DNS pointe vers Pierrr, certificat HTTPS compris. Vérifier maintenant force une vérification. www ne peut basculer qu'avec son domaine nu.

Chaque adresse porte l'un de ces statuts : En attente du DNS, DNS vérifié, En ligne sur Pierrr ou Non migrable.

Chaque adresse avec son statut et les actions disponibles.

Une adresse marquée Non migrable en donne la raison : domaine déjà utilisé par une autre organisation, quota de domaines de votre plan atteint, ou www dont le domaine nu n'est pas migré.

Bascule automatique du DNS

Si le domaine utilise les DNS de Vercel, Pierrr peut poser les enregistrements pour vous : cliquez sur Basculer le DNS automatiquement, puis confirmez en tapant le nom du projet.

  • La bascule n'est possible qu'une fois que l'application a réussi un déploiement sur Pierrr.
  • Seuls les enregistrements d'adresse (A, AAAA, ALIAS, CNAME) des noms migrés changent. Vos e-mails et vos autres enregistrements ne bougent pas.
  • Les anciens enregistrements sont gardés : Revenir au DNS précédent les remet en place en un clic, pendant 24 heures, tant que le token Vercel existe.
  • Comptez quelques minutes de propagation, pendant lesquelles une partie des visiteurs peut encore arriver chez Vercel.

Une fenêtre de confirmation rappelle trois points et vous demande de taper le nom pour confirmer. Ensuite, une bannière DNS basculé précise que la propagation peut prendre du temps et propose Revenir au DNS précédent.

La confirmation avant le basculement automatique du DNS.

Terminer la migration

Quand tout fonctionne sur Pierrr, cliquez sur Terminer la migration. Le token Vercel est effacé : le retour automatique au DNS précédent n'est alors plus possible. Votre projet Vercel reste en place, à vous de le supprimer quand vous le souhaitez.

L'ordre recommandé

Pour migrer sans coupure, suivez cet ordre :

  1. Importez l'application.
  2. Vérifiez-la sur son adresse Pierrr.
  3. Copiez les données de la base.
  4. Basculez les domaines.
  5. Terminez la migration.

Jusqu'au changement de DNS, Vercel continue de servir le site.

Annuler ou recommencer

Avant l'import, Annuler la migration efface le token sans rien créer ni modifier. Si le token a été effacé au bout de 24 heures, démarrez une nouvelle migration avec un nouveau token.

Les autres issues ont leur écran : L'import a échoué avec l'erreur, Migration annulée (token effacé, rien de créé) et Token expiré au bout de 24 heures.