L'éclaireur : Créer une brochure animée sur Webflow

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique.

Par

Camille

July 7, 2024

5

mins de lecture

Sommaire

Partager

La présence en ligne est aujourd'hui primordiale, et pour tous les secteurs, même celui de l'immobilier !

Le besoin

Dans le cas du bâtiment de l'éclaireur, il était nécessaire de rendre consultable leur brochure papier sur leur site. Seulement, l'insertion simple du PDF n'était pas suffisante, et ils souhaitaient une véritable brochure animée, avec :

  • Animation des pages tournées, comme lorsque l'on consulte un livre physique
  • Animation d'arrivée des éléments, pour ajouter un peu de douceur
  • Un design responsive pour être visible aussi bien sur téléphone que sur ordinateur

Pour toutes ces raisons, il était donc nécessaire de construire la brochure en HTML / CSS.

La structure HTML / CSS avec Webflow

L'avantage de Webflow, est qu'il permet de construire grâce à une interface WYSIWYG 1 du code HTML et CSS.

Ce qui signifie qu'au final, si vous aviez construit votre site en "codant pour de vrai" (notez bien la présence de guillemets 🙈 ) vous auriez au final produit plus ou moins les mêmes lignes de code, avec le même "langage de programmation" (pour mes amis les développeurs, encore une fois, notez les guillemets 🙊)

Pourquoi c'est un avantage ? Parce qu'on peut injecter autant de custom code qu'on le souhaite, qu'il soit HTML, CSS ou JS. Ainsi, Webflow n'a plus vraiment de limites, car ce qui n'est pas encore faisable nativement peut-être fait en intégrant les lignes de code dans la page.

Dans le cas appliqué de la brochure du site de "L'éclaireur", nous avons donc développé dans un premier temps une structure statique grâce à Webflow, en intégrant quelques lignes de code CSS non possibles nativement sur Webflow pour la rendre totalement responsive.

Exemple avec le code ci dessous qui s'assure que les pages de la brochure aient toujours le bon format, soit un format de 2/3 en desktop, peu importe le format de l'écran utilisé :

1  :root {
2  	--ratio : 2/3;
3    --brochure-padding: var(--adaptive-sizes--32px);
4  }
5  
6  /* Si ecran plus haut que large - On passe en relatif à la largeur de l'écran et non la hauteur */
7  @media screen and (orientation: portrait) and (min-width: 992px) {
8    .brochure_aspect {
9      max-height: calc(100vw - (var(--brochure-paddings) * 2));
10      max-width: calc((100vw - (var(--brochure-paddings) * 2)) * 2 * var(--ratio));
11    }
12    .brochure_page {
13      font-size: 0.75vw;
14      max-height: calc(100vw - (var(--brochure-paddings) * 2));
15      max-width: calc((100vw - (var(--brochure-paddings) * 2)) * var(--ratio));
16    }
17  }

Il est possible de voir le rendu et de le tester directement dans le designer Webflow, ce qui rend la mise en place de ces codes et HTML CSS encore plus simple.

1 : WYSIWYG = What You See Is What You Get, est une manière de construire des interfaces qui s'est beaucoup démocratisée avec l'avènement du no-code. Elle permet d'accélérer la vitesse de développement pour ceux qui sont du domaine, tout en rendant le développement plus simple pour ceux qui en on besoin sans être des experts.

La force des variables CSS

Vous remarquerez peut-être l'usage de variables CSS et leur puissance est sans limite.

Là où avant, lors de l'ajout de code custom dans une page il pouvait devenir compliqué de le modifier pour une personne moins technique, ces dernières ont vraiment amené une facilité de modification pour tous.

Ici, il serait possible sans avoir à venir modifier directement le code de changer l'espace autour de la brochure, ainsi que le ratio de cette dernière.

NB : à noter que pour que l'exemple soit complet, les variables sont ici définies dans le code, mais elles pourraient être définies depuis l'onglet "Variables" du projet Webflow.

Prenez garde à la responsivité

Mais en soit, en construisant avec Webflow, il est assez aisé de se rendre compte de l'apparence de notre site sur toutes les tailles d'écrans.

