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:
parent
c4456d587c
commit
cbe89acb21
53 changed files with 3348 additions and 772 deletions
|
|
@ -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>© <?= date('Y') ?> <?= $site->site_title() ?>. Tous droits réservés.</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<!-- Scripts -->
|
||||
<?= js('assets/js/main.js') ?>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue