Some checks failed
Deploy production / build-deploy (push) Failing after 56s
- 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)
38 lines
1.5 KiB
Markdown
38 lines
1.5 KiB
Markdown
# 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.
|