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

Langage PHP Discussion :

Page PHP bloquée pendant l'éxecution d'un script Python


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 38
    Points : 18
    Points
    18
    Par défaut Page PHP bloquée pendant l'éxecution d'un script Python
    Bonjour,

    J'ai une page php qui démarre un script python celui-ci peut être plus ou moins long selon les $_POST . Du coup la page ne se charge pas complètement et attends la fin du script python. Ce qui me pose un soucis car l’étape suivante serai de récupérer des variables de python pendant qu'il tourne. Voilà j’espère être assez clair.

    et merci d'avance pour vôtre aide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    <HTML>
    <head>
    <meta name="viewport" content="width=device-width" />
    <meta name="utf-8" />
    <title>Arrosage Control</title>
    </head>
     
           <body>
       <div name="formulaire">
           <form method="post" action="/arrosage/mainArrosage.php">
     
     
                   <select name="cy">
                       <option value="" selected >Nb Cycles</option>
                       <option value="1">1</option>
                       <option value="2">2</option>
                       <option value="3">3</option>
                       <option value="4">4</option>
                       <option value="5">5</option>
                       <option value="6">6</option>
                   </select>
                   <select name="du">
                       <option value="" selected >Temps Arrosage</option>
                       <option value="0.1">1</option>
                       <option value="0.2">2</option>
                       <option value="0.3">3</option>
                       <option value="0.4">4</option>
                       <option value="0.5">5</option>
                       <option value="0.6">6</option>
                   </select>
                  <input type="submit" value="Start" name = "start">
           </form>
       </div>
            <div name ="data">
       <?php
           // Chemin du GPIOManager
           $_path = "sudo nohup python ../GPIOManager";
     
           // Verification des variables postées
           if(isset($_POST['du']) && isset($_POST['cy']) && isset($_POST['start'])){
     
     
                       $strdu = $_POST['du'];
                       // variable du transformé en float
                       $du = floatval($strdu);
     
                       $cy = $_POST['cy'];
                       // Execution du programme python MaainArrosage avec passage de parametres
                       //  nombre de cycle et duree de l'arrosage 
     
                        $gpio_arro = shell_exec ($_path."/MainArrosage.py ".$cy." " .$du." &");
           }
       ?>
     
           </div>
     
        </body>
     
    </html>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Comment as-tu prévu de récupérer les variables depuis Python ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 38
    Points : 18
    Points
    18
    Par défaut
    Bonsoir Sabotage,

    Merci pour ta réactivité. En fait je suis entrain d'explorer le sujet mais ma petite expérience du codage tendrai à me faire choisir API Request "http://docs.python-requests.org/en/master/api/"
    pour sa simplicité.
    Mais bon, je suis pas sûr que ce soit le choix le plus judicieux !

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Points : 383
    Points
    383
    Par défaut
    C'est le comportement normal de PHP. Maintenant je me doute que niveau expérience utilisateur ca doit pas être top.

    Tu devrais ajaxifier tout ça

    Tu gardes ta page avec ton formulaire et ta div qui va contenir les résultats

    Tu rajoutes du javascript ( jquery histoire de faire simple ) qui, au moment de la soumission du formulaire va :
    - afficher un message d'attente dans la div
    - appeler un script php qui ne sert qu'a lancer le script python ( le passage avec le if (isset.... )
    - afficher le résultat du script dans la div

    Il y a un exemple pas trop mal à la fin de la page http://api.jquery.com/jquery.post/

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Penser également qu'Apache peut lancer des scripts pythons, ça sera sûrement plus facile d'exploiter un résultat comme ça qu'un retour de shell_exec().

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 38
    Points : 18
    Points
    18
    Par défaut
    Merci, vas y avoir du boulot vu que je pars de loin JS . Je m'y mets et vous dis !

Discussions similaires

  1. Les pages PHP ne sont pas éxecutées
    Par Pahcixam dans le forum Apache
    Réponses: 6
    Dernier message: 09/06/2006, 13h38
  2. Problème Formulaire + popup + page PHP
    Par nesbla dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 25/02/2005, 00h10
  3. problème debodybackground dans une page php
    Par bertrand_declerck dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 04/02/2005, 22h39
  4. Boutons Radios qui charge une page php différente
    Par nebule dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/11/2004, 15h25
  5. connection a mssql a partir d'une page php
    Par jean_marc dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/11/2003, 14h24

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