Le blog francophone consacré
aux technologies Esri

Introduction au nouvel éditeur Arcade d'ArcGIS Online

Arcade est un langage mis au point par Esri pour permettre aux utilisateurs d'ArcGIS, dans différents contextes (profils Arcade), de créer des expressions de calcul. Arcade n'a cessé de croître depuis sa création avec, à chaque version, de plus en plus de fonctionnalités et de contextes d'usage dans ArcGIS. Alors que le langage a évolué, l'éditeur Arcade est resté en grande partie le même et, d'une certaine manière, le langage a "dépassé" l'éditeur Arcade existant alors que les utilisateurs écrivent des expressions de plus en plus complexes et créatives. L'équipe Arcade chez Esri a donc décidé de retravailler l'interface de rédaction des expressions avec la fourniture d'un nouvel éditeur qui va vous aider à créer beaucoup plus rapidement votre code Arcade.


Avec la dernière version d'ArcGIS Online a introduit un nouvel éditeur Arcade conçu pour mieux s'adapter à vos besoins et aux évolutions futures. Ce nouvel éditeur Arcade est actuellement utilisé par l'application Map Viewer, mais au cours des prochaines versions, vous le retrouverez partout où vous écrivez des expressions Arcade sur ArcGIS Online et ArcGIS Enterprise. Bien que les pièces vous semblent familières, il y a beaucoup de choses qui ont changé. Alors, plongeons et regardons.


Démarrer avec le nouvel éditeur

Pour commencer, ouvrez la visionneuse de carte, accédez au panneau contextuel (par exemple "Styles" ou tout autre endroit où Arcade est pris en charge) et cliquez sur "Expression".


La première chose que vous remarquerez est que vous avez maintenant beaucoup plus d'espace pour écrire votre expression. C'était la demande la plus fréquemment posée par vous en tant qu'utilisateurs. Nous avons structuré la nouvelle conception de l'éditeur de manière à ce que les éléments puissent facilement s'effacer lorsque vous en avez besoin, ce qui vous aide à optimiser votre espace.


a. Il est important de donner à vos expressions des noms clairs et significatifs, et pas seulement pour pouvoir les retrouver lors de la mise à jour de votre carte. En effet, le titre est utilisé dans des endroits comme les légendes et les fenêtres contextuelles pour donner un sens et un contexte aux valeurs de l'expression.
 
b. Cliquez sur le bouton "Exécuter" pour exécuter l'expression et afficher les résultats. Le bouton s'appelait auparavant "Test". Il a été renommé pour mieux refléter ce que fait le bouton et pour mieux s'aligner sur certaines améliorations futures.
 
c. Il s'agit de la fenêtre d'expression où vous écrivez votre expression Arcade et où vous trouverez des améliorations intéressantes sur lesquels je reviendrai un peu plus loin.
 
d. La barre d'action est un endroit pour parcourir et accéder à l'aide intégrée ainsi qu'à toutes vos variables de profil (anciennement appelées globales).


Maintenant que vous avez ces quelques repères, voyons plus en détails ce qu'il y a de nouveau dans les différentes parties de cet éditeur.


Variables de profil

L'une des premières choses que vous remarquerez en ouvrant le panneau est que les variables de profil ont été renommées et ne s'appellent plus "variables globales". Cette modification a été apportée pour mieux refléter que ces variables, bien que de nature globale, sont définies par le profil Arcade utilisé (par exemple, étiquetage, style, fenêtre contextuelle, etc.). Elles contiennent également désormais des descriptions spécifiques au profil pour vous aider à mieux comprendre leur signification dans le contexte de chaque profil. Si vous explorez $feature, vous remarquerez bon nombre des mêmes fonctionnalités qu'auparavant, mais vous pouvez désormais rechercher vos champs (également une demande fréquente de votre part) et il existe des icônes pour indiquer chaque type de champ en un coup d'œil. 

Recherche des champs commençant par "CA" sur la variable $feature


