Commit graph

69 commits

Author SHA1 Message Date
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
44af8a9b4e add privacy page as standalone SPA view outside slide navigation
- New Kirby template/blueprint/JSON for privacy page (confidentialite slug)
- Standalone page state in slides store + router handling for non-nav pages
- Privacy.svelte view with background image, text blocks, footer
- Centralize vertical lines in App.svelte as fixed elements with per-slide visibility
- Footer privacy link language-aware (FR/EN)
- Portfolio mockup fix: read from default language for consistent EN display
- menu.php: add privacy page to Kirby panel navigation

refs #44

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 18:43:35 +02:00
isUnknown
8f43819f1a blueprints : ajouter l'onglet fichiers sur toutes les pages
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 18:00:57 +02:00
isUnknown
e643d0a233 portfolio : forcer la lecture du mockup depuis la langue par défaut. closes #47
All checks were successful
Deploy / Deploy to Production (push) Successful in 26s
Le champ mockup (translate: false) retournait null en version anglaise
car Kirby lisait le fichier de contenu EN vide. On lit maintenant
explicitement via defaultLanguage pour toutes les langues.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 17:33:08 +02:00
isUnknown
1cce398ee4 play page : replace backgroundColor with backgroundImage, remove curves. closes #37
All checks were successful
Deploy / Deploy to Production (push) Successful in 21s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 15:07:30 +01:00
isUnknown
80a7b41112 play page : add dynamical coming soon status. related to #37
All checks were successful
Deploy / Deploy to Production (push) Successful in 21s
2026-03-26 14:43:45 +01:00
isUnknown
f087260398 portfolio : add secondsPerImage field to control gallery animation speed. closes #33
All checks were successful
Deploy / Deploy to Production (push) Successful in 21s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 11:56:30 +01: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
0672841f8b white paper : add asterisque
All checks were successful
Deploy / Deploy to Production (push) Successful in 22s
2026-03-25 15:46:01 +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
65821bddf4 portfolio : require thumbnail and improve mobile style. closes #27
All checks were successful
Deploy / Deploy to Production (push) Successful in 5m30s
2026-03-25 07:14:01 +01:00
isUnknown
133651c35d portfolio : animation horizontale — toggle panel + composant
All checks were successful
Deploy / Deploy to Production (push) Successful in 19s
Ajout du mode horizontal dans GalleryAnimation (5 rangées, scrollLeft/scrollRight)
avec toggle vertical/horizontal dans le panel projet.

