Commit graph

21 commits

Author SHA1 Message Date
isUnknown
4d9509dec2 feat: add film grain effect and purple base to preloader
All checks were successful
Deploy Production / Deploy to Production (push) Successful in 23s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 18:25:04 +02:00
isUnknown
a33e2467d8 perf : replace bg image in preloader with CSS gradient
All checks were successful
Deploy Production / Deploy to Production (push) Successful in 20s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 18:17:31 +02:00
isUnknown
7ba18dcd9d perf : replace loading flash with background preloader, parallel sub-page fetch
All checks were successful
Deploy Production / Deploy to Production (push) Successful in 25s
- Add #preloader div with scrollable-page-background.png as CSS background,
  matching the Svelte bg-fixed image so the transition is imperceptible
  (image is cached by the time Svelte requests it)
- Revert #ssr-content to visually-hidden (clip) for Google Wave 1 crawl
- Prevent scrollbar flash by adding overflow:hidden to html,body inline
  before main.css loads
- Parallel-fetch sub-page data (/blog/slug.json) alongside parent in initRouter
  so Blog/WhitePapers components receive prefetched data on mount — eliminates
  the list→article flash on direct navigation

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 18:05:06 +02:00
isUnknown
56e4e55791 analytics : add Google Analytics (gtag.js) snippet
All checks were successful
Deploy Production / Deploy to Production (push) Successful in 26s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 15:08:07 +02:00
isUnknown
459fadf0a4 seo : inject semantic html in kirby templates for bot indexing
All checks were successful
Deploy Production / Deploy to Production (push) Successful in 28s
Each page template now renders its content in a visually-hidden #ssr-content
div (sr-only technique) so search engine crawlers see real HTML without
impacting the Svelte app layout. Shared snippets handle nav, footer contact
info, and article cards.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 15:24:40 +02:00
isUnknown
58e77f9181 blocks : rename jeu → game (snippet, blueprint, CSS, content)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 14:25:54 +02:00
isUnknown
65f6bf459b hide footer on white paper. closes #52
All checks were successful
Deploy / Deploy to Production (push) Successful in 42s
2026-04-02 15:38:47 +02:00
isUnknown
8481dc5f90 add white-paper block type for articles
- Kirby block blueprint with page reference + editable bg/text colors
- PHP snippet renders the card with accessible markup (article, h3, button)
- WhitePaperDialog.svelte: native dialog with download form (a11y: labels, fieldset, autocomplete, focus management)
- Article.svelte: click detection on .wp-block__btn + dialog mount

refs #49

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 19:51:21 +02:00
isUnknown
88bc02b9cf site panel : add dynamic favicon
All checks were successful
Deploy / Deploy to Production (push) Successful in 20s
2026-03-26 11:38:19 +01:00
isUnknown
58c31ea391 feat: intégration plugin Kirby SEO
All checks were successful
Deploy / Deploy to Production (push) Successful in 22s
- Ajout de tobimori/kirby-seo via Composer
- snippet('seo/head') dans header.php (remplace les meta manuels)
- snippet('seo/schemas') dans footer.php pour JSON-LD
- Onglet SEO ajouté dans site.yml et tous les blueprints de pages
- Configuration SEO dans config.php (sitemap, robots, canonicalBase TODO)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 12:59:18 +01:00
isUnknown
3ce0f939d8 revert(jeu): retour à l'état ddfcf4d — iframe directe + overlay CSS 2026-03-20 13:51:37 +01:00
isUnknown
421d39d773 debug(jeu): charge l'iframe directement pour diagnostiquer 2026-03-20 13:48:23 +01:00
isUnknown
b4dfc4480e fix(jeu): src injecté au clic (about:blank initial) + event delegation
- jeu.php : iframe démarre sur about:blank, URL stockée dans data-src
- Article.svelte : event delegation sur document (plus de timeout/querySelector)
  → le src de l'iframe est injecté seulement quand l'user clique (évite l'iframe noir)
  → supprime l'ancien $effect avec setTimeout au profit d'une délégation propre

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 12:14:57 +01:00
isUnknown
ddfcf4de70 fix(jeu): overlay fonctionnel — CSS complet + URL sanitizée + data-state
All checks were successful
Deploy / Deploy to Production (push) Successful in 22s
- jeu.php : supprime les espaces de l'URL (preg_replace), ajoute data-state="initial" sur l'overlay
- Article.svelte : porte le CSS complet depuis l'ancienne app React
  (background opaque, play icon, hover, deactivate btn, game-active state)
- JS : ignore les clics sur overlay ended, remet data-state="initial" au deactivate

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 12:08:33 +01:00
isUnknown
2af4604c08 fix(jeu): positionnement overlay — retire float iframe, position absolute overlay 2026-03-20 12:03:18 +01:00
isUnknown
5b9b190b35 feat(jeu): bloc Kirby iframe + logique click-to-play dans Article.svelte
- site/blueprints/blocks/jeu.yml : champ URL pour l'iframe
- site/snippets/blocks/jeu.php : rendu HTML statique (container + overlay + bouton désactivation)
- Article.svelte : $effect pour attacher les handlers clic sur .iframe-game-container
  et onMount pour écouter postMessage GameReleaseFocus depuis impact.games

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 11:57:21 +01:00
isUnknown
42ee58c18d site title format
All checks were successful
Deploy / Deploy to Production (push) Successful in 19s
2026-03-18 16:20:47 +01:00
isUnknown
544a74a340 fix css file path
All checks were successful
Deploy / Deploy to Production (push) Successful in 18s
2026-03-05 17:33:51 +01:00
isUnknown
cbe89acb21 Migration vers architecture Svelte + Kirby inspirée de design-to-pack
- Mise en place de Svelte 4 avec Vite pour le frontend (SPA)
- Simplification des templates PHP (header/footer minimalistes)
- Création de templates JSON pour API (home, about, expertise, portfolio, jouer, game, blog, article, project)
- Ajout d'un controller de site pour définir genericData globalement
- Structure des stores Svelte (page, navigation, locale, site)
- Router avec navaid pour navigation SPA et interception des liens
- Composants layout (Header, Footer, Cursor) et vues de base
- Build Vite vers assets/dist/ (index.js/css)
- Header PHP détecte assets/dist pour basculer dev/prod

Architecture fonctionnelle de base établie, à améliorer et compléter.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-06 16:30:15 +01:00
c1c4fda329 mise en place du début du back 2026-01-13 16:35:52 +01:00
isUnknown
5210d78d7d initial commit 2026-01-13 10:21:41 +01:00