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 :

Créer un site web en Python (sujet redirigé)


Sujet :

Réseau/Web Python

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 17
    Points : 12
    Points
    12
    Par défaut Créer un site web en Python (sujet redirigé)
    Bonjour tout le monde,

    J'ai créé une petite application à base de PyQt4.
    Celle-ci tourne très bien sur mon PC mais j'aimerais pouvoir la rendre accessible dans une page web.
    Je me suis donc tourné sur des solutions de création de pages webs via python.
    J'ai opté pour cherrypy.
    Après quelques tests, j'ai l'impression qu'il n'est pas possible d'afficher un QWidget sur une page.
    Ci-dessous un exemple de code :

    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
    # -*- coding: utf-8 -*-
     
    # Form implementation generated from reading ui file 'mainwindow.ui'
    #
    # Created: Thu Oct 27 14:28:27 2011
    #      by: PyQt4 UI code generator 4.8.5
    #
    # WARNING! All changes made in this file will be lost!
     
    from PyQt4 import QtCore, QtGui
    import cherrypy
     
    try:
        _fromUtf8 = QtCore.QString.fromUtf8
    except AttributeError:
        _fromUtf8 = lambda s: s
     
    class Ui_MainWindow(object):
        def setupUi(self, MainWindow):
            MainWindow.setObjectName(_fromUtf8("MainWindow"))
            MainWindow.resize(1235, 741)
            MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "MainWindow", None, QtGui.QApplication.UnicodeUTF8))
            self.centralwidget = QtGui.QWidget(MainWindow)
            self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
            self.tabWidget = QtGui.QTabWidget(self.centralwidget)
            self.tabWidget.setEnabled(True)
            self.tabWidget.setGeometry(QtCore.QRect(0, 0, 1241, 721))
            self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
            self.tab = QtGui.QWidget()
            self.tab.setObjectName(_fromUtf8("tab"))
            self.tabWidget.addTab(self.tab, _fromUtf8(""))
     
     
        def retranslateUi(self, MainWindow):  
            self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), QtGui.QApplication.translate("MainWindow", "Connection", None, QtGui.QApplication.UnicodeUTF8))
     
    class OnePage(object):
        def index(self):
            app = QtGui.QApplication(sys.argv)
            MainWindow = QtGui.QMainWindow()
            ui = Ui_MainWindow()
            ui.setupUi(MainWindow)
            ui.tab = QtGui.QWidget()
            return ui.tab
        index.exposed = True
     
    class HelloWorld(object):
        onepage = OnePage()
     
        def index(self):
            return "hello world"
        index.exposed = True
     
    cherrypy.quickstart(HelloWorld())
    En gros, la page racine affiche bien Hello world mais la page onepage affiche le message d'erreur suivant :

    TypeError: 'QWidget' object is not iterable
    Du coup, je me demande s'il y a un moyen facile d'afficher des widgets créés via PyQt sur une page web (via cherrypy ou autre)
    Est-ce possible?

    Merci d'avance
    Florian
    Ciao
    KV

  2. #2
    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
    Bonjour,

    À la lecture de ce que tu écris ici j'opte pour trois possibilités :
    • tu souhaites créer un site en Python, dans quel cas je te conseille d'aller voir des choses comme Django ou web2py ;
    • tu veux créer une page web grâce à ton code python, pourquoi ne pas regarder du coté de QWebKit (si c'est le cas, je t'invite à éditer ton message et à rajouter le bon tag) ;
    • tu veux mettre, à titre d'exemple, un QTextEdit dans une page web. À ma connaissance il a existé un trucmachinchose qui permettait de faire ça, mais plus soutenu et loin d'être fonctionnel. Donc j'aurai tendance à dire : Impossible ou en tout cas très difficile et surtout quel intérêt ?


    Bon, il est aussi possible que j'ai tout pigé de traviol
    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

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 17
    Points : 12
    Points
    12
    Par défaut
    Bonjour,

    Merci pour ta réponse. Je vais essayer d'être plus spécifique.

    Je souhaite créer un site en python si possible mais je n'ai pas envie de partir d'une page blanche car mon appli PyQt fonctionne déjà, je souhaiterais juste qu'elle puisse être intégrée dans une page web.

    J'ai regardé QWebKit, ca ne fait pas ce que je cherche.

    En fait, il se trouve que c'est peut-être ton 3e point qui se rapprocherait le plus de ce que je veux faire. Mon appli existe, elle est fait à base de widgets, je n'ai pas envie de tout recoder dans un autre langage et j'aimerais, dans un premier temps, pouvoir la rendre accessible en l'intégrant dans une page web.

    Après, si Django ou web2py me permettent de faire mon site en python en reprenant la majeure partie de mon appli PyQt, ca peut le faire tres bien. Je vais regarder.

    Merci.
    Florian
    Ciao
    KV

  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
    Ok je comprends mieux et malheureusement je pense que ce que tu veux faire n'est pas possible. Pour avoir déjà eu cette idée, je peux te dire que j'ai du renoncer rapidement. En fait la seule chose que j'avais trouvé (de mémoire) c'était un binding PHP de Qt et qui n'était plus soutenu.

    Le mieux pour toi serait alors de partir sur un framework web python tel que Django ou Web2Py, voir même CherryPy...
    Je connais assez bien les deux premiers (même si cela fait un bail que je ne les ai pas utilisé) et je pense que le troisième fonctionne de la même manière.
    Donc je peux, à 95%, t'assurer que tout ton travail n'est pas perdu.

    Certes tout ce qui est visuel, graphique, etc c'est bon à refaire en HTML. Par contre tout ton code "arrière", tes calculs, enregistrements éventuels, etc... sera récupérable en grande majorité.
    Ton plus gros problème va être de trouver un hébergeur supportant ces framework et surtout des hébergeurs gratuist.
    Il y en a un de très bien. Il s'agit d'AlwaysData. S'il te convient, tant mieux sinon ça va être plus dur ^^.

    Quoiqu'il en soit, ton problème n'est plus vraiment lié à Qt selon moi.

    Je déplace donc ce fil dans une rubrique plus appropriée.

    Bonne continuation.

    cegDv
    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
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 17
    Points : 12
    Points
    12
    Par défaut
    Groumpf...
    Merci pour ta réponse...
    Cependant, c'est bien ce que je craignais, je suis bon pour refaire tout ce qui est graphique et c'est bien dommage...
    Mon appli était une interface vers une Base de Données, ce qui veut dire qu'il y a assez peu de calculs mais plutôt de la visualisation de données.
    Je vais peut-être plutôt m'orienter vers la création d'un exe à partir de mon interface que chacun devra télécharger...
    Merci quand même.
    Florian
    Ciao
    KV

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 17
    Points : 12
    Points
    12
    Par défaut
    Re-
    Du coup, si je veux développer une appli web qui fait des aller-retours avec une base de données et affiche les données sous une forme propre (un peu comme les widgets Python), tu me conseillerais quel type de technologie, sachant que je code sous Windows Vista (beurk, oui je sais...) et que je cherche des logiciels gratuits : Ruby on Rails avec MySQL?
    Merci d'avance de ta réponse,
    Florian
    Ciao
    KV

  7. #7
    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
    Comme je te l'ai dis plus haut, Django (à titre d'exemple) peut très bien faire l'affaire. Il est gratuit et "assez" simple d'utilisation lorsque tu as compris la philosophie. Il gère très bien les BDD et offre même un panel Admin bien foutu.

    Mais je t'invite à visiter le sous forum de developpez.com correspondant et même le site de Django.

    Pour finir, à ma connaissance il n'y a qu'un hébergeur français et gratuit qui permet de faire tourner ce framework. C'est celui que je t'ai donné plus haut.
    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

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 17
    Points : 12
    Points
    12
    Par défaut
    Merci...
    Je vais donc me diriger vers Django et MySQL, le tout hébergé par AlwaysData.
    Florian
    Ciao
    KV

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Créer un site web - en quel langage ?
    Par Thierry92 dans le forum Débuter
    Réponses: 90
    Dernier message: 13/04/2015, 14h42
  2. [Spip] Combien de temps pour créer un site web ?
    Par gamerome dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 13/09/2008, 08h21
  3. Utiliser Python et PostGresql pour créer un site Web
    Par rvweb dans le forum Réseau/Web
    Réponses: 8
    Dernier message: 22/10/2006, 20h03
  4. comment créer un site web avec publisher 2003
    Par kamga dans le forum Autres
    Réponses: 3
    Dernier message: 19/01/2006, 00h18

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