
À la fin du chapitre précédent, vous avez optimisé les performances de votre portfolio avec le composant Image , les polices Google Fonts et les metadata SEO. Votre site fonctionne parfaitement en local sur localhost:3000 , mais il n'est visible que sur votre ordinateur.
Il est temps de le déployer en production pour que recruteurs, clients et collègues puissent le visiter !
En quelques minutes, votre site sera en ligne avec une vraie URL accessible partout dans le monde.
Avant de déployer, vous devez créer une version de production optimisée de votre application. Cette version est beaucoup plus rapide que la version de développement que vous utilisez actuellement.
Dans votre terminal, arrêtez votre serveur de développement (Ctrl+C) et lancez :
npm run build
Cette commande va :
Compiler tout votre code TypeScript/JavaScript
Optimiser automatiquement vos images
Générer les pages statiques avec generateStaticParams()
Minifier le code pour réduire sa taille
Créer les bundles JavaScript optimisés
Vous verrez un résumé dans votre terminal qui ressemble à ça :
Route (app) Size First Load JS ┌ ○ / 5.2 kB 92 kB ├ ○ /a-propos 1.8 kB 89 kB ├ ○ /contact 2.1 kB 90 kB ├ ● /projets 3.2 kB 91 kB ├ ● /projets/[slug] 2.5 kB 90 kB ├ ○ /formations 2.8 kB 90 kB └ ● /formations/[slug] 2.2 kB 89 kB
Les symboles indiquent le type de rendu :
○ : Pages statiques (HTML généré au build)
● : Pages avecgenerateStaticParams()(pré-générées)
λ : Pages dynamiques (générées à la demande, si vous en aviez)
Avant de déployer, vérifiez que tout fonctionne correctement en production :
npm run start
Cette commande lance votre application en mode production sur localhost:3000.
Testez toutes vos pages pour vous assurer que tout fonctionne correctement. Vous remarquerez que le site est beaucoup plus rapide qu'en développement !
Si tout fonctionne bien, arrêtez le serveur (Ctrl+C). Vous êtes prêt pour le déploiement !
Pourquoi Vercel ?
Intégration parfaite avec Next.js : Toutes les fonctionnalités de Next.js fonctionnent automatiquement (Image Optimization, ISR, etc.)
Déploiement en un clic : Connectez votre repository GitHub et chaque push déploie automatiquement
HTTPS gratuit : Votre site est automatiquement sécurisé avec un certificat SSL
CDN global : Votre site est servi depuis des serveurs proches de vos visiteurs partout dans le monde
Preview deployments : Chaque pull request crée une URL de prévisualisation unique
Gratuit pour les projets personnels : Parfait pour votre portfolio !
Rendez-vous sur vercel.com
Cliquez sur Sign Up (Inscription)
Choisissez Continue with GitHub pour vous connecter avec votre compte GitHub
Autorisez Vercel à accéder à vos repositories
Vercel va automatiquement détecter que vous avez des projets Next.js dans votre compte GitHub !
Une fois connecté, vous arrivez sur votre dashboard Vercel. Pour déployer votre portfolio :
Cliquez sur "Add New..." puis "Project"
Vercel affiche la liste de vos repositories GitHub
Trouvez votre repository de portfolio et cliquez sur "Import"
Vercel détecte automatiquement que c'est un projet Next.js !
Vous voyez un écran de configuration avec :
Project Name : Le nom de votre projet (peut être différent du repo)
Framework Preset : Next.js (détecté automatiquement)
Root Directory :./(la racine du projet)
Build Command :npm run build(automatique)
Output Directory :.next(automatique)
Vercel va maintenant :
Cloner votre repository
Installer les dépendances (npm install)
Lancer le build (npm run build)
Déployer votre application sur son réseau global
Le processus prend généralement 1 à 2 minutes. Vous pouvez suivre l'avancement en temps réel dans l'interface :
Building... |
Quand vous voyez Deployment ready avec un effet de confettis, votre portfolio est en ligne !
Vercel vous donne automatiquement une URL qui ressemble à :
<https://votre-portfolio-abc123.vercel.app>
Cliquez sur cette URL pour visiter votre portfolio en production, partagez cette URL avec vos collègues ou sur LinkedIn. Votre portfolio est maintenant en ligne.
L'URL .vercel.app fonctionne parfaitement, mais vous préférerez peut-être avoir votre propre domaine comme votreprenom-portfolio.com. Vercel rend ça très simple !
Dans votre projet sur Vercel, allez dans "Settings" > "Domains"
Cliquez sur "Add Domain"
Entrez votre nom de domaine (par exemplevotre-portfolio.com)
Vercel vous donne les paramètres DNS à configurer
Si vous avez acheté votre domaine sur un autre site, vous devrez modifier les paramètres DNS :
Ajoutez un enregistrementApointant vers l'IP de Vercel
Ou changez les nameservers pour utiliser ceux de Vercel
Maintenant que votre projet est connecté à Vercel, chaque fois que vous faites un git push sur GitHub, Vercel va automatiquement :
Détecter le nouveau commit sur la branchemain
Lancer un nouveau build avec vos dernières modifications
Déployer automatiquement si le build réussit
Notifier votre ancienne version si le build échoue
Voici comment vous travaillerez désormais :
1. Développez une nouvelle fonctionnalité en local
# ...modifications dans votre code...
2. Testez en localnpm run dev
3. Créez un commit et push vers GitHubgit add .git commit -m "Ajout d'une nouvelle section blog"git push
4. Vercel déploie automatiquement !
Quelques secondes après votre push, vous recevrez un email de Vercel avec le lien vers votre nouveau déploiement !
L'une des fonctionnalités les plus puissantes de Vercel, ce sont les preview deployments. Chaque fois que vous créez une branche ou une pull request sur GitHub, Vercel génère automatiquement une URL de prévisualisation unique.
Comment ça marche ?
1. Créez une nouvelle branche pour une fonctionnalité :
git checkout -b nouvelle-section |
2. Créez une pull request sur GitHub
3. Vercel commente automatiquement votre PR avec une URL de preview :
✅ Preview deployment ready! |
Vous pouvez tester vos modifications sur cette URL avant de merger dans main
Une fois mergé, les modifications sont automatiquement déployées en production. C'est parfait pour tester de nouvelles fonctionnalités sans risquer de casser la production !
Si votre portfolio utilise des clés API ou des secrets (par exemple pour un formulaire de contact avec une API d'envoi d'emails), vous devrez gérer les variables d'environnement.
.env.localCréez un fichier.env.local à la racine de votre projet :
NEXT_PUBLIC_API_URL=https://api.example.com |
Les variables commençant par NEXT_PUBLIC_ sont accessibles côté client. Les autres ne sont accessibles que côté serveur (plus sécurisé).
Dans votre projet sur Vercel, allez dans "Settings" > "Environment Variables"
Ajoutez vos variables une par une :
Key :NEXT_PUBLIC_API_URL
Value :https://api.example.com
Environment : Production (et Development si besoin)
La prochaine fois que vous déployez, ces variables seront disponibles dans votre application !
Vercel propose des outils de monitoring intégrés pour suivre les performances de votre portfolio en production.
Dans votre projet Vercel, l'onglet Analytics vous montre :
Le nombre de visiteurs uniques
Les pages les plus visitées
L'origine géographique de vos visiteurs
Les performances (Core Web Vitals)
L'onglet Speed Insights vous montre les scores de performance de votre site en production :
Score de performance global
Temps de chargement (LCP, FID, CLS)
Recommandations d'optimisation
Si votre score baisse, Vercel vous alerte automatiquement pour que vous puissiez réagir rapidement.
Vercel est parfait pour Next.js, mais vous avez d'autres options si vous préférez :
Netlify est une excellente alternative :
Déploiement similaire à Vercel
Gratuit pour les projets personnels
Bon support pour Next.js
Fonctionnalités supplémentaires (forms, identity)
Railway est idéal si vous avez une base de données :
Hébergement de l'application + base de données
Support Docker
Bon pour les projets full-stack
5$ de crédit gratuit par mois
L'avantage ? Tout est au même endroit (app + DB + services)
Pour plus de contrôle, vous pouvez déployer sur un serveur privé :
Contrôle total de l'infrastructure
Plus complexe à configurer
Nécessite des connaissances en DevOps
Coût mensuel (à partir de 5-10€/mois)

