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

Python Discussion :

Quelqu'un a-t-il déjà utilisé pyjamas ?


Sujet :

Python

  1. #1
    Membre chevronné

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Points : 1 752
    Points
    1 752
    Par défaut Quelqu'un a-t-il déjà utilisé pyjamas ?
    Bonjour,
    je ne lance pas ici une grande enquête sur les vêtements de nuit...

    Concrètement, j'ai fait une classe Python qui me permet de parser des formules de maths, et j'aurais bien aimer avoir une version JavaScript de mon code. pyjama permet-il de faire ceci ? Quelles sont ses limites ?

  2. #2
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Points : 1 913
    Points
    1 913
    Par défaut
    Pourquoi passer par javascript ? Il existe des frameworks permet d'exécuter directement du code python dans des pages web (karrigell, django entre autres)
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  3. #3
    Membre chevronné

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Points : 1 752
    Points
    1 752
    Par défaut
    Ces solutions marchent-elles chez les FAI pour un site en ligne ? Il me semble que non.

  4. #4
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Points : 1 913
    Points
    1 913
    Par défaut
    Non, le serveur doit supporter la norme 'mode-python'
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  5. #5
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 462
    Points : 9 249
    Points
    9 249
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Citation Envoyé par Zavonen Voir le message
    Non, le serveur doit supporter la norme 'mode-python'
    Et j'ai cru comprendre que le développement du mod_python est désormais abandonné. Il ne reste que le python qui s'exécute en CGI chez les hébergeurs qui le supportent (je l'utilise chez infomaniak).

    Tyrtamos
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Heu?

    Citation Envoyé par Zavonen Voir le message
    Pourquoi passer par javascript ? Il existe des frameworks permet d'exécuter directement du code python dans des pages web (karrigell, django entre autres)
    Javascript se télécharge et s'exécute dans le browser.
    Après vous avez du PHP ou du Python qu'on peut coder "dans" la page HTML mais à priori c'est une page dynamique: c'est le produit de son exécution qui sera 'in fine' expédié au browser.

    Au bout du compte, l'utilisateur devrait voir la même chose s'afficher et ce n'est qu'une sorte de répartition des traitements: qu'est ce qui s'exécute sur le serveur, ou dans le browser.

    Techniquement, pour exécuter du Python 'natif' dans un browser, il faut une VM Python (genre skulpt) et... l'ensemble des bibliothèques qui pourraient être appelées par les scripts - ce qui est peut vraisemblable côté sécurité.

    L'architecture fonctionnelle de Pyjamas est à Python ce que GWT est à Java: çà permet d'écrire dans un langage 'autre' une application WEB.

    Une application WEB est un concept ou la réactivité de l'IHM sera similaire à celle d'applications QT, ou GTK. De ce fait, une bonne partie du code correspondant doit être exécutée dans le 'browser'... en Javascript.
    Problème: le nombre (la proportion) de lignes de codes à écrire en JS devient importante et outre que programmez en JS ou en Python nécessite de compétences différentes, JS n'a pas nécessairement été conçu pour permettre la réalisation de code aussi complexes de façon industrielle.

    Le workaround a ces deux problèmes proposé par GWT est d'écrire tout en Java et de "compiler" la partie Java de l'IHM pour générer les JS qui seront ensuite chargés dans le browser.

    Pyjamas propose la même chose avec Python mais compte tenu des moyens que Google a pu mettre dans GWT et ceux qui ont pu être mobilisés pour Pyjamas, on compare des patates et des poireaux: à comparer les deux, Pyjamas est un POC assez bon pour faire quelques trucs intéressants mais pour ce qui est 'industrialisation', il faut peut être raison garder.

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

  7. #7
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Re.

    Il faut une passerelle CGI entre le serveur HTTP et la machine virtuelle qui exécute le code 'natif' et ce quelque soit le langage: PHP, Java, PERL,...

    mod_cgi n'évoluera plus mais il existe des modules fast cgi ou wsgi exploitables pour réaliser cette passerelle.

    L'hébergeur doit donc offrir le serveur HTTP, le module CGI qui fait le lien entre HTTP et le framework Python web.py, Django, ... et on pose son application 'dedans'.

    Les procédures de configurations des différents frameworks montrent que ces derniers sont assez 'ouverts' côté serveur HTTP et module CGI supportés.
    Donc oui, c'est sans doute dommage de ne plus avoir d'évolution de mod_cgi mais il y a plein d'autres passerelles disponibles à utiliser pour les nouvelles applications ou à qualifier pour les montées de version des applications existantes.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  8. #8
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 462
    Points : 9 249
    Points
    9 249
    Billets dans le blog
    6
    Par défaut
    Bonjour wiztricks,

    C'est mod_python qui va disparaitre. Et il doit y avoir une différence avec le CGI, puisque j'ai déjà utilisé Python en script CGI dans le répertoire spécial cgi-bin, sans avoir installé mod_python. De même, mon hébergeur me permet Python en CGI, mais n'offre pas le module apache mod_python.

    En script CGI dans le répertoire cgi-bin, on peut appeler directement le fichier python (xxxxx.py) qui reçoit le résultat d'un formulaire (par exemple) et qui renvoie une page html fabriqué avec le code Python. C'est comme ça que fonctionne ma 'calculext' (http://www.jpvweb.com/cgi-bin/calculextcgi.py).

    A mon avis, mais je ne l'ai jamais utilisé, le module apache mod_python permet d'insérer du code python à l'intérieur d'une page html, comme on le ferait avec PHP, cette page étant au même endroit que les autres page html, et ce code Python s'exécutant côté serveur au moment où le serveur renvoie la page demandée.

    Tyrtamos
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  9. #9
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Milles pardons.

    mod_python est tellement à l'ouest que je confonds toujours avec CGI...
    Sa description est
    Prouesse technique sans doute perte: faut voir... En tout cas web.py et autres django ne devraient pas en être impactés.

    edit: en fait mod_python n'est dispo. que sous Apache et est utilisé par django au moins. parce que prouesse technique. CGI a été remplacé par FastCGI et si on veut du custom Python, nous avons WSGI.

    A mon avis, mais je ne l'ai jamais utilisé, le module apache mod_python permet d'insérer du code python à l'intérieur d'une page html, comme on le ferait avec PHP, cette page étant au même endroit que les autres page html, et ce code Python s'exécutant côté serveur au moment où le serveur renvoie la page demandée.
    Lis le document précédent, tu verras que ce n'est pas si simple: mod_python s'intègre dans 'apache' alors que CGI and C° passent par une passerelle telle que je le racontais précédemment.

    Le modèle passerelle se traduit par serveur HTTP et machine virtuelle dans deux process séparés qui dialoguent 'à travers' la passerelle via un protocole CGI, FastCGI ou WSGI.
    De fait la réponse à la requête HTTP est construite 'dans'/par la machine virtuelle. Elle fait ce qu'elle veut/peut et éventuellement l'évaluation de pages HTML avec du python 'inside' pour expédier le résultat - du HTML.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  10. #10
    Membre chevronné

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Points : 1 752
    Points
    1 752
    Par défaut
    Trop de réponses tue la réponse.

  11. #11
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut


    Citation Envoyé par rambc Voir le message
    Trop de réponses tue la réponse. :calim2
    Pyjamas devrait compiler tes .py pour en faire du .js modulo que:
    1 - les fonctionnalités du langage utilisées soient supportées par le compilo
    2 - ainsi que les bibliothèques dont dépend le code.

    Après il faut lire la doc et essayer... et faire gaffe au fait que les entrées sorties du javascript sont traitées par navigateur WEB: oublies raw_input et print.

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

  12. #12
    Membre chevronné

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Points : 1 752
    Points
    1 752
    Par défaut
    Le verdict est tombé : claquage neuronal...

  13. #13
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par rambc Voir le message
    Le verdict est tombé : claquage neuronal...
    Ah ben voilà 50 ans que la distribution des traitements sur les différents composants de l'architecture technique "bouge": client lourds, légers, 2 Tiers, 3 Tiers,...
    Pyjamas, GWT, RIA n'en sont peut être pas les tous derniers avatars (plus récent est le style CouchApp) mais Pyjamas n'est pas qu'un simple compilo Python => JS.
    Désolé
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  14. #14
    Membre chevronné

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Points : 1 752
    Points
    1 752
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Désolé
    Y a pas de quoi. C'est juste que je ne me suis jamais penché sur ce genre de techno pour le web.

    Citation Envoyé par wiztricks Voir le message
    Pyjamas n'est pas qu'un simple compilo Python => JS.
    Dans ce cas, produit-il un code autonome ou doit-on en plus faire appel à des bibliothèques JS ?
    Pour mon cas, je voudrais juste avoir une version JS d'une classe qui transforme une chaîne de caractère représentant une formule en un dico représentant l'arbre de la formule ?

  15. #15
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par rambc Voir le message
    Y a pas de quoi. C'est juste que je ne me suis jamais penché sur ce genre de techno pour le web.
    Ah ben, si tu as du temps à y passer ce sont des technos très buzz car le nombre de fonctionnalités qu'on peut mettre dans les PDA et les nouvelles IHM qu'ils proposent ont réouvert la boîte de pandore.
    Tu peux pousser jusqu'à Silverlight, Adobe AIR, HTML5,...
    C'est plein de monde

    Dans ce cas, produit-il un code autonome ou doit-on en plus faire appel à des bibliothèques JS ?
    C'est plus sioux que çà: regardes à quoi ressemble Hello.py qui est dans les exemples:
    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
    import pyjd # this is dummy in pyjs.
    from pyjamas.ui.RootPanel import RootPanel
    from pyjamas.ui.Button import Button
    from pyjamas.ui.HTML import HTML
    from pyjamas.ui.Label import Label
    from pyjamas import Window
     
    import pygwt
     
    def greet(fred):
        fred.setText("No, really click me!")
        Window.alert("Hello, AJAX!")
     
    if __name__ == '__main__':
        pyjd.setup("public/Hello.html?fred=foo#me")
        b = Button("Click me", greet, StyleName='teststyle')
        h = HTML("<b>Hello World</b> (html)", StyleName='teststyle')
        l = Label("Hello World (label)", StyleName='teststyle')
        base = HTML("Hello from %s" % pygwt.getModuleBaseURL(),
                                      StyleName='teststyle')
        RootPanel().add(b)
        RootPanel().add(h)
        RootPanel().add(l)
        RootPanel().add(base)
        pyjd.run()
    pyjamas.ui définit des classes graphiques à la TkInter, Wx ou Qt...
    Il faut compléter cela avec du CSS...
    Le tout se compile et génère tout ce qu'il faut dans un répertoire.
    Avec le browser on ouvre Hello.html qui a été généré: ca charge du JS dans le browser... et roule.

    Pour mon cas, je voudrais juste avoir une version JS d'une classe qui transforme une chaîne de caractère représentant une formule en un dico représentant l'arbre de la formule ?
    Ah ben ca va le faire!
    Par contre, je ne sais pas s'il y a une possibilité de "compiler" toto.py en toto.js individuellement, sans ajouter tout ce qu'il met autour.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. [Débutant] Quelqu'un a déjà utilisé RadScheduler de Telerik?
    Par arngrimur dans le forum ASP.NET
    Réponses: 1
    Dernier message: 04/10/2011, 22h08
  2. Réponses: 2
    Dernier message: 30/06/2009, 09h53
  3. Réponses: 1
    Dernier message: 26/06/2009, 17h06
  4. Quelqu'un a déjà utilisé JGraph & JGraphpad?
    Par publicStaticVoidMain dans le forum Général Java
    Réponses: 0
    Dernier message: 17/06/2009, 16h03
  5. Réponses: 2
    Dernier message: 23/04/2007, 22h37

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