WEBVTT

00:00:02.480 --> 00:00:04.160 align:middle
Salut, j'aimerais vous
montrer comment on utilise le

00:00:04.327 --> 00:00:05.690 align:middle
Finder pour trouver de l'information.

00:00:06.110 --> 00:00:08.010 align:middle
Donc le Finder c'est un
outil que vous allez trouver dans

00:00:08.177 --> 00:00:09.550 align:middle
le menu Tools, donc Finder.

00:00:10.890 --> 00:00:14.470 align:middle
Imaginons que je veuille
chercher maintenant une méthode

00:00:14.637 --> 00:00:16.750 align:middle
qui s'appelle match.
Je tape son nom, match.

00:00:18.640 --> 00:00:20.160 align:middle
Et là, je choisis Selectors.

00:00:21.270 --> 00:00:23.060 align:middle
Donc maintenant là, je
vois toutes les méthodes qui

00:00:23.227 --> 00:00:28.000 align:middle
contiennent le mot
match avec le code ici.

00:00:28.157 --> 00:00:30.680 align:middle
Donc comme j'avais mis les
fontes en très gros, on va

00:00:30.847 --> 00:00:33.470 align:middle
essayer de retailler un petit peu.

00:00:33.960 --> 00:00:36.460 align:middle
Donc maintenant vous voyez
que quand il y a un petit

00:00:36.627 --> 00:00:38.300 align:middle
triangle devant, ça veut
dire que cette méthode-là elle

00:00:38.467 --> 00:00:41.930 align:middle
est définie sur plusieurs classes,
et que je peux lire ce genre de chose.

00:00:43.350 --> 00:00:45.450 align:middle
Donc là c'était pour les méthodes,
donc il y en a quand même pas mal.

00:00:46.260 --> 00:00:48.280 align:middle
On peut chercher des choses
mais ce n'est pas forcément idéal.

00:00:50.250 --> 00:00:52.000 align:middle
Maintenant ce qu'on peut
faire, c'est qu'on peut chercher

00:00:52.480 --> 00:00:57.000 align:middle
les classes qui contiennent match,
donc là on voit toutes nos classes.

00:00:59.000 --> 00:01:02.230 align:middle
Le mieux après c'est de débrowser
en utilisant le browser de code.

00:01:03.670 --> 00:01:04.880 align:middle
Maintenant, il y a
beaucoup mieux à faire.

00:01:05.150 --> 00:01:07.240 align:middle
Souvent ce qu'on sait, c'est
qu'on sait ce qu'on cherche

00:01:07.407 --> 00:01:08.410 align:middle
mais on ne sait pas
comment l'exprimer.

00:01:09.260 --> 00:01:11.390 align:middle
Donc là, moi je sais que
j'aimerais savoir est-ce qu'il y

00:01:11.557 --> 00:01:16.520 align:middle
a une méthode qui me dit si ab match

00:01:16.810 --> 00:01:20.380 align:middle
abcd, par exemple. Donc
je dis, je donne ab*abcd

00:01:21.790 --> 00:01:23.360 align:middle
et je dis ça doit me
rendre vrai, si ça match.

00:01:25.060 --> 00:01:29.710 align:middle
Et je choisis Examples,
et là j'obtiens toutes les

00:01:29.877 --> 00:01:33.270 align:middle
méthodes qui ont rendu Vrai.

00:01:33.640 --> 00:01:34.850 align:middle
Alors je vais vous
expliquer ce qu'on voit.

00:01:35.130 --> 00:01:36.790 align:middle
Donc là, je vois que
supérieur fonctionne aussi.

00:01:36.957 --> 00:01:38.380 align:middle
Ah, j'ai match qui a
l'air intéressante.

00:01:40.250 --> 00:01:42.510 align:middle
Là, ce que me montre le
système, ce sont toutes les

00:01:42.677 --> 00:01:45.230 align:middle
 classes qui définissent
la méthode match, mais en

00:01:45.397 --> 00:01:47.630 align:middle
particulier celle avec la
petite étoile, c'est celle dont

00:01:47.797 --> 00:01:49.200 align:middle
la méthode a rendu Vrai.

00:01:50.150 --> 00:01:53.080 align:middle
Donc maintenant, on peut
faire d'autres exemples.

00:01:53.247 --> 00:01:56.000 align:middle
Par exemple, si je cherche
qu'est-ce qui étant donnés 11,

