Commit graph

67 commits

Author SHA1 Message Date
isUnknown
01adf70585 Fix: pas de slide animé au chargement initial sur une page autre qu'accueil
All checks were successful
Deploy / Deploy to Production (push) Successful in 17s
La transition n'est activée qu'après le premier paint à la bonne position
(requestAnimationFrame une fois slides.all initialisé).
Remplace is-resizing par is-animated pour unifier les deux cas.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-05 17:54:28 +01:00
isUnknown
8dcec0e2c7 Fix: supprime la transition slides-wrapper pendant le redimensionnement
Classe is-resizing ajoutée sur resize, retirée 150ms après le dernier
événement — évite le glissement animé lors du resize de fenêtre.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-05 17:48:15 +01:00
isUnknown
09d05f53da Fix: fonts non dupliquées dans dist/, URLs CSS pointent vers assets/fonts/
All checks were successful
Deploy / Deploy to Production (push) Successful in 17s
Plugin Vite keepFontsInPlace : supprime les fonts que Vite copie dans dist/
et réécrit leurs URLs dans le CSS pour pointer vers /assets/fonts/.
Reverts base: '/assets/dist/' — inutile avec cette approche.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-05 17:45:18 +01:00
isUnknown
fca67beb6b Fix: URLs des fonts correctes dans le CSS buildé
Vite copiait les fonts dans assets/dist/ mais générait url(/NomFont.woff)
(chemin racine) au lieu de url(/assets/dist/NomFont.woff).
Correction : base = '/assets/dist/' en mode build, '/' en dev.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-05 17:41:41 +01:00
isUnknown
544a74a340 fix css file path
All checks were successful
Deploy / Deploy to Production (push) Successful in 18s
2026-03-05 17:33:51 +01:00
isUnknown
b1e4f50c9c CI: utiliser l'image ci-node (Node 20 + lftp + PHP préinstallés)
All checks were successful
Deploy / Deploy to Production (push) Successful in 21s
Remplace ci-php + installation runtime de Node par l'image ci-node
qui embarque tout le nécessaire — build plus rapide et plus propre.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-05 17:30:32 +01:00
isUnknown
7e1a92449d CI: build Svelte avant le déploiement FTP
Installe Node 22 via NodeSource, npm ci + vite build.
Le résultat (assets/dist) est inclus dans le mirror FTP existant.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-05 17:28:37 +01:00
isUnknown
0b563b4697 Feat: page Portfolio avec galerie animée, navigation par scroll/touch/clavier
All checks were successful
Deploy / Deploy to Production (push) Successful in 18s
- Composable useScrollNav partagé entre Expertise et Portfolio (wheel/touch/clavier)
- GalleryAnimation : 3 colonnes CSS défilantes infinies avec décalage et delay
- Portfolio : golden grid, mockup centré, infos projet, sidebar vignettes navigables
- API portfolio.json.php alignée sur blueprint project.yml (catchphrase, images_gallery, mockup, keywords, external_links)
- Variable --ease-standard partagée dans variables.css
- Alias @composables ajouté dans vite.config.js
- Refactor Expertise pour utiliser le composable (comportement identique)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-05 17:13:50 +01:00
isUnknown
feb300f76e Tweak: animation expertise — courbe et transform des items
All checks were successful
Deploy / Deploy to Production (push) Successful in 16s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-05 16:10:27 +01:00
isUnknown
8148a1e63b Fix: ajout des lignes verticales manquantes (start, center, end) sur Expertise
All checks were successful
Deploy / Deploy to Production (push) Successful in 16s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-05 15:58:29 +01:00
isUnknown
d9c45d40fe Refactor: lisibilité Expertise + navigation clavier
All checks were successful
Deploy / Deploy to Production (push) Successful in 16s
- Renomme N → itemCount et fwdPosition → currentFwdTime
- Extrait stopActiveVideo, playForward, playReverse depuis navigate()
- Extrait initPlayback et resetPlayback depuis $effect
- Nomme les magic numbers en constantes (SCROLL_LOCK_MS, etc.)
- Ajoute navigation clavier ArrowUp / ArrowDown

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-19 20:38:55 +01:00
isUnknown
85b2145bb0 Fix: HTML valide et styles expertise
All checks were successful
Deploy / Deploy to Production (push) Successful in 16s
- Expertise: items en <div> au lieu de <p> (évite les <p> imbriqués)
- Expertise: espacement entre les paragraphes internes via :global
- fonts.css: classe utilitaire .green

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-19 19:08:38 +01:00
isUnknown
3618137657 Feat: vue Expertise avec scroll capturé et vidéo segmentée
All checks were successful
Deploy / Deploy to Production (push) Successful in 18s
- Expertise.svelte : effet fullpage vertical avec wheel/touch capturé,
  vidéo forward/reverse découpée en N segments égaux (1 par bloc body),
  centrage texte actif via offsetTop, transitions CSS 0.6s
