Par défaut, print(…)
et input(…)
s’affichent dans le terminal à partir duquel est lancé le programme Python, et le développeur ne maîtrise pas l’apparence du texte affiché. Des bibliothèques comme termcolor permettent de modifier quelques caractéristiques du texte affiché, mais cela reste limité, et les caractéristiques que l’on peut modifier dépendent du terminal utilisé.
term2web est une bibliothèque Python qui redéfinit print(…)
et input(…)
pour qu’ils s’affichent dans une page Web. À terme, le but est d’avoir une bibliothèque qui soit aussi simple à utiliser que termcolor (peut‑être même directement compatible), mais avec toutes les possibilités de mise en forme offertes par CSS.
Pour l’instant, cette bibliothèque est à l’état de preuve de concept, donc avec peu de fonctionnalités, mais on peut facilement changer l’apparence du texte affiché en modifiant les sources.
Pour l’utiliser, il suffit de l’installer (pip install term2web
) et d’importer la bibliothèque (from term2web import *
) dans votre code source avant tout appel à print(…)
ou input(…)
.
Il y une démonstration en ligne, dont le lien est donné ci-dessous, pour tester sans rien avoir à installer, mais vous pouvez aussi faire :
-
git clone https://github.com/epeios-q37/term2web-python
; -
cd term2web-python
; -
python3 main.py
.
Pour comparer, vous pouvez mettre en commentaire la ligne from term2web import *
du fichier main.py
; ainsi, print(…)
et input(…)
retrouvent leur comportement par défaut (affichage dans le terminal).
Liens :
# sympa
Posté par ckiller . Évalué à 3.
sympa, ca marche plutôt bien.
[^] # Re: sympa
Posté par ʭ ☯ . Évalué à 6.
Oui, je me demande quand va-t-on implémenter un virtualiseur embarqué dans une page web, pour pouvoir lancer un navigateur qui lui-même lancera un virtualiseur… bon je vais continuer sans javascript!
⚓ À g'Auch TOUTE! http://afdgauch.online.fr
[^] # Re: sympa
Posté par SpaceFox (site web personnel, Mastodon) . Évalué à 2.
Ça existe depuis 2011, ici via une applet Java. Je suis presque sur d'avoir vu passer l'équivalent en JS depuis, mais j'ai pas de lien sous la main.
La connaissance libre : https://zestedesavoir.com
[^] # Re: sympa
Posté par Jérôme Flesch (site web personnel) . Évalué à 5.
Ce genre là: https://bellard.org/jslinux/ ?
[^] # Re: sympa
Posté par ß ß . Évalué à 2.
Ça existe déjà.
https://bellard.org/jslinux/
https://bellard.org/jslinux/tech.html
https://www.jslinux.org/
# Nouvelle version
Posté par Claude SIMON (site web personnel) . Évalué à 1. Dernière modification le 17 janvier 2020 à 16:30.
Mise à jour qui permet de formater les textes affichés avec
print(…)
etinput(…)
grâce aux fonctions suivantes.set_property(name,value)
applique la propriété CSS de nomname
et de valeurvaleur
.Exemple:
set_properties(properties)
applique les propriétés CSS stockées dansproperties
, qui est un dictionnaire dont les clefs sont les noms des propriétés, et les valeurs les valeurs de ces propriétés.Exemple:
reset_properties()
efface toutes les propriétés appliquées avec les fonctions ci-dessus.Dans le dépôt GitHub,
Basic.py
est une exemple d'utilisation deprint(…)
etinput(…)
, mais sans formatage CSS.WithCSS.py
montre comment on applique des propriétés CSS et le résultat.Suite à des certaines remarques, je précise que, contrairement aux autres programmes basés sur le toolkit Atlas, il n'est pas possible de lancer deux instances simultanées d'un même programme utilisant term2web. C'est volontaire, pour ne pas rendre la mise en œuvre de cette bibliothèque plus complexe. Elle est principalement destinée à être utilisée par des débutants, pour les familiariser avec l'environnement dans lequel évolue le genre d'exercice que l'on trouve à l'adresse https://q37.info/s/g9fvwzgp.
Pour nous émanciper des géants du numérique : Zelbinium !
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.