Si votre champ comporte des domaines, vous pouvez désormais afficher et rechercher les valeurs de domaine pour trouver exactement ce que vous recherchez rapidement. Et pour revenir à votre point de départ, vous pouvez cliquer sur le bouton "<<" situé en en-tête de la boîte de dialogue.


Les fonctions

Il y a pas mal de choses sur ce panneau qui devraient vous sembler familières ; cependant, nous avons ajouté quelques éléments pour vous faciliter la vie. Les fonctions sont maintenant regroupées en catégories, et en plus du nom de la fonction, vous avez la signature de la fonction à portée de main.


Si vous avez besoin d'informations supplémentaires, vous pouvez approfondir pour obtenir une aide plus détaillée ainsi que des exemples. Pour cela, il suffit de développer la fonction en cliquant sur le bouton ">".


Les fonctions qui ont plusieurs signatures ont maintenant été divisées en leurs propres entrées dans la liste des fonctions, ce qui facilite également la compréhension de la différence en un coup d'œil.



Suggestions

Le panneau "Suggestion" regroupe quelques éléments différents de l'éditeur Arcade précédent en un seul panneau ; Modèles et expressions existantes (dans le cas de Map Viewer). Les expressions existantes sont des expressions déjà utilisées soit dans le profil actuel, soit dans un autre profil. Ceci facilite la copie de tout ou partie d'une expression dans une nouvelle expression selon les besoins. De plus, si votre profil contient des modèles, vous les verrez également dans le panneau "Suggestions". Au fur et à mesure que le nouvel éditeur sera déployé dans d'autres applications, ces applications (par exemple, Dashboard, Field Maps) pourront tirer parti du panneau de "Suggestions" pour fournir leurs propres exemples spécifiques au contexte pour vous aider à démarrer. 


Les modèles sont un domaine que nous voulons continuer à développer et nous cherchons à voir plus de modèles pour vous aider à démarrer avec les expressions d'arcade courantes que nous avons vu de nombreux utilisateurs créer.


Fenêtre d'expression

C'est là que les choses commencent vraiment à devenir intéressantes dans ce nouvel éditeur. Des efforts importants ont été focalisés sur la fenêtre de code. Ces développements ont été motivés par plusieurs thèmes communs que nous avons constatés lors de la collecte de vos commentaires en tant qu'utilisateurs.

  • Aider l'utilisateur à écrire des expressions Arcade plus rapidement
  • Aider l'utilisateur à écrire de meilleures expressions d'arcade
  • Aider l'utilisateur à mieux comprendre les erreurs lorsqu'elles se produisent


Aider l'utilisateur à créer des expressions Arcade plus rapidement

Intellisense a été la référence en matière d'écriture de code pour la productivité des développeurs. Il met les informations à portée de main, réduit les erreurs, supprime rapidement les extraits et vous permet de trouver ce que vous cherchez plus rapidement qu'en parcourant la documentation traditionnelle. Le nouvel éditeur Arcade a désormais les capacités d'Intellisense. Cela inclut les fonctions, les constantes, les variables de profil, etc.



Aider l'utilisateur à écrire de meilleures expressions d'arcade :

Tout d'abord, nous avons ajouté plus d'avertissements dans l'éditeur qui vous permettent de comprendre quand il y a quelque chose dans votre expression qui pourrait être un problème ou pourrait être amélioré. Cela ne vous empêchera pas de sauvegarder l'expression, mais quelque chose à revoir.


Certains exemples courants de ceci pourraient être des variables qui ne sont pas utilisées, ou même définies plus d'une fois.


Ensuite, vous pourrez également profiter de l'outil de formatage automatique. Les structures logiques, les boucles, le éléments complexes comme les FeatureSets, en particulier lors du chaînage, peuvent être difficiles à lire sur une seule ligne. Avec un clic droit (ou le raccourci clavier) vous pouvez rapidement formater votre expression pour la rendre plus lisible.



Aider l'utilisateur à mieux comprendre les erreurs lorsqu'elles se produisent