- Variables CSS : ajout font-size expertise desktop/tablet/mobile
- JSON template : pageTitle depuis writer, items depuis body blocks
- Vidéos : BACKGROUND_VIDEO_MISSION + REVERSE copiées dans assets/video/

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-19 18:54:25 +01:00
isUnknown
66afa1daad Fix: pointer-events: none sur les lignes verticales
All checks were successful
Deploy / Deploy to Production (push) Successful in 13s
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-19 14:49:58 +01:00
isUnknown
a737fea100 Feat: navbar mobile padding et hauteur minimale
All checks were successful
Deploy / Deploy to Production (push) Successful in 13s
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-19 14:40:37 +01:00
isUnknown
d44c886e8c Feat: responsive header mobile + variables breakpoints
- variables.css : --breakpoint-mobile (700px) et --breakpoint-tablet (912px)
- Header : .navbar-item { display: none } en dessous de 700px
- Header/Menu : annotation des media queries avec les variables de référence

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-19 14:38:06 +01:00
isUnknown
a1785743c9 Fix: cursor outline scale depuis le bon centre
All checks were successful
Deploy / Deploy to Production (push) Successful in 13s
scale() dans le transform plutôt qu'en propriété CSS séparée.
La propriété scale CSS calcule son transform-origin sur la position
layout (avant translate), pas la position visuelle — d'où le décalage.
Avec transform: translate(-50%, -50%) scale(0.5), le centre reste en (0,0).

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-19 14:29:09 +01:00
isUnknown
8b4fa2aa47 Refactor: cursor dans un wrapper commun pour centrage parfait
- Un seul wrapper positionné par transform, les deux éléments à l'intérieur
- translate(-50%, -50%) sur chaque enfant : centre exact = origine du wrapper
- upon-target sur le wrapper → scale(0.5) sur cursor-outline sans décalage
- Suppression du lerp JS (plus nécessaire avec le centrage CSS)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-19 14:24:56 +01:00
isUnknown
ebd8ad5e7b Feat: cursor upon-target sur liens et boutons
- Détection de survol via mouseover sur a, button, [role="button"], [tabindex]
- Classe upon-target appliquée au curseur et à son outline
- cursor-outline scale(0.5) au survol d'un élément interactif

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-19 14:18:59 +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
d81eaa1c15 Feat: header transparent quand le menu est ouvert
All checks were successful
Deploy / Deploy to Production (push) Successful in 13s
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-19 14:07:54 +01:00
isUnknown
dc66d57306 Refactor: consolider toutes les variables CSS dans variables.css
- variables.css : z-index, couleurs et font-sizes au même endroit
- layout.css, buttons.css : z-index: 1 → var(--z-base)
- Suppression de src/style.css (fichier mort, jamais importé)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-19 14:02:06 +01:00
isUnknown
b7d825b2f0 Feat: variables z-index + header au-dessus du menu
- style.css : plage z-index (--z-base, --z-content, --z-menu, --z-header, --z-cursor)
- Menu : show() au lieu de showModal() pour sortir du top-layer natif,
  Escape géré manuellement via keydown, z-index: var(--z-menu), position: fixed
- Header : z-index: var(--z-header) sur navbar, logo et toggle (toujours au-dessus du menu)
- Cursor/cursor.css : z-index: var(--z-cursor)
- Home : z-index: var(--z-content) sur home-text

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-19 13:59:19 +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
cfdaf1a6e2 Refactor: sémantique HTML et suppression des styles inline
All checks were successful
Deploy / Deploy to Production (push) Successful in 13s
- App.svelte : suppression du wrapper .app redondant, montage direct sur #app, <section> pour les slides
- Header.svelte : <nav>, <ul><li><a> pour le menu, <button> pour le hamburger, animation hamburger en CSS pur (plus de style inline sur les cercles SVG)
- Home.svelte : fusion div[grid-area]+.olly en .home-bg, suppression de tous les style="" statiques

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-19 12:58:32 +01:00
isUnknown
e65389534e logo : improve responsive 2026-02-19 12:44:50 +01:00
isUnknown
d7dacd6b6c Feat: navigation au clavier entre slides (← →)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-19 12:41:50 +01:00
isUnknown
8e01cbe611 Feat: navigation par slides horizontaux
All checks were successful
Deploy / Deploy to Production (push) Successful in 14s
- Nouveau store slides.svelte.js : gestion de l'état des slides (activeIndex, pendingPath, chargement progressif)
- Réécriture du router : remplace navaid par une logique custom avec chargement de la slide initiale puis des autres en arrière-plan
- App.svelte : layout slides-wrapper avec translateX, transition 1000ms
- Header.svelte : menu 100% dynamique depuis slides.all (ordre et titres multilingues depuis Kirby)
- site/controllers/site.php : navigation exposée via site->pages()->listed() avec titres par langue, home prependue

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-19 12:38:07 +01:00
isUnknown
614098baf6 plan : redesign navigation 2026-02-19 11:58:19 +01:00
isUnknown
5c3568a12a Fix: golden-grid height 100vh au lieu de 100%
All checks were successful
Deploy / Deploy to Production (push) Successful in 15s
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-18 12:08:12 +01:00
isUnknown
50f81269ac Feat: Home récupère subtitle et CTA depuis les données Kirby
- Renommage des champs blueprint : cta_text → ctaText, cta_link → ctaLink
- Template home.json.php : expose ctaText et ctaPath (id de page Kirby)
- Home.svelte : suppression des traductions en dur, lecture de data.hero

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-18 12:08:08 +01:00
isUnknown
51eee10c5a Refactor: déplacer router et animations hors de state/
- src/state/router.js → src/router/index.js
- src/state/animations.js → src/utils/animations.js
- Ajout des alias @router et @utils dans vite.config.js
- Mise à jour des imports dans Header.svelte et main.js

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-18 12:08:03 +01:00
isUnknown
65cfba8c77 Fix: Correction du routage et chargement initial des vues
All checks were successful
Deploy / Deploy to Production (push) Successful in 15s
Router:
- Suppression de l'appel direct à loadPage au démarrage
- router.listen() gère maintenant le chargement initial
- Utilisation de router.run() dans le handler popstate
- Résolution de la 404 sur /.json à la home

