Johan LEROY a30d26aad4
All checks were successful
Deploy production / build-deploy (push) Successful in 30s
feat(projets): cartes entièrement cliquables + logos adaptatifs clair/sombre
- ProjectCard : carte = <a> (nouvel onglet) dès qu'un lien est défini,
  focus clavier accessible, hover de l'icône piloté par la carte
- Logos en object-fit:contain sur fond --surface adaptatif (cadrage « logo entier »)
- Nouveau champ Project.imgDark + swap CSS via [data-theme] (logo blanc en sombre)
- Liens : LPLV (live, libertypourlavie.fr), KSauce (ksauce.lidge.fr), Lidge (lidge.fr)
- Lidge : description sans Jellyfin/Mail → Cloud, Vault, Git
- Logos ajoutés : Amarea, Lidge, Arboretum (clair/sombre), KSauce (+ silhouette blanche générée), Techos (paire light/dark)
2026-06-22 10:01:36 +02:00

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.

Description
Languages
TypeScript 38.2%
Astro 32.6%
CSS 28.9%
JavaScript 0.3%