Files
portfolio/README.md
Johan LEROY ce17bf590b
Some checks failed
Deploy production / build-deploy (push) Failing after 56s
refonte: portfolio statique Astro (design moderne développeur)
- Remplace l'ancien Astro hybrid + admin par un site one-page statique (sortie static)
- Thème clair/sombre sans flash, contenu typé (src/data/content.ts), zéro admin
- Icônes simple-icons (SVG monochrome), polices auto-hébergées (RGPD)
- SEO complet : canonical, Open Graph, Twitter Card, JSON-LD Person, robots.txt, sitemap.xml, image OG 1200x630
- CI Gitea de déploiement FTPS vers Plesk (.gitea/workflows/prod.yml)
2026-06-19 16:03:09 +02:00

1.5 KiB

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

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. 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.