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>
This commit is contained in:
isUnknown 2026-02-06 16:30:15 +01:00
parent c4456d587c
commit cbe89acb21
53 changed files with 3348 additions and 772 deletions

View file

@ -1,82 +1,2 @@
<!-- Footer -->
<footer class="site-footer">
<div class="site-footer__container">
<!-- Logo & Info -->
<div class="site-footer__brand">
<?php if ($logo = $site->logo()->toFile()): ?>
<img src="<?= $logo->url() ?>" alt="<?= $site->site_title() ?>" class="site-footer__logo">
<?php else: ?>
<span class="site-footer__logo-text"><?= $site->site_title() ?></span>
<?php endif ?>
<?php if ($site->site_tagline()->isNotEmpty()): ?>
<p class="site-footer__tagline"><?= $site->site_tagline() ?></p>
<?php endif ?>
</div>
<!-- Contact -->
<div class="site-footer__contact">
<?php if ($site->contact_email()->isNotEmpty()): ?>
<a href="mailto:<?= $site->contact_email() ?>" class="site-footer__email">
<?= $site->contact_email() ?>
</a>
<?php endif ?>
<?php if ($site->contact_phone()->isNotEmpty()): ?>
<a href="tel:<?= $site->contact_phone() ?>" class="site-footer__phone">
<?= $site->contact_phone() ?>
</a>
<?php endif ?>
<?php if ($site->contact_address()->isNotEmpty()): ?>
<address class="site-footer__address">
<?= $site->contact_address()->kt() ?>
</address>
<?php endif ?>
</div>
<!-- Social Links -->
<div class="site-footer__social">
<?php if ($site->social_linkedin()->isNotEmpty()): ?>
<a href="<?= $site->social_linkedin() ?>" class="site-footer__social-link" target="_blank" rel="noopener noreferrer">
LinkedIn
</a>
<?php endif ?>
<?php if ($site->social_twitter()->isNotEmpty()): ?>
<a href="<?= $site->social_twitter() ?>" class="site-footer__social-link" target="_blank" rel="noopener noreferrer">
Twitter
</a>
<?php endif ?>
<?php if ($site->social_instagram()->isNotEmpty()): ?>
<a href="<?= $site->social_instagram() ?>" class="site-footer__social-link" target="_blank" rel="noopener noreferrer">
Instagram
</a>
<?php endif ?>
<?php if ($site->social_youtube()->isNotEmpty()): ?>
<a href="<?= $site->social_youtube() ?>" class="site-footer__social-link" target="_blank" rel="noopener noreferrer">
YouTube
</a>
<?php endif ?>
</div>
<!-- Mentions légales -->
<?php if ($pdf = $site->mentions_legales()->toFile()): ?>
<div class="site-footer__legal">
<a href="<?= $pdf->url() ?>" target="_blank">Mentions légales</a>
</div>
<?php endif ?>
<!-- Copyright -->
<div class="site-footer__copyright">
<p>&copy; <?= date('Y') ?> <?= $site->site_title() ?>. Tous droits réservés.</p>
</div>
</div>
</footer>
<!-- Scripts -->
<?= js('assets/js/main.js') ?>
</body>
</html>