interact.js : glisser-déposer, redimensionnement et gestes multi-touch avec inertie et aimantation
taye/interact.js offre une implémentation open source exploitable en conditions réelles avec une structure réutilisable.
En bref
- De quoi s’agit-il ?
- Une bibliothèque TypeScript pour le glisser-déposer, le redimensionnement et les gestes multi-touch, avec inertie et aimantation, pour les navigateurs modernes et IE9+.
- À qui s’adresse-t-il ?
- La README présente interact.js comme une bibliothèque de gestes autonome avec inertie, aimantation et multi-touch, et renvoie vers interactjs.io pour la documentation complète. interact.js convient aux lecteurs qui acceptent les limites documentées par taye/interact.js. Il ne convient pas à une décision fondée sur des promesses non accompagnées d exemples ou de mesures dans le README.
- Puis-je l’utiliser commercialement ?
- Oui. MIT est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
- Est-il encore maintenu ?
- Oui. Les derniers commits datent d’il y a 46 jours.
- En quel langage est-il écrit ?
- Principalement TypeScript, d’après les statistiques de langage de GitHub.
Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 15 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.
ANALYSE OPEN SOURCE APPROFONDIE
Une bibliothèque de glisser-déposer pour navigateurs et IE9
interact.js est une bibliothèque JavaScript pour le glisser-déposer, le redimensionnement et les gestes multi-touch. La description du dépôt ajoute l'inertie et l'aimantation, et la README indique qu'elle cible les navigateurs modernes ainsi qu'Internet Explorer 9 et versions ultérieures. Le projet est écrit en TypeScript et le paquet npm inclut les définitions de types. Le projet est publié sous licence MIT, le droit d'auteur appartenant à Taye Adeyemi. Les métadonnées du dépôt indiquent 12 918 étoiles et 806 forks, mais la README elle-même ne parle pas de la taille de la communauté.
Le README d Interact.js présente une bibliothèque JavaScript pour les interactions de glisser-déposer, redimensionnement et gestes. Les sélecteurs, événements et options documentés doivent être reliés aux éléments réellement rendus par l application. Contrôle 1 : cette lecture est limitée aux faits exposés par taye/interact.js et ne transforme pas une affirmation du README en mesure indépendante.
Pour interact.js, le contrôle 1 porte sur la sortie et la limite explicitement décrites : consignez ce résultat avec la version du dépôt. Si le comportement diffère, le README de taye/interact.js ne permet pas de conclure seul sur la cause.
Liste des fonctionnalités : inertie, aimantation, multi-touch et comportement DOM
La liste des fonctionnalités de la README couvre l'inertie et l'aimantation, les interactions simultanées multi-touch, la prise en charge des navigateurs et des appareils, l'interaction avec les éléments SVG, le caractère autonome et personnalisable, et la promesse de ne pas modifier le DOM sauf pour changer le curseur (ce qui peut être désactivé). La liste ne donne pas de détails de configuration ; le seul exemple concret de modificateur dans la README est une aimantation sur grille dans l'exemple de glisser-déposer. La README ne décrit pas comment régler l'inertie, comment coordonner les interactions simultanées, ni ce que signifient concrètement les affirmations 'autonome et personnalisable'.
Le README d Interact.js présente une bibliothèque JavaScript pour les interactions de glisser-déposer, redimensionnement et gestes. Les sélecteurs, événements et options documentés doivent être reliés aux éléments réellement rendus par l application. Contrôle 2 : cette lecture est limitée aux faits exposés par taye/interact.js et ne transforme pas une affirmation du README en mesure indépendante.
Pour interact.js, le contrôle 2 porte sur la commande, le fichier ou l API cités dans cette section : consignez ce résultat avec la version du dépôt. Si le comportement diffère, le README de taye/interact.js ne permet pas de conclure seul sur la cause.
Installation via gestionnaires de paquets et CDN
La README documente plusieurs chemins d'installation. Avec npm, `npm install interactjs` installe le paquet. Pour l'utilisation directe via script, jsDelivr et unpkg fournissent tous deux un chemin vers `dist/interact.min.js`. Pour Rails 5.1 et plus, la README recommande `yarn add interactjs` puis `//= require interactjs/interact`. Pour Webjars avec SBT/Play 2, elle suggère d'ajouter `org.webjars.npm % interactjs` aux libraryDependencies. Les définitions de types sont incluses dans le paquet npm, et un paquet séparé `@interactjs/types` peut être installé avec `npm install --save-dev @interactjs/types`. Aucun numéro de version n'est fixé dans ces instructions.
Le README d Interact.js présente une bibliothèque JavaScript pour les interactions de glisser-déposer, redimensionnement et gestes. Les sélecteurs, événements et options documentés doivent être reliés aux éléments réellement rendus par l application. Contrôle 3 : cette lecture est limitée aux faits exposés par taye/interact.js et ne transforme pas une affirmation du README en mesure indépendante.
Pour interact.js, le contrôle 3 porte sur la sortie et la limite explicitement décrites : consignez ce résultat avec la version du dépôt. Si le comportement diffère, le README de taye/interact.js ne permet pas de conclure seul sur la cause.
L'exemple du canvas à pixels arc-en-ciel
L'exemple de la README crée une interaction de glisser-déposer sur des éléments de classe `.rainbow-pixel-canvas`. Il définit `origin('self')`, ajoute un modificateur qui aimante sur une grille de 16 pixels via `interact.modifiers.snap`, et au mouvement dessine des carrés colorés sur un canvas. La couleur est calculée à partir de l'angle et de la vitesse du glisser-déposer. Un écouteur `doubletap` efface le canvas, et une fonction séparée redimensionne les canvas, liée via `interact(document).on('DOMContentLoaded')` et `interact(window).on('resize')`. L'exemple montre aussi qu'interact.js peut ajouter des écouteurs d'événements DOM via sa propre API. Une version en direct est liée sur CodePen.
Le README d Interact.js présente une bibliothèque JavaScript pour les interactions de glisser-déposer, redimensionnement et gestes. Les sélecteurs, événements et options documentés doivent être reliés aux éléments réellement rendus par l application. Contrôle 4 : cette lecture est limitée aux faits exposés par taye/interact.js et ne transforme pas une affirmation du README en mesure indépendante.
Pour interact.js, le contrôle 4 porte sur la commande, le fichier ou l API cités dans cette section : consignez ce résultat avec la version du dépôt. Si le comportement diffère, le README de taye/interact.js ne permet pas de conclure seul sur la cause.
Documentation, liens de support et licence
La documentation est hébergée sur interactjs.io/docs. La README contient également des badges pour Gitter, jsDelivr, le statut de build et la couverture de tests Code Climate, mais ne décrit pas le contenu de la documentation. L'extrait de licence est la licence MIT. Elle accorde les droits d'utiliser, copier, modifier, fusionner, publier, distribuer, sous-licencier et vendre le logiciel, à condition que les mentions de droit d'auteur et d'autorisation soient incluses. Le logiciel est fourni 'tel quel', sans garantie d'aucune sorte. Le texte de licence ne dit rien sur le support, la sécurité ou la maintenance continue.
Le README d Interact.js présente une bibliothèque JavaScript pour les interactions de glisser-déposer, redimensionnement et gestes. Les sélecteurs, événements et options documentés doivent être reliés aux éléments réellement rendus par l application. Contrôle 5 : cette lecture est limitée aux faits exposés par taye/interact.js et ne transforme pas une affirmation du README en mesure indépendante.
Pour interact.js, le contrôle 5 porte sur la sortie et la limite explicitement décrites : consignez ce résultat avec la version du dépôt. Si le comportement diffère, le README de taye/interact.js ne permet pas de conclure seul sur la cause.
Ce que la README laisse de côté
La README ne fournit pas de numéro de version, pas d'historique de modifications, pas de matrice de compatibilité au-delà des navigateurs cités, et pas de références de performance. Elle ne décrit pas non plus comment configurer l'inertie ou le multi-touch au-delà de l'exemple. Les métadonnées du dépôt listent 96 problèmes ouverts, mais la README n'en parle pas. Si vous devez savoir si un comportement précis fonctionne dans un navigateur donné ou comment régler les gestes, le site de documentation est la prochaine étape, mais ce contenu est hors du README de ce dépôt.
Le README d Interact.js présente une bibliothèque JavaScript pour les interactions de glisser-déposer, redimensionnement et gestes. Les sélecteurs, événements et options documentés doivent être reliés aux éléments réellement rendus par l application. Contrôle 6 : cette lecture est limitée aux faits exposés par taye/interact.js et ne transforme pas une affirmation du README en mesure indépendante.
Pour interact.js, le contrôle 6 porte sur la commande, le fichier ou l API cités dans cette section : consignez ce résultat avec la version du dépôt. Si le comportement diffère, le README de taye/interact.js ne permet pas de conclure seul sur la cause.
Conclusion éditoriale
La README présente interact.js comme une bibliothèque de gestes autonome avec inertie, aimantation et multi-touch, et renvoie vers interactjs.io pour la documentation complète. interact.js convient aux lecteurs qui acceptent les limites documentées par taye/interact.js. Il ne convient pas à une décision fondée sur des promesses non accompagnées d exemples ou de mesures dans le README. Commencez par l entrée propre au projet, puis vérifiez la sortie, les dépendances et le comportement d erreur décrit dans ses fichiers.
Notes de la communauté