Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
issue170:python [2021/06/29 15:30] – andre_domenech | issue170:python [2021/06/29 18:04] (Version actuelle) – auntiee |
---|
Now the reason I am mentioning this is because, on today’s update session, he asked if I had ever used PtPython. I honestly said no, and he proceeded to demo it for me and I was immediately impressed. (Note that I’m fairly easy to impress, so that’s not a big thing.) While he was showing me what it can do, I grabbed my smartphone and looked it up. I decided right then and there to use it as my article for this month.** | Now the reason I am mentioning this is because, on today’s update session, he asked if I had ever used PtPython. I honestly said no, and he proceeded to demo it for me and I was immediately impressed. (Note that I’m fairly easy to impress, so that’s not a big thing.) While he was showing me what it can do, I grabbed my smartphone and looked it up. I decided right then and there to use it as my article for this month.** |
| |
Comme beaucoup d'entre vous le savent, je travaille en étroite collaboration avec Don Rozenberg, l'auteur de PAGE. Pendant plus de 10 ans, lui et moi avons communiqué strictement par courriel. Jusqu'à ces 30 derniers jours environ. Maintenant, nous profitons du chat vidéo Discord (voix seulement (mon choix)) et du partage d'écran. Cela rend nos communications et notre collaboration extrêmement productives. Le dialogue immédiat est génial, et nous parvenons à faire une tonne de choses, à en discuter, et surtout, comme c'est en direct, la compréhension est immédiate. Je ne peux pas vous dire combien de fils d'e-mails nous avons parcourus où l'un ou l'autre d'entre nous ne comprenait pas bien un problème sans qu'il y ait 5 allers-et-retours de mails ou plus pour échanger. Étant donné le problème des fuseaux horaires, il arrive souvent qu'il faille 3 ou 4 jours pour régler un problème ou une idée. Maintenant, il peut voir ce que je fais et je peux voir ce qu'il fait. Si vous n'avez jamais essayé Discord et le partage d'écran/la session vocale, vous vous devez de trouver quelqu'un avec qui l'essayer. Ce n'est pas la chose la plus intuitive du monde, mais avec un peu de patience, il est facile de se mettre rapidement à niveau. | Comme beaucoup d'entre vous le savent, je travaille en étroite collaboration avec Don Rozenberg, l'auteur de PAGE. Pendant plus de 10 ans, nous avons communiqué strictement par courriel. Jusqu'à ces 30 derniers jours environ. Maintenant, nous profitons du chat vidéo Discord (voix seulement (mon choix)) et du partage d'écran. Cela rend nos communications et notre collaboration extrêmement productives. Le dialogue immédiat est génial, et nous parvenons à faire une tonne de choses et à en discuter, et surtout, comme c'est en direct, la compréhension est immédiate. Je ne peux pas vous dire combien de fils de mails nous avons écrits où l'un ou l'autre d'entre nous ne comprenait pas bien un problème sans qu'il y ait 5 allers-et-retours de mails ou plus. Étant donné le problème des fuseaux horaires, il arrive souvent qu'il faille 3 ou 4 jours pour régler un problème ou une idée. Maintenant, il peut voir ce que je fais et je peux voir ce qu'il fait. Si vous n'avez jamais essayé Discord et le partage d'écran/la session vocale, vous vous devez de trouver quelqu'un avec qui l'essayer. Ce n'est pas la chose la plus intuitive du monde, mais avec un peu de patience, il est facile de se mettre rapidement à niveau. |
| |
La raison pour laquelle je mentionne ceci est que, lors de la session de mise à jour d'aujourd'hui, il m'a demandé si j'avais déjà utilisé PtPython. J'ai répondu honnêtement que non, et il a procédé à une démonstration pour moi et j'ai été immédiatement impressionné. Pendant qu'il me montrait ce qu'il pouvait faire, j'ai pris mon smartphone et j'ai fait des recherches. J'ai décidé à ce moment-là de l'utiliser comme article pour ce mois-ci. | La raison pour laquelle je mentionne ceci est que, lors de la session de mise à jour d'aujourd'hui, il m'a demandé si j'avais déjà utilisé PtPython. J'ai répondu honnêtement que non, et il a procédé à une démonstration pour moi et j'ai été immédiatement impressionné. (Notez que je m'impressionne facilement et que ce n'est donc pas grand' chose.) Pendant qu'il me montrait ce que le logiciel peut faire, j'ai pris mon smartphone et j'ai fait des recherches. J'ai décidé à ce moment-là de l'utiliser pour mon article de ce mois-ci. |
| |
| |
Vous trouverez la page d'accueil de PtPython à l'adresse https://github.com/prompt-toolkit/ptpython. | Vous trouverez la page d'accueil de PtPython à l'adresse https://github.com/prompt-toolkit/ptpython. |
| |
Je dois admettre que je déteste VRAIMENT le shell interactif Python « normal » ou REPL. Bien qu'il soit souvent très utile pour tester du code avant d'essayer de le faire fonctionner dans mon IDE, je le trouve très maladroit, surtout lorsque j'essaie de prototyper une fonction ou une boucle complexe. La plupart du temps, je me contente de travailler dans VS Code et si cela ne fonctionne pas, je place un point d'arrêt et je parcours mon code jusqu'à ce que je trouve l'endroit où je me suis trompé. | Je dois admettre que je déteste VRAIMENT le shell interactif Python ou REPL « normal ». Bien qu'il soit souvent très utile pour tester du code avant d'essayer de le faire fonctionner dans mon IDE, je le trouve très maladroit, surtout lorsque j'essaie de prototyper une fonction ou une boucle complexe. La plupart du temps, je me contente de travailler dans VS Code et si cela ne fonctionne pas, je place un point d'arrêt et je parcours mon code jusqu'à ce que je trouve l'endroit où je me suis trompé. |
| |
L'une des raisons pour lesquelles j'étais si enthousiaste à propos de PtPython, c'est qu'il vous permet d'utiliser l'historique pour replacer une boucle ou une fonction entière dans le code actif et faire une modification rapide en cas de faute de frappe. | L'une des raisons pour lesquelles j'étais si enthousiaste à propos de PtPython, c'est qu'il vous permet d'utiliser l'historique pour replacer une boucle ou une fonction entière dans le code actif et faire une modification rapide en cas de faute de frappe. |
python setup.py install | python setup.py install |
| |
Puis je l'ai installé à nouveau via pip et tout a semblé fonctionner. | Puis je l'ai installé à nouveau via pip et tout semblait fonctionner. |
| |
La première chose que vous pouvez remarquer, c'est que, contrairement au REPL Python « normal », il ne commence pas par le numéro de version. Celui-ci se trouve en bas à droite de la fenêtre. | La première chose que vous pouvez remarquer, c'est que, contrairement au REPL Python « normal », il ne commence pas par le numéro de version. Celui-ci se trouve en bas à droite de la fenêtre. |
| |
| |
Now that I’d gotten all that done, I started thinking to myself, “Self, what else can I do to show the goodies that ptpython has to offer?” And I answered myself, “Well, Self, how about showing off the PyWebIO library at the same time you show off the ptpython?”. Who am I to argue with myself, right? So, here we go.** | Now that I’d gotten all that done, I started thinking to myself, “Self, what else can I do to show the goodies that ptpython has to offer?” And I answered myself, “Well, Self, how about showing off the PyWebIO library at the same time you show off the ptpython?”. Who am I to argue with myself, right? So, here we go.** |
| |
C'est là que j'ai commencé à m'étouffer. Je n'arrivais pas à trouver quelque chose à essayer, dans ma vie. Donc, j'ai fait un test simple en faisant exprès de faire une erreur : | C'est là que j'ai commencé à m'étouffer. Je n'arrivais pas du tout à trouver quelque chose à essayer. Donc, j'ai fait un test simple en faisant exprès de faire une erreur : |
| |
>>> a = 3 | >>> a = 3 |
| |
J'ai ensuite appuyé deux fois sur {enter} et le résultat est tel que je le voulais. | J'ai ensuite appuyé deux fois sur {enter} et le résultat est tel que je le voulais. |
C'est beaucoup mieux. ET BEAUCOUP plus facile que de le traiter avec le REPL standard. | C'est beaucoup mieux. ET BEAUCOUP plus facile que de le faire avec le REPL standard. |
| |
Alors que je me préparais à faire la prochaine section ci-dessous, je me suis souvenu qu'il y a une autocomplétion déjà intégrée dans ptpython. Par exemple : | Alors que je me préparais à faire la prochaine section ci-dessous, je me suis souvenu qu'il y a une autocomplétion déjà intégrée dans ptpython. Par exemple : |
Et une coche de plus en faveur de ptpython ! | Et une coche de plus en faveur de ptpython ! |
| |
Maintenant que je faisais fait tout ça, j'ai commencé à me dire : « Dis, qu'est-ce que tu peux faire d'autre pour montrer les petits plus que ptpython a à offrir ? » Et je me suis répondu : « Eh bien, que dirais-tu de montrer la bibliothèque PyWebIO tout en présentant ptpython ? » Qui suis-je pour me contredire, n'est-ce pas ? Donc, nous y voilà. | Maintenant que j'ai fait tout ça, j'ai commencé à me dire : « Dis, qu'est-ce que tu peux faire d'autre pour montrer les petits plus que ptpython offre ? » Et je me suis répondu : « Eh bien, que dirais-tu de montrer la bibliothèque PyWebIO tout en présentant ptpython ? » Qui suis-je pour me contredire, n'est-ce pas ? Donc, nous y voilà. |
| |
| |
Selon leur site web https://github.com/wang0618/PyWebIO | Selon leur site web https://github.com/wang0618/PyWebIO |
| |
« PyWebIO fournit une série de fonctions impératives pour obtenir l'entrée et la sortie de l'utilisateur sur le navigateur, transformant le navigateur en un « terminal de texte riche », et il peut être utilisé pour construire des applications Web simples ou des applications avec interface graphique basées sur le navigateur sans avoir besoin d'avoir des connaissances en HTML et JS. » | « PyWebIO fournit une série de fonctions impératives pour obtenir l'entrée et la sortie de l'utilisateur sur le navigateur, transformant le navigateur en un « terminal de texte riche », qui peut être utilisé pour construire des applications Web simples ou des applications avec interface graphique basées sur le navigateur sans devoir avoir des connaissances en HTML et JS. » |
| |
Je suis tombé sur cette bibliothèque en essayant de suivre l'actualité de Python tout en m'occupant d'autres choses. Je n'étais pas vraiment sûr du moment où j'allais pouvoir vous la montrer, mais comme on dit habituellement, « rien ne vaut l'instant présent ». Eh bien, ILS le disent différemment, mais j'aime être différent. | Je suis tombé sur cette bibliothèque en essayant de suivre l'actualité de Python tout en m'occupant d'autres choses. Je n'étais pas vraiment sûr du moment où j'allais pouvoir vous la montrer, mais comme on disait autrefois « Il n'y a pas de présent comme l'heure ». Eh bien, ILS le disent différemment, mais j'aime être différent. |
| |
Donc, pour l'installer, il suffit d'utiliser pip : | Donc, pour l'installer, il suffit d'utiliser pip : |
>>> put_image(open('FullCircleLogo.jpg','rb').read());** | >>> put_image(open('FullCircleLogo.jpg','rb').read());** |
| |
Maintenant, je vais essayer de recréer l'animation du terminal qu'ils ont sur leur site web. | Maintenant, je vais essayer de recréer l'animation du terminal qu'ils ont sur leur site Web. |
| |
>>> put_text("Hello World !") ; | >>> put_text("Hello World !") ; |
Et la fenêtre de votre navigateur sera mise à jour pour afficher : | Et la fenêtre de votre navigateur sera mise à jour pour afficher : |
| |
Ces pommes sont chères, mais elles permettent de faire passer le message. Les tableaux sont VRAIMENT faciles. Remarquez qu'il a automatiquement mis les en-têtes en gras. | Ces pommes-là sont vachement chères, mais elles permettent de faire passer le message. Les tableaux sont VRAIMENT faciles. Remarquez qu'il a automatiquement mis les en-têtes en gras. |
| |
Nous pouvons même, facilement, mettre un logo sur la page Web : | Nous pouvons même, facilement, mettre un logo sur la page Web : |
>>> def on_click(btn) : | >>> def on_click(btn) : |
| |
... put_markdown("Vous avez cliqué sur le '%s' bouton" % btn) | ... put_markdown("Vous avez cliqué sur le '%s' bouton" % btn) |
| |
>>> | >>> |
Ce qui montre trois boutons, comme nous l'avons demandé. Lorsque vous cliquez sur chacun d'eux, voici ce à quoi ça ressemblera : | Ce qui montre trois boutons, comme nous l'avons demandé. Lorsque vous cliquez sur chacun d'eux, voici ce à quoi ça ressemblera : |
| |
Il y a tellement de choses qui peuvent être faites avec ces deux paquets, que votre seule limite est votre imagination. | Il y a tellement plus de choses qui peuvent être faites avec ces deux paquets, que votre seule limite est votre imagination. |
| |
L'article de ce mois-ci va vraiment stresser Ronnie pour que tout soit aligné, donc je pense que c'est une bonne idée que je m'arrête. (Je préfère aligner des images plutôt que d'essayer d'aligner tous ces bouts de code habituels ! - Ronnie.) | L'article de ce mois-ci va vraiment stresser Ronnie pour que tout soit aligné, donc je pense que c'est une bonne idée que je m'arrête. (Je préfère aligner des images plutôt que d'essayer d'aligner tous ces bouts de code habituels ! - Ronnie.) |