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

Réseau/Web Python Discussion :

combiner python et php


Sujet :

Réseau/Web Python

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 45
    Points : 35
    Points
    35
    Par défaut combiner python et php
    Bonjour,

    J'espère poster dans la bonne section... Je cherche un moyen de combiner python et php. En clair, j'ai un script python qui effectue des calculs sur des séquences protéiques grâce à des matrices de score (passons sur les détails). Je dois créer une interface web avec php qui me permette d'utiliser ces données pour afficher des graphes de scores, éventuellement des liens vers la PDB (protein data bank)...

    J'ai trouvé une librairie graphique, Artichow, qui permet de tracer des graphes avec php. Je voudrais pouvoir lui donner en paramètres des valeurs renvoyées par mon script python.

    Par ailleurs mon script python doit prendre pour paramètres des données renseignées dans un formulaire html, qu'il faudrait donc que je récupère en php avant de les donner à python...

    Je cherche donc un moyen de passer des variables de php à python, et inversement... En cherchant un peu sur le net j'ai trouvé ici une extension de php qui permettrait d'utiliser des objets python, mais je ne comprends pas bien comment l'utiliser, ni même si ça me permettrait de résoudre mon problème...

    Si vous avez quelques indications sur cette extension, un tout autre solution pour combiner les deux langages, je suis donc preneuse !

  2. #2
    Membre éclairé
    Avatar de airod
    Homme Profil pro
    Gérant Associé, DMP Santé et Directeur technique
    Inscrit en
    Août 2004
    Messages
    767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Gérant Associé, DMP Santé et Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 767
    Points : 891
    Points
    891
    Par défaut
    , si rien n'est fait en php, pourquoi ne pas faire en python?
    avec le module mod_python pour apache, la logique semble etre la meme qu'en php avec apache.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 45
    Points : 35
    Points
    35
    Par défaut
    Um en fait je suis actuellement en stage, et c'est ainsi qu'on me demande de le faire...

    Mon maître de stage m'a dit qu'il était possible de faire tout ça assez simplement, en me montrant ce bout de code pour exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $command = "./scanintPIB08  $nonredo $Type $vnorm $motif";
     
    echo $command;
     
    $sortie = `$command`;
     
    #echo "<pre>$sortie</pre>";
     
    $line=split("\n", $sortie);
    le fichier scanintPIB08 étant censé être le nom du script python, ceci dit ledit fichier ne contient visiblement que du php... Bref je ne comprends pas, et j'aimerais donc trouver une moyen de faire ça moi-même à partir de zéro. J'ai trouvé une balise php qui permet d'appeler un script python :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php execute test.py;?>
    mais après je ne vois pas bien comment faire "transiter" les différentes variables... Est-ce seulement possible ?

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 349
    Points : 36 872
    Points
    36 872
    Par défaut
    Citation Envoyé par Marciane Voir le message
    mais après je ne vois pas bien comment faire "transiter" les différentes variables... Est-ce seulement possible ?
    Techniquement c'est possible.

    La passerelle CGI vous permet d'avoir des pages HTML contenant du PHP qui peuvent appeler des scripts natifs écrits dans ce que vous voulez: Python, Bash, PHP, Perl. C'est l'exemple que vous a donné le prof.

    Une fois la mécanique d'appel traitée, la difficulté est de passer des paramètres et de récupérer les retours et/ou les sorties du script appelé. Vous allez utiliser cela pour construire le contenu de la page HTML retournée dans le navigateur de l'utilisateur.

    Faites un dessin avec en colonnes: navigateur, http, cgi, php, script python, bibliothèque python,... et gribouillez les échanges de messages entre les différentes colonnes.

    Passage de paramètres.
    C'est PHP qui récupère les valeurs dans la form et qui les descend en paramètres du script Python.
    Récupération des résultats.
    Question: quelle est la quantité de données? Peut on passer par des variables ou est-il plus raisonnable de faire transiter cela par un fichier temporaire?
    - W

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 45
    Points : 35
    Points
    35
    Par défaut
    Mon formulaire doit me permettre de récupérer une séquence d'acides aminés de n'importe quelle taille qui sera traitée par l'une de mes fonctions python, et entre 1 et 12 paramètres sous forme de cases à cocher, qui vont orienter les calculs de score sur ma séquence (autant de calculs que de paramètres cochés). Je pense que je peux faire ça en CGI ça ne doit pas être trop compliqué...

    Ensuite côté résultats, si j'ai 1 paramètre je récupèrerai une liste de scores, autant de score que d'acides aminés dans ma séquence (donc potentiellement conséquent). Si j'ai 12 paramètres j'aurai 12 listes de scores... Chaque liste me servira à tracer un graphe, et là faut que j'utilise une librairie graphique pour php.

    J'espère que c'est assez clair ?...

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 349
    Points : 36 872
    Points
    36 872
    Par défaut
    Faites marcher l'exemple du prof, vous pourrez l'améliorerez ensuite.
    - W

Discussions similaires

  1. Utiliser python comme PHP.
    Par iflypunk dans le forum Réseau/Web
    Réponses: 5
    Dernier message: 19/12/2007, 13h21
  2. [Système] Lancer un script python en PHP
    Par gannher dans le forum Langage
    Réponses: 10
    Dernier message: 13/09/2007, 11h24
  3. [Système] Exécuter script python depuis php
    Par philpython dans le forum Langage
    Réponses: 1
    Dernier message: 22/03/2007, 13h57
  4. Combiner un script php et Rsync
    Par zetta dans le forum Linux
    Réponses: 7
    Dernier message: 23/06/2006, 16h04
  5. zope python, apache php
    Par bbmt dans le forum Zope
    Réponses: 1
    Dernier message: 24/05/2006, 18h03

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