Rechercher dans le blog

La version 5.0 du SDK JavaScript d'ArcGIS est disponible !

L'ArcGIS Maps SDK for JavaScript est désormais disponible en version 5.0 ! Entre l’arrivée d’un puissant assistant IA et la refonte complète du site de documentation, cette version marque une étape structurante. Dans cet article, je vous propose de découvrir les points forts de la 5.0 et ce qu’elle apporte concrètement à vos développements.
Note : le SDK adopte désormais le versionnage sémantique. Il devient ainsi plus simple de comprendre les évolutions, d’anticiper l’impact d’un changement de version et de planifier vos mises à jour en toute confiance.

Composants IA (beta) pour des applications web de cartographie agentique

Vous pouvez maintenant créer des applications web de cartographie agentique intégrant une interface en langage naturel grâce au nouveau package AI components (beta). Les utilisateurs peuvent explorer et analyser l’information géographique via des requêtes conversationnelles, pour une expérience plus simple et plus accessible.
Ce package comprend le composant Assistant et différents agents :
  • Le composant Assistant : <arcgis-assistant> fournit une interface de chat permettant aux utilisateurs finaux d’interagir avec une web map en langage naturel, via un ou plusieurs agents.
  • Les agents : ils traitent les requêtes des utilisateurs et génèrent des réponses adaptées en fonction de leur rôle. Voici les agents disponibles :
    • Agent de navigation : permet de naviguer vers une zone spécifique de la carte et de répondre aux questions de type « Où ». Exemples : « Aller au Golden Gate Bridge », « Zoomer ».
    • Agent d'exploration des données : permet d’interroger et de filtrer des entités, de calculer des statistiques et des proximités spatiales, pour répondre aux questions de type « Quoi ». Par exemple : « Quelle est la ville la plus peuplée ? » ou « Combien de villes se trouvent à moins de 30 miles du Colorado River ? ». Les réponses s’appuient sur les couches présentes dans la carte.
    • Agent d'aide : fournit une aide contextuelle et des indications d’usage, comme « Quel type de questions puis-je poser ? » ou « Quelles couches sont présentes dans cette carte ? ».
    • Agents personnalisés : les développeurs peuvent créer leurs propres agents pour le composant Assistant afin de gérer des besoins spécifiques, des workflows particuliers ou des jeux de données dédiés.
Pour utiliser l’assistant IA et ses agents, quelques lignes de code suffisent :
<arcgis-assistant reference-element="#wheat-map">
    <arcgis-assistant-navigation-agent></arcgis-assistant-navigation-agent>
    <arcgis-assistant-data-exploration-agent></arcgis-assistant-data-exploration-agent>
    <arcgis-assistant-help-agent></arcgis-assistant-help-agent>
</arcgis-assistant>
<arcgis-map id="wheat-map" item-id="dd6e8957e7a94765bf32bc07097cbf46"></arcgis-map>
Pour en savoir plus sur la création d’applications de cartographie agentique avec les AI components, consultez la page de guide dédiée, testez les composants et partagez vos retours pendant la période de beta. 

Dessiner et éditer des courbes vraies

Il est désormais possible de créer des géométries comportant des segments courbes comme les courbes de Bézier, les arcs circulaires et les arcs par points d’extrémité, grâce à de nouveaux outils de dessin de courbes intégrés dans les composants Sketch et Editor. Les segments droits existants peuvent être transformés en arcs circulaires en déplaçant le point médian tout en maintenant la touche Shift enfoncée.

Dessin segment par segment : vous pouvez passer de manière fluide entre les différents outils de dessin (ligne droite, tracé libre et nouvelles options de courbes) tout en créant des segments de polylignes ou de polygones.
Créer, éditer et accrocher aux entités avec courbes dans Editor : le composant Editor prend désormais en charge l’ajout et la modification d’entités avec des courbes vraies. Il permet également l’accrochage à n’importe quel point le long d’un segment courbe, ce qui facilite et sécurise l’édition de courbes au sein de vos couches d’entités.
Note : le support des courbes et le changement d’outil sont disponibles uniquement en 2D.

Illuminer les scènes 3D avec des symboles lumineux et un effet de halo

Les matériaux émissifs permettent aux symboles d’émettre de la lumière, offrant des scènes nocturnes réalistes tout en améliorant la lisibilité et en mettant visuellement en valeur certaines entités. Tout symbole volumétrique peut devenir un élément lumineux, idéal pour mettre en avant des entités sélectionnées de manière thématique. Pour un rendu nocturne réaliste, appliquez les informations émissives directement dans les modèles 3D, comme des enseignes ou des fenêtres illuminées, afin de créer une atmosphère naturelle.

L’effet de halo accentue tous les émetteurs en leur donnant un aspect lumineux doux et apporte un rendu plus stylisé à l’ensemble de la scène.

Couche de Gaussian splat

