IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Déploiement/Installation Python Discussion :

Distibution d'un programme PYTHON


Sujet :

Déploiement/Installation Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur/Modérateur

    Avatar de Jiyuu
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Billets dans le blog
    15
    Par défaut Distibution d'un programme PYTHON
    Bonjour à tous,

    Pour commencer, je viens de finir la première partie du tuto de G. SWINNEN, et l'une de mes premières constatations est la suivante:
    POURQUOI AI-JE COMMENCE A APPRENDRE LE VB ET NON PAS PYTHON. QUEL C...

    Ce langage est vraiment super intéressant et en lisant le tuto, j'ai réussi à faire des comparaisons avec VB et je pense qu'il me sera possible de plus facilement gérer certains problèmes que j'avais pus rencontrer.

    Cela dit une question trotte encore dans ma petite tête.
    Si j'ai bien compris il est plus simple d'avoir python d'installer sur le poste où l'on souhaite utiliser le programme, ceci implique donc qu'il y a possibilité de modifier le code source de ce dernier. Loin de moi l'idée de vouloir garder ce code secret, mais connaissant les premiers utilisateurs de mon futur programme je suis persuadé que celui-ci fonctionnera bien qu'un temps.

    Etait-il alors possible de le rendre "invisible" à un non initié ou inmodifiable.

    Si ceci n'est pas faisable de manière simple, il faut alors créer un .exe et je suppose importer des bibliothèques. Pour ceux qui ont déjà fait ainsi ceci reste t-il abordable ou y-a-t-il encore pas mal de temps d'apprentissage?

    D'avance merci pour l'aide et le temps que vous m'accorderez.

    Bonne continuation à tous.
    Initiation à Qt Quick et QML : Partie 1 - Partie 2
    En cas de besoin, pensez à la
    Mon site et mes tutoriaux sur Developpez.com
    Pas de question technique par MP... Les forums sont là pour ça

  2. #2
    Membre éclairé
    Inscrit en
    Août 2006
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 46
    Par défaut
    Citation Envoyé par Charles-Elie Voir le message
    Loin de moi l'idée de vouloir garder ce code secret, mais connaissant les premiers utilisateurs de mon futur programme je suis persuadé que celui-ci fonctionnera bien qu'un temps.

    Etait-il alors possible de le rendre "invisible" à un non initié ou inmodifiable.
    Je ne sais pas quel est le niveau de confidentialité que vous voulez, mais si c'est juste décourager d'éventuels développeurs en herbe ou petits curieux, distribuer la version compilé du script Python pourrai être suffisant.

    Quand un fichier python est utilisé comme module (appel import dans un autre fichier exécuté), le résultat de la compilation de ce module est écrit dans un fichier ayant le même nom que le module mais avec l'extension .pyc

    Ce fichier là est parfaitement utilisable par l'interpréteur python et on peut très bien lancé
    python mon_script.pyc

    Attention cela n'a rien d'une protection commercial ou autre, et c’est a la base de l’optimisation, de plus le fichier pyc contient en partie, du texte en claire, mais je pense qu’il sera suffisamment pénible a déchiffrer pour pourvoir en décourager plusieurs.

    Pour plus d'info :
    http://docs.python.org/tut/node8.htm...00000000000000

    Et si vous voulez un exemple de fichier compilé python, vous pouvez regarder dans votre arborescence de projet (vous devez en avoir plusieurs) ou sinon sur le repertoire lib de votre distribution python.

  3. #3
    Membre émérite
    Avatar de GnuVince
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2004
    Messages
    679
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 679
    Par défaut
    Ma suggestion est de ne pas faire la police. Distribue ton application en format source, ce qui est très recommendé pour différentes raisons, et si un usager joue dans le code, comme on dit au Québec: c'est son criss de problème.

    N'importe qui peut dévisser le panneau latéral de son ordinateur et jouer dans les pièces. La plupart des gens ne le font pas, car ils n'y connaissent rien, il y a des gens qui savent ce qu'ils font et peuvent utiliser leur connaissances pour arranger des petits problèmes. Mais c'est pas le problème de Dell ou de HP s'ils brisent quelque chose.

  4. #4
    Rédacteur/Modérateur

    Avatar de Jiyuu
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Billets dans le blog
    15
    Par défaut
    Citation Envoyé par Ozatorenator Voir le message
    Je ne sais pas quel est le niveau de confidentialité que vous voulez, mais si c'est juste décourager d'éventuels développeurs en herbe ou petits curieux, distribuer la version compilé du script Python pourrai être suffisant...

    ....

    Et si vous voulez un exemple de fichier compilé python, vous pouvez regarder dans votre arborescence de projet (vous devez en avoir plusieurs) ou sinon sur le repertoire lib de votre distribution python.

    Effectivement je en pensais pas que l'on pouvait faire ainsi.
    C'est parfait.

    Merci Beaucoup
    Initiation à Qt Quick et QML : Partie 1 - Partie 2
    En cas de besoin, pensez à la
    Mon site et mes tutoriaux sur Developpez.com
    Pas de question technique par MP... Les forums sont là pour ça

  5. #5
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Par défaut
    Désolé mais je trouve ça ridicule ...

    cela ne protege pas du tout de "ce dont tu as peur" (quoi que ca puisse etre) car il y a des solutions our recupérer des .py a partir des .pyc donc la "protection" nulle (un amateur ira pas farfouiler les source même si il arrive deja a savoir ou elles se trouvent)
    et en meme temps cela va juste "saouler" les gens qui peuvent apporter quelques chose de concret a ton logiciel...

    bref je pense pas que la raison que tu nous donnes soit valable, tu as ptetre pas osé de nous dire que tu voullais faire du closed source de peur de te faire lancer des pierre lol ... mais il faut savoir qu'il n y a pas que des fanatiques de l'opensource ici et que en tant que propriétaire de ton logiciel c'est tout a fait normal que tu puisse voulloir fermer le code pour en garder la propriété...
    Bref si tel est ta réél motivation, tu devrai regarder du coté des offuscateur... cela ne compile pas le code source mais renome toutes les variable, classe, ... et les rend illisible. C'est beaucoup plus efficace.

  6. #6
    Rédacteur/Modérateur

    Avatar de Jiyuu
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Billets dans le blog
    15
    Par défaut
    Citation Envoyé par anthyme Voir le message
    Désolé mais je trouve ça ridicule ...

    cela ne protege pas du tout de "ce dont tu as peur" (quoi que ca puisse etre) car il y a des solutions our recupérer des .py a partir des .pyc donc la "protection" nulle (un amateur ira pas farfouiler les source même si il arrive deja a savoir ou elles se trouvent)
    et en meme temps cela va juste "saouler" les gens qui peuvent apporter quelques chose de concret a ton logiciel...

    bref je pense pas que la raison que tu nous donnes soit valable, tu as ptetre pas osé de nous dire que tu voullais faire du closed source de peur de te faire lancer des pierre lol ... mais il faut savoir qu'il n y a pas que des fanatiques de l'opensource ici et que en tant que propriétaire de ton logiciel c'est tout a fait normal que tu puisse voulloir fermer le code pour en garder la propriété...
    Bref si tel est ta réél motivation, tu devrai regarder du coté des offuscateur... cela ne compile pas le code source mais renome toutes les variable, classe, ... et les rend illisible. C'est beaucoup plus efficace.
    A mon tour d'être désolé, mais la méthode que Ozatorenator m'a donné me suffit largement. Bien que j'attendais une réponse comme la tienne, je ne voulais pas trop m'étendre sur mon cas car, premièrement je ne pense pas que cela intéresse les membres du forum et d'autre part car j'étais assez pressé quand j'ai écrit le post.

    Mais comme l'inévitable est arrivé je vais donné une petite explication:
    1°) Le programme que je vais créé est entièrement dédié aux membres de MA société. Il n'a aucun but commercial.
    2°) Ce programme même s'il était diffusé, ne servirait à aucune personne ne faisant pas partie de ma société.
    3°) Il arrive parfois que certains programmes utilisés chez nous et non "open" bug. Comme par hasard c'est toujours sur les mêmes PC...

    L'astuce de Ozatorenator peut facilement empêcher que certains accèdent au code source et le modifie de telle manière que le prog ne fonctionne plus, ce qui impliquerait une nouvelle intervention de ma part sur le PC pour maintenance ===>> Perte de temps.

    Donc voilà...
    Initiation à Qt Quick et QML : Partie 1 - Partie 2
    En cas de besoin, pensez à la
    Mon site et mes tutoriaux sur Developpez.com
    Pas de question technique par MP... Les forums sont là pour ça

  7. #7
    Membre chevronné
    Avatar de richard
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Avril 2002
    Messages : 475
    Par défaut
    Citation Envoyé par anthyme Voir le message
    (un amateur ira pas farfouiler les source même si il arrive deja a savoir ou elles se trouvent)
    et en meme temps cela va juste "saouler" les gens qui peuvent apporter quelques chose de concret a ton logiciel...
    Cela dépend de l'environnement professionnel. J'ai déjà eu le cas : un type qui connaissait vaguement Python (ou pensait le connaître) et a voulu "améliorer" le script. Il a mis un b*rd*l inimaginable et bien sûr a accusé le script (i.e celui qui l'avait écrit, donc moi) d'avoir provoqué la catastrophe. Que c'était " un langage non sécurisé", "d'amateur", etc. etc. Les rois de la bidouille sévissent hélas partout.

    ==> Pour une "sécurité" supplémentaire tu peux mettre les fichiers .pyc de ton programme dans un répertoire caché donc invisible pur l'utilisateur lambda. dans ce cas, l'utilisateur bidouilleur ne pourra pas nier qu'il a modifié l'attribut du dossier.

    C'est toujours le problème des langages de scripts, tout le monde peut accèder au code et c'est parfois pénible de réinstaller systématiquement les mêmes fichiers.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 145
    Dernier message: 15/02/2009, 11h51
  2. Faire communiquer deux programmes python
    Par bestdomdom dans le forum Général Python
    Réponses: 5
    Dernier message: 26/10/2006, 09h30
  3. [Lien]erreur dans mon programme python
    Par durnambule dans le forum Général Python
    Réponses: 11
    Dernier message: 29/01/2004, 14h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo