Voile
Le blanc monte à 80 %, jamais à 100 % — le plafond de la traversée nuageuse du cinématique. Le conteneur est échangé au sommet du voile, page sortante déjà floue.
Dix scènes du système de transitions Barba, chacune une démonstration autonome sur un mock de navigateur. Quatre sont réellement chargées sur le site (01, 02, 03, 04) ; les six autres prolongent la réflexion vers des techniques non encore branchées.
Le blanc monte à 80 %, jamais à 100 % — le plafond de la traversée nuageuse du cinématique. Le conteneur est échangé au sommet du voile, page sortante déjà floue.
La ligne se trace d'abord, les deux panneaux se referment sur elle, puis rouvrent sur la page suivante.
Perte de signal : la page s'assombrit, un balayage passe deux fois, le relevé de route s'affiche, puis le contenu revient par paliers.
L'ouverture se referme jusqu'au noir complet, l'anneau tient 200 ms sur la bascule, puis rouvre sur la page suivante.
Avec sync: true, les deux conteneurs coexistent dans le document : le sortant part à gauche pendant que l'entrant arrive de la droite.
Une transition par paire de vues. Barba retient la première règle qui correspond : les paires spécifiques d'abord, la règle sans condition en dernier recours.
Ce qui doit vivre et mourir avec une page : reveals, scrub, parallax, et les sections épinglées ScrollTrigger de /projet.
La vignette cliquée devient l'image de tête de la fiche. Mesure avant, mesure après, une seule interpolation : le lien visuel remplace la transition.
Le greffon @barba/prefetch demande la page au survol du lien. Au clic, il ne reste que la peinture : la transition démarre sur un cache chaud.
Un canvas Three.js pourrait vivre hors du conteneur Barba : jamais démonté, seule l'interface serait échangée pendant que la scène continue de tourner.
Le blanc monte à 80 %, jamais à 100 % — le plafond de la traversée nuageuse du cinématique. Le conteneur est échangé au sommet du voile, quand la page sortante est déjà floue.
La forme la plus neutre du jeu : elle convient à toutes les paires de routes et sert de règle par défaut sur le site.
La ligne se trace d'abord, les deux panneaux se referment sur elle, puis rouvrent sur la page suivante. La ligne reste une fraction de seconde seule à l'écran.
En place entre à-propos et travaux sur le site. Barba attend la promesse renvoyée par leave : la fermeture ne peut pas être court-circuitée par une requête rapide.
Perte de signal : la page s'assombrit, un balayage passe deux fois, le relevé de route s'affiche, puis le contenu revient par paliers.
En place entre travaux et projet sur le site — la seule transition du jeu qui montre la navigation elle-même. Le relevé est composé depuis les namespaces des deux vues, disponibles dans leave.
L'ouverture se referme jusqu'au noir complet, l'anneau tient 200 ms sur la bascule, puis rouvre sur la page suivante qui se détend d'un pour cent.
En place entre à-propos et projet sur le site. La couverture vient d'une ombre à écartement constant : c'est la taille de l'ouverture qui est animée, jamais un scale — sinon l'ombre rétrécit avec elle.
Avec sync: true, les deux conteneurs coexistent dans le document : le sortant part à gauche pendant que l'entrant arrive de la droite, dans la même course.
Piste non branchée sur le site — aucune paire de routes n'en a besoin aujourd'hui. Sans ce drapeau, leave doit finir avant qu'enter commence — un raccord est alors impossible.
Une transition par paire de vues. Barba retient la première règle qui correspond : les paires spécifiques d'abord, la règle sans condition en dernier recours.
Ce sont les règles réellement chargées sur le site — voir TRANSITIONS dans barba-transitions.js. Les namespaces viennent du nom de route Blade : data-barba-namespace="works". Choisis un départ et une arrivée — la règle appliquée s'allume.
Ce qui doit vivre et mourir avec une page : reveals, scrub, parallax, et les sections épinglées ScrollTrigger de /projet. Montés dans afterEnter, détruits dans beforeLeave.
Le cycle réel du site — voir bootPageSystems() et project.dispose(). Sans démontage, chaque visite laisse un abonné derrière elle, et ScrollTrigger garde les bornes de la page précédente.
La vignette cliquée devient l'image de tête de la fiche. Mesure avant, mesure après, une seule interpolation : le lien visuel remplace la transition.
Piste non branchée sur le site — /travaux n'a pas encore de vignettes de projet. Les deux conteneurs doivent coexister le temps de la mesure — donc sync: true, et un couple d'attributs pour apparier la source et la cible.
Le greffon @barba/prefetch demande la page au survol du lien. Au clic, il ne reste que la peinture : la transition démarre sur un cache chaud.
Greffon non installé sur le site — cette scène simule seulement l'écart d'attente qu'il supprimerait. Survole les deux liens, puis clique : le relevé compare l'attente réseau observée.
Un canvas Three.js pourrait vivre hors du conteneur Barba : jamais démonté, seule l'interface serait échangée pendant que la scène continue de tourner.
Non appliqué : sur ce site, chaque cinématique (home-cinematic, forest-cinematic, blackhole-cinematic) est une page à part, hors du wrapper Barba — un vrai chargement, délibérément. Cette scène illustre ce qu'il faudrait pour les enchaîner sans réinitialiser Three.js.