Delocaliser fichier php

Fermé
bdk40 - 22 juil. 2017 à 21:56
 bdk40 - 23 juil. 2017 à 13:59
Bonjour,

J'ai créé personnellement (à la maison) un logiciel php permettant de faire certaines choses qui facilitent mon travail, l'entreprise dans laquelle je travaille en a eu vent, trouve ça génial et souhaite le commercialiser. Nous sommes tombés d'accord pour le distribuer.

Mais.

Je pense qu'ils voudrons ce charger eux-même de l'hébergement et auront donc accès aux sources.
Donc afin d'éviter de me faire entuber, je voudrais savoir si il est possible de faire appel a mes fonctions et classes principales nécessaires au fonctionnement du logiciel depuis un autre serveur afin que mon travail reste en sécurité et ne puisse être copié et que je reste seul a avoir un accès ftp à ces sources là.

En gros :
serveur A (serveur entreprise) -> logiciel sans les fonctions principales.
serveur B (mon serveur) -> fonctions principales.

serveur A + serveur B = tout fonctionne.
serveur A tout seul = marche pas.

si c'est possible est-ce que cela fonctionne-t'il simplement avec la fonction inlude() de php avec le chemin absolu du fichier demandé ou bien est-ce plus compliqué que ça ?

Merci.

A voir également:

6 réponses

avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
22 juil. 2017 à 23:59
Bonjour,

La solution que tu proposes ne me semble pas envisageable car, tout d'abord, si le serveur de ton entreprise peut récupérer les sources via un include, alors un "humain" peut le faire aussi en reproduisant la méthode que le serveur utiliserait. De plus tu rendrais le fonctionnement d'une application déployée par ton entreprise auprès d'une quantité de clients dépendante de ta capacité à maintenir ton propre serveur en ligne, avec les multiples possibilités d'incidents que tu pourrais rencontrer.

Je crois que tu dois plutôt "crypter" les sources, ou au moins une partie (celle qui gérerai le cœur de l'application et la partie gestion de la license). Je mets des guillemets à "crypter" car un contenu crypté peut être décrypté en connaissant la clé (que tu devrais fournir pour permettre l'exécution), or si tes sources peuvent être décryptées par le serveur, elles peuvent aussi l'être par un humain. En fait il s'agit plutôt d'un "cryptage à sens unique", une sorte de compilation, pour faire simple.

Pour protéger leur code source PHP, les entreprises utilisent souvent ionCube. Le loader à installer sur le serveur de ton entreprise est gratuit, mais tu devras payer une petite somme pour "crypter" ton application (ou une partie).

https://www.ioncube.com/online_encoder.php : cryptage à partir de 0.50$, je crois que ça reste raisonnable :)
1
Merci pour ta réponse, je n'ai pas préciser mais quand je parle d'héberger sur mon serveur je voulais dire héberger sur un serveur (style ovh ou autre) à mes frais, héberger chez moi n'est pas possible au vu de ma connexion.

Par rapport aux include() en php il me semble que le serveur qui exécute le script n'envoie que le résultat donc logiquement le serveur A ne recevrai que le résultat du travail du serveur B en faisant un include() ou je me trompe ?

Sinon je réfléchit aussi de m'occuper de l'hébergement moi-même, si ils sont d’accord, ça éviterai toutes ces complications.
0
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
23 juil. 2017 à 11:39
Cela rend quand même le fonctionnement de ton application dépendant d'une seconde infrastructure. Si de plus tu optes pour un dédié ou VPS, tu dois avoir les compétences en administration.

Dans le cas d'un include via une URL, si le fichier est exécuté sur le serveur distant, tu en récupéreras uniquement le résultat (pas le fichier "compilé", je parle de la "sortie"). Essaie de faire un include sur n'importe quel fichier PHP via une URL HTTP pour t'en convaincre. Si tu fais un include via FTP ou SSH, le fichier PHP ne sera pas exécuté mais tu devras fournir un moyen à la partie de ton application hébergée sur le serveur de ton entreprise pour accéder au fichier (c'est-à-dire fournir les identifiants), or un membre de ton entreprise pourra alors récupérer ces identifiants dans le code PHP et récupérer manuellement le fichier.

Je crois en effet qu'héberger l'application toi-même est une solution si tu en as les compétences.
0
C'est bien ce que je pensais par rapport aux include url ça va me compliquer le transfert de variables.

Oui je pense aussi que le mieux c'est héberger moi-même, de plus je suis en train de développer un système d'administration, de gestion des comptes utilisateurs et de sécurisation de la base de données que je grefferai avant de rendre la copie finale.

Après peut être que je me trompe et qu'ils n'essaieront pas de récupérer mes sources et faire un logiciel à eux. Mais bon vaux mieux anticiper.

Merci pour tes conseils.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
23 juil. 2017 à 13:05
Dans ton message initial tu indiquais que l'entreprise souhaitait commercialiser ton application, cela implique souvent un rachat de tous tes droits (et donc des sources), notamment pour améliorer le produit ou corriger d'éventuelles erreurs, mais aussi pour s'assurer que l'application que tu fournis ne contient pas de code malveillant que tu aurais pu insérer (pour voler les informations des utilisateurs finaux, par exemple).

Si tu souhaites conserver la propriété exclusive mais fournir un accès payant à ton entreprise ou à d'autres personnes, alors tu devrais plutôt commercialiser toi-même l'application.

Je ne m'y connais pas très bien en droit, mais je pense qu'en règle générale c'est ainsi que ça se passe. Il est toutefois possible de faire payer l'utilisation d'une application tout en fournissant les sources, il faut rédiger le contrat en accord. Une application dont tu fournis les sources n'est pas forcément gratuite, il existe des applications commerciales mais open source.
0
Ce logiciel n'existe pas ni en open source ni commercialement. C'est extrêmement ciblé. Il ne peut servir que dans mon métier. C'est pour ça que je veux protéger mes classes et fonctions.

A l'origine je ne l'ai pas codé en java, je viens de le retranscrire en php pour simplifier la gestion des mise à jour et des comptes en le rendant online.

Pour tous ce qui est des droits pour le moment on en a juste discuter je les laissent se renseigner de leur côté, c'est plus leur job que le mien.
Pour ce qui est des données utilisateurs je pense qu'il serait très mal avisé de vouloir jouer avec surtout dans les secteur dans lequel je travaille, puis ce n'est pas le but. Le but est juste que mon travail me profite un peu sachant qu'il profitera sans aucun doute à d'autre.

Voilà pourquoi c'est assez complexe et pourquoi je les laisse gérer tous ce qui est administratif car ce n'est pas nom plus mon domaine. A eux de réfléchir à comment récompenser ce travail. Et à moi de faire en sorte que ce travail reste mien.

Mais tout ça n'est pas encore fait pour le moment j'essaye juste d'anticiper. Rien n'est signé, rien n'est vendu.
0