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 :

où placer les scripts pythons ?


Sujet :

Réseau/Web Python

  1. #1
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 136
    Par défaut où placer les scripts pythons ?
    J'utilisais d'habitude php pour gérer dynamiquement mes sites internet mais comme je commence à vraiment aimer python je me dis que je vais passer sous python. Le problème comment j’intègre mon script à la page html (il n'y a pas de balise <?py ?> à ma connaissance).

    Je cherche aussi de la doc sur les scripts qu'on peut placer directement sur le serveur (par ex. : pour l'url rewriting ou pour modifier les requêtes http).

    C'est peut etre pas très clair mais c'est pas très clair dans mon esprit non plus donc toute aide est la bienvenue

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 681
    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 681
    Par défaut
    Salut,

    Le problème comment j’intègre mon script à la page html (il n'y a pas de balise <?py ?> à ma connaissance).
    Il est difficile de dissocier PHP à l'environnement LAMP mais Python, PERL, et PHP s'exécutent du côté "serveur" et non du côté "client" (Javascript does).

    Donc quand on écrit du PHP dans une page .HTML, il y a un "processeur" qui, à partir de la requête HTTP, évalue dynamiquement le contenu de la page en interprétant les boûts de script "inside".

    Vous avez une mécanique similaire avec les JSP (Java Server Pages).

    Et si je ne me trompe pas trop sur votre besoin, l'équivalent Python serait du Python Server Page - l'URL est pour vous permettre de dire "oui c'est çà" mais je ne sais pas ce que vaut le logiciel associé.

    Les frameworks "modernes" proposent une mécanique de dispatch requête/contrôleur (Rails style) en fonction de l'URL et le contrôleur construit les informations retournées à l'aide de "templates".
    Cette mécanique permet de supporter la génération d'une page complète ou le traitement de mise à jour partielles (AJAX).

    Cordialement
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre éprouvé
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Par défaut
    il existe une balise:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?python
    # mon code python
    ?>
    Mais c'est dans le cadre d'un template (kid-templating en l'occurrence) qui genère un fichier au format XML | HTML | XHTML qui te permet d'utiliser du code python restreint dans un document générer mais c'est dans le contexte du template je ne sais pas si elle s'utilise autrement.
    http://www.kid-templating.org/

    Sinon les sites web python sont basé (sans entrer dans les frameworks) sur le module cgi (Common Gateway Interface) qui permet de récupérer les paramètres de les traiter et de renvoyer un résulat, voici un exemple d'utilisation:

    - Il faut créer une instance de serveur, de nom de fichier serveur.py qui va traiter les requetes HTTP, a placer dans le dossier de ton choix et de créer dans ce dossier un dossier nommé cgi-bin (nom obligatoire) et un autre nommé static dans celui-çi:

    serveur.py:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    from BaseHTTPServer import HTTPServer
    from CGIHTTPServer import CGIHTTPRequestHandler
    server_addresse=("localhost", 8080)
    server=HTTPServer(server_addresse, CGIHTTPRequestHandler)
    server.serve_forever()
    -Puis il faut contruire une page HTML nommé start.html

    start.html:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <!DOCTYPE html>
    <html lang='fr'>
    <head>
    <!-- etc... -->
    </head>
    <body>
    <form action='http://localhost:8080/cgi-bin/page.py' methode='GET'>
    <input type="text" name="nom" placeholder="Entrez votre nom">
    </form>
    </body>
    </html>
    -A placer dans le dossier ou est ton serveur ou plutot dans le dossier static mais il faudra le préciser dans l'URL.

    -le fichier page.py est a placer dans le dossier cgi-bin,
    ici entre en jeu le module cgi afin de récupérer le paramètre nom.
    page.py:
    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
     
    import cgi
    form=cgi.FieldStorage()
    name=form.getvalue("nom", 'luke spywoker') # le premier paramètre est le nom du paramètre et le deuxième est la valeur par défaut.
    response="""Content-type: text/html
     
    <!DOCTYPE html>
    <html lang='fr'>
    <head>
    <!-- etc... -->
    </head>
    <body>
    Bonjours %(name)s
    </body>
    </html>"""
     
    print response % vars()
    ! attention la ligne Content-type: text/html et la ligne vide suivante sont obligatoires.

    Puis il faut se placer dans le dossier ou est le fichier du serveur (serveur.py)
    et taper la command afin de lancer ton serveur:
    Il faut ensuite ouvrir ton navigateur et se rendre a:
    http://localhost:8080/start.html
    la apparait la demande de saisie de nom et quand tu valide par <Return> ou un button submit.
    le serveur traite le paramètre nom et te souhaite bonjours.

    En espérant ne pas trop t'avoir ennuyer.

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 25
    Par défaut
    bonjour,

    tout d'abord, si tu a un peut l'habitude de faire du python, tu aura surement remarqué quelle erreur c'est de partir sur un modèle d'un autre langage pour l'adapter en python. python est plus qu'un langage, c'est presque une idéologie.

    ton erreur est de vouloir "faire comme php". tu prend le problème a l'envers.

    si tu cherche a faire un site web en python. alors oublie comment marche php, et repart de zero en lisant la doc python sur les site web .

    personnellement, je me suis posé exactement la même question que toi il n'y a pas si longtemps. et j'ai fait les mêmes erreurs. tu ne poura pas faire un site comme tu en a fait en php ( ou alors au prix de longues heurs de documentation etc).

    je ne dénigre pas les solutions proposé précedamment, mais je ne pense pas que ce mode soit adapté a un site complet et assée performant pour tenir en production.

    pour ma part, je te conseil django, un framework a l'image de python, rapide, simple et efficace. tu vers, une fois suivis le tuto de démarrage, tu rêvera de poney magique toutes les nuit!!

    tu trouvera le guid d'instalation la : https://docs.djangoproject.com/en/1.3/
    et le debut du tuto ici : https://docs.djangoproject.com/en/1.3/intro/tutorial01/

    pour info, ,voila une petite liste de ce que peut faire django pour toi:
    • generation automatique de tes table a partire des model
    • tout en python
    • gestion de template ( plus simple que php)
    • une interface d'administration efficace et automatique
    • optimisation divers
    • plusieurs SGBD suporté (mysql,posgresql,sqlitle,etc)
    • une documentation exemplaire
    • reecriture d'url (obligatoire)
    • une abstraction de la connexion au sgbd via les model (tu n'aura pas de requete sql a ecrire)


    en espérant t'avoir aidée.

Discussions similaires

  1. manipuler les chaines de caractères en scripte python
    Par Djawida dans le forum Général Python
    Réponses: 1
    Dernier message: 04/03/2010, 20h33
  2. lancer un script shell et recupérer les résultats via script python
    Par GoldenEyes dans le forum Général Python
    Réponses: 2
    Dernier message: 04/09/2008, 18h15
  3. Petits questions sur les scripts python
    Par Iria77 dans le forum Général Python
    Réponses: 8
    Dernier message: 23/07/2007, 10h15
  4. Python et les script admin réseau
    Par PythonBleu dans le forum Réseau/Web
    Réponses: 2
    Dernier message: 02/02/2007, 20h40
  5. import dans les script python (objet zope)
    Par cronos6 dans le forum Zope
    Réponses: 5
    Dernier message: 10/09/2006, 14h47

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