Utilisation de widgets
Lors de la 35ème édition des « Journées de l’Innovation et de la Recherche dans l’Enseignement de la Chimie », Jean Lamerenx, professeur de chimie en CPGE, nous a présenté au cours d’un atelier l’utilisation de widgets dans le but de créer des animations pédagogiques à utiliser en classe ou à faire manipuler par les élèves/étudiants chez eux.
Tout d’abord, nous utilisons GoogleColab qui est inclus dans Google Drive. Google Colab nous permet d’écrire et d’exécuter du code Python dans un navigateur sans aucune configuration requise, il suffit juste d’un accès internet pour envoyer l’exécution du script et récupérer le résultat quelques secondes après. Toutes les bibliothèques Python nécessaires en sciences physiques et chimiques sont présentes.
Un des points mis en avant au cours de cet atelier est l’utilisation de la bibliothèque ipywidgets qui permet l’affichage d’un curseur à côté d’un graphe et sa modification dynamique à l’écran pour observer l’influence de tel ou tel paramètre expérimental en direct sur la courbe.
Il est par exemple possible de réaliser un calcul à partir de la valeur donnée par le curseur. À cet effet, il convient préalablement de définir une fonction qui indique l’opération à effectuer. Calculons ici le carré de la variable x .L’intérêt est que la valeur du carré se met à jour à chaque modification de la valeur de x par déplacement du curseur. On notera qu’il n’est pas utile de définir préalablement le curseur.

Pour le tracé d’un graphique, il devient ainsi envisageable d’obtenir la représentation graphique d’une fonction en faisant varier la valeur d’un paramètre par l’intermédiaire d’un curseur.

Nous obtenons ainsi un curseur qui varie par pas de 1 entre 2 et 5 pour le tracé de cos(a*x).
Outre les curseurs numériques précédents, il est possible de créer :
- des curseurs délimitant des intervalles avec IntRangeSlider,
- des listes avec Dropdown ou avec RadioButtons,
- une case dans laquelle saisir une valeur avec FloatText,
- un interrupteur (case à cocher) avec Checkbox.
Enfin un dernier exemple est proposé sur un suivi pH-métrique d’un titrage où l’inclusion de widgets dans le code Python permet d’afficher (ou non) la courbe de distribution, la courbe de simulation, de visualiser l’effet l’effet sur la courbe d’une modification des valeurs de pKa ou encore l’effet d’une dilution par ajout initial d’eau dans le bécher.

A vos claviers !
Article proposé par Christelle et Loïc Lebrun, Rémi Bouard.
Pour davantage d’informations :
https://ipywidgets.readthedocs.io/en/stable/
https://ipywidgets.readthedocs.io/en/latest/examples/Widget%20List.html
Notes :
Vous n’avez pas de compte Google et/ou vous ne souhaitez pas travailler dans l’environnement Google. Il est possible de voir le code mais il n’est pas possible de le modifier ni de l’exécuter. Pour cela, il faut télécharger le code ou l’intégralité du notebook.
• Dans l’onglet « Fichier », vous avez la possibilité de télécharger l’ensemble des cellules contenant du code Python™ au format .py. Vous pouvez ensuite ouvrir le fichier avec spyder (ou en copier-coller le contenu) ou la distribution Python™ de votre choix.
• Vous pouvez exporter le notebook complet au format .ipynb et l’ouvrir avec un environnement de notebooks comme Jupyterlab.