Beaucoup de travail a aussi été fait par l'équipe Arcade pour fournir des messages d'erreur plus clairs. Ceci, comme les avertissements, est un domaine qu'Esri continuera d'améliorer au fil du temps pour être certains que des utilisateurs non-spécialistes en codage ou en scripting puissent être, malgré tout, autonomes avec ce language Arcade.




Exécuter votre code

Dans le coin supérieur gauche, vous verrez le bouton "Exécuter". Cliquer sur ce bouton permettra d'exécuter l'expression et affichera les résultats dans la zone des résultats située en bas de l'éditeur.

Dans cette zone des résultats, vous verrez trois onglets :

  • Sortie : la valeur ou l'élément que votre expression renvoie
  • Console : où vous pouvez afficher les informations que vous avez connectées à la console à l'aide de l'instruction Console()
  • Journal : le journal fournit des informations supplémentaires utiles sur l'exécution de l'expression, telles que la durée d'exécution. Cela peut être utile à examiner pour vous assurer que, de manière unitaire, vous ne faites pas trop de traitements dans une expression et que cela ne ralentira pas l'expérience de l'utilisateur lors de l'exécution de l'expression sur l'ensemble des entités concernées.

De plus, une fois que vous avez cliqué sur Exécuter une fois, vous pourrez revenir aux derniers résultats et voir ce qu'ils étaient. Cela peut être utile pour revoir les résultats précédents, revérifier les valeurs dans le retour ou même copier et coller les valeurs du retour dans la fenêtre d'expression.

Panneau des valeurs en sortie

Vous remarquerez que quelques modifications ont été apportées à l'interface d'affichage des résultats en sortie. Le plus important est l'affichage de l'arborescence JSON pour les éléments complexes (les éléments de type arrayfeatures ou featureSets par exemple). Cet affichage tabulaire permet d'étendre et de réduire rapidement les éléments imbriqués.


Les types de données tels que les entités ($feature est un excellent exemple) vous en diront désormais plus sur la géométrie de cette entité. Cela peut faciliter l'examen des coordonnées et de la référence spatiale de l'entité avec laquelle vous travaillez et faciliter le débogage.


Esri a également ajouté de la couleur (et des guillemets pour le texte) à la sortie pour vous aider à identifier le type de données de la valeur, comme les nombres, les dates et les textes, et faciliter le copier-coller des valeurs de texte directement dans votre expression si nécessaire.


Le futur...

Il s'agit d'une mise à jour majeure pour l'éditeur Arcade et, pour l'accompagner, Esri a également publié une toute nouvelle documentation, n'oubliez pas de la consulter également. Il y a encore pas mal de points sur la roadmap de cet éditeur Arcade. Voici un aperçu de ce sur quoi Esri travaille désormais :

  • Intégrer le nouvel éditeur dans les autres contextes d'ArcGIS Online (formulaires de saisie, ArcGIS Dashboards, ...)
  • Continuer à développer et étendre les outils de débogage et de test
  • Facilitez l'intégration de l'éditeur Arcade dans les applications tierces créées par les développeurs
  • Inclure plus de modèles et d'exemples dans le panneau "Suggestions"
  • Mise à disposition d'une extension Visual Studio Code pour Arcade

Partager cet article:

Rejoindre la discussion

    Les commentaires à propos de cet article:

2 comments :

Matthias a dit…

Bonjour,
Avez-vous des informations concernant la mise à disposition de l'extension Visual Studio Code pour Arcade ?
Cordialement

Gaëtan Lavenu a dit…

Bonjour,

Pour l'instant ce n'est pas dans la roadmap à court terme. Depuis cet article, l'équipe Arcade a porté ses priorités sur la généralisation de ce nouvel éditeur Arcade dans les différents contextes des apps ArcGIS ce qui rend beaucoup moins nécessaire de recourir à des IDE de type VS Code pour des expressions Arcade un peu longues ou complexes.

N'hésitez pas à signaler votre besoin en utilisant le site https://ideas.esri.com en utilisant les communautés ArcGIS Online, ArcGIS Enterprise ou ArcGIS Pro.