debugger mapstore2 et ses extensions

14 views
Skip to first unread message

Landry Breuil

unread,
Aug 16, 2022, 8:51:44 AM8/16/22
to georche...@googlegroups.com
Hello,

autre retour d'expérience plus orienté développeur - comment faire pour
débugguer mapstore2 et ses extensions. C'est un peu documenté dans les
dépôts correspondants, mais pas facile à comprendre si on est pas dev
nodejs, donc je déchiffre un peu...

mapstore2, c'est 2 composants, un frontend (en js, exécuté dans le
navigateur du client) et un backend (java, exécuté dans un tomcat sur un
serveur)

Pour débugger le frontend, c'est peine perdue d'espérer tout faire via
la console/debugger js du navigateur en l'état vu que tout est minifié,
et pas de ?debug=1.

il faut lancer "la ou on développe" la commande `npm start` qui va
lancer un serveur web local (sur http://localhost:8081, donc a atteindre
via ssh forwarding si besoin) qui enverra au navigateur client les
fichiers JS non minifiés, avec lesquels on peut faire du pas-à-pas/de
l'inspection de variables comme on faisait avant au temps
d'extJS/mapfishapp.

l'extension
https://addons.mozilla.org/en-US/firefox/addon/react-devtools/ permet
aussi d'avoir 2 panneaux supplémentaires "spécifiques" aux composants
react, je n'ai pas encore tout compris de leur fonctionnement.

c'est pas tout d'avoir le frontend en local, il faut le "connecter" a un
(ou des!) backends pour être authentifié, récupérer des cartes, appeler
des API de cadastrapp, utiliser le proxy mapstore pour contourner
CORS... tout se fait via le fichier proxyConfig.js qui permet de "faire
pointer" ces URLs vers des backends existants d'une instance georchestra
(en contournant le sec-proxy de l'instance), et permettant aussi l'envoi
de headers spécifiques pour "faker" l'authentification sur ces backends.

enfin, autre avantage de la commande `npm start`: si on modifie le code
source d'un fichier (ex pour tester un bugfix), il sera automatiquement
recompilé par npm/webpack, on a juste besoin de recharger la page dans
le navigateur. Plus besoin d'une lourde boucle compilation/copie de
zip+war/déploiement/rechargement a chaque changement.

2 liens pour finir avec d'autres astuces et plus de détails sur ce que
je viens de faire/tester:
https://github.com/georchestra/mapstore2-cadastrapp/pull/173 et
https://github.com/georchestra/mapstore2-georchestra/issues/545

merci gaétan pour m'avoir mis sur la piste :)
--
Landry Breuil
Responsable Informatique
04 44 05 12 42

----------------------------------------------------------------------------
Centre Régional Auvergne-Rhône-Alpes de l'Information Géographique
Hôtel de région
59 Boulevard Léon Jouhaux - CS 90706
63050 Clermont-Ferrand Cedex 2

https://www.craig.fr <https://www.craig.fr> - @GipCraig

----------------------------------------------------------------------------
> Support utilisateurs (tous les jours ouvrés de 8H30 à 12H30) : 09 72
62 25 31
Reply all
Reply to author
Forward
0 new messages