Newer
Older
---
jupytext:
text_representation:
extension: .md
format_name: myst
format_version: 0.13
kernelspec:
display_name: Python 3 (ipykernel)
language: python
name: python3
---
+++ {"deletable": false, "editable": false}
# TP : Jupyter : se débarrasser de sa souris
<!-- modifier le texte ne pas mettre d'instructions -->
:::{admonition} Objectif pédagogique
S'exercer à utiliser le clavier et les raccourcis afin de s'affranchir
progressivement de l'utilisation de la souris
:::
:::{hint} Recommandation
Vous allez être amenés à beaucoup utiliser votre clavier pendant vos
études. Si ce n'est déjà fait, apprenez à taper avec **vos deux
mains** et **vos dix doigts**. C'est un excellent investissement.
:::
## Exercice 1 : jetez votre souris à la poubelle
Dans cet exercice, vous devrez couper-coller des mots pour les
déplacer le plus vite possible.
:::{attention}
Il est interdit d'utiliser une souris ou un pad!
Et, pour pimenter le tout, c'est chronométré!
:::
:::{hint} Pour gagner du temps
* Rappel : utilisez <kbd>Entrée</kbd> pour éditer la cellule
sélectionnée et <kbd>Échap</kbd> pour sortir du mode édition. En
mode édition, vous pouvez changer de cellule avec les flèches.
* <kbd>Ctrl</kbd>+<kbd>←</kbd> et <kbd>Ctrl</kbd>+<kbd>→</kbd>
permettent de se déplacer de mot en mot.
* Rajouter <kbd>Maj</kbd> à un raccourci clavier de déplacement permet
de se déplacer en sélectionnant le chemin parcouru par le
curseur. Par exemple, <kbd>Maj</kbd>+<kbd>Ctrl</kbd>+<kbd>→</kbd>
permet de sélectionner un mot complet, tandis que
<kbd>Maj</kbd>+<kbd>↓</kbd> permet de sélectionner une ligne.
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
:::
Faites apparaître le chronomètre en évaluant la cellule ci-dessous :
<!--
```{code-cell} ipython3
---
deletable: false
editable: false
---
%%javascript
Jupyter.notebook.execute_cells([2,3,7,13])
```
-->
```{code-cell}
:deletable: false
:editable: false
from chronometre import Chronometre
chrono = Chronometre()
chrono
```
Puis lancez-le dès que vous êtes prêt.e :
```{code-cell}
:deletable: false
:editable: false
chrono.start()
```
+++ {"deletable": false}
*Dans les trois phrases suivantes, déplacez le texte en gras (entouré
par `**`) pour l'insérer à la place des crochets :*
Le Python est un [...] bleu et **serpent** jaune.
**chronomètre** Pour arrêter le [...] il vous suffira d'exécuter la
cellule ci-dessous.
Pour supprimer une cellule avec les [...] clavier je peux faire
<kbd>Échap</kbd>, <kbd>D</kbd>, <kbd>D</kbd>. **raccourcis**
```{code-cell}
:deletable: false
:editable: false
chrono.stop()
```
+++ {"deletable": false, "editable": false}
## Exercice 2 : et ne revenez pas la chercher!
Même exercice, mais cela se complique : le texte est réparti sur
plusieurs cellules. Il va maintenant falloir changer de cellule
également grâce au clavier.
:::{hint}
C'est un bon moment pour réviser les
[raccourcis clavier essentiels](../Semaine2/00-jupyter-mode-edition-vs-commande.md)
du mode édition et du mode commande.
:::
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
```{code-cell}
:deletable: false
:editable: false
from chronometre import Chronometre
chrono = Chronometre()
chrono
```
```{code-cell}
:deletable: false
:editable: false
chrono.start()
```
```{code-cell}
:deletable: false
:editable: false
chrono.stop()
```
+++ {"deletable": false}
Pour insérer une cellule au-dessus de la cellule courante avec les
[...] claviers je peux faire <kbd>Échap</kbd>, <kbd>a</kbd> **raccourcis**.
+++ {"deletable": false}
Pour [...] une cellule au-dessous de la cellule courante avec les
raccourcis clavier je peux faire <kbd>Échap</kbd>, <kbd>b</kbd> **ajouter**.
+++ {"deletable": false}
**utiliser** Pour sauvegarder à tout moment, je peux [...]
<kbd>Ctrl</kbd>+<kbd>S</kbd>.
+++ {"deletable": false, "editable": false}
## Exercice 3 : jamais 203
Un dernier pour la route avec des extraits du [*Zen de
Python*](https://fr.wikipedia.org/wiki/Zen_de_Python) et deux nouveaux
raccourcis clavier :
- <kbd>↖</kbd> pour aller en début de ligne
- <kbd>Fin</kbd> pour aller à la fin de la ligne
Sur de petits claviers d'ordinateurs portables, ces touches peuvent
être remplacées respectivement par <kbd>fn</kbd>+<kbd>←</kbd> et
<kbd>fn</kbd>+<kbd>→</kbd>.
```{code-cell}
:deletable: false
:editable: false
from chronometre import Chronometre
chrono = Chronometre()
chrono
```
```{code-cell}
:deletable: false
:editable: false
chrono.start()
```
```{code-cell}
:deletable: false
:editable: false
chrono.stop()
```
+++ {"deletable": false}
Beautiful **ugly** is better than [...].<br>
**implicit** Explicit is better than [...] .<br>
Simple is better than complex.<br>
+++ {"deletable": false}
Complex is better than complicated.<br>
**Supprimez-moi je n'ai rien à faire ici**<br>
Flat is better than nested.<br>
[...] is better than dense. **Sparse**<br>
+++ {"deletable": false}
Readability counts.<br>
+++ {"deletable": false}
Special cases aren't special enough to break the rules.<br>
Although practicality beats purity.<br>
[...] should never pass silently **Errors**.<br>
Unless explicitly silenced.<br>
+++ {"deletable": false}
**guess** In the face of ambiguity, refuse the temptation to [...]. <br>
There should be one – and preferably only one – obvious way to do it.<br>
Although that way may not be obvious at first unless you're Dutch.<br>
+++ {"deletable": false}
[...] is better than never. **Now**<br>
Although never is often better than right now.<br>
If the [...] is hard to explain, it's a bad idea. **implementation**<br>
If the implementation is easy to explain, it may be a good idea.<br>
Namespaces are one honking great idea – let's do more of those!<br>
<!--
+++ {"deletable": false, "editable": false}
## Je veux battre mon score
Pour réinitialiser le carnet et tenter de battre votre record :
[Cliquez ici](https://jupyterhub.ijclab.in2p3.fr/jupyter/user-redirect/git-pull?repo=https%3A%2F%2Fgitlab.dsi.universite-paris-saclay.fr%2Fjupyter%2Ftutoriel-jupyter&urlpath=tree%2Ftutoriel-jupyter%2Ftuto-jeter-sa-souris.md&branch=main)
<br>
-->
+++ {"deletable": false, "editable": false}
## Conclusion
Vous vous en rendrez bientôt compte, délaisser votre souris au profit
du clavier vous permettra de beaucoup gagner en efficacité. En bonus,
vous retrouverez une grande part des raccourcis que vous avez
rencontré ici dans d'autres logiciels comme les traitements de
textes. Vous gagnerez donc aussi du temps en dehors de Jupyter.