
La deuxième version de mon portfolio. Direction terminal, accent cyan, entièrement en Next.js (App Router) et TypeScript. Le contenu vit en base et s'édite depuis un panneau d'admin maison — conçu comme un objet soigné plutôt qu'une simple vitrine.
## le-problème
La v1 était une vitrine générique — le genre de site que n'importe qui aurait pu générer. Pour la v2, je voulais deux choses : un objet qui me ressemble (un terminal, parce que c'est là que je passe mes journées), et un vrai produit derrière — base de données, interface d'admin, déploiement complet.
## les-choix-techniques
Next.js App Router + TypeScript, et du CSS écrit à la main en modules — zéro framework CSS, chaque pixel est délibéré. Le contenu vit en SQLite via Prisma et s'édite depuis un panneau d'admin maison : auth par JWT (jose), mots de passe bcrypt, validation zod, upload d'images.
Déployé sur mon VPS avec pm2 — pas de Vercel. Je voulais posséder toute la chaîne, du CSS jusqu'au reverse proxy.
## ce-que-ça-m'a-appris
Écrire son CSS sans framework est plus lent, mais m'a plus appris sur la mise en page que n'importe quel tutoriel. Et construire l'admin m'a fait toucher tout ce qu'un CRUD réel exige : auth, sessions, validation, CSRF, uploads. Un portfolio est un petit projet — le traiter comme un produit en fait un grand.