L'adaptation du ratio se fait simplement grâce à une dérivé du code présenté pour les formats ordinateurs.

Le plus gros challenge ici sera de garder la même structure au sein de chaque page, car vous n'aurez en général pas beaucoup de marge de manoeuvre si vous souhaitez garder chaque page similaire à la version papier sur le téléphone.

Je vous conseillerai ici d'opter pour des unités relatives à leur parent, tel que le em ou le cqw afin de pouvoir jouer en fonction des pages sur la taille de la police par rapport à son parent, ce dernier pouvant s'adapter à la largeur ou hauteur en fonction du besoin de chaque page.

L'animation "livre" avec Turn.JS

Une fois la structure HTML créée avec Webflow, nous pouvons donc interagir avec via du Javascript.

Quand il s'agit de créer des animations de type livre, la meilleure librairie disponible à ce jour est turn.js selon moi.

Très simple à mettre en place, elle propose un panel de fonction pour avoir des intégrations clavier et personnaliser les effets.

Il suffit d'ajouter les bons sélecteurs sur votre page et le tour est joue !

Choisir ses sélecteurs JS (ou jQuery)

Que ce soit pour du JavaScript, ou son framework jQuery, je vous conseille d'utiliser la fonctionnalité des custom attributs de Webflow plutôt que de prendre des classes ou mettre des ids.

Ces deux derniers sont trop souvent modifiés, soit par Webflow lui-même lors de copier coller intempestif, soit par des personnes faisant des mises à jour dans le Webflow. Les attributs ont l'avantage de ne pas être utilisés pour le design lui-même et sont donc moins souvent modifiés.

Vous pouvez voir notre article sur comment ajouter et utiliser les attributs sur Weflow pour plus de détails 😉

Une fois vos attributs placés, et votre petit code JS intégré, votre animation de brochure est en place.

Et la responsivité ?

Turn.js s'occupe lui même de passer de deux pages à une quand la taille l'écran le demande, donc pas besoin de vous en préoccuper pour le coup !

Ajouter des contrôle clavier

Si vous souhaitez que vos pages puissent être tournées via le clavier, vous pouvez simplement ajouter le code suivant dans votre page (après le parametrage de turn.js)

Dans l'exemple ci-dessous, il s'agit des touches flèche gauche et droite, pour faire respectivement précédent et suivant :

