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>
This commit is contained in:
isUnknown 2026-03-09 13:40:33 +01:00
parent d8a0fde34c
commit 69859cc60f
19 changed files with 63 additions and 76 deletions

View file

@ -65,8 +65,8 @@
<!-- Fond : image + overlay, crossfade au changement de jeu -->
<div class="play-bg" class:is-out={isOut} aria-hidden="true">
{#if displayedGame?.background_image}
<img class="play-bg-img" src={displayedGame.background_image} alt="" />
{#if displayedGame?.backgroundImage}
<img class="play-bg-img" src={displayedGame.backgroundImage} alt="" />
{/if}
<div class="play-bg-overlay"></div>
</div>
@ -99,8 +99,8 @@
{/if}
<div class="play-actions">
{#if displayedGame.play_links?.length}
{#each displayedGame.play_links as link}
{#if displayedGame.playLinks?.length}
{#each displayedGame.playLinks as link}
<a
href={link.url}
target="_blank"

View file

@ -13,7 +13,7 @@
// --- Derived ---
const isActive = $derived(slides.active?.id === 'portfolio')
const projects = $derived(data?.projects ?? [])
const backgroundImage = $derived(data?.background_image ?? null)
const backgroundImage = $derived(data?.backgroundImage ?? null)
const currentProject = $derived(projects[currentIndex] ?? null)
// Capture du hash synchrone avant que tout effect puisse le modifier
@ -96,7 +96,7 @@
{#if currentProject}
<!-- Galerie animation (gauche) -->
<div class="portfolio-gallery" aria-hidden="true">
<GalleryAnimation images={currentProject.images_gallery} backgroundColor={currentProject.gallery_background_color} />
<GalleryAnimation images={currentProject.imagesGallery} backgroundColor={currentProject.galleryBackgroundColor} />
</div>
<!-- Mockup device (centre) -->
@ -107,7 +107,7 @@
<!-- Infos projet (droite) -->
<div class="portfolio-text" aria-live="polite">
<h2>{currentProject.title}</h2>
<h3 class="portfolio-catchphrase gradient-blue">{@html currentProject.catchphrase}</h3>
<h3 class="portfolio-catchphrase gradient-blue">{@html currentProject.catchPhrase}</h3>
<div class="portfolio-description">{@html currentProject.description}</div>
<div class="portfolio-keywords">
{#each currentProject.keywords as kw}
@ -115,7 +115,7 @@
{/each}
</div>
<div class="portfolio-links">
{#each currentProject.external_links as link}
{#each currentProject.externalLinks as link}
<a href={link.url} target="_blank" rel="noopener noreferrer" class="button earth-icon">{link.label}</a>
{/each}
</div>