Portfolio full-stack construit avec Next.js 16, React 19, Tailwind CSS v4 et Framer Motion.
npm install
npm run dev
Ouvre http://localhost:3000.
Crée un fichier .env.local à la racine du dossier portfolio/ :
# URL de production (pour le SEO, l'Open Graph, le sitemap)
NEXT_PUBLIC_SITE_URL=https://ton-domaine.com
# Formulaire de contact — crée un form gratuit sur https://formspree.io
# puis colle ici l'ID du formulaire (la partie après /f/)
NEXT_PUBLIC_FORMSPREE_ID=xxxxxxxx
Sans
NEXT_PUBLIC_FORMSPREE_ID, le formulaire de contact affichera un message d’erreur invitant à envoyer un email direct. Les liens WhatsApp / Mail / LinkedIn continuent de fonctionner via le bouton « Get In Touch ».
data/projects.js. Chaque projet a un slug,
des infos de carte (card) affichées sur /projects, et des sections optionnelles
affichées sur la page détail. Toutes les sections sont facultatives : ajoute-les au fur
et à mesure. Remplace les TODO par ton vrai contenu.public/projects/ (ex. public/projects/finote.webp)
en respectant les chemins définis dans card.image.data/posts.js.data/about.js.app/
page.js → page d'accueil
projects/ → liste + pages détail des projets
blog/ → liste + pages détail des articles
about/ → page à propos
sitemap.js, robots.js → SEO
components/ → composants réutilisables
data/ → contenu (projets, articles, à propos)
Déploie sur Vercel : pense à définir les variables
d’environnement NEXT_PUBLIC_SITE_URL et NEXT_PUBLIC_FORMSPREE_ID dans les
réglages du projet.