Page 1 sur 1

Protéger le code source des macros

MessagePublié: 09 Juin 2006 11:21
par Gastiflex
Bonjour,
je voudrais savoir s'il est possible de protéger le code source d'une macro. En effet, j'ai un add-on pour OpenOffice que je souhaite distribuer et il faudrait que l'utilisateur ne puisse pas voir le code et encore moins le modifier
Merci

MessagePublié: 09 Juin 2006 11:31
par Péna
bonjour,

je suis novice aussi, mais il me semble, si j'ai bien compris ta question, que tu as la réponse dans le post de cris 59 : "[Résolu] Protéger le code" dans la section Macros et API.

(dsl j'aurai bien placé un lien mais je sais pas comment on fait, lol)

voila voila

MessagePublié: 09 Juin 2006 11:58
par Dude
Exact ! Il faut penser à faire une recherche avant de poster :
http://forum-openoffice.org/forum/ftopi ... -prot.html

MessagePublié: 09 Juin 2006 12:09
par Gastiflex
Merci,
mais est ce qu'il serait possible de faire cela automatiquement ? Je ne peux pas demander à l'utilisateur d'aller vérouiller lui même le code de la macro :D
J'ai vu qu'on pouvait protéger par mot de passe en mettant un booléen à true dans les fichier script.xlb et dialog.xlb.
- j'arrive à protéger les macros par mot de passe grâce à ces fichiers, mais comment choisir un mot de passe ?
- si je fais comme ça, cela veut dire qu'un utilisateur un peu bidouilleur peu aller trifouiller ces deux fichiers et dévérouiller le code ?
- à quoi servent exactement ces deux fichiers, et quelle est la différence entre les deux ?

Edit : dites moi si je me trompe, mais j'ai l'impression que le fait de protéger les macros par un mot de passe empêche non seulement de lire le code mais également de l'exécuter.

Protection des macros

MessagePublié: 12 Juin 2006 11:45
par Pierre-Yves Samyn
Bonjour

Gastiflex a écrit:Je ne peux pas demander à l'utilisateur d'aller vérouiller lui même le code de la macro


Avec la méthode indiquée (mot de passe mis sur la bibliothèque) c'est le développeur qui fait cela une fois pour toutes...

Gastiflex a écrit:J'ai vu qu'on pouvait protéger par mot de passe en mettant un booléen à true dans les fichier script.xlb et dialog.xlb.


La méthode indiquée répond totalement au besoin.

Gastiflex a écrit:j'ai l'impression que le fait de protéger les macros par un mot de passe empêche non seulement de lire le code mais également de l'exécuter.


Non aucun problème.

En complément si l'installation, en tant qu'administrateur, de l'add-on est faite en mode partagé (dans le repertoire share) la bibliothèque sera de toute manière protégée même si aucun mot de passe n'est mis. Le code pourra être consulté, voire copié, mais il ne sera pas modifiable, OOo n'y étant d'ailleurs pour rien : juste une question de droits d'ecriture dans un repertoire géré par le systeme d'exploitation

MessagePublié: 12 Juin 2006 12:00
par Gastiflex
Merci, j'ai protégé la librairie avant de zipper l'addon (avec l'outil de Marcelly) et c'est bon, excepté ce problème que je ne peux plus exécuter les macros protégées. Mais j'ai testé une fois et pas très proprement.
Voici comment je fais pour installer l'addon :
unopkg add .\user\uno_packages\WriterCorrection.zip

C'est la bonne méthode ?

Protection des macros

MessagePublié: 13 Juin 2006 08:15
par Pierre-Yves Samyn
Bonjour

Gastiflex a écrit:Voici comment je fais pour installer l'addon :
unopkg add .\user\uno_packages\WriterCorrection.zip

C'est la bonne méthode ?


C'en est une.

Depuis la version 2 l'install d'un add-on est plus simple puisqu'on peut le faire directement depuis le menu Outils Gestionnaire de packages, donc quand OpenOffice est ouvert.

Passer en ligne de commande par unopkg est en revanche indispensable pour faire une installation en mode "partagé" (dossier share) puisqu'aucune instance d'OpenOffice ne doit tourner (y compris le démarrage rapide).

De l'information peut être trouvée ici :

http://api.openoffice.org/DevelopersGuide/unopkg.html

Concernant le blocage des macros, une autre piste ne serait-elle pas plus simplement la gestion mise en oeuvre de la sécurité (Outils Options OpenOffice Sécurité + sources de confiance) ?

MessagePublié: 13 Juin 2006 09:36
par Gastiflex
Mon problème d'exécution, ça ressemble plus à un gros plantage qu'autre chose. Mais comme pas hasard ça le fait que sur la macro sur laquelle je bosse. J'en ai essayé une plus simple, je met un mot de passe, je crée l'addon, je le zippe, je supprime la librairie, je l'installe avec unopkg et c'est bon, la macro se lance et est protégée.
Est ce que l'outil de B Marcelly sur les addons est compatible avec la OOo 2.0 ?
Au pire, je pourrais faire l'addon à la main. J'ai compris la structure de addon.xcu, mais je ne sais pas ce qu'il faut mettre dans le zip.

MessagePublié: 13 Juin 2006 13:34
par bm92
Gastiflex a écrit:Est ce que l'outil de B Marcelly sur les addons est compatible avec la OOo 2.0 ?

Oui.
L'addon obtenu peut être installé "à l'ancienne" (malgré un message d'avertissement), avec unopkg, ou par le menu Outils > Gestionnaire de packages.

MessagePublié: 14 Juin 2006 12:08
par Gastiflex
Apparemment je ne suis pas le seul à avoir ce problème.
http://www.oooforum.org/forum/viewtopic.phtml?t=31734&highlight=password
J'ai lu les threads de Pitounet, mais je n'ai pas tout compris. Il semblerait que ce soit un bug d'OpenOffice, mais j'ai pas bien saisi s'il y avait une solution, et si oui, laquelle.

MessagePublié: 14 Juin 2006 12:53
par Dude
bm92 a fait une liste des issues traitant de cela :
http://forum-openoffice.org/forum/sutra4336.html#4336

MessagePublié: 14 Juin 2006 15:29
par Gastiflex
Bon, le problème vient du fait que OOo plante si on utilise une déclaration de type dans une librairie protégée.
Issue n° 62476

La solution serait de déclarer les types dans une librairie non protégée.

Dernière question : c'est moi ou il n'y a pas besoin d'entrer le mot de passe d'une macro protégée pour la supprimer ?