Next.js sur Vercel vs Hodi : quelles différences ?

Vercel est la plateforme officielle créée par les auteurs de Next.js.

Elle propose un déploiement "automatique" sans serveur visible : vous poussez votre code sur GitHub, et Vercel s’occupe du reste (build, scaling, CDN, etc.).

Chez Hodi, le modèle est différent : vous gardez le contrôle total de votre environnement Node.js, hébergé localement dans un datacenter Hodi, avec la possibilité d’accéder aux fichiers, logs, dépendances et bases de données de manière classique.

Le tout s’exécute dans un environnement CloudLinux + Phusion Passenger, idéal pour des applications professionnelles nécessitant :

  • la souveraineté des données,
  • des performances améliorées,
  • une compatibilité avec d’autres applications (PHP, bases MySQL, etc.).

Préparez votre application Next.JS

Lancez la commande npm run build pour compiler votre application, puis créez - à la racine de votre projet - un fichier server.js avec le code suivant :

const next = require('next');
const http = require('http');
const { parse } = require('url');

// Passenger définit automatiquement le port sur lequel l'app doit écouter
const port = process.env.PORT || 3000;
const dev = process.env.NODE_ENV !== 'production';
const app = next({ dev });
const handle = app.getRequestHandler();

app.prepare()
  .then(() => {
    const server = http.createServer((req, res) => {
      try {
        const parsedUrl = parse(req.url, true);
        handle(req, res, parsedUrl);
      } catch (err) {
        console.error('Erreur serveur Next.js :', err);
        res.statusCode = 500;
        res.end('Erreur interne du serveur');
      }
    });

    // Passenger utilise listen(port) sans exposer publiquement le port
    server.listen(port, () => {
      console.log(`Next.js en cours d’exécution sur le port ${port}`);
    });
  })
  .catch((err) => {
    console.error('Erreur au démarrage de Next.js :', err);
    process.exit(1);
  });

Transférez votre projet sur votre cPanel

Copiez votre dossier Next.JS à la racine de votre hébergement cPanel (par exemple, par FTP, SSH, etc.).

Configurez votre projet avec Setup Node.JS App

Vous pouvez maintenant suivre la FAQ "Comment déployer une application Node.JS ?" pour configurer votre projet. "Application root" sera le nom de votre dossier, et "Application startup file" sera "server.js". 

Cette réponse était-elle pertinente? 0 Utilisateurs l'ont trouvée utile (0 Votes)