Problème
Refondre l'ancien portfolio (React + Express + MongoDB + Docker, déployé sur VPS) vers un site statique simple à maintenir, hébergé gratuitement sur Vercel.
Contexte
Projet personnel. Domaine ahmetsekmen.fr (Ionos). En production depuis mai 2026.
Stack technique
- Next.js 16.2.6 (App Router, Turbopack)
- TypeScript
- Tailwind v4 + Geist font
- next-themes (toggle light/dark)
- Zod v4 (validation form)
- Resend (email)
- rss-parser (page veille)
- Vercel (hébergement gratuit)
Décisions techniques
- Pas de CMS, contenu en TypeScript dans `src/lib/` : suffisant pour le volume, zéro infra, type-safe.
- Pas de Cache Components Next.js 16 (`'use cache'` + `cacheLife`) : le modèle legacy `export const revalidate = N` est plus stable pour un portfolio simple.
- ISR 6h sur la page veille plutôt que SSR : les feeds RSS changent peu et restent rapides à servir.
- Resend plutôt que SMTP/Nodemailer/SES : free tier 100/jour suffit, intégration Server Action triviale.
- lucide-react v1 a retiré les logos de marque pour raisons légales — SVG custom dans `src/components/icons.tsx` pour GitHub/LinkedIn.
Difficultés
- Page veille avec 4 sources RSS (OpenAI, Simon Willison, Latent Space, Hugging Face) : `Promise.allSettled` pour qu'un feed mort ne casse pas la page.
- Anthropic n'a pas de feed RSS officiel : Simon Willison couvre énormément Claude/MCP, palliatif efficace en attendant un scraper custom.
Résultats
- En prod sur ahmetsekmen.fr, form de contact opérationnel (Resend mode test), responsive testé 375/768/1280px.
- 5 pages : Accueil, Projets, À propos, Contact, Veille.