Cyrille DUFOUR
← Réalisations

Des animations en continu, 99/100 sur PageSpeed

Le détail technique derrière la card "Réalisations" : ce qui tourne en arrière-plan, pourquoi ça reste rapide, et ce qui est mesuré pour de vrai.

Bureau et mobile, mesurés séparément

Score Google PageSpeed Insights sur ordinateur : 99/100 en performance, 100 partout ailleursScore Google PageSpeed Insights sur mobile : 95/100 en performance, 100 partout ailleurs
Métrique
Bureau
Mobile
First Contentful Paint
0,3 s
1,0 s
Largest Contentful Paint
0,7 s
2,9 s
Total Blocking Time
0 ms
20 ms
Cumulative Layout Shift
0,048
0
Speed Index
1,0 s
2,9 s

Ce qui tourne derrière le score

Three.js

6 000 particules, un shader maison

Le fond du Hero n'est pas une vidéo ni un GIF : c'est un nuage de 6 000 particules recalculé à chaque frame (position, couleur, rotation). Le flou lumineux (bloom) est écrit à la main plutôt que la librairie standard. Celle-ci provoquait un scintillement noir aléatoire sur certains GPU, jamais reproduit avec la version maison.

Rendu conditionnel

L'animation s'arrête quand elle sort de l'écran

Un capteur de visibilité coupe le rendu 3D dès que le canvas quitte le viewport (changement de page, scroll profond) et le reprend sans à-coup au retour. Le budget GPU n'est dépensé que quand il sert à quelque chose.

Next.js 16

Rendu statique (SSG) + Turbopack

Les pages sont pré-générées au build, pas recalculées à chaque visite. Le JavaScript des animations est chargé à la demande (`next/dynamic`), jamais avant que la page en ait besoin.

Scroll fait main

Pas de librairie d’animation au scroll

Les carrousels et les apparitions au scroll reposent sur `IntersectionObserver`, pas sur une librairie tierce chargée sur toutes les pages même quand elle ne sert pas. Moins de JavaScript à télécharger, moins à exécuter.

Un dashboard privé, pour suivre ce qui se passe réellement

Ce site a son propre tableau de bord, accessible uniquement à moi : le trafic d'un côté, les contacts de l'autre.

Trafic

Visites, sans outil tiers

Vues totales, visiteurs uniques, tendance sur 7 jours, pages les plus consultées : un compteur maison, cookie propre au site. Pas de Google Analytics, pas de service externe à qui envoyer les données des visiteurs.

Contacts

Un tableau, deux origines

Chaque demande arrive dans le même tableau, qu'elle vienne du formulaire classique ou d'une conversation avec Iris. Nom, coordonnées, résumé du besoin : prête à être reprise sans reconstituer l'historique.

Iris

L'assistante qui qualifie avant de transmettre

Sur la page contact, la plupart des visiteurs parlent d'abord à Iris plutôt qu'à un formulaire vide. Elle répond en continu, sans écran de chargement entre chaque message. Elle pose les bonnes questions pour cerner le projet, et peut chiffrer une fourchette de budget à la volée à partir d'une grille tarifaire réelle. Elle ne prétend jamais agir à ma place : elle qualifie, je décide et je réponds.

Avant d'enregistrer un contact, elle fait confirmer explicitement l'email et le téléphone au visiteur. Si le budget annoncé est manifestement hors de portée du projet, elle le dit sans détour plutôt que de collecter des coordonnées pour rien.

Ce dashboard-ci me sert à moi. Un client peut avoir le sien

Quand un projet a besoin de modifier ses propres photos, ajouter des avis clients ou gérer un catalogue, je peux construire un dashboard pensé pour ça, utilisable sans écrire une ligne de code. Pas seulement pour consulter des chiffres. Déjà livré sur ce site créé pour qu'un client n'ait jamais à dépendre d'une agence : une page d'administration pour qu'il change lui-même ses photos et ses avis, quand il veut.

Un projet avec des contraintes similaires ?

Décrivez-le à Iris, mon assistante, pour une réponse instantanée.
Ou réponse assurée dans les 24h par formulaire classique.

Gratuit · Rapide · Sans engagement