refs #21

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 14:37:05 +01:00
isUnknown
347ccd33eb panel : fix fonts
All checks were successful
Deploy / Deploy to Production (push) Successful in 20s
2026-03-21 14:17:39 +01:00
isUnknown
eeb4cb4e3a panel > portfolio : improve layout
All checks were successful
Deploy / Deploy to Production (push) Successful in 19s
2026-03-21 14:10:44 +01:00
isUnknown
75330bea7b panel > site : menu images
All checks were successful
Deploy / Deploy to Production (push) Successful in 20s
2026-03-21 13:58:16 +01:00
isUnknown
376db9d72f remove useless help
All checks were successful
Deploy / Deploy to Production (push) Successful in 18s
2026-03-21 12:36:38 +01:00
isUnknown
8829817e48 feat(portfolio): image d'arrière-plan pour la galerie animée
All checks were successful
Deploy / Deploy to Production (push) Successful in 18s
related to #20

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 12:34:46 +01:00
isUnknown
c26de10eac fix(jeu): type url → text pour accepter les query params complexes 2026-03-20 11:59:27 +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
79019b761f Feat: écran de remerciement post-téléchargement white paper
All checks were successful
Deploy / Deploy to Production (push) Successful in 22s
- Remplace le message inline par un écran centré (smiley + heading + signature)
- Ajout clés i18n wp_success_heading / wp_success_sub
- Ajustements blueprints white-paper / white-papers / site
- Route : stockage leads sur page livres-blancs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 11:36:00 +01:00
isUnknown
67d8159787 Feat: sécurisation formulaire white paper + stockage leads
- Honeypot, timing check, rate limiting IP, validation serveur
- Déduplication par email : enrichissement des champs vides si contact existant
- Blueprint white-paper : onglet "Contacts intéressés" (champ structure contactDatabase)
- Blueprint site.yml : ajout onglet "Données d'usage" pour vue globale des leads
- Route externalisée dans site/config/routes/download-white-paper.php
- isDownloadable côté client (prénom, nom, email valide, consentement)
- Cursor : pas de hover sur boutons disabled
- Buttons : hover désactivé si disabled

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 07:11:00 +01:00
isUnknown
d4f05d6157 Feat: Livres blancs — nouveau template collection + livre blanc individuel
- Blueprints white-papers / white-paper (intro, cover, PDF, date)
- Templates PHP + JSON API (liste avec singleSlug, détail avec fileUrl)
- Route POST (:any)/(:any)/download pour le téléchargement gated
- Panel : entrée white-papers ajoutée au menu après blog
- collection.css : styles partagés extraits de Blog (collection-*)
- Blog.svelte : classes renommées blog-* → collection-*
- WhitePapers.svelte : vue liste, URLs dynamiques via data.uri
- WhitePaper.svelte : vue détail deux colonnes + formulaire de téléchargement
- i18n : clés white paper (label, form, consentement, statuts)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 17:37:22 +01:00
isUnknown
474baf321b Fix/Feat: footer, newsletter, logo footerLogo, i18n, router formatting
- Footer : newsletter commentée, margin-top blog, text-align footer-col
- Blueprint site : logo → footerLogo (champ dédié au pied de page)
- Controller : logo → footerLogo
- i18n : newsletter_heading mis à jour (newsletters)
- site.svelte.js : retrait console.log debug
- router/index.js : reformatage quotes (linter)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 16:17:16 +01:00
isUnknown
4d425dd126 fix home subtitle
All checks were successful
Deploy / Deploy to Production (push) Successful in 19s
2026-03-17 10:34:29 +01:00
isUnknown
4c586a1b86 about blueprint heading -> writer
All checks were successful
Deploy / Deploy to Production (push) Successful in 20s
2026-03-17 10:30:13 +01:00
isUnknown
5b99247bb7 member blueprint : translate data
All checks were successful
Deploy / Deploy to Production (push) Successful in 20s
2026-03-17 10:27:50 +01:00
isUnknown
d9494f92dd about blueprint : add h3 in writer
All checks were successful
Deploy / Deploy to Production (push) Successful in 21s
2026-03-17 10:26:17 +01:00
isUnknown
b3b0580ab1 Feat: footer reveal + refactor page About
All checks were successful
Deploy / Deploy to Production (push) Successful in 24s
- Footer global fixé en bas (App.svelte), masqué par le contenu des slides
- margin-bottom sur .page-scrollable pour l'effet footer reveal (about, blog, article)
- About : champ intro remplacé par heading (text) + subtitle (writer), blueprint + API + vue mis à jour
- LanguageSwitcher : div → button avec hitbox élargie
- i18n : clé our_team (fr: NOTRE ÉQUIPE / en: OUR TEAM)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 10:00:53 +01:00
isUnknown
61607f8cd7 Feat: page À propos — redesign complet avec carrousel équipe
All checks were successful
Deploy / Deploy to Production (push) Successful in 5m23s
- Fix about.json.php : lecture des vrais champs Kirby (intro writer,
  body blocks, files template member) — corrige le bug [object Object]
- About.svelte : redesign fidèle à la source (intro centrée, blocs
  mission/manifeste avec bordure verte, carrousel équipe horizontal
  3/2/1 items selon breakpoint, swipe tactile, prev/next + pagination)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-13 10:39:24 +01:00
isUnknown
44912c1d2f Fix: Play mobile layout adjustments
All checks were successful
Deploy / Deploy to Production (push) Successful in 23s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-13 09:21:50 +01:00
isUnknown
0a346040a2 Fix: portfolio mobile layout adjustments
All checks were successful
Deploy / Deploy to Production (push) Successful in 19s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-12 19:33:01 +01:00
isUnknown
3a2b5a2f57 Perf: optimisation vidéos page expertise
All checks were successful
Deploy / Deploy to Production (push) Successful in 21s
- Vidéos recompressées (CRF 23, faststart) : 13MB → 3.4MB et 3.7MB
- Champs Kirby dynamiques pour vidéo normale et inverse
- Sources dynamiques via data.backgroundVideo / data.backgroundVideoReverse

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-11 15:54:49 +01:00
isUnknown
84744cd4a3 Fix: home.yml — nettoyage blueprint vidéo
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-11 15:49:15 +01:00
isUnknown
2373b81db7 Perf: optimisation vidéos page d'accueil
- Vidéos recompressées (CRF 23, faststart, full res/fps) : 22MB → 5.8MB et 4.8MB
- Champs Kirby dynamiques pour vidéo desktop/mobile + posters
- Source vidéo dynamique via data.backgroundVideo (corrige le hardcode)
- Lecture déclenchée sur canplay plutôt qu'immédiatement (évite freeze)
- preload="auto" pour un buffering plus agressif

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-11 15:39:19 +01:00
isUnknown
783a0c9196 improve blog layout 2026-03-10 17:04:10 +01:00
isUnknown
2352b621e5 Fix: blog articles triés par published desc, info date fr
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-10 16:39:27 +01:00
isUnknown
37b9483fe2 Fix: blog articles triés par date desc, info en format fr
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-10 16:30:21 +01:00
isUnknown
144a191e03 Revert "Fix: affichage cards articles blog dans le panel"
This reverts commit f7e58e629a.
2026-03-10 16:23:08 +01:00
isUnknown
f7e58e629a Fix: affichage cards articles blog dans le panel
- Ajout image query/cover/ratio sur la section articles
  (même config que la section featured)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-10 16:22:00 +01:00