Si vous n’avez pas suivi le pas a pas de ce chapitre, c’est le moment de mettre en ligne votre portfolio :
Créez un build de production et testez-le en local
Déployez votre portfolio sur Vercel avec votre compte GitHub
Testez votre site en production sur l'URL.vercel.app
Partagez votre portfolio sur LinkedIn avec le hashtag #NextJS
(Optionnel) Configurez un domaine personnalisé
Avant de partager votre portfolio, vérifiez que :
Toutes les pages s'affichent correctement
Les images se chargent rapidement
Le formulaire de contact fonctionne
Les metadata SEO sont présentes (clic droit > Afficher le code source)
Le site est responsive (testez sur mobile)
Les liens externes s'ouvrent dans un nouvel onglet
Il n'y a pas d'erreurs dans la console du navigateur
Si tout est bon, félicitations !
Vous avez maintenant un portfolio complet et professionnel avec :
Page d'accueil avec hero section
Pages de projets avec routes dynamiques
Section formations
Page à propos
Formulaire de contact interactif
Navigation responsive avec menu burger
Images et polices optimisées
SEO optimisé avec metadata
Déployé en production avec HTTPS
Performances optimales (90+ sur Lighthouse)
Voici quelques pistes pour aller plus loin avec Next.js :
Enrichissez votre portfolio :
Ajoutez un blog avec des articles techniques
Intégrez une section "Témoignages"
Créez une page "CV téléchargeable"
Ajoutez des animations avec Framer Motion
Approfondissez Next.js :
Explorez les Route Handlers pour créer des APIs
Découvrez les Server Actions pour les formulaires
Apprenez l'internationalisation (i18n)
Maîtrisez les Middleware pour l'authentification
Connectez des services :
Utilisez un CMS (Sanity, Strapi, Contentful)
Intégrez une base de données (PostgreSQL, MongoDB)
Ajoutez l'authentification (NextAuth.js)
Connectez des APIs tierces (GitHub, LinkedIn)
Continuez à apprendre :
Suivez le blog officiel de Next.js
Participez à la communauté sur Discord
Contribuez à des projets open source
Créez vos propres projets !
Générez un build de production avec npm run build pour optimiser votre application (code minifié, images compressées, pages statiques générées).
Testez le site localement en mode production avec npm run start pour vérifier qu’il fonctionne parfaitement avant le déploiement.
Vous pouvez déployer sur Vercel en connectant votre repo GitHub : Vercel détecte automatiquement Next.js et configure le projet.
Vous pouvez configurer un domaine personnalisé si vous le souhaitez, et surveiller les performances via les outils d’analytics et speed insights intégrés.
Exploitez le déploiement continu : chaque push sur GitHub déclenche automatiquement un nouveau déploiement sur Vercel.
Vous avez construit bien plus qu'un simple portfolio : vous avez acquis des compétences professionnelles en Next.js qui sont recherchées par les entreprises. Ce portfolio est votre carte de visite numérique, prenez-en soin et faites-le évoluer au fil de votre parcours !
Bravo pour avoir terminé ce cours et bonne chance dans votre carrière de développeur web !