1
00:00:02,480 --> 00:00:04,160
Salut, j'aimerais vous
montrer comment on utilise le

2
00:00:04,327 --> 00:00:05,690
Finder pour trouver de l'information.

3
00:00:06,110 --> 00:00:08,010
Donc le Finder c'est un
outil que vous allez trouver dans

4
00:00:08,177 --> 00:00:09,550
le menu Tools, donc Finder.

5
00:00:10,890 --> 00:00:14,470
Imaginons que je veuille
chercher maintenant une méthode

6
00:00:14,637 --> 00:00:16,750
qui s'appelle match.
Je tape son nom, match.

7
00:00:18,640 --> 00:00:20,160
Et là, je choisis Selectors.

8
00:00:21,270 --> 00:00:23,060
Donc maintenant là, je
vois toutes les méthodes qui

9
00:00:23,227 --> 00:00:28,000
contiennent le mot
match avec le code ici.

10
00:00:28,157 --> 00:00:30,680
Donc comme j'avais mis les
fontes en très gros, on va

11
00:00:30,847 --> 00:00:33,470
essayer de retailler un petit peu.

12
00:00:33,960 --> 00:00:36,460
Donc maintenant vous voyez
que quand il y a un petit

13
00:00:36,627 --> 00:00:38,300
triangle devant, ça veut
dire que cette méthode-là elle

14
00:00:38,467 --> 00:00:41,930
est définie sur plusieurs classes,
et que je peux lire ce genre de chose.

15
00:00:43,350 --> 00:00:45,450
Donc là c'était pour les méthodes,
donc il y en a quand même pas mal.

16
00:00:46,260 --> 00:00:48,280
On peut chercher des choses
mais ce n'est pas forcément idéal.

17
00:00:50,250 --> 00:00:52,000
Maintenant ce qu'on peut
faire, c'est qu'on peut chercher

18
00:00:52,480 --> 00:00:57,000
les classes qui contiennent match,
donc là on voit toutes nos classes.

19
00:00:59,000 --> 00:01:02,230
Le mieux après c'est de débrowser
en utilisant le browser de code.

20
00:01:03,670 --> 00:01:04,880
Maintenant, il y a
beaucoup mieux à faire.

21
00:01:05,150 --> 00:01:07,240
Souvent ce qu'on sait, c'est
qu'on sait ce qu'on cherche

22
00:01:07,407 --> 00:01:08,410
mais on ne sait pas
comment l'exprimer.

23
00:01:09,260 --> 00:01:11,390
Donc là, moi je sais que
j'aimerais savoir est-ce qu'il y

24
00:01:11,557 --> 00:01:16,520
a une méthode qui me dit si ab match

25
00:01:16,810 --> 00:01:20,380
abcd, par exemple. Donc
je dis, je donne ab*abcd

26
00:01:21,790 --> 00:01:23,360
et je dis ça doit me
rendre vrai, si ça match.

27
00:01:25,060 --> 00:01:29,710
Et je choisis Examples,
et là j'obtiens toutes les

28
00:01:29,877 --> 00:01:33,270
méthodes qui ont rendu Vrai.

29
00:01:33,640 --> 00:01:34,850
Alors je vais vous
expliquer ce qu'on voit.

30
00:01:35,130 --> 00:01:36,790
Donc là, je vois que
supérieur fonctionne aussi.

31
00:01:36,957 --> 00:01:38,380
Ah, j'ai match qui a
l'air intéressante.

32
00:01:40,250 --> 00:01:42,510
Là, ce que me montre le
système, ce sont toutes les

33
00:01:42,677 --> 00:01:45,230
 classes qui définissent
la méthode match, mais en

34
00:01:45,397 --> 00:01:47,630
particulier celle avec la
petite étoile, c'est celle dont

35
00:01:47,797 --> 00:01:49,200
la méthode a rendu Vrai.

36
00:01:50,150 --> 00:01:53,080
Donc maintenant, on peut
faire d'autres exemples.

37
00:01:53,247 --> 00:01:56,000
Par exemple, si je cherche
qu'est-ce qui étant donnés 11,