Dans cette version, Esri introduit la couche de Gaussian Splat, un nouveau type de couche 3D offrant une visualisation photoréaliste des environnements bâtis et naturels complexes dans une scène 3D. Elle permet un rendu très détaillé pour les structures fines et complexes, comme par exemple les lignes électriques, les garde-corps, les antennes ou la végétation dense, tout en offrant une transparence fluide pour des matériaux comme le verre ou d’autres surfaces semi-translucides. Cette nouveauté permet de réaliser des workflows avancés, comme l’inspection, l’analyse de la végétation ou des présentations haute fidélité.
Les couche de Gaussian Splat sont particulièrement adaptées aux zones nécessitant un haut niveau de détail, avec des visuels réalistes. Associée à la couche photomaillage intégrée, elle fournit des données précises, éditables et mesurables. Ensemble, ces types de couches 3D permettent aux développeurs de créer des expériences 3D interactives et immersives directement sur le web.

Améliorations des tables attributaires

Règles attributaires : le composant Feature Table prend désormais en compte les règles attributaires lors de l’édition des attributs, garantissant l’intégrité des données et la validité des mises à jour d’attributs dans la table.

Mise en attente des modifications lors de l’édition : les développeurs peuvent désactiver l’enregistrement automatique pendant l’édition afin de vérifier les mises à jour avant de sauvegarder les changements. L’enregistrement automatique reste activé par défaut.

Expérience améliorée pour la visualisation des pièces jointes : lors de l’affichage des pièces jointes dans la table, il est désormais possible de consulter des informations supplémentaires sur les fichiers, telles que le nom, le type de pièce jointe, la taille et les mots-clés. 

Créer des applications avec des composants

Cette version marque officiellement une évolution majeure : le passage des widgets aux components ! 
 
Les components sont désormais la manière recommandée de construire des applications, offrant productivité maximale et intégration fluide avec les frameworks modernes. Bien que tous les widgets soient dépréciés dans la version 5.0, vos applications existantes basées sur des widgets continueront de fonctionner normalement. Les widgets ne recevront plus de nouvelles fonctionnalités et leur suppression est prévue pour le premier trimestre 2027 (version 6.0). Pour plus d'informations sur la transition des widgets vers les composants, vous pouvez consulter cet article.
 

Nouveaux composants : cette version introduit de nombreux nouveaux composants, à commencer par le Utility Network Trace Analysis component, pour une expérience de trace optimisée et simplifiée, et le Volume Measurement component (beta) pour la mesure des volumes. 
Nouvelles options de style : la propriété visualScale a été ajoutée à certains components pour faciliter l’ajustement de leur taille. Une nouvelle variable CSS, --arcgis-view-color-focus, permet de mettre à jour la couleur du contour de focus dans les vues Map et Scene.

Composants pour l’analyse : les composants Elevation Profile, Shadow Cast et Volume Measurement (beta) utilisent désormais les objets d’analyse correspondants, améliorant la stabilité et la cohérence. Ces objets d’analyse sont également disponibles dans l’API core, en remplacement des view models.

Package de components communs : le nouveau package common components contient un ensemble de composants d'UI : Slider, Histogram et Ticks. Ils sont idéaux pour la visualisation quantitative, avec ou sans carte.
Composants de diagrammes : il est désormais possible de créer des heat charts dans Map Viewer et de les charger dans des applications web personnalisées depuis la couche, étendant ainsi l’option programmatique via le charts model introduit en 4.34. Le rendu par classes (class break rendering) est également supporté dans les heat charts pour visualiser les données par plages distinctes. 

Améliorations des étiquettes

Meilleure gestion de l’occlusion pour les étiquettes et icônes en 3D :
 
les étiquettes et icônes restent désormais lisibles dans les scènes 3D même lorsqu’elles sont partiellement ou totalement occultées, offrant un meilleur contexte, orientation et perception spatiale. Une nouvelle propriété, occludedVisibility, permet de contrôler la visibilité avec trois modes :
  • Adaptive (par défaut) : les étiquettes et icônes situées derrière d’autres objets sont affichées en fonction de leur distance par rapport à l’objet. Ce mode est utilisé dans les 3D Basemaps.
  • Visible : les étiquettes et icônes derrière d’autres objets sont toujours affichées.
  • Hidden : les étiquettes et icônes derrière d’autres objets ne sont pas affichées, reproduisant le comportement des versions précédentes du SDK.
Repositionnement automatique des étiquettes pour les polygones en 2D : les étiquettes à l’intérieur des polygones sont automatiquement repositionnées lorsque le centroïde du polygone se trouve en dehors de la zone visible de la carte 2D, afin de rester visibles et de fournir un meilleur contexte lors de la navigation sur la carte. 

Déplacement par glisser-déposer des points de passage dans le composant Directions

Le composant Directions permet désormais aux utilisateurs d’affiner leurs itinéraires en manipulant les points de passage via une expérience de type glisser-déposer. Les points de passage sont des emplacements que l’itinéraire doit traverser sans qu’un arrêt soit nécessaire. Le bouton Edit route permet d’ajouter, de déplacer ou de supprimer ces points de passage.

Améliorations pour l'imagerie orientée

