Aller au contenu

PyScript : Python sur le web

Selon vos projets vous serez amené à améliorer votre productivité en créant des scripts. Si nous avons vu avec PyRevit comment automatiser certaines tâches sur Revit, nous pouvons faire la même chose avec nos applications de bureau. Python et ses nombreuses librairies permettent de modifier à peu près tous nos environnements de travail. Panda est l’un des plus connu pour modifier des fichiers Excel mais j’ai par exemple créé un programme permettant de lire plusieurs fichiers PDF, d’extraire et d’analyser les données textes intégrés.

Pour des applications que nous utilisons seul, l’interface graphique Tkinter et le compileur PyInstaller permettent de créer de exécutables rapides à utiliser depuis notre système d’exploitation et fonctionnant hors connexion. Par contre à partir du moment où vous allez partager votre programme avec plusieurs utilisateurs, la page web aura les avantages d’apporter des mises à jour en temps réel et d’être accessible depuis n’importe quel système d’exploitation ou smartphone.

PyScript qui permet d’écrire du Python directement dans une page HTML est la solution accessible. A la place d’apprendre à utiliser Tkinter vous devrez vous familiarisez avec le HTML, le CSS et surement un peu de JavaScript et de PHP pour les applications les plus poussés. Le HTML et le CSS seront indispensable mais aussi facile à appréhender. Je vous conseille ce site https://developer.mozilla.org/fr/docs/Web pour faire vos premiers pas dans la création de pages web.

PyScript est apparu en 2022, et nous pouvons espérer qu’il va s’améliorer avec le temps. Pour l’instant le plus gros défaut que je lui trouve sont les 2 ou 3 secondes de latence pour afficher la page web.

Pour commencer à coder du Python sur le web je vous conseille le logiciel Brackets qui à le mérite d’être simple à utilser et propose des aides de synthaxe pour le HTML et le CSS. Vous pouvez divisez votre écran en 2 fenêtres avec la touche Windows + flèche gauche ou droite du clavier afin d’avoir votre rendu de page web en temps réel selon votre code.

Il existe 2 sites officiels https://pyscript.net/ et https://pyscript.com/ . Avec le deuxième vous pouvez créer un compte et créer des projets comme pour Brackets mais directement sur le web. Par contre vous ne pouvez déposer des fichiers et c’est pour l’instant un problème pour les images. Il y a aussi pas mal d’exemples intéressants avec les codes sources mais je les trouve assez difficile à comprendre pour un codeur novice.

Je partage avec vous ce programme qui permet de faire des recherches par nom et catégories de produits. Je suis passé par un fichier JSON pour la base de données. En général il est recommandé de passer par du SQL pour manipuler des bases de données mais le JSON est utile pour d’autres applications et facile à manipuler. De toute façon le but de cet exemple est de présenter une interface web actionnée par du Python. Pour vos projets vous devrez chercher vos propres solutions.

Vous trouverez les fichiers sources ici : https://github.com/os4bim/pyscript_sample

Il faut d’abord cliquer sur l’une des catégories “Fruits”, “Légumes”, ou “Poisson” puis vous devez entrer le nom d’un produit en français ou anglais. Dans le programme original que j’ai modifié pour l’exemple tous les champs pouvaient faire l’objet d’une recherche. Par exemple en entrant le pays d’origine ou le prix. Cela ne marche plus dans ce script et je n’ai pas trouvé l’erreur. Si vous êtes motivé à trouver une solution n’hésitez pas à me faire un retour pour que je fasse une mise à jour. Pour voir tous les produits d’une catégorie vous pouvez entrer la première lettre de celle-ci.

Dans le même répertoire Github vous pouvez voir le script df_class_csv_to_json.py qui permet de convertir un fichier CSV en JSON.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *