# Portfolio — johanleroy.fr Site vitrine **one-page** de Johan Leroy, développeur fullstack. Stack : **Astro 6** (sortie 100 % statique), TypeScript, CSS (variables de thème), zéro îlot framework. Thème **clair/sombre** persistant, polices **auto-hébergées** (RGPD-friendly), icônes de technos via **simple-icons** (SVG inline monochromes). ## Développement ```bash npm install npm run dev # serveur de dev (http://localhost:4321) npm run check # astro check (typage) npm run build # build statique → dist/ npm run preview # prévisualise le build ``` ## Modifier le contenu Tout le contenu (profil, projets, expériences, formation, stack, centres d'intérêt) vit dans **un seul fichier typé** : [`src/data/content.ts`](src/data/content.ts). L'URL du bouton « café » s'y trouve aussi (`coffeeUrl`). ## Assets - `public/images/` — logo, photos de profil, logos d'entreprises, visuels de projets. - `public/fonts/` — Inter + JetBrains Mono (`.woff2`, auto-hébergées). - `public/cv.pdf` — CV téléchargeable depuis le hero. ## Déploiement **Automatique via Gitea Actions** (`.gitea/workflows/prod.yml`) : tout push sur `main` lance `astro check` + `npm run build`, puis envoie `dist/` en FTP vers Plesk. Secrets à définir dans Gitea (Settings → Actions → Secrets) : `FTP_HOST`, `FTP_USER`, `FTP_PASSWORD`, `FTP_TARGET_DIR` (chemin docroot, ex. `/httpdocs/johanleroy/public`). Déploiement manuel possible : `npm run build` → uploader le contenu de `dist/` sur l'hébergement statique.