App.svelte:
- Attente de pageData avant calcul du template et de la vue
- Renommage de view en View (majuscule requise en Svelte 5)
- Correction de la réactivité des composants dynamiques

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-07 08:38:49 +01:00
isUnknown
9ab6344835 Renommer lib/ en state/ pour plus de clarté
All checks were successful
Deploy / Deploy to Production (push) Successful in 13s
- Renommage du dossier src/lib/ en src/state/
- Mise à jour de l'alias @lib vers @state dans vite.config.js
- Suppression de l'alias @stores devenu obsolète
- Mise à jour de tous les imports dans les composants et vues

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-07 08:26:28 +01:00
isUnknown
a12c2df8f9 Upgrade vers Svelte 5 et reproduction de la page d'accueil
- Upgrade : Svelte 5.0.0, Vite 7.0.4, @sveltejs/vite-plugin-svelte 6.0.0
- Migration syntaxe Svelte 5 : $derived, $props(), onclick, mount()
- Navbar identique au site source avec logo GIF et menu animé
- Page Home avec vidéo plein écran et lignes verticales
- CSS modulaire organisé en fichiers séparés (variables, fonts, layout, buttons, etc.)
- Assets copiés : fonts Danzza, vidéos, icônes

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-07 07:52:16 +01:00
isUnknown
cbe89acb21 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
c4456d587c animation rendu plus responsif pour s'assurer qu'une image ne soit jamais trop grand par rapport à .gallery-animation
All checks were successful
Deploy / Deploy to Production (push) Successful in 14s
2026-02-05 16:40:40 +01:00
c4eb79cb79 modif du minimum optimal du nombre d'image dans le blueprint
All checks were successful
Deploy / Deploy to Production (push) Successful in 11s
2026-01-20 16:21:48 +01:00
0e981e990f prototype pour l'animation galerie d'images dans test_anim à la récine 2026-01-20 16:18:57 +01:00
d04048549a je crois que c'était une homogénéisation des bliueprint
All checks were successful
Deploy / Deploy to Production (push) Successful in 9s
2026-01-20 10:44:44 +01:00
847cd588c2 champs téléphone viré des donnée partagée, champs des champs structure rendu obligatoire, correction pour que seul les bon titre du panel soit en uppercase, assurer que la bonne image sera utilisé en image de prévisualisation dans jouer, portfolio, etc 2026-01-19 17:24:28 +01:00
e2a771feaa ajout du logo au login 2026-01-19 15:54:12 +01:00
fec727399a ajustement alignement pour les cards 2026-01-19 15:46:00 +01:00
07361024b5 ajustement pour que les carde ressemble plus à l'affichage des articles 2026-01-19 15:44:34 +01:00
736a836c85 suppression de feichier créer pour claude
All checks were successful
Deploy / Deploy to Production (push) Successful in 9s
2026-01-19 15:09:37 +01:00
42d3757f8f correction de quelque blueprint
All checks were successful
Deploy / Deploy to Production (push) Successful in 9s
2026-01-19 15:08:51 +01:00
f1f4ec4d44 correction de quelque blueprint 2026-01-19 11:52:39 +01:00
d9532c0cfd encore d'autre correction du panel
All checks were successful
Deploy / Deploy to Production (push) Successful in 8s
2026-01-16 18:08:18 +01:00
5e89244030 correction des field block de experise, blog, article
All checks were successful
Deploy / Deploy to Production (push) Successful in 10s
2026-01-16 17:25:58 +01:00
01f6dffd0e dark mode du panel forcer
All checks were successful
Deploy / Deploy to Production (push) Successful in 8s
2026-01-16 14:29:38 +01:00