Javascript et python

Résolu
kryser Messages postés 17 Statut Membre -  
kryser Messages postés 17 Statut Membre -
Bonjour à tous j'ai un projet de fin d'année en ISN et j'ai choisis de faire un site internet avec trois jeux dessus : une roulette, une machine à sous et un black jack.

J'ai donc fais un serveur en python qui fonctionne et une page de présentation en python (permettant d'accéder à trois autres pages où il y aurai les jeux)

Je voulais savoir si il était possible avec du javascript faire l'interface de mon jeu python, où je n'ai fais que la partie logique/théorique, cependant il n'y a pas encore d'interface et je pensais faire l'interface en javascript, pour avoir le jeu sur une page web localhost.

5 réponses

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour,

    Oui.

    avec en plus, du html et du css.

    Et pour que les scripts JS puissent communiquer avec tes codes python, de l'ajax.

    1
  2. kryser Messages postés 17 Statut Membre
     
    Oh je ne connaissais pas l'ajax mais je verrais et dois-je faire une page html puis intégrer le javascript avec le python ou alors une page python avec du html et du js dedans ?
    0
    1. Totogro
       
      Salut,
      une page Python n'existe pas, sur le web en tout cas.
      Elle sert comme tout langage serveur à générer HTML.
      De même JavaScript sert essentiellement à manipuler le contenu de la page A.K.A. HTML et sa mise en page présentation/couleur (CSS). Et aussi à gérer l'interactivité(prog. événementielle).
      Il y a aussi CANVAS qui est dédié au dessin 2D en bitmap(voire 3D avec webGL) sinon on est limité aux images et éléments visuels du HTML(stylé par CSS donc c'est une limite assez grande auquel on peut ajoute des images vectorielles en SVG par exemple).

      "trois jeux dessus : une roulette, une machine à sous et un black jack. "

      Si ce n'est que pour avoir du visuel/animation utilisez JavaScript uniquement. L'intérêt de Python vient si vous avez besoin d'une base de données ou pour traiter des fichiers sur le serveur.

      JavaScript n'existe que dans le contexte de la page sur le client(navigateur), une fois celle ci fermée il n'y a plus de programme.

      Quid des fonctions graphiques de Python? Elles servent éventuellement au traitement de fichiers images mais l'affichage c'est HTML/CSS. Python étant assez marginal ou très spécifique il faut que vous l'installiez sur le serveur ou trouviez un hébergeur qui le propose(marginal par rapport à un langage comme PHP).

      Voici un schéma du modèle d'une appli web si vous n'êtes pas familier avec les technologies réseaux:

      https://www.commentcamarche.net/contents/221-reseaux-architecture-client-serveur-a-3-niveaux

      Un exemple d'animation sans programmation avec CSS):
      https://www.w3schools.com/css/css3_animations.asp

      un exemple de dessin avec l'API CANVAS en JS(canvas en python ça doit exister mais moins d'intérêt vu qu'il est sur serveur et que JavaScript est inclus dans les navigateurs):
      https://www.w3schools.com/graphics/canvas_drawing.asp

      Et un tuto sur l'animation avec JS:
      https://openclassrooms.com/fr/courses/1916641-dynamisez-vos-sites-web-avec-javascript/1922103-lelement-canvas
      0
      1. Totogro > Totogro
         
        En cherchant une librairie JavaScript qui se rapproche de la syntaxe de Python j'ai trouvé ça:

        https://waytolearnx.com/2018/12/difference-entre-javascript-et-python.html

        Sinon la librairies que je cherchais c'est processing.js
        http://processingjs.org/

        Pas vraiment de rapport avec Python sauf que la syntaxe est simplifié et sert en tant que langage/support; d’apprentissage de la programmation en s'appuyant sur la création de visuels et d'animation. En tout cas moi ça me fait penser un peu à Python.

        Sinon ECMAScript n'est pas si compliqué comme syntaxe et assez permissif tout en étant puissant (surtout en version ES6 et >)
        0
  3. kryser Messages postés 17 Statut Membre
     
    Donc je peux faire ma page web avec mes jeux uniquement en javascript sans avoir besoin de python, javascript peut faire la partie interface et logique ?
    0
    1. Totogro
       
      Oui mais il faudra passer par un langage serveur(PHP, PYthon, ASP, ...) si vous avez besoin d'une base de données.

      Sinon pas uniquement en JS puisque les contenus de la page doivent être indiqués en HTML et CSS et JS va permettre de les manipuler sans avoir à passer par le serveur(ou AJAX).
      HTML et CSS ça correspondrait (plus ou moins) à la vu dans un modèle MVC(plutôt moins car ce n'est pas de la programmation) ou plutôt à la sortie sur une page web du programme(et son entrée aussi, la programmation ne sera là que pour gérer l'interactivité comme un clic qui déclenche une fonction), bien sûr la logique et les variables ne sont pas gérées par le HTML mais transmis de l'un à l'autre par le programme qui peut modifier à volonté le contenu de la page.

      ou acquérir une valeur entrée(par exemple un formulaire ou un clic sur un élément).
      ça restera un peu trop théorique et confus tant que vous ne pratiquez pas un peu tout ce que je dit.
      C'est pour ça que je rajoute des exemple pratiques,
      Un clic change le contenu d'un élément(paragraphe de texte) HTML:

      https://www.w3schools.com/jsref/prop_html_innerhtml.asp

      Ou récupérer la valeur d'un champ de saisie(input) texte avec Javascript:
      https://www.w3schools.com/jsref/prop_text_value.asp

      Vous pouvez voir que le langage de programmation est étroitement lié à HTML(et CSS) à travers le DOM (Document Objet Model est la représentation de la page 'virtuellement' reprise en objets/functions par JavaScript de façon native-incluse dans le navigateur).
      0
  4. kryser Messages postés 17 Statut Membre
     
    J'ai déjà réalisé un serveur python que j'ouvre avec le Windows powershell :

    #coding:utf-8
    import http.server

    port = 80
    address = ("", port)

    server = http.server.HTTPServer

    handler = http.server.CGIHTTPRequestHandler
    handler.cgi_directories = ["/"]

    httpd = server(address, handler)

    print(f"Serveur démarré sur le PORT {port}")

    httpd.serve_forever()

    qui fonctionne très bien et que j'ouvre donc par la suite sur le Windows PowerShell en définissant donc la location Set-Location C:\Users\Asus\Desktop\python puis en faisant la commande python .\http-server.py il est alors ouvert et me dit qu'il est ouvert sur le port 80. Donc ensuite sur mon navigateur je met l'URL localhost/casino.html (ma page de présentation) avec trois balise a qui me redirigerais vers d'autre page où il y aurai donc mes jeux en javascript avec du html et css.
    0
    1. Totogro
       
      Il existe aussi de nombreuses librairies en JavaScript(équivalent du package Python) qui permettent d'ajouter tout un tas de fonctionnalités sans trop se prendre la tête aussi.
      Par exemple pour une roulette:

      http://demo.st-marron.info/roulette/sample/demo.html
      0
      1. kryser Messages postés 17 Statut Membre > Totogro
         
        j'avais déjà codé une roulette :



        #jeu de roulette

        from random import randint
        #preset (information)
        continuer_a_jouer=True

        argent=50

        print("vous écrirez o pour oui et n pour non tout au long du jeu")

        #test age (supérieur ou inferieur a 18 ans)
        test_age=input("avez vous 18ans ?: ")
        if test_age != "o" :
        print("vous êtes trop jeune !")
        exit
        else:


        #début boucle de jeu
        while continuer_a_jouer==True:
        print("vous avez "+str(argent)+"€")
        if argent==0:
        print("vous ne pouvez plus jouer! à la prochaine!")
        continuer_a_jouer=False

        mise_acceptee=False
        #reset des tests
        type_de_mise=0
        couleur=1
        chiffre=2
        chiffre_pair=3
        chiffre_impair=4

        #test type de mise
        while type_de_mise != couleur and type_de_mise !=chiffre and type_de_mise !=chiffre_pair and type_de_mise !=chiffre_impair:
        type_de_mise=int(input("""tapez 1 pour miser sur une couleur (rouge ou noir)
        tapez 2 pour miser sur un chiffre de 1 a 36
        tapez 3 pour miser sur un chiffre pair
        tapez 4 pour miser sur un chiffre impair: """))

        #mise couleur
        if type_de_mise==couleur:
        quelle_couleur=int(input("""tapez 1 pour miser sur rouge
        tapez 2 pour miser sur noir: """))

        while mise_acceptee==False:
        print("vous avez "+str(argent)+"€")
        mise=int(input("combien voulez vous miser ?: "))
        if argent-mise < 0:
        print("votre argent ne peut pas être négatif")
        else:
        argent=argent-mise
        mise_acceptee=True

        if quelle_couleur==randint(1,2):
        print("Bravo! tu a doublé ta mise")
        mise=2*mise
        argent=argent+mise
        print("vous avez "+str(argent)+"€")
        continuer=int(input("voulez vous continuer oui:1 non:2 : "))
        if continuer !=1:
        continuer_a_jouer=False

        else:
        print("et c'est perdu ... tu peux toujours réessayer")
        print("vous avez "+str(argent)+"€")
        if argent==0:
        print("vous ne pouvez plus jouer! à la prochaine!")
        continuer_a_jouer=False
        else:
        continuer=int(input("voulez vous continuer oui:1 non:2 : "))
        if continuer !=1:
        continuer_a_jouer=False

        #mise chiffre
        elif type_de_mise==chiffre:
        quel_chiffre=int(input("tapez un chiffre entre 1 et 36 : "))

        while mise_acceptee==False:
        print("vous avez "+str(argent)+"€")
        mise=int(input("combien voulez vous miser ?: "))
        if argent-mise < 0:
        print("votre argent ne peut pas être négatif")
        else:
        argent=argent-mise
        mise_acceptee=True

        if quel_chiffre==randint(1,36):
        print("Bravo! tu remportes 36fois ta mise")
        mise=36*mise
        argent=argent+mise
        print("vous avez "+str(argent)+"€")
        continuer=int(input("voulez vous continuer oui:1 non:2 : "))
        if continuer !=1:
        continuer_a_jouer=False

        else:
        print("et c'est perdu ... tu peux toujours réessayer")
        print("vous avez "+str(argent)+"€")
        if argent==0:
        print("vous ne pouvez plus jouer! à la prochaine!")
        continuer_a_jouer=False
        else:
        continuer=int(input("voulez vous continuer oui:1 non:2 : "))
        if continuer !=1:
        continuer_a_jouer=False

        #mise chiffre pair
        elif type_de_mise==chiffre_pair:
        print("vous misez sur un chiffre pair")

        while mise_acceptee==False:
        print("vous avez "+str(argent)+"€")
        mise=int(input("combien voulez vous miser ?: "))
        if argent-mise < 0:
        print("votre argent ne peut pas être négatif")
        else:
        argent=argent-mise
        mise_acceptee=True

        if chiffre_pair==randint(3,4):
        print("Bravo! tu remportes 2 fois ta mise")
        mise=2*mise
        argent=argent+mise
        print("vous avez "+str(argent)+"€")
        continuer=int(input("voulez vous continuer oui:1 non:2 : "))
        if continuer !=1:
        continuer_a_jouer=False

        else:
        print("et c'est perdu ... tu peux toujours réessayer")
        print("vous avez "+str(argent)+"€")
        if argent==0:
        print("vous ne pouvez plus jouer! à la prochaine!")
        continuer_a_jouer=False
        else:
        continuer=int(input("voulez vous continuer oui:1 non:2 : "))
        if continuer !=1:
        continuer_a_jouer=False

        #mise chiffre impair

        elif type_de_mise==chiffre_impair:
        print("vous misez sur un chiffre pair")

        while mise_acceptee==False:
        print("vous avez "+str(argent)+"€")
        mise=int(input("combien voulez vous miser ?: "))
        if argent-mise < 0:
        print("votre argent ne peut pas être négatif")
        else:
        argent=argent-mise
        mise_acceptee=True

        if chiffre_impair==randint(4,5):
        print("Bravo! tu remportes 2 fois ta mise")
        mise=2*mise
        argent=argent+mise
        print("vous avez "+str(argent)+"€")
        continuer=int(input("voulez vous continuer oui:1 non:2 : "))
        if continuer !=1:
        continuer_a_jouer=False

        else:
        print("et c'est perdu ... tu peux toujours réessayer")
        print("vous avez "+str(argent)+"€")
        if argent==0:
        print("vous ne pouvez plus jouer! à la prochaine!")
        continuer_a_jouer=False
        else:
        continuer=int(input("voulez vous continuer oui:1 non:2 : "))
        if continuer !=1:
        continuer_a_jouer=False

        print("merci d'avoir joué! à la prochaine ")
        #programme fini



        Donc je recoderai tout ça en javascript et faisant l'interface en plus (à partir d'une image de tapis de roulette je pense).
        0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. kryser Messages postés 17 Statut Membre
     
    Si d'ailleurs il y a un traducteur ou autre de python à javascript je veux bien mdr
    0