# turn.js 3e release, fork local de maintenance turn.js est un plugin jQuery qui affiche des pages HTML sous forme de livre ou de magazine avec une transition de page tournée. Ce dépôt contient une copie locale maintenue de la 3e release originale de `turn.js`. Le travail actuel vise à rendre la librairie plus facile à tester et plus sûre avec les versions modernes de jQuery, tout en conservant la forme de l'API historique. Version anglaise : [readme.md](readme.md) ## Etat actuel Ce fork a été testé avec jQuery `4.0.0` dans la démo minimale et il est couvert par des tests unitaires et visuels automatisés. Le coeur du plugin peut s'initialiser, naviguer, redimensionner, ajouter/supprimer des pages et se détruire correctement dans les tests sur navigateur moderne. La compatibilité avec tous les navigateurs et appareils modernes n'est pas encore garantie. Safari/WebKit, iOS, Android tactile, l'accessibilité et les régressions visuelles en contexte produit restent à valider spécifiquement. ## Modifications réalisées - Migration des enregistrements d'événements internes depuis les anciens patterns jQuery `.bind()` / `.unbind()` vers `.on()` / `.off()`. - Ajout de namespaces d'événements : - `.turn` pour les événements du livre et du document ; - `.turnFlip` pour les événements internes des pages pliées. - Ajout d'une méthode publique `destroy` : - stoppe les animations ; - détache les handlers d'événements de turn.js ; - supprime les wrappers turn et flip ; - restaure les pages originales comme enfants directs ; - restaure les attributs `style` et `class` d'origine ; - supprime les données jQuery internes de turn.js sans effacer les données utilisateur sans lien. - Correction de `animatef(false)` pour que l'annulation d'une animation nettoie bien l'intervalle actif. - Ajout d'une démo navigateur minimale avec jQuery `4.0.0`. - Ajout de texte et d'images locales dans la démo minimale. - Correction de la mise en page de la démo minimale afin que les dimensions mesurées par turn.js correspondent à la taille réellement rendue des pages. - Ajout de tests unitaires avec Vitest et JSDOM. - Ajout de tests visuels Playwright et de snapshots de référence pour la démo minimale. - Ajout des scripts npm et de la configuration projet pour les tests automatisés. - Régénération de `turn.min.js` à partir de la source mise à jour. ## Démo Ouvrir la démo minimale directement dans un navigateur : ```bash xdg-open demos/minimal/index.html ``` La démo charge : - jQuery `4.0.0` depuis le CDN jQuery ; - `../../turn.js` ; - des images locales depuis `demos/minimal/assets`. Elle contient un livre de six pages avec boutons précédent/suivant, navigation clavier, texte et images. ## Installation pour le développement Installer les dépendances : ```bash npm install ``` Les dépendances de développement incluent : - `jquery` `4.0.0` ; - `vitest` ; - `jsdom` ; - `@playwright/test`. ## Utilisation HTML minimal : ```html