isUnknown
90f155b679 Fix: blueprint game + styles carrousel Play
- playLink renommé et translate: false sur playLink + backgroundColor
- button { border: none } dans buttons.css
- Largeur vignettes via :global(img) sur l'élément image
  (découple la taille du bouton de celle de l'image)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-10 09:01:58 +01:00
isUnknown
5eaf99f7cd Feat: page Play — backgroundColor, playLink, play-icon + fix slug jouer
All checks were successful
Deploy / Deploy to Production (push) Successful in 5m22s
- Renommage dossier content 3_play → 3_jouer (slug /jouer)
- Champ backgroundColor (code-editor) dans game.yml + exposé en API
- playLinks simplifié en champ url simple → playLink dans l'API
- Variable CSS --background-color sur la section .play
- Bouton "Jouer" avec icône play-icon (SVG data URI dans buttons.css)
- Plugin sylvainjule/code-editor ajouté via composer

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 18:41:05 +01:00
isUnknown
3cafcf3167 Feat: lignes courbes SVG sur Play + refonte blueprint game
- Play.svelte : ajout overlay SVG (background-play), suppression des vertical-line
- game.yml : restructuration du blueprint
- Header.svelte : modifications mineures

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 14:18:38 +01:00
isUnknown
69859cc60f Refactor: snake_case → camelCase dans blueprints, templates et vues
- Blueprints : renommage des champs (member_name, related_articles,
  background_video, play_links, images_gallery, external_links) et
  des noms de sections
- Templates JSON PHP : clés de sortie et appels ->method() en camelCase
- Vues Svelte (Play, Portfolio) : accès aux données alignés

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 13:40:33 +01:00
isUnknown
d8a0fde34c Upgrade Svelte 5.0.0 → 5.53.7 + fix Cursor class syntax
All checks were successful
Deploy / Deploy to Production (push) Successful in 18s
- Mise à jour de Svelte vers 5.53.7 pour supporter la syntaxe tableau/objet sur l'attribut class
- Cursor.svelte : class={[...]} avec états onTarget et onClick
- blueprints : catchphrase → catchPhrase
- buttons.css : suppression cursor: pointer
- Portfolio.svelte : scale hover nav item

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 13:20:28 +01:00
isUnknown
c41eec0385 style button and earth icon variant
All checks were successful
Deploy / Deploy to Production (push) Successful in 16s
2026-03-09 11:57:28 +01:00
isUnknown
802a3ed5bf Feat: couleur d'arrière-plan dynamique sur GalleryAnimation (galleryBackgroundColor)
All checks were successful
Deploy / Deploy to Production (push) Successful in 19s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-06 18:22:50 +01:00
isUnknown
6151dd5a31 Feat: page Jouer renommée Play + vue implémentée
All checks were successful
Deploy / Deploy to Production (push) Successful in 20s
Renommage jouer → play (blueprint, template, txt, vue)
API play.json.php : title, lettering, description, thumbnail,
background_image, play_links par jeu enfant listed()
Vue Play.svelte :
- Fond image avec crossfade (transition opacity sur .play-bg)
- Section principale (.play-featured) : glissé/fondu au changement de jeu
  via --slide-dir CSS var + classes is-out
- Carrousel nav (ul > li > button) : thumbnail + titre, active bordure verte
- Jeu sans play_links → bouton "Coming soon" désactivé
- Layout golden-grid, mobile adapté

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-06 17:58:29 +01:00
isUnknown
47e993be58 Fix: camelCase cohérent dans blueprint et contrôleur
- Blueprint : ajout siteTitle, siteTagline, siteDescription, logo
- Contrôleur : site_title() → siteTitle()

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-19 14:14:35 +01:00
isUnknown
3e9657430f Fix: champs camelCase + anglais, contact data, nettoyage debug
All checks were successful
Deploy / Deploy to Production (push) Successful in 15s
- Blueprint site.yml : renommage en camelCase (contactEmail, contactAddress, socialLinks, legalNotices)
- Controller site.php : mentionsLegales() → legalNotices(), fix (string) casts pour la sérialisation JSON
- state/site.svelte.js : ajout champ contact
- Menu.svelte : nouveau composant dialog pour le menu overlay
- Header.svelte : intégration Menu, animation hamburger CSS
- router/index.js : suppression des console.log de debug

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-19 13:43:50 +01:00
isUnknown
614098baf6 plan : redesign navigation 2026-02-19 11:58:19 +01:00