[[TranslatedPages(revision=19)]] = Plugin -> Scripting = [[Image(https://josm.openstreetmap.de/pluginicon/scripting.jar/images/script-engine.png,link=,48)]] [[PageOutline(2-4,,inline)]] == Objectif == Utilisez-le pour automatiser de petites tâches pour lesquelles aucun greffon existant ne peut le faire, à savoir : * des tests de qualité supplémentaires pour lesquels aucun cas de test du validateur n'est disponible, * la saisie automatique de données dans des situations très spécifiques (par exemple, des séquences de numéros de maison), * l'importation à partir d'un format de fichier personnalisé non pris en charge par JOSM, * l'exportation vers un format de fichier personnalisé non pris en charge par JOSM. == Comment exécuter les scripts == Le [https://gubaer.github.io/josm-scripting-plugin greffon scripting (en)] vous permet d'exécuter des scripts dans JOSM. Vous pouvez exécuter des scripts depuis la console ou depuis des fichiers. Si vous choisissez les fichiers, les derniers scripts apparaîtront dans le menu "scripting". Voir aussi == Comment écrire vos propres scripts == Veuillez examiner attentivement les deux ressources : * [https://gubaer.github.io/josm-scripting-plugin/doc/documentation.html documentation (en)] - suivez tous les liens ici * [https://gubaer.github.io/josm-scripting-plugin/apidoc/modules/josm.html apidoc/modules (en)] - examinez ce que toutes les classes, modules, mélanges et espaces de noms peuvent faire. Pour écrire des scripts plus fonctionnels que "josm.alert(josm.menu.length) ;", vous devez combiner des exemples provenant de plusieurs pages, par exemple : * [https://gubaer.github.io/josm-scripting-plugin/apidoc/classes/JSAction.html Créez une action en utilisant la classe "JSAction" (en)], puis [http://gubaer.github.io/josm-scripting-plugin/doc/menu.html attachez-la au menu comme indiqué à la page "Extension du menu JOSM et de la barre d'outils JOSM" (en)] == Détails des mises en œuvre == Le greffon comprend un moteur de script embarqué pour Javascript basé sur Mozilla Rhino et une [https://gubaer.github.io/josm-scripting-plugin/apidoc/modules/josm.html API Javascript] pour les objets de l'application JOSM.\\ Vous pouvez également utiliser n'importe quel langage de script qui fournit un moteur de script compatible avec la norme JSR-223, notamment [https://groovy-lang.org/index.html Groovy (en)], [https://www.jython.org/ Python (en)], ou [https://jruby.org/ Ruby (en)].\\ [https://github.com/gubaer/josm-scripting-plugin Code source sur GitHub]. == Scripts == === Scripts en JavaScript === * [https://gist.github.com/Rub21/feb83f57a727ac0d8a34 - Développer les abréviations (US)] * [https://gist.github.com/Rub21/47838797856566a8b6ba - Mettre les noms en majuscules et éliminer "name=S/N"] * [https://gist.github.com/Rub21/cc055320c925c855926e - Développer les abréviations (Perou)]; [https://www.youtube.com/watch?v=Cpi_5dB1NLQ démonstration vidéo] === Scripts en Python === * [wikitr:/Help/Plugin/Scripting/Python divers petits scripts] destinés à illustrer la manière de faire une chose.. * [wikitr:/Help/Plugin/Scripting/Python/SurfaceTypesOfRoutes Types de surface des routes] - (Intéressant pour les pistes cyclables, qu'elles soient en boucle ou linéaires). Un petit bout de code, mais qui illustre quelques concepts intéressants et des rapports sur les données OSM. Ne modifie pas les données * [wikitr:/Help/Plugin/Scripting/Python/RCN_Route_Validator Validateur de routes RCN] - Ce n'est plus un script trivial. Il fait beaucoup de choses dans un domaine compliqué (réseaux d'itinéraires de nœuds de cycle avec des nœuds numérotés), il fait des changements dans les relations, il écrit dans un fichier qui peut être collé sur le wiki. Il analyse les itinéraires, mais aussi les réseaux d'itinéraires ou les collections de réseaux d'itinéraires, en fonction de la sélection effectuée dans JOSM lors de l'exécution du script.. * [attachment:ticket:7991:AutoAddIntersections.py AutoAddIntersections.py] (nécessite [wikitr:/Help/Plugin/UtilsPlugin2 UtilsPlugin2]) - Ajoute un récepteur de file d'attente de commande qui exécutera la commande AddNodesAtIntersections de utilsplugin2 après avoir rencontré la commande Extruder. (Voir #7991).\\ Exécuté une fois par session JOSM. == Paramètres avancés == Recherche de la sous-chaîne {{{scripting.}}} == Voir également == {{{#!comment * L'[wikitr:/Plugins Aide greffons] }}} * La version originale de cette page en [wiki:/Help/Plugin/Scripting anglais] ---- Retour à l'[wikitr:/Plugins Aide greffons] \\ Retour à l'[wiki:/Help Aide Principale]