1 00:00:01,080 --> 00:00:03,400 Dans cette vidéo, j'aimerais vous montrer comment un 2 00:00:03,400 --> 00:00:06,950 objet peut définir des onglets qui vont apparaître dans l'inspecteur. 3 00:00:08,430 --> 00:00:10,280 Comment on va voir ça ? 4 00:00:10,580 --> 00:00:12,240 On va utiliser Spotter pour faire ça. 5 00:00:14,410 --> 00:00:18,240 Donc dans Spotter ce dont je me rappelle c'est que je 6 00:00:18,240 --> 00:00:22,910 cherche un #pragma, donc une annotation de méthode, qui commence par gt. 7 00:00:22,910 --> 00:00:27,440 Je sais qu'il y a inspecteur dedans donc je vais aller voir ça. 8 00:00:30,190 --> 00:00:32,040 Dans mon inspecteur je vois qu'il y a des #Pragmas et des 9 00:00:32,040 --> 00:00:34,080 #Senders, je vais prendre les #Pragma. 10 00:00:35,760 --> 00:00:39,250 Maintenant ce que je peux faire, je peux regarder par 11 00:00:39,250 --> 00:00:41,210 exemple celui sur Morph. 12 00:00:41,280 --> 00:00:43,180 On va ouvrir le code. 13 00:00:43,180 --> 00:00:47,450 C'est celui qui correspond à, vous vous rappelez, si je 14 00:00:47,450 --> 00:00:51,320 fais Inspect, ça va m'ouvrir un inspecteur et 15 00:00:52,090 --> 00:00:56,970 cet inspecteur a cet onglet 16 00:00:57,910 --> 00:00:59,070 et en fait comparons. 17 00:01:08,100 --> 00:01:11,240 On voit qu'on crée un composite'Morph', qu'il y a un 18 00:01:11,240 --> 00:01:16,170 titre et il y aura une action qui sera faite avec une 19 00:01:16,310 --> 00:01:18,950 gestion d'erreur au cas où la'Morph'ne s'affiche pas bien. 20 00:01:19,290 --> 00:01:21,990 Et là, on va convertir et afficher une'Morph'. 21 00:01:21,990 --> 00:01:26,840 Vous avez aussi "act" qui sont la manière de pouvoir 22 00:01:28,880 --> 00:01:31,390 associer des opérations sur 23 00:01:36,410 --> 00:01:37,060 cet onglet. 24 00:01:37,440 --> 00:01:38,700 On va voir un autre exemple. 25 00:01:43,660 --> 00:01:47,980 Voila ici et là. 26 00:01:49,270 --> 00:01:50,210 J'aimerais voir "Date". 27 00:01:56,080 --> 00:01:59,530 Si vous vous rappelez on avait "date today inspect". 28 00:02:05,220 --> 00:02:07,690 On avait Détails et Calendar. 29 00:02:09,130 --> 00:02:11,740 Comment on crée cette'Morph'? 30 00:02:11,740 --> 00:02:16,520 On crée juste la'Morph'en utilisant ce message. 31 00:02:17,570 --> 00:02:20,000 Et Détails. Comment ça marche dans Détails? 32 00:02:26,990 --> 00:02:29,250 Je demande à créer une table, je vais lui mettre un 33 00:02:29,250 --> 00:02:34,010 titre, clé valeur, évaluer, rendre 34 00:02:36,190 --> 00:02:38,730 la clé et calculer la valeur de la chose. 35 00:02:41,150 --> 00:02:43,080 Le dernier exemple que je voulais vous montrer c'était, 36 00:02:43,990 --> 00:02:48,990 qu'est-ce qui se passe quand on fait le travail qui est 37 00:02:48,990 --> 00:02:53,470 fait pour l'inspecteur d'une méthode 38 00:02:55,200 --> 00:02:57,930 ? Vous vous rappelez, on avait une méthode qui était du 39 00:02:57,930 --> 00:03:02,200 Bytecode, du moins un tableau qui contient du Bytecode et 40 00:03:02,200 --> 00:03:05,970 on avait le Source ou l'AST ou du Bytecode. 41 00:03:06,150 --> 00:03:10,680 Prenons l'AST. Je vais demander à mon très cher 42 00:03:10,910 --> 00:03:15,640 Spotter. Je vais chercher Compiled 43 00:03:15,640 --> 00:03:19,470 method. Prenons le Source, 44 00:03:21,290 --> 00:03:21,970 ça me paraît bien. 45 00:03:26,410 --> 00:03:28,300 Pour le Source, qui est ce panneau-là, on 46 00:03:34,330 --> 00:03:37,240 voit qu'on définit le Source et là il y a pharoMethod. 47 00:03:37,240 --> 00:03:39,450 Je ne sais pas exactement ce que c'est mais ça doit dire 48 00:03:39,450 --> 00:03:42,920 que ça doit créer un objet qui va être capable d'afficher 49 00:03:42,920 --> 00:03:45,940 une méthode Pharo, en appelant le Syntaxhighlighter ou 50 00:03:45,940 --> 00:03:50,600 quelque chose comme ça. Et si je regarde AST, ça 51 00:03:50,900 --> 00:03:53,100 va me rendre un 52 00:03:56,060 --> 00:03:56,400 arbre, 53 00:04:01,340 --> 00:04:04,270 ce qui va me rendre l'AST qui va être affiché dans l'arbre. 54 00:04:04,800 --> 00:04:06,710 L'objectif ce n'est pas que vous compreniez parfaitement 55 00:04:06,710 --> 00:04:09,480 comment ça fonctionne, c'est de vous montrer un petit peu 56 00:04:09,480 --> 00:04:12,020 la complexité de la chose. 57 00:04:12,310 --> 00:04:14,820 On voit que ce n'est pas très compliqué en règle générale. 58 00:04:15,180 --> 00:04:19,060 Là, c'est pour le Bytecode, l'ir c'est aussi quelque chose d'autre. 59 00:04:19,060 --> 00:04:23,010 Après, il y a de la logique métier à l'intérieur parce qu'il 60 00:04:23,010 --> 00:04:26,890 faut voir comment on calcule la représentation 61 00:04:26,890 --> 00:04:30,630 intermédiaire, et cetera, mais ça reste quelque chose de gérable. 62 00:04:31,990 --> 00:04:33,910 Je voulais vous montrer ça parce que c'est sympa, vous 63 00:04:33,910 --> 00:04:37,170 pouvez le faire parfois sur vos objets métier et ça vous 64 00:04:37,170 --> 00:04:38,260 permet d'aller plus vite.