Aide Php + Python (débutant)

Aide Php + Python (débutant) - PHP - Programmation

Marsh Posté le 16-12-2016 à 18:07:33    

Bonjours à tous.  
Je suis en train de crée un mini site internet pour mon lycée (spécialité Informatique et Sciences du Numérique). Je rencontre plusieurs difficultés, mais notamment une :
J'aimerai pouvoir exécuter un programme en Python ("pendu.py" ) depuis une page web. Le programme en lui même fonctionne bien. J'ai tenté de crée un bouton avec :  
<form method="POST">
<button class="bouton" name="submit">Lancer le pendu</button>
</form>
qui renvoie au code css :  
.bouton{
    display:block;
    float:center;
}
De plus, après avoir un peu chercher, j'ai cru comprendre qu'il fallait passer par un code php ou javascrip + requête AJAX. Du coup j'ai choisi php; relié au bouton de name="submit" :
<?php
   if(isset($_POST['submit'])){
    //Mon code PHP
}
?>
Le bouton, bien que très moche s'affiche bien. Par contre je sèche sur le code php utiliser afin de renvoyer à mon programme python.  
J'ai essayer de coder comme ceci :  
if(isset($_POST['submit'])){
    exec("python ./python/pendu.py" )
}
Avec un chemin absolu pour jusqu'à mon fichier .py. Mais ça ne marche pas du tout.  
J'aimerai votre aide ^^.  
Je vous met en lien la totalité des éléments de mon site au cas ou vous voudriez juste modifier l'affichage histoire de rendre ça plus agréable à l’œil; etc ... Merci de quand même tout bien m'expliquer car je suis un total débutant dans ce domaine ^^.  
 
Mon site en .rar : https://www.fichier-rar.fr/2016/12/16/mon-site/
 
Merci à tous de bien vouloir m’accorder aide et temps ^^. 

Reply

Marsh Posté le 16-12-2016 à 18:07:33   

Reply

Marsh Posté le 17-12-2016 à 12:39:36    

J'ai le flemme de regarder en détail, mais je pense que tu fais fausse route.
Un page web point de vu du serveur ce sont des données envoyées au client. Ensuite tout le code s'exécute coté client jusqu'à la prochaine requête au serveur.

 

C'est en réalité un peu plus complexe que ça si tu met du javascript qui fait des requête au serveur.

 

En tous les cas ton programme python qui demande surement des entrées stdin du joueur ne peut rien recevoir car la page est coté client, et le code python coté serveur.


Message édité par h3bus le 17-12-2016 à 12:41:08

---------------
sheep++
Reply

Marsh Posté le 18-12-2016 à 18:49:37    

À part les remarques de h3bus, pourquoi ne pas écrire le programme directement en PHP ou même JS côté client au lieu de mettre du Python?

Reply

Marsh Posté le 19-12-2016 à 05:07:55    

Le problème est que mon lycée me demande de faire comme cela ...  
 
La j'ai vraiment pas le choix. Je doit faire un programme en python qui doit pouvoir être lancer depuis une page web ...  
 
Vous auriez une solution a mon problème ?

Reply

Marsh Posté le 19-12-2016 à 07:30:51    

Regarde du côté de python CGI.


---------------
sheep++
Reply

Marsh Posté le 20-12-2016 à 18:04:04    

Le problème c'est que j'ai aucune idée s'il y a Apache ou pas sur les ordis du lycée (et s'il y est pas; je pourrait pas l'installer faute de droits).  
 
Mon but est de pouvoir exécuter un script python quand l'on clique sur un bouton !  
 
Du coup ben je sais pas trop je vais regarder plus en détails coté Cgi mais s'il y aurais un moyen via php cela me semble une relative bonne solution ...

Reply

Marsh Posté le 21-12-2016 à 20:25:35    

Au risque de dire une bétise, apache est un serveur Web pourquoi souhaite-tu l'installer côté client ? Théoriquement il faut simplement un navigateur à ton client pour afficher la page.
 
Enfin je me trompe peut être mais ça serais bien la première fois que je vois ça.


---------------
--- Mon topik d'Ach/Ven ---
Reply

Marsh Posté le 22-12-2016 à 10:41:24    

nextguy a écrit :

Le problème c'est que j'ai aucune idée s'il y a Apache ou pas sur les ordis du lycée (et s'il y est pas; je pourrait pas l'installer faute de droits).  
 
Mon but est de pouvoir exécuter un script python quand l'on clique sur un bouton !  
 
Du coup ben je sais pas trop je vais regarder plus en détails coté Cgi mais s'il y aurais un moyen via php cela me semble une relative bonne solution ...


Si ton code php peut être exécuté, alors tu as Apache d'installé (wamp serveur par ex) très probablement.
Que fait le script en python ? S'il a besoin d'entrés, tu fais un formulaire html que PHP triatera et transmettra les paramètres en ligne de commande ou dans un fichier txt au script python.
Ensuite, si le script python renvoie en résultat, c'est php qui va l'intercepter, le traiter éventuellement et l'afficher dans une page html.
 
Le seul pb, c'est si le script demande des interactions en cour d'exécution.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed