Le site était bien déployé mais tous les chemins absolus (CSS/JS bundlés
par Vite, polices, favicon, manifest, service worker, liens de nav/footer)
pointaient vers la racine du domaine (/assets/..., /favicon.svg, /, /en/…)
au lieu de /gwada-sirius/... — GitHub Pages sert un site de projet sous
/<nom-du-repo>/, pas à la racine. Résultat : CSS et polices en 404, liens
de navigation cassés.
Ajoute une variable d'env BASE_PATH (vide par défaut, /gwada-sirius en CI
via .github/workflows/deploy.yml) : passée à viteOptions.base pour que
Vite préfixe lui-même les assets qu'il bundle, et à un filtre maison
withBase/localeHref pour les liens de nav, favicon, manifest et
l'enregistrement du service worker. Le manifest PWA passe en chemins
relatifs pour ne pas avoir besoin d'être templaté.
Vérifié en simulant un vrai déploiement (build préfixé servi depuis un
sous-dossier /gwada-sirius/ d'un serveur statique) : plus aucune requête
404, navigation, service worker (scope correctement limité au
sous-chemin) et carte Leaflet fonctionnels de bout en bout.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Suite à l'analyse du vrai CSS d'unabyss.com (root tokens complets) : leur
système est bien plus granulaire que le nôtre (8 niveaux de texte, opacités
pré-mélangées en tokens, vocabulaire de lueur dorée à plusieurs usages).
Emprunt de la STRUCTURE, pas des valeurs :
- --ink-dim / --ink-ghost : deux niveaux de texte supplémentaires pour les
métadonnées (coordonnées GPS) et le très discret, sans casser les 2
niveaux existants (--ink / --ink-soft)
- --gold-wash-subtle / --gold-wash : fonds teintés or pré-mélangés,
remplacent les oklch(...) ad hoc dispersés dans les composants
- --glow-soft / --glow-strong : vocabulaire de lueur distinct d'une ombre
générique — douce sur le titre du hero et la date du prochain lever,
forte sur l'onglet actif (Science, Dogon)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Après inspection réelle du code d'unabyss.com (HTML/CSS servis, pas juste
une description générée) : anneau tournant en conic-gradient CSS pur,
masqué en anneau via mask-composite:exclude — aucun JS/WebGL. Reproduit à
l'identique dans la palette or/corail du site, appliqué au CTA principal
du hero ("Découvrir les prédictions") pour renforcer l'action unique mise
en avant (Von Restorff). Fige automatiquement sous prefers-reduced-motion
via le kill-switch déjà présent dans tokens.css.
Correction au passage : la première analyse d'unabyss (WebFetch, texte
seul) avait spéculé sur des animations "probables" sans les avoir
observées — un fetch réel du HTML/CSS a permis d'identifier précisément
les techniques utilisées (comet-ring, scroll-reveal, marquee CSS,
glassmorphism) plutôt que d'improviser.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Refonte de la direction artistique en gardant Fraunces (serif) comme
signature éditoriale, mais en empruntant à unabyss.com : fond de nuit
presque neutre ("premium near-black" plutôt que bleu nuit saturé), accent
corail/orange brûlé en complément de l'or de Sirius, typographie plus
confiante (échelle et tracking resserrés sur les grands titres), rythme
d'espacement plus généreux entre sections.
Déboîte le contenu purement éditorial (cartes de fonctionnalités, cartes
de culture, conseils d'observation) qui n'a plus de bordure/fond — plus
fluide, plus proche de la sobriété d'unabyss. Les regroupements réellement
fonctionnels (calculateur, équipement, onglets, formules) gardent .card.
Ajoute une vitrine de badges (13 villes de la vague planétaire) sur la
page d'accueil — écho panafricain à la grille d'intégrations colorée
d'unabyss, sans rien copier de son contenu. Les données de villes sont
déplacées vers src/_data/waveCities.js (source unique pour les pages 11ty
et pour l'îlot SiriusGlobe).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Même problème que la carte d'observation : le globe des 13 villes de la
diaspora dessinait des continents à main levée sur un canvas vide. Remplacé
par la même carte Leaflet + OSM, marqueurs colorés (or pour la Caraïbe,
turquoise ailleurs), popup nom + date au clic. Le chunk Leaflet est partagé
entre les deux îlots (un seul téléchargement).
Supprime les polygones de continents simplifiés devenus inutiles
(src/islands/globe/world.js) et la classe CSS .island-canvas orpheline.
Corrige aussi le texte d'aide ("glisser pour tourner" → "glisser pour
déplacer", plus juste pour une carte plate que pour un globe 3D).
Bump CACHE_NAME du service worker (v1 → v2) : découvert pendant le debug
que la stratégie stale-while-revalidate servait l'ancien composant aux
visiteurs déjà passés sur le site malgré le nouveau déploiement.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
La carte d'observation ne montrait qu'un nuage de points sur un canvas
vide, sans littoral ni repère géographique — d'où une impression de bug.
Remplacée par une vraie carte Leaflet (fond OpenStreetMap réel), utilisé
directement plutôt que via un wrapper Svelte : Sveaflet (publié hier,
ciblé sur une prérelease de Svelte 5) et svelte-openlayers (mature mais
embarque OpenLayers, disproportionné pour 7 marqueurs) ont été évalués et
écartés au profit de Leaflet nu, plus mature et plus léger.
Ajoute une config de preview secondaire (port 8099) dans .claude/launch.json
pour vérifier le site sans interrompre un serveur de dev déjà lancé.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Remplace la SPA Vite/Svelte 4 par un site 11ty statique (contenu/HTML/CSS
fonctionnels sans JS) avec Svelte 5 en îlots pour les 3 seuls widgets
interactifs (calculateur de prédictions, carte d'observation, globe de la
vague planétaire). Conforme à la doctrine UI/UX OKI : nav ramenée à 5
entrées, design system CSS natif (tokens oklch, cascade @layer, light-dark),
i18n compilée via Paraglide (FR/EN/HT, routée par URL), onglets 100% CSS,
polices auto-hébergées, service worker minimal.
Les dates de prédiction sont recoupées avec la méthode Jean Meeus / Jeffrey
L. Hunt (whenthecurveslineup.com), consolidées sur un seul jeu de 7 sites,
étendues jusqu'en 2032, et le "22 juillet 2025" figé en dur est remplacé par
un calcul dynamique du prochain lever au build.
Supprime le code mort (3 variantes de globe, fichier vide, prototype HTML
legacy) et animejs, devenu inutile une fois les animations portées en CSS.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Traductions complètes en 3 langues (FR/EN/HT) pour la section Associations
- Intégration des traductions dans le composant GlobeGeoJSON.svelte
- Traductions fidèles des descriptions officielles des événements
- Support multilingue pour titres, descriptions et liens communauté
- Maintien de la cohérence terminologique (Kamit/Kamite, Wep Ronpet)
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Nouvelle section "Associations qui fêtent le Wep Ronpet" après le globe
- 2 événements Weezevent avec descriptions officielles détaillées
- Liens communauté : 14ème Membre + Page Facebook MUN
- Vidéo YouTube intégrée de façon responsive
- Ajout menu navigation "Associations" avec traductions (FR/EN/HT)
- Design cohérent avec animations hover et style doré
- Correction gratuité : "GRATUIT - de 16 ans" pour Afrocentricity
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Ajout 7 nouvelles villes : Douala, Yaoundé, Abidjan, Accra, Cayenne, Bamako, Paris
- Progression géographique réaliste : Réunion → Afrique centrale → Afrique de l'Ouest → Antilles/Guyane → Sahel → Europe
- Animation optimisée : 92 jours (juin-septembre) en 12 secondes
- Timeline mise à jour avec groupes géographiques cohérents
- Dates de référence basées sur le 27 juin comme point de départ
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Correction variable currentRadius manquante (grille, continents, marqueurs)
- Inversion projection X pour orientation correcte des continents
- Inversion sens de rotation pour mouvement naturel
- Chargement GeoJSON externe avec fallback local
- Globe maintenant pleinement opérationnel avec carte, villes et animations
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>