38
00:01:56,167 --> 00:01:59,810
2 me rend 5. Là je vais avoir

39
00:02:01,440 --> 00:02:06,300
// et je vois que ce qu'il y a

40
00:02:06,467 --> 00:02:08,930
de rendu vrai c'est défini
sur Integer, donc c'est cette

41
00:02:09,097 --> 00:02:11,750
méthode-là ou sur Number
qui est cette méthode-là.

42
00:02:13,820 --> 00:02:15,820
Donc si je fais pareil, de
la même manière, je me dis:

43
00:02:16,000 --> 00:02:19,100
maintenant, je veux 5,5.
Je n'ai plus que diviser.

44
00:02:19,420 --> 00:02:20,390
Donc c'est très pratique.

45
00:02:21,700 --> 00:02:23,350
Donc maintenant, il y a
une autre fonction qu'on peut

46
00:02:23,517 --> 00:02:26,910
utiliser, on peut chercher
par exemple quelles sont tous

47
00:02:27,077 --> 00:02:30,040
les Pragmas, donc les
Pragmas se sont des annotations

48
00:02:31,530 --> 00:02:33,210
dans le système. Donc si je
regarde qu'est-ce que c'est

49
00:02:33,377 --> 00:02:34,920
qu'une annotation,
c'est ça par exemple.

50
00:02:35,400 --> 00:02:38,910
Voilà, là j'ai annoté ma
méthode avec un Pragma qui s'appelle

51
00:02:39,077 --> 00:02:41,460
Menu, et le système va
pouvoir faire des query dessus

52
00:02:41,627 --> 00:02:44,780
pour construire les menus.
Et donc en tapant Menu ici, en

53
00:02:44,947 --> 00:02:49,890
sélectionnant Pragma,
j'accède à toutes les Pragmas du

54
00:02:50,057 --> 00:02:52,910
système qui
contiennent le mot menu en fait.

55
00:02:55,600 --> 00:02:57,320
Donc là, on voit qu'il y en
a 2 par exemple, 2 Pragmas.

56
00:02:58,820 --> 00:03:02,400
Donc le worldMenu
typiquement, celui qui est affiché

57
00:03:02,567 --> 00:03:07,420
quand on est ici, il est
défini par le Pragma menu.

58
00:03:07,587 --> 00:03:10,670
Donc on voit, voilà, worldMenu.

59
00:03:12,850 --> 00:03:17,000
Le screenShotCommand
par exemple. HelpOn.

60
00:03:17,137 --> 00:03:19,520
On voit tout ces menus.

61
00:03:22,000 --> 00:03:25,200
Donc maintenant, ce qu'on
peut aussi faire avec le

62
00:03:25,690 --> 00:03:28,490
Finder, c'est de
chercher toutes les méthodes qui

63
00:03:28,657 --> 00:03:33,000
contiennent la chaîne
"Menu" quel que soit l'endroit où

64
00:03:33,167 --> 00:03:36,340
elle se situe. Donc là, je vais le
faire, ça prend un petit peu de temps.

65
00:03:37,150 --> 00:03:39,650
Donc là ce qui se passe,
c'est que le système va scanner

66
00:03:39,817 --> 00:03:41,230
vraiment tout le corps de
toutes les méthodes, il y en a

67
00:03:41,397 --> 00:03:45,320
80 000 dans Pharo, ou un peu
plus, et nous montrer le résultat.

68
00:03:46,880 --> 00:03:48,500
Donc là, c'est vraiment
une recherche textuelle.

69
00:03:50,700 --> 00:03:52,260
Donc ce qui est intéressant
des fois c'est quand on voit

70
00:03:52,427 --> 00:03:54,600
un menu ou quand on voit quelque chose
de graphique qu'on veut le retrouver.

71
00:03:55,420 --> 00:03:58,900
Donc là, vous avez toutes
les méthodes qui contiennent le

72
00:03:59,067 --> 00:04:03,300
mot Menu, aussi bien dans
le nom que, prenons une autre

73
00:04:03,467 --> 00:04:07,080
chose, que là ici ou encore ici.

