← La bibliothèque

Shirune Studio

Site vitrine pour studio d’architecture et d’architecture d’intérieur

Template complet Réservé aux membres Ouvrir la démo
Aperçu du template Shirune Studio : accueil pleine hauteur sur une photo de verrière, titre « Thoughtful Design for a Refined Lifestyle » et carte de projet en bas à droite.

Ce que c’est

Un site de studio d’architecture, complet : accueil pleine hauteur, présentation, services en onglets, logos clients, projets en rail horizontal, avis en carrousel, articles, FAQ et pied de page. Une seule page, un seul fichier HTML.

Le design reprend celui d’un template Webflow dont seules les photos et les icônes ont été conservées. Tout le code a été réécrit : l’original tenait dans 129 Ko de CSS minifié, jQuery, quatre bundles Webflow de 400 Ko, un moteur d’animation propriétaire (IX2) et trois fichiers GSAP chargés depuis deux domaines — dont le code qui les utilise ne se trouve nulle part dans l’export.

C’est le point important : ce template n’est pas là pour être admiré, il est là pour être lu, cassé et remonté.

Ce que tu changes en premier

Les couleurs — cinq lignes

Tout en haut de assets/css/style.css :

--green:       #506e61;  /* boutons, pastilles de section */
--green-dark:  #3f574d;  /* le même vert, assombri pour le survol */
--green-light: #8fb0a1;  /* le même vert, éclairci : focus et texte sur photo */
--paper-grey:  #f5f5f5;  /* le fond des sections alternées */
--bark:        #2f2c25;  /* les titres des cartes de projet */

Une chose à comprendre avant de toucher au reste : il y a trois verts, pas un. Le vert plein passe le contraste AA sur blanc et sur le gris de section (5,6:1 et 5,1:1), mais il disparaît dans une photo. C’est pour ça que l’anneau de focus et les états sur photo utilisent la version éclaircie (6,0:1 sur une photo sombre). Si tu changes le vert, change les trois.

Le nom

Cherche « Shirune » dans index.html. Aucune classe CSS ne contient la marque : un rechercher-remplacer ne peut rien casser.

Les tailles

L’échelle typographique est déclarée une fois, puis redéclarée à chaque point de rupture. Un titre n’a donc jamais sa propre media query : tu changes --h2 et toute la page suit.

Les quinze effets, et comment ils sont faits

Tous relevés dans les données du moteur d’animation de l’original — 97 événements et 24 listes d’action extraits de son store, puis mesurés au navigateur, pas à l’œil. Après déduplication il reste 35 événements distincts, regroupés ici en quinze effets.

EffetRéglages d’origineComment
Apparition au scroll (22 blocs)opacité 0→1 et 100 px de bas en haut, 1 s, outQuartIntersectionObserver, mêmes valeurs, déclenché à 15 % du bas de l’écran
Entrée de la barre−100 px du haut, 1 s outQuart, 200 ms de retardmême chose en CSS, sous html.js
Voile de la barrede 0 à 9 % du scroll : fond transparent → noir 60 %, pastille noir 20 % → blanc 34 %une variable --veil écrite au scroll, color-mix pour la pastille
Barre qui s’efface−100 % en descendant, 0 en remontant, 500 ms inOutQuadune classe posée au scroll, avec 8 px de zone morte
Parallaxe de l’accueille contenu descend de 50 % sur un écran de défilementmême course, calculée au scroll
Rail des projetssection épinglée sur 5 écrans, les cartes glissent de 1 700 pxscrollLeft piloté par la progression, course mesurée et non figée
Boutons (6)deux libellés qui montent de 20 px, flèche +10 px, 400 ms inOutQuaddeux libellés empilés dans une boîte qui coupe, mêmes durées
Cartes de projet (7)la photo passe à 1,2×, 500 ms inOutCubicun transform, mêmes valeurs
Flèche de la carte d’accueildeux flèches translatées de 22 px, 300 msdeux <use> dans une boîte qui coupe
Cartes d’article (2)la photo passe à 1,2×, 500 ms inOutCubicidentique
Accordéon FAQ (5)hauteur 0 ↔ auto en 500 ms, le « + » tourne de 45°<details> natif, transition sur ::details-content
Onglets services (3)panneaux Webflow, un point apparaît sur l’onglet actiftrois radios natifs et :has() — zéro JavaScript
Menu mobilele panneau entre par la droite, 800 ms inOutCubicmême translation, plus le piège à focus et la touche Échap
Carrousel des avis (4)slider Webflow, glissement 500 msscroll-snap natif ; les flèches deviennent des boutons
Texte qui s’allumeGSAP SplitText — le code n’est pas dans l’export, seul l’état de repos est observablereconstitué : les mots s’allument un à un au fil du scroll

