DouniaCodes Logo
<-- RETOUR_PAGE_BLOG
FRONTEND_&_DESIGNSEPTEMBRE 2025

Animations avec GSAP : le pouvoir des animations en JavaScript

GSAP (GreenSock Animation Platform) est une bibliothèque JavaScript ultra-performante pour créer des animations fluides et complexes. Dans cet article, je vous montre comment l'intégrer efficacement dans vos projets React.

Dounia Boukrim

Auteur_de_la_publication

01. Pourquoi choisir GSAP ?

GSAP offre une performance inégalée grâce à son moteur d'animation optimisé. Contrairement aux animations CSS, GSAP peut animer n'importe quelle propriété JavaScript, ce qui permet des effets plus complexes et personnalisés.

GSAP offre plusieurs avantages majeurs par rapport aux autres solutions d'animation :

  • Performance Optimisée : GSAP utilise un moteur d'animation performant qui garantit des animations fluides même sur des appareils moins puissants.
  • Contrôle Total : GSAP permet de contrôler précisément le timing, les easings et les séquences d'animation, offrant une flexibilité totale pour créer des effets uniques.
  • Compatibilité Étendue : GSAP fonctionne parfaitement sur tous les navigateurs modernes, assurant une expérience utilisateur cohérente.

02. Intégration de GSAP dans React

Pour intégrer GSAP dans un projet React, il suffit d'installer la bibliothèque via npm ou yarn :

# Installation de GSAP

npm install gsap

ou

yarn add gsap

Ensuite, vous pouvez créer des animations en utilisant les hooks de React pour manipuler les éléments du DOM. Voici un exemple simple d'animation d'un élément au chargement de la page :

# Exemple d'animation avec GSAP


import { useEffect, useRef } from 'react';
import gsap from 'gsap';

function AnimatedComponent() {
  const elementRef = useRef(null);

  useEffect(() => {
    gsap.to(elementRef.current, { opacity: 1, y: 0, duration: 1 });
  }, []);

  return (
    <div ref={elementRef} style={{ opacity: 0, transform: 'translateY(20px)' }}>
      Contenu animé avec GSAP
    </div>
  );
}
              

Dans cet exemple, nous utilisons le hook useEffect pour déclencher l'animation lorsque le composant est monté. GSAP anime l'opacité et la position de l'élément pour créer un effet d'apparition fluide.

Une attention particulière aux cycles de vie des composants est nécessaire pour éviter les fuites de mémoire. Assurez-vous de nettoyer les animations lorsque le composant est démonté en utilisant la fonction de nettoyage de useEffect.

# Nettoyage des animations


useEffect(() => {
  const animation = gsap.to(elementRef.current, 
  { opacity: 1, y: 0, duration: 1 });

  return () => {
    animation.kill();
  };
}, []);
              

En nettoyant l'animation avec animation.kill(), nous nous assurons que les ressources sont libérées lorsque le composant est démonté, évitant ainsi les fuites de mémoire et les comportements inattendus.

03. ScrollTrigger de GSAP

Le composant ScrollTrigger de GSAP permet de déclencher des animations en fonction du scroll de l'utilisateur. C'est un outil puissant pour créer des expériences interactives et engageantes. Voici comment l'utiliser dans un projet React :

# Exemple d'utilisation de ScrollTrigger


import { useEffect, useRef } from 'react';
import gsap from 'gsap';
import { ScrollTrigger } from 'gsap/ScrollTrigger';

gsap.registerPlugin(ScrollTrigger);

function ScrollAnimatedComponent() {
  const elementRef = useRef(null);

  useEffect(() => {
    gsap.to(elementRef.current, {
      scrollTrigger: {
        trigger: elementRef.current,
        start: 'top 80%',
        end: 'bottom 20%',
        scrub: true,
      },
      opacity: 1,
      y: 0,
      duration: 1,
    });
  }, []);

  return (
    <div ref={elementRef} style={{ opacity: 0, transform: 'translateY(20px)' }}>
      Contenu animé au scroll avec GSAP
    </div>
  );
}
              

Dans cet exemple, l'animation est déclenchée lorsque l'élément entre dans la zone de visualisation de l'utilisateur. Le paramètre scrub permet de synchroniser l'animation avec le scroll, créant ainsi une expérience fluide et immersive.

En combinant les fonctionnalités de GSAP avec React, vous pouvez créer des animations sophistiquées qui améliorent l'expérience utilisateur et rendent vos applications plus dynamiques et engageantes.