L’interface du composant Oriented Imagery Viewer a été repensée pour offrir une expérience utilisateur plus fluide et intuitive. Un nouvel outil de recherche permet d’accéder facilement aux images, tandis que la mise en cache des images a été optimisée pour de meilleures performances. Le filtrage par informations temporelles permet quant à lui de requêter les images avec précision selon des contraintes temporelles.

Synchronisation des sélections avec le Gestionnaire de sélection

La nouvelle classe Selection Manager (beta) donne aux développeurs un accès aux entités sélectionnées dans les couches et les tables, aussi bien dans une carte 2D que dans une scène 3D. Le Selection Manager peut être configuré pour surveiller les modifications sur les couches sélectionnables et mettre automatiquement à jour les sélections en conséquence, offrant un moyen centralisé de gérer l’état des sélections au sein d’une vue.

Utilisation des fonds de carte basée sur des sessions

Les développeurs utilisant ArcGIS Location Platform peuvent désormais exploiter la nouvelle API basemap session (dont nous avions parlé dans les nouveautés de cet été) pour consommer des fonds de carte par sessions. Une session correspond à une période pendant laquelle un utilisateur unique d’une application peut accéder à un nombre illimité de tuiles de fond de carte depuis le service de basemap.bCette approche permet aux développeurs d’anticiper le coût lié à l’utilisation des fonds de carte. Découvrez le fonctionnement de ce modèle d’utilisation à travers ce tutoriel

Améliorations de la documentation et de la programmation

Nouvelle expérience de recherche et de consultation des exemples : la liste des exemples bénéficie d’une mise en page et d’une expérience de recherche améliorées. De nouvelles mises en page ont également été ajoutés aux exemples afin que la description complète, le code et la fenêtre de prévisualisation soient disponibles simultanément, facilitant l’édition du code en direct tout en lisant la description. La majorité des exemples ont été mis à jour pour utiliser des composants, reflétant ainsi les usages recommandés et les bonnes pratiques.
Layouts pour les applications de cartographie : un nouveau guide présente les patterns recommandés pour structurer les applications web de cartographie avec le Calcite Design System et l'ArcGIS Maps SDK for JavaScript. Trois exemples centrés sur les layouts sont désormais disponibles dans les ressources du repo Github du SDK, offrant des points de départ simples pour construire votre interface utilisateur. Ces layouts couvrent des workflows courants : recherche d’éléments (finder), tableaux de bord (dashboards) et filtres interactifs. 
Démarrage avec @arcgis/create : le guide de démarrage a été mis à jour pour expliquer comment créer une application avec npm en utilisant l’outil CLI @arcgis/create et les templates de démarrage. Une application prête à l’emploi peut désormais être créée avec une seule commande :
npx @arcgis/create -n my-arcgis-app -t vite
Tag unique pour les utilisateurs CDN : dans les applications basées sur CDN, un seul tag <script> permet d’accéder à l’API core, aux composants de carte, aux composants IA, aux composants communs, aux composants graphiques, aux composants de code et aux composants de Calcite, sans augmenter significativement la taille. Notez que le type="module" est indispensable.
<!-- Charger l’ArcGIS Maps
  SDK for JavaScript depuis le CDN -->
<script type="module" src="https://js.arcgis.com/5.0/"></script>
Cette approche remplace la structure multi-lignes précédente, simplifiant le chargement du SDK et la création de petites applications. L’ancien comportement reste accessible via :
<script type="module"
  src="https://js.arcgis.com/5.0/core.js"></script>
Modifications pour TypeScript et codemod : pour les développeurs TypeScript, il est recommandé d’utiliser les imports ESM individuels afin d’importer directement les types depuis leurs fichiers de module respectifs. L’ancien namespace __esri n’est plus supporté. Un codemod est fourni pour mettre automatiquement à jour les imports vers la syntaxe ESM recommandée, facilitant la migration. 
 
Archivage des documentation des versions précédentes : à partir de la version 4.34, la documentation des versions précédentes du SDK est disponible sur le site web, permettant d’accéder directement à ce dont vous avez besoin sans télécharger le SDK localement.

Migration depuis Google Maps : de nouvelles pages de guides dédiées aux développeurs utilisant Google Maps JavaScript API à migrer vers l'ArcGIS Maps SDK for JavaScript, incluant l’installation, des tutoriels pour les workflows courants, ainsi qu’une matrice concepts/terminologie pour faciliter la transition technique.

Pour en savoir plus

La version 5.0 offre encore plus que les nouveautés présentées ci-dessus. Profitez par exemple de transitions plus fluides pour le rendu des flux, d’un rendu amélioré des sols transparents, et bien d’autres améliorations ! Vous pouvez consulter la liste complète des mises à jour dans les notes de version.

Le mercredi 15 avril, l'équipe de développement du SDK proposera un live sur leur chaîne YouTube. Cette session est l’occasion d’explorer les dernières nouveautés et de poser vos questions directement à l’équipe produit.

Enfin, comme chaque année, le Developer & Technology Summit revient en mars ! La version digitale vous donne accès à un certain nombre de présentations, alors n'hésitez pas à y jeter un Å“il.  
 

Aucun commentaire:

Enregistrer un commentaire