Community Bibliothèque Animations

Moderate Pure Nim score 50/100 · last commit 2026-05-28 · 1 stars · tests present · no docs generated

Summary

Latest Version Unknown
License Unknown
CI Status Failing
Stars 1
Forks 0
Open Issues 0
Last Commit 2026-05-28
Downloads 0
Last Indexed 2026-09-06 06:05

Installation

nimble install Community Bibliothèque Animations
choosenim install Community Bibliothèque Animations
git clone https://gitlab.com/stravaza_tuga/community-bibliotheque-animations

OS Compatibility

Platform Linux macOS Windows FreeBSD OpenBSD NetBSD Android iOS WASM Embedded
Community Bibliothèque Animations - - - - - - -

README

Bibliothèque d'Animations

But de la bibliothèque

Il s'agit d'un moteur d'animation événementiel léger et déclaratif pour le Web. Contrairement à l'écriture manuelle d'écouteurs d'événements complexes (window.onscroll, IntersectionObserver) souvent lourds et difficiles à maintenir, cette bibliothèque propose une API chaînable intuitive pour piloter l'expérience utilisateur en fonction du contexte de navigation.

Objectifs principaux

  1. Découpler la logique de l'animation : Vous définissez la condition de déclenchement (QUAND) et la cible (QUOI). Le moteur s'occupe de l'optimisation des performances et du cycle de vie.
  2. Richesse d'interaction : Offrir des expériences modernes (Scrollytelling, parallaxe, entrées interactives) sans nécessiter de frameworks tiers volumineux.
  3. Contrôle granulaire : Fournir un système logique pour orchestrer des animations conditionnelles complexes.

Fonctionnalités Clés

  • Déclencheurs intelligents (Triggers) :

    • Position spatiale : Détection précise lors du franchissement de bords virtuels à l'écran (200px du bas, 50% du haut, etc.).
    • Défilement absolu et cumulé : Réactions basées sur window.scrollY ou sur la distance totale parcourue pour la ludification.
    • Horodatage & Délais : Déclenchement retardé ou basé sur un timer démarrant uniquement après l'entrée en visibilité d'un élément spécifique.
    • Dépendances relatives : Faire réagir un élément A en fonction de l'état d'un élément B distant dans le DOM.
  • Gestion des Cycles de Vie (Modes de Persistance) :

    • Mode Définitif : Activation "one-shot" (ex: effet de révélation initiale). L'observateur s'éteint après usage pour économiser les ressources.
    • Mode Temporaire : Activation/Désactivation dynamique. La classe est retirée dès que la condition n'est plus remplie.
  • Composition Logique : Support natif des opérateurs booléens (AND, OR, NOT). Vous pouvez déclencher un effet uniquement si "L'élément est visible ET le délai de 2 secondes est passé OU si l'utilisateur a scrollé de 1000px".

  • Modes Avancés immersifs :

    • Mode Contextuel (.contextuelle()) : Interpolation fluide de styles via le Web Animations API (WAAPI). Le défilement de l'utilisateur agit comme la tête de lecture d'une vidéo, transformant progressivement les propriétés CSS entre deux points d'ancrage.
    • Mode Horizontal (.horizontal()) : Redirection intelligente (Scroll hijacking sécurisé) du défilement vertical vers un conteneur à défilement horizontal, créant des galeries immersives sans bloquer l'utilisateur.

Utilisation rapide

1. Utiliser la version de production

Vous pouvez directement importer la dernière version minifiée dans votre projet HTML, au sein de la balise <head> :

<script type="module" src="https://stravaza_tuga.gitlab.io/community-bibliotheque-animations/bibliotheque.min.js"></script>

2. Créer votre première animation

// Applique la classe ".reveal" à tous les éléments ayant la classe ".carte" dès qu'ils entrent dans le viewport
new Biblio('.reveal', '.carte');