00:01:56.167 --> 00:01:59.810 align:middle
2 me rend 5. Là je vais avoir

00:02:01.440 --> 00:02:06.300 align:middle
// et je vois que ce qu'il y a

00:02:06.467 --> 00:02:08.930 align:middle
de rendu vrai c'est défini
sur Integer, donc c'est cette

00:02:09.097 --> 00:02:11.750 align:middle
méthode-là ou sur Number
qui est cette méthode-là.

00:02:13.820 --> 00:02:15.820 align:middle
Donc si je fais pareil, de
la même manière, je me dis:

00:02:16.000 --> 00:02:19.100 align:middle
maintenant, je veux 5,5.
Je n'ai plus que diviser.

00:02:19.420 --> 00:02:20.390 align:middle
Donc c'est très pratique.

00:02:21.700 --> 00:02:23.350 align:middle
Donc maintenant, il y a
une autre fonction qu'on peut

00:02:23.517 --> 00:02:26.910 align:middle
utiliser, on peut chercher
par exemple quelles sont tous

00:02:27.077 --> 00:02:30.040 align:middle
les Pragmas, donc les
Pragmas se sont des annotations

00:02:31.530 --> 00:02:33.210 align:middle
dans le système. Donc si je
regarde qu'est-ce que c'est

00:02:33.377 --> 00:02:34.920 align:middle
qu'une annotation,
c'est ça par exemple.

00:02:35.400 --> 00:02:38.910 align:middle
Voilà, là j'ai annoté ma
méthode avec un Pragma qui s'appelle

00:02:39.077 --> 00:02:41.460 align:middle
Menu, et le système va
pouvoir faire des query dessus

00:02:41.627 --> 00:02:44.780 align:middle
pour construire les menus.
Et donc en tapant Menu ici, en

00:02:44.947 --> 00:02:49.890 align:middle
sélectionnant Pragma,
j'accède à toutes les Pragmas du

00:02:50.057 --> 00:02:52.910 align:middle
système qui
contiennent le mot menu en fait.

00:02:55.600 --> 00:02:57.320 align:middle
Donc là, on voit qu'il y en
a 2 par exemple, 2 Pragmas.

00:02:58.820 --> 00:03:02.400 align:middle
Donc le worldMenu
typiquement, celui qui est affiché

00:03:02.567 --> 00:03:07.420 align:middle
quand on est ici, il est
défini par le Pragma menu.

00:03:07.587 --> 00:03:10.670 align:middle
Donc on voit, voilà, worldMenu.

00:03:12.850 --> 00:03:17.000 align:middle
Le screenShotCommand
par exemple. HelpOn.

00:03:17.137 --> 00:03:19.520 align:middle
On voit tout ces menus.

00:03:22.000 --> 00:03:25.200 align:middle
Donc maintenant, ce qu'on
peut aussi faire avec le

00:03:25.690 --> 00:03:28.490 align:middle
Finder, c'est de
chercher toutes les méthodes qui

00:03:28.657 --> 00:03:33.000 align:middle
contiennent la chaîne
"Menu" quel que soit l'endroit où

00:03:33.167 --> 00:03:36.340 align:middle
elle se situe. Donc là, je vais le
faire, ça prend un petit peu de temps.

00:03:37.150 --> 00:03:39.650 align:middle
Donc là ce qui se passe,
c'est que le système va scanner

00:03:39.817 --> 00:03:41.230 align:middle
vraiment tout le corps de
toutes les méthodes, il y en a

00:03:41.397 --> 00:03:45.320 align:middle
80 000 dans Pharo, ou un peu
plus, et nous montrer le résultat.

00:03:46.880 --> 00:03:48.500 align:middle
Donc là, c'est vraiment
une recherche textuelle.

00:03:50.700 --> 00:03:52.260 align:middle
Donc ce qui est intéressant
des fois c'est quand on voit

00:03:52.427 --> 00:03:54.600 align:middle
un menu ou quand on voit quelque chose
de graphique qu'on veut le retrouver.

00:03:55.420 --> 00:03:58.900 align:middle
Donc là, vous avez toutes
les méthodes qui contiennent le

00:03:59.067 --> 00:04:03.300 align:middle
mot Menu, aussi bien dans
le nom que, prenons une autre

00:04:03.467 --> 00:04:07.080 align:middle
chose, que là ici ou encore ici.

