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 :

Python vers PHP - utilisation hors ligne


Sujet :

Langage PHP

  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 : 42
    Localisation : France, Loire (Rhône Alpes)

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Points : 6 789
    Points
    6 789
    Billets dans le blog
    15
    Par défaut Python vers PHP - utilisation hors ligne
    Bonjour,

    Je ne connais strictement rien au développement php mais je pense que celui-ci pourrait m'être d'une grande utilité pour un projet.

    J'ai réalisé un programme (un formulaire de calcul hydraulique) sous pyhton qui fonctionne très bien. Je souhaiterai pouvoir le rendre utilisable sur le net. Python permet ceci via Django mais le passage de l'un a l'autre demande pas mal de taf.

    Je me dis donc que refaire une application en php pourrait être une bonne idée si et seulement si le code créé peut être utilisable hors ligne et en ligne.
    C'est à dire que je développe mon programme sur mon PC, et lorsque celui-ci est opérationnel, je le mets sur la toile sans (presque) rien modifier.

    Autre question, SQlite est-il utilisable avec php?

    D'avance merci de votre aide.
    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é Avatar de metagoto
    Profil pro
    Hobbyist programmateur
    Inscrit en
    Juin 2009
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Hobbyist programmateur

    Informations forums :
    Inscription : Juin 2009
    Messages : 646
    Points : 845
    Points
    845
    Par défaut
    Ca sera peut être plus simple si tu continues avec python, et donc django ou un truc du genre, non ?

    php supporte très bien sqlite:
    http://us2.php.net/manual/en/book.sqlite.php
    ou http://us2.php.net/manual/en/book.pdo.php

    Je me dis donc que refaire une application en php pourrait être une bonne idée si et seulement si le code créé peut être utilisable hors ligne et en ligne.
    C'est à dire que je développe mon programme sur mon PC, et lorsque celui-ci est opérationnel, je le mets sur la toile sans (presque) rien modifier.
    Tu veux recréer ton programme en php ?
    Parce que, bon, php permet de faire assez simplement une "interface" web (formulaire), mais si ton programme reste en python, ça risque d'être fastidieux de faire communiquer php avec ce dernier

  3. #3
    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
    PHP est quand même plutot destiné a être utilisé en ligne avec des interfaces HTML même s'il est possible par exemple de l'utiliser avec des interfaces GTK+.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  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 : 42
    Localisation : France, Loire (Rhône Alpes)

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Points : 6 789
    Points
    6 789
    Billets dans le blog
    15
    Par défaut
    Citation Envoyé par metagoto Voir le message
    Ca sera peut être plus simple si tu continues avec python, et donc django ou un truc du genre, non ?
    Il est clair que cette solution m'évite d'avoir à apprendre un autre langage. Cependant ça apporte un aspect qui me gêne un peu, à savoir les maj.
    Mon programme "local" est en continuel évolution et de ce fait l'intégration dans une version "web" va nécessiter une deuxième maj. Donc deux fois plus de taf.
    C'est dans ce but que je me tate à tenter l'expérience php. Si le même code peut facilement être exploité sur mon pc et sur le net alors je gagne du temps.

    Citation Envoyé par metagoto Voir le message
    Je vais regarder ceci de près si je décide de faire le pas. Merci

    Citation Envoyé par metagoto Voir le message
    Tu veux recréer ton programme en php ?
    Parce que, bon, php permet de faire assez simplement une "interface" web (formulaire), mais si ton programme reste en python, ça risque d'être fastidieux de faire communiquer php avec ce dernier
    Je souhaite tout récréer. Donc si je fais ça, le but est qu'il n'y ai plus de python (ce qui m'attriste un peu je dois dire).

    Pour info mon programme est en fait une succession de formulaires dans lesquels l'utilisateur entre des données, coche des radio-button et autre checkbox, ... Une fois tout rempli correctement le programme effectue quelques calculs mathématiques afin de permettre à l'utilisateur de choisir un matériel adapté à son problème (d'où l'utilisation d'une bdd). Pour finir un pti clic sur export et il obtient un document technique personnalisé au format pdf du matériel choisi. Le projet sera aussi sauvegardé pour d'éventuelles modifs.
    Je pense que ce genre de projet peut facilement ce faire en php

    Pour répondre à sabotage, le but n'est pas d'avoir une magnifique GUI. Cet outil est destiné à des fins pro, donc le but visé c'est simplicité, rapidité et maintenabilité...
    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
    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
    le but n'est pas d'avoir une magnifique GUI
    Le but c'est d'en avoir au moins une, ce qui n'est pas forcemment évident non plus quand on prend PHP en dehors de son utilisation courante.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  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 : 42
    Localisation : France, Loire (Rhône Alpes)

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Points : 6 789
    Points
    6 789
    Billets dans le blog
    15
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Le but c'est d'en avoir au moins une, ce qui n'est pas forcemment évident non plus quand on prend PHP en dehors de son utilisation courante.
    Effectivement le but est d'en avoir une.
    Peux-tu me rassurer et me confirmer qu'avec PHP, on peut gérer des zones de textes éditables par l'utilisateur, récupérer la valeur d'un CheckBox, etc d'un formulaire html.

    Si c'est bien le cas, je pense que je peux faire toute la partie "graphique" en html et gérer derrière cela la fonction "dynamique" avec php.

    Evidemment je pourrais aussi abandonner mon programme entièrement fait en python, le rendre dans son intégralité opérationnel avec Django et ne travailler plus qu'avec ça aussi bien en "local" que sur la toile.
    Mais dans ce cas là:
    * Django n'est-il pas un peu à la bourre par rapport à PHP en web dynamique?
    * Y a plus de plaisir à apprendre un nouveau langage (c'est aussi un peu le but... je suis très curieux et j'aime toucher à tout).

    Ce que je veux c'est faire quelque chose assez facilement, assez rapidement et fonctionnel. Si je me lance là dedans, c'est pas pour faire marche arrière dans 1 mois par ce que je me rends compte que c'est une véritable usine à gaz.
    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 éclairé Avatar de metagoto
    Profil pro
    Hobbyist programmateur
    Inscrit en
    Juin 2009
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Hobbyist programmateur

    Informations forums :
    Inscription : Juin 2009
    Messages : 646
    Points : 845
    Points
    845
    Par défaut
    php c'est très bien pour gérer les formulaires et tout le traitement derrière.

    Là c'est juste que php est quand même moins bien foutu que python pour du calcul mathématique (mais bon, c'est turing complete quand même donc tu peux y arriver ). C'est juste que ça ne vaut peut être pas le coup de réimplémenter tout le coeur de ton système qui semble déjà bien fonctionner en python.

    La seule façon de le savoir.. essai ?

  8. #8
    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 : 42
    Localisation : France, Loire (Rhône Alpes)

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Points : 6 789
    Points
    6 789
    Billets dans le blog
    15
    Par défaut
    Citation Envoyé par metagoto Voir le message
    php c'est très bien pour gérer les formulaires et tout le traitement derrière.

    Là c'est juste que php est quand même moins bien foutu que python pour du calcul mathématique (mais bon, c'est turing complete quand même donc tu peux y arriver ). C'est juste que ça ne vaut peut être pas le coup de réimplémenter tout le coeur de ton système qui semble déjà bien fonctionner en python.

    La seule façon de le savoir.. essai ?
    Concernant les calculs, il n'y a rien d'exceptionnel... ça va principalement se limiter à des multiplications et additions. Ensuite on retrouvera pas mal de while et if, et pour finir des listes, tuples et dictionnaires (je ne sais pas si on retrouve les mêmes outils et dénomination avec PHP).

    Concernant la réimplémentation du système il y a là aussi une raison qui me pousse à essayer PHP. Même s'il est vrai que mon programme sous python tourne nikel sur mon PC, c'est beaucoup moins vrai sur un autre PC.
    Je m'explique... si le PC client est sous Linux (comme le mien), il va falloir prévoir l'installation de pas mal de paquets. Rien d'insurmontable grâce à notre Nunux préféré qui les intègre d'office dans la plupart des cas. Si le PC client est sous windows, alors là ça se complique grave. Installer + de 250Mo de fichiers juste pour faire fonctionner un script de quelques Ko c'est un peu c*n. Si je crée un .exe (ce qui n'est pas gagné car les biblio tierces sont bien souvent mal gérées), là ce même script + tous les fichiers auxiliaires passe à quelques Mo pas mal embêtant.

    J'ai eu aussi la désagréable expérience de constater que mon script (et là je suis entière fautif, car je pense que mon code est loin d'être digne de celui d'un pro) qui fonctionne nikel sous linux, bug carrément sous XP alors que toutes les biblio sont installées.

    D'après ce que j'ai pu lire j'ai le sentiment que PHP est plus souple que Python en ce qui concerne le multi-plateforme. Mais peut-être est-ce une fausse idée que je me fais...
    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

  9. #9
    Membre éclairé Avatar de metagoto
    Profil pro
    Hobbyist programmateur
    Inscrit en
    Juin 2009
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Hobbyist programmateur

    Informations forums :
    Inscription : Juin 2009
    Messages : 646
    Points : 845
    Points
    845
    Par défaut
    Après tout, essai
    En php, tu n'as pas de list comprehensions, pas de différenciations tuples/lists, ni véritablement entre list et dict car tout est implémenté en hashtable en interne. Le type array est le type à tout faire (équivalent de list et dict)

    Si ton programme php (ton site en fait) tourne sur un server distant, alors effectivement, le client n'a besoins que d'un navigateur web.

  10. #10
    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 : 42
    Localisation : France, Loire (Rhône Alpes)

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Points : 6 789
    Points
    6 789
    Billets dans le blog
    15
    Par défaut
    Bon..., Je m'y suis mis. Je commence avec le tuto de Sylvie VAUTHIER, qui u passage est vraiment bien fait. Ça n'a pas l'air si compliqué que cela.
    J'en suis actuellement au TP et mon but est un peu similaire... On prend des nombres, on multiplie, on compare et le tour et joué... enfin presque

    En fait je pense que le plus compliqué sera très certainement de gérer le code PHP qui va me faire les calculs, etc dans le code HTML.

    Le gros avantage de Django, c'est qu'il permet de créer des pages HTML d'un coté avec des variables qui seront renseignées grâce au code Python fait d'un autre. (le revers de la médaille c'est qu'il est un plus complexe de passer les variables dans ce cas)

    Mais bon à l'usage il y a peut-être des astuces pour faire ceci tout beau tout joli.

    En tout cas merci à tous pour votre intéressement à mon sujet.

    Bonne journée à 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

  11. #11
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 497
    Points : 12 599
    Points
    12 599
    Par défaut
    Perso, je le ferais en django, puisque cela reste un framework puissant et que tout ton code est déjà écrit en Python, tu n'a cas recréer les formulaire en html.

    Le faire en PHP(que tu ne connais pas), va te prendre plus de temps que de le faire en Django(dont tu connais le langage Python).

    ceci ne me semble pas plus compliqué
    Code PYTHON : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <h1>{{ poll.question }}</h1>
     
    {% if error_message %}<p><strong>{{ error_message }}</strong></p>{% endif %}
     
     
    <form action="/polls/{{ poll.id }}/vote/" method="post">
    {% for choice in poll.choice_set.all %}
        <input type="radio" name="choice" id="choice{{ forloop.counter }}" value="{{ choice.id }}" />
     
        <label for="choice{{ forloop.counter }}">{{ choice.choice }}</label><br />
    {% endfor %}
    <input type="submit" value="Voter" />
    </form>

    que ceci
    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
     
    <h1><?php echo $this->question ?></h1>
     
    <?php if ($this->error_message): ?>
    <p><strong>-<?php echo $this->error_message ?></strong></p><?php endif; ?>
     
     
    <form action="/polls/<?php echo $this->poll.id ?>/vote/" method="post">
    <?php foreach ($this->choice  AS $choice): ?>
        <input type="radio" name="choice" id="<?php echo $choice->id ?>" value="<?php echo $choice.id ?>" />
     
        <label for="<?php echo $choice->id ?>"><?php echo $choice->name ?></label><br />
    <?php endforeach; ?>
    <input type="submit" value="Voter" />
    </form>
    Mais à toi de voir

  12. #12
    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 : 42
    Localisation : France, Loire (Rhône Alpes)

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Points : 6 789
    Points
    6 789
    Billets dans le blog
    15
    Par défaut
    Je suis entièrement d'accord avec toi sur le fait que le premier code n'est pas plus compliqué que le deuxième. Je dirai même qu'il est plus clair.

    Là où je trouve que Django est peut-être un peu plus "lourd" que PHP c'est tout ce qu'il y a derrière... Création du projet, de l'application, rensignement de l'url.py, setting.py...

    Mais peut-être fais-je fausse route et que même avec PHP je rencontrerai ces "difficultés". Seuls vous tous et le temps si je me lance vraiment dans le PHP pourront me le dire.
    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

  13. #13
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 497
    Points : 12 599
    Points
    12 599
    Par défaut
    Django est un framework et tout comme en PHP, les framework demande apprentissage et configuration.

    Si tu utilises un simple fichier en PHP, tu ne rencontreras pas trop de souci, si tu utilises en framework en PHP (ZF,Cake,Symfonie,Prado....), tu sera confronté aux même souci que Django.

    Maintenant j'imagine qu'il existe un moyen de faire de simple page html en Python..non ?

    [edit rapide rechercher]
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    #!/usr/bin/python
    import os, cgi
    form = cgi.FieldStorage()
    print "content-type: text/html"
    print
    print "<html><body>Salut %s, tu utilises \
      le navigateur %s.</body></html>" \
      % (form['nom'].value, os.environ['HTTP_USER_AGENT'])

  14. #14
    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 : 42
    Localisation : France, Loire (Rhône Alpes)

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Points : 6 789
    Points
    6 789
    Billets dans le blog
    15
    Par défaut
    Justement, et c'est là que je bute un peu, quel intérêt y a t-il à utiliser un framework lorsqu'à priori une simple page PHP, pourrait faire l'affaire.

    Peut-être faut-il dans un premier temps que je relise bien la déf de "framework"... Il permet certainement de faire plus de choses. Mais dans mon cas ceci sera-t-il utile? Mon réel manque de connaissance dans le monde de la programmation m'empêche cruellement de répondre par moi même à cette question.

    PS: Ton bout de code, et ben y marche pôa chez moi...
    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

  15. #15
    Membre averti

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 640
    Points : 408
    Points
    408
    Par défaut
    Je ne vois pas ce que tu gagneras à tout réécrire en PHP... Continues avec Python.

Discussions similaires

  1. localStorage et utilisation hors-ligne
    Par Yorick dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 04/10/2010, 20h58
  2. Traduction de Python vers PhP
    Par rambc dans le forum Général Python
    Réponses: 0
    Dernier message: 08/06/2009, 19h47
  3. Utiliser python comme PHP.
    Par iflypunk dans le forum Réseau/Web
    Réponses: 5
    Dernier message: 19/12/2007, 13h21
  4. Réponses: 1
    Dernier message: 06/05/2007, 21h16
  5. Utilisation en ligne de commande de php ?
    Par JavaAcro dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 13/03/2006, 12h20

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