Personnaliser son FlexViewer
Dans cette partie nous allons les différents aspects que vous devrez prendre en compte si vous voulez vous lancer dans les développements de fonctionnalités supplémentaires.
Protocoles géographiques
La première chose qu'il faut prendre en compte pour la personnalisation de votre visualiseur est le protocole géographique, car c'est grâce à un de ces protocoles que vous pourrez lire un flux géographique. Le FlexViewer est pour cela bien pratique car il est capable de traiter les principaux protocoles retrouvés dans le monde de la géomatique.
Les voicis :
- ArcGIS Server (MapService)
- WMS (Web Map Service)
- WFS (Web Feature Service)
- ArcIMS
- KML
- Possibilité d’intégration
- OpenStreetMap
- Bing Maps
WebServices
Deuxième aspect important : les WebServices. La plupart les flux cartographiques proviennent de webservices et permettent donc d'accéder aux cartes que vous souhaitez depuis n'importe où grÂce à votre navigateur.
La philosophie du FlexViewer est aussi d'utiliser au maximum les webservices afin de déléguer au maximum les traitements cartographiques aux serveurs, pourquoi ?
Premièrement parce que ceux-ci sont optimisés pour faire ces opérations, puisqu'il faut savoir que les traitements géographiques sont généralement faits sur un nombre très importants d'objets (il n'est pas rare de travailler sur un ordre de grandeur aux alentours du million), et ce en 2D et en 3D, ce qui engendrerait des temps de calculs très long pour une application Flex.
Deuxièmement pour des raisons de sécurité. Il est en effet plus facile de géré les droits du côté serveur que du côté client.
Pour terminer, il est important de préciser que le FlexViewer est compatible avec les architectures suivantes :
- REST (Representational State Transfer)
- SOAP (Simple Object Access Protocol)
Technologies
Le Flexviewer est développé en Flash/Flex grâce au langage de programmation AcrionScript 3 (AS3).

La configuration se fait généralement grâce à des fichiers XML, il existe différents fichiers de configuration XML :
- Le fichier de configuration du visualiseur en général (Fond de carte, widget à appeler, etc.)
- Les fichiers de configurations de widgets : chaque widget a son fichier de configuration
Pour information, ESRI Inc. l'éditeur de l'ArcGIS FlexViewer propose des solutions équivalentes pour les plateformes suivantes :
- ArcGIS JavaScriptViewer
- ArcGIS SilverlightViewer
- ArcGIS for Android
Développement
Pour faire du développement, il vous faudra les éléments suivants :
- Framework Flex (SDK Flex)
- API ArcGIS for Flex, l'API contenant tous les objets métier liés à la cartographie
- Un IDE Flex
- Adobe FlashBuilder, recommandé mais payant
- FlexBean (plugin Netbeans), libre mais plutôt limité
Quelques devs
Voici deux exemples de développement de fonctionnalités supplémentaires :

Le premier écran montre une implémentation d'un visualiseur supportant le multi-carte. C'est une premiére dans le monde de la géomatique car jusqu'â maintenant les visualiseurs n'étant capable de lire qu'une seule carte à la fois.

Le second écran montre l'implémentation d'un widget permettant de sélectionner des entités géographiques en fonction d'un forme géométrique, puis de d'afficher dans un tableau attributaire tous les résultats obtenus.