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
|
|
|
<script>
|
|
|
|
|
import { fade } from 'svelte/transition'
|
|
|
|
|
|
2026-02-07 08:26:28 +01:00
|
|
|
let { data } = $props()
|
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
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<div class="default" transition:fade>
|
|
|
|
|
<div class="default__container">
|
|
|
|
|
<h1>{data?.title || 'Page'}</h1>
|
|
|
|
|
{#if data?.body}
|
|
|
|
|
<div class="default__content">
|
|
|
|
|
{@html data.body}
|
|
|
|
|
</div>
|
|
|
|
|
{/if}
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<style>
|
|
|
|
|
.default {
|
|
|
|
|
min-height: 100vh;
|
|
|
|
|
padding: 8rem 2rem 4rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.default__container {
|
|
|
|
|
max-width: 1200px;
|
|
|
|
|
margin: 0 auto;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
h1 {
|
|
|
|
|
font-size: clamp(2rem, 5vw, 4rem);
|
|
|
|
|
margin-bottom: 2rem;
|
|
|
|
|
color: #fff;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.default__content {
|
|
|
|
|
color: rgba(255, 255, 255, 0.9);
|
|
|
|
|
line-height: 1.8;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@media (max-width: 768px) {
|
|
|
|
|
.default {
|
|
|
|
|
padding: 6rem 1rem 3rem;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</style>
|