1var Webflow = Webflow || [];
2  Webflow.push(function () {
3    loadApp()
4
5    document.addEventListener("keydown", function (event) {
6      if (event.key === "ArrowRight") {
7        flipbook.turn("next");
8      } else if (event.key === "ArrowLeft") {
9        flipbook.turn("previous");
10      }
11    });
12
13    document.addEventListener('click', function (e) {
14      if (e.target.matches('[cd-custom-next="trigger"]')) {
15        flipbook.turn("next");
16      } else if (e.target.matches('[cd-custom-previous="trigger"]')) {
17        flipbook.turn("previous");
18      }
19    });

Les animations d'arrivé des éléments avec jQuery et JS

Place maintenant à la dernière étape : les animations d'arrivé.

Définition des animations

Vous avez la possibilité de définir différentes animations en fonction des éléments. Par exemple, nous avons fait une animation "slide from left" pour les textes, mais une animation de "zoom out" pour les images :

1  const animationOneSelector =
2        'p, h1, h2, h3, h4, h5, h6';
3  const animationTwoSelector =
4        'img, svg';
5
6
7flipbook.bind("turning", function (event, page, view) {
8      flipbook.find(animationOneSelector).stop().css({
9        opacity: 0,
10        position: 'relative',
11        left: '-10px'
12      });
13      flipbook.find(animationTwoSelector).stop().css({
14        transform: 'scale(1.2)',
15        opacity: 0
16      });;

Les sélecteurs pourraient ici encore être des attributs si on souhaite pouvoir contrôler avec plus de détails l'animation de chaque élément, ou avec des sélecteurs globaux, comme dans l'exemple, pour quelque de très uniforme.

Ajouter un délai entre l'animation de chaque élément

Pour une effet encore plus sympa, nous avons décidé d'ajouter un petit délai entre chaque élément, pour avoir quelque chose de vraiment progressif et smooth.

Prenez <contact> avec nous

Nous aimons les challenges

//
Contactez-nous
-
-
->
</style><style data-rc-order="prependQueue" data-css-hash="1his0cd" data-token-hash="himppx">.anticon{display:inline-flex;align-items:center;color:inherit;font-style:normal;line-height:0;text-align:center;text-transform:none;vertical-align:-0.125em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}.anticon >*{line-height:1;}.anticon svg{display:inline-block;}.anticon .anticon .anticon-icon{display:block;}</style><style>.wf-force-outline-none[tabindex="-1"]:focus{outline:none;}</style><meta charset="utf-8"><title>Portfolio - Codelius</title><meta content="Venez voir notre travail, et les avis de ceux qui nous ont fait confiance avant vous... Mais attention, l'essayer c'est l'adopter !" name="description"><meta content="Portfolio - Codelius" property="og:title"><meta content="Venez voir notre travail, et les avis de ceux qui nous ont fait confiance avant vous... Mais attention, l'essayer c'est l'adopter !" property="og:description"><meta content="Portfolio - Codelius" property="twitter:title"><meta content="Venez voir notre travail, et les avis de ceux qui nous ont fait confiance avant vous... Mais attention, l'essayer c'est l'adopter !" property="twitter:description"><meta property="og:type" content="website"><meta content="summary_large_image" name="twitter:card"><meta content="width=device-width, initial-scale=1" name="viewport"><link href="https://cdn.prod.website-files.com/62d15fe5fc13096216837c9f/css/lamrx.webflow.b445a3420.css" rel="stylesheet" type="text/css"><link href="https://fonts.googleapis.com" rel="preconnect"><link href="https://fonts.gstatic.com" rel="preconnect" crossorigin="anonymous"><script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js" type="text/javascript"></script><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Poppins:300,regular,500,700%7CIndie+Flower:regular" media="all"><script type="text/javascript">WebFont.load({  google: {    families: ["Poppins:300,regular,500,700","Indie Flower:regular"]  }});</script><!--[if lt IE 9]><script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js" type="text/javascript"></script><![endif]--><script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script><link href="https://cdn.prod.website-files.com/img/favicon.ico" rel="shortcut icon" type="image/x-icon"><link href="https://cdn.prod.website-files.com/img/webclip.png" rel="apple-touch-icon"><!-- Google tag (gtag.js) -->
<!--
</style><style data-rc-order="prependQueue" data-css-hash="1his0cd" data-token-hash="himppx">.anticon{display:inline-flex;align-items:center;color:inherit;font-style:normal;line-height:0;text-align:center;text-transform:none;vertical-align:-0.125em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}.anticon >*{line-height:1;}.anticon svg{display:inline-block;}.anticon .anticon .anticon-icon{display:block;}</style><style>.wf-force-outline-none[tabindex="-1"]:focus{outline:none;}</style><meta charset="utf-8"><title>Portfolio - Codelius</title><meta content="Venez voir notre travail, et les avis de ceux qui nous ont fait confiance avant vous... Mais attention, l'essayer c'est l'adopter !" name="description"><meta content="Portfolio - Codelius" property="og:title"><meta content="Venez voir notre travail, et les avis de ceux qui nous ont fait confiance avant vous... Mais attention, l'essayer c'est l'adopter !" property="og:description"><meta content="Portfolio - Codelius" property="twitter:title"><meta content="Venez voir notre travail, et les avis de ceux qui nous ont fait confiance avant vous... Mais attention, l'essayer c'est l'adopter !" property="twitter:description"><meta property="og:type" content="website"><meta content="summary_large_image" name="twitter:card"><meta content="width=device-width, initial-scale=1" name="viewport"><link href="https://cdn.prod.website-files.com/62d15fe5fc13096216837c9f/css/lamrx.webflow.b445a3420.css" rel="stylesheet" type="text/css"><link href="https://fonts.googleapis.com" rel="preconnect"><link href="https://fonts.gstatic.com" rel="preconnect" crossorigin="anonymous"><script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js" type="text/javascript"></script><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Poppins:300,regular,500,700%7CIndie+Flower:regular" media="all"><script type="text/javascript">WebFont.load({  google: {    families: ["Poppins:300,regular,500,700","Indie Flower:regular"]  }});</script><!--[if lt IE 9]><script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js" type="text/javascript"></script><![endif]--><script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script><link href="https://cdn.prod.website-files.com/img/favicon.ico" rel="shortcut icon" type="image/x-icon"><link href="https://cdn.prod.website-files.com/img/webclip.png" rel="apple-touch-icon"><!-- Google tag (gtag.js) -->
<!--
</style><style data-rc-order="prependQueue" data-css-hash="1his0cd" data-token-hash="himppx">.anticon{display:inline-flex;align-items:center;color:inherit;font-style:normal;line-height:0;text-align:center;text-transform:none;vertical-align:-0.125em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}.anticon >*{line-height:1;}.anticon svg{display:inline-block;}.anticon .anticon .anticon-icon{display:block;}</style><style>.wf-force-outline-none[tabindex="-1"]:focus{outline:none;}</style><meta charset="utf-8"><title>Portfolio - Codelius</title><meta content="Venez voir notre travail, et les avis de ceux qui nous ont fait confiance avant vous... Mais attention, l'essayer c'est l'adopter !" name="description"><meta content="Portfolio - Codelius" property="og:title"><meta content="Venez voir notre travail, et les avis de ceux qui nous ont fait confiance avant vous... Mais attention, l'essayer c'est l'adopter !" property="og:description"><meta content="Portfolio - Codelius" property="twitter:title"><meta content="Venez voir notre travail, et les avis de ceux qui nous ont fait confiance avant vous... Mais attention, l'essayer c'est l'adopter !" property="twitter:description"><meta property="og:type" content="website"><meta content="summary_large_image" name="twitter:card"><meta content="width=device-width, initial-scale=1" name="viewport"><link href="https://cdn.prod.website-files.com/62d15fe5fc13096216837c9f/css/lamrx.webflow.b445a3420.css" rel="stylesheet" type="text/css"><link href="https://fonts.googleapis.com" rel="preconnect"><link href="https://fonts.gstatic.com" rel="preconnect" crossorigin="anonymous"><script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js" type="text/javascript"></script><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Poppins:300,regular,500,700%7CIndie+Flower:regular" media="all"><script type="text/javascript">WebFont.load({  google: {    families: ["Poppins:300,regular,500,700","Indie Flower:regular"]  }});</script><!--[if lt IE 9]><script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js" type="text/javascript"></script><![endif]--><script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script><link href="https://cdn.prod.website-files.com/img/favicon.ico" rel="shortcut icon" type="image/x-icon"><link href="https://cdn.prod.website-files.com/img/webclip.png" rel="apple-touch-icon"><!-- Google tag (gtag.js) -->
<!--

Nos clients vous en parlent

Il faut avouer que nous ne sommes pas très objectifs sur nos prouesses,

mais eux... Oui !

Working with Codelius agency and Camille was actually made IT fun, not stressful. She has a unique combination of getting the high level design, giving experienced inputs, the French artistic touch and ability to implement low level custom solutions. At the end of the project I wished she was a collage. Hope to work with her again one day.

Adam M.

Operations Manager & BI Analyst

Camille and the Codelius team delivered exactly what we needed in a timely manner — she was a pleasure to work with and we look forward to working with them again in the future.

Tessa

Co-Founder

Camille est la personne qu’il vous faut pour vos projets webflow, airtable et autres outils nocode. Elle est professionnelle, à l’écoute et réalise un travail de grande qualité. Je recommande sans hésitation !

Sébastien Pieta

Gérant

Génial, on est super content de recevoir le site afin de pouvoir faire les retours, merci beaucoup !

[...] En tous cas à première vue, on est super content !

Constantin R.

Co-founder

Les avantages de travailler avec Codelius : réactivité, flexibilité et rigueur

Mathieu

CEO

Du design au développement, le rendu est celui voulu, et c'est vraiment très beau. On est ravis du projet. Côté dev pour - mise en place du design, Camille a été superbe de patience et de flexibilité pour s'assurer que j'obtienne, au pixel près, le résultat désiré. Chapeau Camille !

Jeff

Gérant

[...] Codelius a su répondre à ce besoin, en nous offrant des résultats rapides et propres. Lorsque nous avons eut des besoins un peu plus poussés, [...] ils ont su aller au-delà de la technologie pour créer une solution custom ! Ils sont restés présents et disponibles pour répondre à nos questions et nous aider à prendre en main le tout !

Grégoire G.

CEO

Camille est tellement forte que je ne vous la recommanderai pas je veux la garder pour moi tout seul ;p Super fluide, rapide et diablement efficace. Clairement au-dessus des mes attentes et brief parfaitement cerné avec finalement peu d'éléments. Une pépite !

Basptiste W.

CEO

Working with Camille was really easy. We used a Google Doc and WhatsApp and only needed one quick video call. I was very happy with the price and the quality of the site.

Chris Tyler

Founder

Nous sommes certifiés experts par Webflow eux-même depuis 2020. Il s’agit de notre outil de prédilection, avec Webflow nous pouvons faire des merveilles !

Nos développements Webflows prennent majoritairement leurs base depuis une maquette Figma. Elle permet à nos clients de valider un design avant de le concevoir.

Nous sommes partenaires d’une agence de webdesign pour combiner nos savoirs-faire et proposer à nos clients la meilleure option pour leurs projets les plus fous.

pourquoi ?
comment ?

Nous répondons à vos questions

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Nous contacter

Êtes-vous des experts Webflow ?

Oui ! ✨

Camille, notre formatrice en chef, est certifiée experte Webflow depuis janvier 2022 🤩

Depuis, elle a continué de se mettre à jour avec les nouvelles meilleures pratiques pour être certaine de vous former au mieux.

Combien de personnes travailleront sur mon projet ?

Nous sommes plusieurs dans l'entreprise, et chacun a ses spécialités 👀

Nous choisirons qui sera en charge de votre projet en fonction des demandes que vous avez, mais dans tous les cas, vous ne serez jamais en contact avec plus de deux personnes, afin d'éviter la perte d'information et de temps 🙌

Evidement, si vous en faite la demande, vous pourrez rencontrer tous les rouages de la machine 🙊

Combien êtes-vous chez Codelius ?

Nous sommes actuellement deux ! Un couple d'entrepreneurs, unis par la volonté de faire au mieux chaque jour, mais aussi de devenir les meilleures versions de nous-mêmes.

Pendant vos projets, vous ne serez sûrement en relation qu'avec moi, la petite voix du site, aka Camille 😉 Geoffrey préfère rester dans l'ombre 🙊

Est-ce que vous travaillez bien ?

Du mieux que nous le pouvons !

Nous avons à cœur de fournir de la qualité et des solutions facilement utilisables pour nos clients à terme 🙌

Combien de temps dure le développement ?

Le temps de développement dépend du projet que vous souhaitez mener (taille du site, fonctionnalités avancées ou non, application, etc), et des ressources que vous êtes en mesure de fournir (maquettes, images, logo, charte graphique, etc) ✨

Mais comme nous savons que "ça dépend" n'est pas une réponse satisfaisante, voici quelques pistes qui peuvent vous aider à cerner la durée de votre projet ✌️

  • Projet de site internet avec maquettes déjà faite par un designer, animations d'arrivées simples : environ 15j de développement
  • Projet de site internet avec création des designs directement sur Webflow : environ 1 mois de design et développement
  • Application simple (compte client et quelques fonctionnalités) avec maquettes déjà faites par un designer : environ 2 mois de développement
  • Application complexe (compte client et nombreuses fonctionnalités) avec maquettes déjà faites par un designer : environ 4 mois de développement
  • Application simple et complexe avec création des designs directement sur Webflow : entre 4 et 6 mois de développement

La meilleure manière de savoir combien de temps durera votre projet est de nous contacter pour nous expliquer tout ça  et ça se passe par ici ! 👇