Files
sucupira 2947482f50
Deploy to GitHub Pages / build (push) Failing after 23s
Deploy to GitHub Pages / deploy (push) Has been skipped
feat: migration complète 11ty → SvelteKit (v3)
- SvelteKit 2 + Svelte 5 runes + TS, adapter-static, paths.base '/gwada-sirius' (relative: false)
- 5 pages × 3 locales (/, /en/, /ht/) : catalogues inlang repris tels quels, routeur i18n maison avec fallback ht→fr
- Îlots → composants natifs avec fallback SSR (calculateur, carte Leaflet, globe) ; Leaflet en import dynamique
- Dette corrigée : aria-current (bug legacy), polices en double, SEO complet (Seo, hreflang ×3, OG, Twitter, robots, sitemap 15 URLs)
- PWA : manifest + service-worker v3 (stale-while-revalidate)
- CI GitHub Pages mise à jour (build/), README et NOTES_PROJET réécrits
- Lighthouse mobile : 98/95/100/100 — svelte-check 0/0, Leaflet vérifié (2 cartes, tuiles OSM), no-JS vérifié
2026-07-21 14:41:24 -04:00

66 lines
3.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Sirius en Guadeloupe — Gwada-Sirius
Un site célébrant le lever héliaque de Sirius en Guadeloupe (Wep Ronpet), à la croisée de l'astronomie, de l'héritage égyptien et dogon, et de la culture caribéenne.
## 🌟 À propos
Ce site permet de :
- Calculer la date précise du lever héliaque pour 7 sites d'observation en Guadeloupe
- Explorer l'héritage culturel de Sirius (Égypte ancienne, Dogon du Mali, Caraïbes)
- Comprendre la science du phénomène (Arcus Visionis, méthode de calcul)
- Préparer une observation (guide pratique, équipement, carte des sites)
- Découvrir les associations qui célèbrent le Wep Ronpet
## 🚀 Stack technique
Version 3, reconstruite avec **[SvelteKit 2 + Svelte 5 (runes) + TypeScript](https://svelte.dev/)**, entièrement pré-rendue en statique (`adapter-static`). L'ancienne version 11ty est conservée sur la branche `main`.
- **SvelteKit statique** — tout le contenu éditorial fonctionne sans JavaScript ; les 3 widgets (calculateur, carte, globe) sont des composants Svelte natifs avec fallback SSR (plus d'îlots montés à la main)
- **i18n maison** — les catalogues au format Paraglide/inlang (`src/lib/i18n/{fr,en,ht}.json`, éditables avec les outils inlang) consommés par un routeur par dossiers : FR à `/`, EN sur `/en/`, Kreyòl sur `/ht/` (retombe sur le fr pour le contenu long)
- **CSS natif** — tokens `oklch()`, cascade `@layer`, container queries, aucun framework
- **Leaflet** en import dynamique côté client uniquement (tuiles OSM — exception documentée à la règle zéro-tiers)
- Polices auto-hébergées (Fraunces, Atkinson Hyperlegible), zéro Google Fonts
- **PWA** : manifest + service worker stale-while-revalidate (`src/service-worker.js`, incrémenter `CACHE_NAME` à chaque évolution)
- **SEO** : canonical, hreflang ×3 + x-default, Open Graph, Twitter Cards (`src/lib/components/Seo.svelte`), `robots.txt` + `sitemap.xml` (15 URLs)
Conforme à la doctrine UI/UX OKI : navigation à 5 entrées, cibles tactiles ≥ 48 px, contraste AA/AAA, `prefers-reduced-motion` respecté, budget JS minimal.
## 📦 Installation
```bash
npm install
npm run dev # http://localhost:5173/gwada-sirius/
npm run build # build de production dans build/
npm run preview # prévisualiser le build
npm run check # types + accessibilité (svelte-check)
```
## 🗂️ Structure
```
src/
├── lib/
│ ├── i18n/ # catalogues fr/en/ht (format Paraglide) + routeur localisé
│ ├── data/ # sites d'observation, villes de la vague, prochain lever, nav
│ ├── styles/ # design system CSS (tokens, base, layouts, composants, thème oki)
│ ├── components/ # Nav, Footer, Seo, pages/ (une par page), islands/ (3 widgets)
│ └── dates.ts # formatage local des dates (piège UTC-4, voir NOTES_PROJET)
├── routes/ # / (fr), en/, ht/ — 5 pages par locale
└── service-worker.js # PWA (stale-while-revalidate)
static/ # favicon.svg, manifest.webmanifest, robots.txt, sitemap.xml, fonts/
```
Le déploiement GitHub Pages (sous-répertoire `/gwada-sirius/`) est géré par `paths.base` dans `svelte.config.js` + `.github/workflows/deploy.yml`.
## 👥 Crédits
Projet réalisé avec ❤️ par [cyber-mawonaj](https://github.com/cyber-mawonaj) et [OKI](https://o-k-i.net).
## 📜 Licence
MIT — voir [LICENSE](LICENSE).
---
*"Les étoiles sont les ancêtres qui veillent sur nous" — proverbe africain*