Ce qu’il faut savoir

  • Aucune requête externe. 43 requêtes au chargement, toutes locales. L’original chargeait jQuery, quatre bundles Webflow, trois fichiers GSAP et deux familles de polices depuis quatre domaines.
  • L’apparition au scroll ne peut pas masquer le contenu. L’état caché n’existe que si le JavaScript a tourné. Vérifié en retirant les balises <script> : 21 titres sur 23 restent visibles, les deux derniers étant les panneaux d’onglets non sélectionnés — que le CSS cache, et qu’un clic ramène. L’original, lui, posait style="opacity:0" sur chacun des 22 blocs animés.
  • Zéro style et zéro script en ligne. Le template respecte la politique de sécurité stricte du site — celle-là même que style="opacity:0" viole.
  • Le déclencheur est à 15 % du bas de l’écran, pas au premier pixel comme dans l’original : un bloc entre visiblement au lieu d’avoir fini avant d’être vu.
  • Le rail des projets marche sans JavaScript. C’est un vrai conteneur de défilement horizontal : il se balaye au doigt et s’atteint au clavier. Le pilotage par le scroll vertical vient par-dessus.
  • Accessibilité : lien d’évitement, état du menu annoncé, FAQ native, position du carrousel annoncée, focus visible unique, décorations masquées aux lecteurs d’écran, animations et délais coupés si le système le demande.
  • Responsive vérifié à 390, 1440 et 2560 px, au chargement comme après défilement complet, sans débordement horizontal.

Ce qui n’est pas parfait

Autant le dire ici plutôt que te le laisser découvrir.

  • Le texte qui s’allume est une reconstitution. L’original charge GSAP et SplitText mais le code qui les pilote ne figure nulle part dans l’export : seul l’état de repos est observable, des mots en gris pâle. L’effet a été refait à partir de là.
  • Le rail des projets ne glisse pas de la même distance. L’original translate de 1 700 px quelle que soit la largeur, ce qui laisse du vide à droite sur un grand écran. Ici la course est mesurée, donc la dernière carte arrive exactement au bord. Au-delà de 2 550 px les six cartes tiennent côte à côte : la section cesse d’être épinglée plutôt que de bloquer la page pendant cinq écrans.
  • Le gris du texte qui s’allume a été assombri. Celui de l’original tombe à 2,6:1 sur le fond de section — illisible pour qui ne fait pas défiler la page. Le nôtre est à 4,6:1 et l’effet se voit toujours.
  • Trois sections s’écartent de plus de 1 % sous 992 px : l’accueil (+5,2 % à 767 px, −2,4 % à 479 px), les avis (−4,0 % à 479 px) et le pied (+2,6 % à 479 px). Tout vient de l’endroit où les textes se coupent quand la colonne rétrécit. Rien ne se chevauche.
  • Les pages internes n’existent pas. L’original est un site multi-pages ; tous ses liens sont ramenés à des ancres de la page unique, et le bouton de contact ouvre le client de messagerie.
  • Les photos viennent du template d’origine et plusieurs sont des images générées — leurs noms de fichiers le disent. Le code est à toi ; pour les visuels, vérifie la licence ou remplace-les. Les trois polices, elles, sont sous licence SIL Open Font 1.1 et redistribuables.

Prends-le, ouvre-le, casse-le.

Shirune Studio est gratuit. La bibliothèque complète — les autres templates et les composants — est incluse dans l’abonnement, avec la formation.

Accès immédiat · Sans engagement · Annulation en 1 clic