• chevron_right

      Du code Python dans vos pages HTML

      news.movim.eu / Korben · Thursday, 26 May, 2022 - 07:00 · 2 minutes

    Si vous êtes développeur et que vous aimez mettre du Python partout, dans vos poches, dans vos slips, sur vos tartines le matin, alors pourquoi ne pas en mettre également dans vos pages HTML ?

    Et cela est maintenant possible grâce à ce PyScript, un bout de js + css à intégrer à votre code qui vous permettra de créer des applications Python directement au coeur de votre code HTML.

    Pour ce faire, copiez ceci dans votre page :

    <link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
    <script defer src="https://pyscript.net/alpha/pyscript.js"></script> 

    Ensuite, il ne vous reste plus qu’à pondre du Python dans une balise <py-script> comme ceci :

    <py-script>print("hello les petits fous")</py-script>

    Voici un exemple avec le calcul de Pi pour 3 décimales après la virgule :

    <html>
    <head>
        <meta charset="UTF-8">
        <title>pytest</title>
        <link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
        <script defer src="https://pyscript.net/alpha/pyscript.js"></script>
    </head>
    <body>
           <py-script>
    def wallis(n):
        pi = 2
        for i in range(1,n):
            pi *= 4 * i ** 2 / (4 * i ** 2 - 1)
        return pi
    
    pi = wallis(100000)
    s = f"π est approximativement {pi:.3f}"
    print(s)
            </py-script>
    </body>
    </html>

    Bon, je ne vous cache pas que c’est long niveau processing et je ne pense pas que ce sera vraiment utilisable pour de l’application web grand public. Mais c’est rigolo. On peut même utiliser des packages et autres modules, faire des interfaces, et même récupérer des valeurs dans les pages HTML avec la fonction pyscript.write comme ceci :

    <html>
    <head>
        <meta charset="UTF-8">
        <title>pytest</title>
        <link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
        <script defer src="https://pyscript.net/alpha/pyscript.js"></script>
    </head>
    <body>
    <h1 id="pi">xxx</h1>
           <py-script>
    def wallis(n):
        pi = 2
        for i in range(1,n):
            pi *= 4 * i ** 2 / (4 * i ** 2 - 1)
        return pi
    
    pi = wallis(100000)
    s = f"π est approximativement {pi:.3f}"
    pyscript.write('pi', s)
            </py-script>
    </body>
    </html>

    Si cela vous intéresse, vous trouverez tout sur le site de PyScript .