mardi 12 octobre 2010

Les scripts Groovy : KEZAKO ?



S’il y a un point que je n’ai jamais développé sur ce blog, c’est bien celui des scripts Groovy. La raison principale est que je n’ai absolument aucune compétence en matière de programmation. Même s’il m’est arrivé d’écrire quelques lignes en Basic sur mon Sinclair ZX81 et mon Amstrad CPC6128 il y a quelques années (petit clin d’œil au passage au Musée de l’Informatique qui connaît aujourd’hui quelques difficultés), mon expérience, bien qu’enrichissante, a vite été stoppée.

Groovy est donc un langage de programmation à part entière, très proche du JAVA.
J’ai cherché quelques exemples de scripts ici ou là pouvant m’aiguiller sur une utilisation possible avec Freemind ou Freeplane. Les exemples en question ne m’ont pas réellement convaincus.
Il y a quelques jours, j’ai enfin trouvé un Blog, celui de Sylvain Gamel , qui met à disposition 4 scripts Groovy de son cru.

On peut ainsi constater que ces scripts peuvent être utilisés à la fois pour intervenir directement sur une carte - comme celui permettant de supprimer tous les attributs de nœuds préalablement sélectionnés - ou sur l’environnement de Freemind ou Freeplane. L’un des scripts propose ainsi de supprimer l’ensemble du contenu d’un répertoire de votre micro-ordinateur.

Vous l’aurez compris, ces scripts Groovy permettent d’automatiser certaines tâches et agissent ainsi comme des macros. A tester d’urgence pour constater que Freemind et Freeplane vont encore au-delà de la simple représentation d’informations sous forme de Carte Heuristique. On peut en effet imaginer l’intégration de scripts Groovy dans une carte-procédure par exemple.

5 commentaires:

Matthieu a dit…

Bonjour Franck,

Si les scripts Groovy offrent des possibilités intéressantes d'automatisation de tâches via une carte Freeplane, j'imagine qu'on pourrait en revanche détourner leur utilisation à des fins moins louables.

La sélection d'un noeud d'une carte Freeplane pourrait-elle ainsi exécuter un script supprimant les répertoires du disque dur sans que l'utilisateur s'en rende compte ?

Si c'est le cas, on n'est pas très loin du fonctionnement d'un virus informatique (façon cheval de Troie).

Certaines entreprises hésitent d'ailleurs à autoriser l'utilisation de Freemind/Freeplane
pour ces raisons de sécurité informatique.

Ou alors s'agit-il de paranoïa ?

Matthieu

Sylvain a dit…

Tout système de script ayant accès au système de fichier est un risque potentiel. Les macros Office sont un bon exemple :)

C'est pour cette raison que les fonctions "a risque" des scripts sont bloquée dans FreePlane.

Le bloc d'options "Scripting" permet ainsi de:
- forcer l'utilisateur a donner son accord a toute exécution de script;
- bloquer l'accès aux fichiers;
- bloquer l'accès réseau;
- bloquer l'exécution d'applications

Certains scripts peuvent être signes par un certificat, auquel cas il est possible de leur faire confiance "par défaut".

Toutes ces options restent simples et donne une garantie a l'utilisateur.

De plus les scripts doivent être installes dans le dossier utilisateur de FreePlane, ou saisie a la main dans un nœud.

Le risque existe, comme toujours, mais il est bien canalise.

Freemind par l'exemple a dit…

Merci Matthieu pour ton intervention et Sylvain pour ta réponse sur ce sujet hautement sensible ;-) !

Eric a dit…

Les scripts Groovy ne sont pas les seuls à pouvoir exécuter n'importe quoi. Les liens que l'on peut mettre dans Freeplane / Freemind permettent:
- D'exécuter un programme.
- D'exécuter un fichier .bat
- De se connecter à un site.
Ces liens ne peuvent toutefois pas être des lignes de commandes (apparemment). Mais je n'ai pas osé le "format c:" en lien.
Alors attention lorsqu'une carte Freeplane / Freemind n'est pas livrée totalement seule.

Freemind par l'exemple a dit…

Merci Eric pour ces précisions. N'étant pas spécialiste Groovy, Peut-on en conclure qu'une carte seule (fichier .mm uniquement) ne présente aucun danger ?

Merci
Franck.