jsTree : Créez des structures arborescentes interactives avec jQuery

Créez, gérez et visualisez des données hiérarchiques avec ce puissant plugin.

Qu'est-ce que l'API jsTree ?

jsTree transforme des données JSON complexes en structures arborescentes interactives et hiérarchiques, offrant aux développeurs un moyen puissant de visualiser et naviguer dans des objets JSON imbriqués. En tant que plugin jQuery, il convertit du JSON brut en arbres de nœuds dépliables/repliables - parfait pour inspecter des réponses API, fichiers de configuration ou tout jeu de données hiérarchique.

Fonctionnalités clés pour la visualisation JSON :

  • Conversion JSON vers arbre : Affiche automatiquement les tableaux/objets JSON comme nœuds parent/enfant
  • Exploration interactive : Déplier/Replier les nœuds pour explorer des structures JSON profondes
  • Chargement dynamique : Chargement différé (lazy loading) des gros jeux de données JSON
  • Rendu personnalisé : Style des nœuds basé sur les types de données JSON (tableaux, objets, valeurs)
  • Recherche & Filtrage : Trouvez rapidement des clés/valeurs dans des arbres JSON complexes

Contrairement aux visualiseurs JSON plats, jsTree préserve la hiérarchie et les relations dans vos données, idéal pour déboguer des APIs ou documenter des schémas JSON imbriqués.

GitHub

Statistiques GitHub

Nom:
Langue:
Étoiles:
Fourchettes:
Licence:
Le référentiel a été mis à jour pour la dernière fois à

Pourquoi choisir jsTree ?

  • Solution éprouvée : 10+ ans de développement actif
  • Léger : Nécessite seulement jQuery comme dépendance
  • Accessible : Conforme à WCAG 2.0
  • Documentation complète : Référence API exhaustive
  • Licence MIT : Gratuit pour usage commercial

Installation

jsTree peut être installé via des gestionnaires de paquets ou inclus directement depuis un CDN.

Installation via NPM


npm install jstree

Note : N'oubliez pas d'inclure jQuery avant jsTree.

Exemples de code

Découvrez les capacités de jsTree avec ces exemples :

jsTree

Exemple 1 : Arbre basique depuis HTML

La façon la plus simple de créer un jsTree est de convertir des listes HTML imbriquées. Cette approche est idéale quand votre structure arborescente est statique ou pour du prototypage. Le plugin convertit automatiquement la structure UL/LI imbriquée en un arbre interactif avec fonctionnalité de dépliage/repliage. L'implémentation de base nécessite un minimum de JavaScript et fonctionne bien pour des menus de navigation simples ou structures de contenu.

Fonctionnalités démontrées :

  • Conversion HTML vers arbre
  • Fonctionnalité déplier/replier
  • Thème basique

Exemple 2 : Chargement de données via JSON

Pour des applications dynamiques, jsTree peut charger des données depuis JSON. Cette approche est plus flexible et vous permet de construire la structure arborescente programmatiquement. Le format JSON est simple, chaque nœud ayant des propriétés comme "id", "text", "children" et "state". Vous pouvez aussi spécifier des icônes, états désactivés et autres attributs par nœud. Cette méthode est particulièrement utile quand vos données arborescentes viennent d'une base de données ou API.

Exemple 3 : Cases à cocher et Glisser-Déposer

jsTree fournit des plugins étendant ses fonctionnalités de base. Le plugin cases à cocher ajoute des cases sélectionnables à chaque nœud, tandis que le plugin dnd permet des opérations de glisser-déposer. Ces fonctionnalités sont essentielles pour créer des interfaces comme des gestionnaires de fichiers ou systèmes de permissions où les utilisateurs doivent sélectionner plusieurs éléments ou réorganiser la hiérarchie. Les plugins maintiennent les performances de l'arbre même avec des centaines de nœuds.

Fonctionnalités avancées

jsTree prend en charge des workflows professionnels :

  • Chargement différé : Charger les nœuds à la demande :

    Chargement différé

    
        $('#tree').jstree({
          'core': {
            'data': {
              'url': '/nodes/',
              'data': function (node) {
                return { 'id': node.id };
              }
            }
          }
        });
        
    
  • Gestion d'événements : Réagir aux interactions avec l'arbre :

    Écouteurs d'événements

    
        $('#tree').on('changed.jstree', function (e, data) {
          console.log('Nœuds sélectionnés :', data.selected);
        });
        
    
  • Thèmes personnalisés : Personnalisez votre arbre :

    Thème personnalisé

    
        $('#tree').jstree({
          'themes': {
            'name': 'custom',
            'dots': false,
            'icons': false
          }
        });
        
    

Conclusion

jsTree fournit une solution robuste pour la visualisation de données hiérarchiques. Idéal pour :

  • Navigateurs de fichiers : Parcourir des structures de répertoires
  • Menus de navigation : Créer des menus multi-niveaux
  • Interfaces CMS : Gérer des hiérarchies de contenu
  • Outils de configuration : Modifier des paramètres imbriqués

Avec son système étendu de plugins et une maintenance active, jsTree reste la solution privilégiée pour les structures arborescentes dans les applications web.

Produits Similaires

 Français