1
00:00:07,910 --> 00:00:12,400
Bonjour bienvenue sur ce MOOC
autour de Pharo, ce MOOC s'intitule

2
00:00:12,600 --> 00:00:14,110
"Programmation Objets
Immersive en Pharo".

3
00:00:14,420 --> 00:00:17,740
Donc, comme première séance, je vais
vous présenter les objectifs du MOOC.

4
00:00:17,940 --> 00:00:19,930
Donc, quels sont-ils ?

5
00:00:20,780 --> 00:00:23,340
Vous allez apprendre à
 programmer en Pharo, ça paraît

6
00:00:23,540 --> 00:00:25,740
évident, maintenant ce qui
est important c'est que vous

7
00:00:25,940 --> 00:00:28,300
allez comprendre et contrôler
toute la syntaxe, l'entièreté

8
00:00:28,500 --> 00:00:32,130
de la syntaxe et du modèle et
aussi l'environnement de Pharo.

9
00:00:32,330 --> 00:00:34,290
Pharo, ce n’est pas
simplement un langage, c'est un

10
00:00:34,490 --> 00:00:36,220
environnement de
 programmation, il y a pas mal d'outils

11
00:00:36,420 --> 00:00:39,710
dedans et donc on va vous en
montrer quelques uns, les plus utiles.

12
00:00:40,670 --> 00:00:43,730
Le MOOC ne se contente pas
non plus de présenter Pharo,

13
00:00:44,150 --> 00:00:46,520
on va revisiter de
manière profonde les mécanismes

14
00:00:46,720 --> 00:00:49,140
fondamentaux de la
 programmation-objet et ça, c'est

15
00:00:49,340 --> 00:00:51,360
vraiment très
intéressant. On va les illustrer par

16
00:00:51,560 --> 00:00:52,600
rapport à des
aspects de Pharo lui-même.

17
00:00:53,670 --> 00:00:56,300
Pour cela on va aussi, de
temps en temps, vous montrer

18
00:00:56,500 --> 00:00:59,000
des heuristiques de
conception objet, c'est à dire des

19
00:00:59,200 --> 00:01:00,760
heuristiques qui vont vous
permettre en général, dans

20
00:01:01,000 --> 00:01:03,880
votre vie de programmeur,
de concevoir des applications

21
00:01:04,080 --> 00:01:06,880
de manière plus
élégante ou plus extensible.

22
00:01:07,250 --> 00:01:10,080
Vous allez travailler sur
des vrais exemples dans ce MOOC

23
00:01:10,280 --> 00:01:13,580
et à la fin vous allez
déployer votre propre application

24
00:01:13,780 --> 00:01:15,260
Web que vous aurez
construite de A à Z.

25
00:01:17,530 --> 00:01:19,790
Donc, le MOOC, si on
regarde, il est structuré sur 7

26
00:01:20,000 --> 00:01:24,460
semaines, donc, en gros, on
va commencer par les aspects

27
00:01:24,660 --> 00:01:26,960
syntaxiques au niveau de
Pharo de façon à ce que vous

28
00:01:27,160 --> 00:01:29,090
puissiez très rapidement
commencer à faire des exercices,

29
00:01:29,290 --> 00:01:33,200
mais ce qu'on va faire, on
va mélanger aussi les points

30
00:01:33,400 --> 00:01:35,540
qui sont liés à la
conception objet de façon à ce que

31
00:01:35,740 --> 00:01:38,440
vous puissiez comprendre
très rapidement certains

32
00:01:38,640 --> 00:01:41,490
aspects, et après on
regardera des aspects qui sont plus

33
00:01:41,690 --> 00:01:44,050
liés aux fonctionnalités
noyau de Pharo comme système de

34
00:01:44,250 --> 00:01:45,230
fichiers ou ce genre de choses.

35
00:01:45,690 --> 00:01:48,130
Ce qu'il faut voir, c'est
que le cours n'est parfois pas

36
00:01:48,330 --> 00:01:51,680
linéaire, on va revenir
dans des dernières séances sur

37
00:01:51,880 --> 00:01:53,520
des concepts pour
s'assurer que vous avez réellement

38
00:01:53,720 --> 00:01:56,760
compris ce dont on a parlé
dans les premières séances.

39
00:01:57,480 --> 00:01:59,900
Dans le MOOC, vous aurez plein
d'exercices et des mini projets.

40
00:02:00,350 --> 00:02:02,270
Pour vous motiver, ce qu'il
faut voir c'est qu'après deux

41
00:02:02,470 --> 00:02:05,570
semaines du MOOC, vous
aurez vu la syntaxe complète de

42
00:02:05,770 --> 00:02:07,860
Pharo et son modèle et vous
pouvez directement attaquer à

43
00:02:08,060 --> 00:02:08,820
faire des mini projets.

44
00:02:11,000 --> 00:02:13,080
Donc, juste quelques mots à
propos de nous, donc on est

45
00:02:13,280 --> 00:02:16,440
trois collègues, ce qu'il
faut voir c'est qu'on est

46
00:02:16,640 --> 00:02:19,940
expert en
 programmation-objet, moi j'ai travaillé sur les

47
00:02:20,250 --> 00:02:23,820
"traits" qui sont dans Perl et
PHP, qui ont influencé Scala.

48
00:02:24,180 --> 00:02:27,340
On est expert en conception
avancée objet, on fait partie

49
00:02:27,540 --> 00:02:30,140
du groupe de développement
du noyau de Pharo et on est

50
00:02:30,340 --> 00:02:32,690
auteur de plusieurs
livres qui sont open source et

51
00:02:32,890 --> 00:02:35,270
disponibles sur le web et je vous
conseille de les lire, par ailleurs.

52
00:02:36,000 --> 00:02:36,900
Donc, pourquoi Pharo ?

53
00:02:37,100 --> 00:02:39,190
Hormis le fait qu'on
participe au développement de Pharo

54
00:02:39,390 --> 00:02:42,410
et qu'on trouve que Pharo
est un très bon langage, d'une

55
00:02:42,610 --> 00:02:44,850
manière pédagogique Pharo
est vraiment très intéressant

56
00:02:45,050 --> 00:02:47,360
parce que vous allez être
immergés dans un monde d'objets,

57
00:02:47,560 --> 00:02:52,240
vous allez simplement
interagir et manipuler les objets.

58
00:02:52,730 --> 00:02:56,130
À titre d’exemple, les
boucles n'existent pas en tant que

59
00:02:56,330 --> 00:02:58,240
constructeur dans Pharo,
ce sont juste des messages

60
00:02:58,440 --> 00:03:00,520
envoyés à des objets qui
sont des collections; les

61
00:03:00,720 --> 00:03:03,180
conditions sont des messages envoyés
à des objets qui sont des booléens.

62
00:03:03,380 --> 00:03:07,380
Donc, vous allez, de
manière constante, interagir avec

63
00:03:07,580 --> 00:03:11,850
des objets vivants et vos programmes
vont se transformer sous vos doigts.

64
00:03:12,400 --> 00:03:15,000
Le fait que Pharo soit écrit
aussi en lui-même vous ouvre

65
00:03:15,340 --> 00:03:19,220
une grande possibilité de
découverte, une fois que vous

66
00:03:19,420 --> 00:03:22,640
allez avoir suivi et
compris les aspects syntaxiques de

67
00:03:22,840 --> 00:03:26,350
Pharo, le monde entier s'ouvre
à vous parce que l'environnement

68
00:03:26,550 --> 00:03:27,310
de Pharo est écrit dans lui-même.

69
00:03:28,830 --> 00:03:32,050
Donc si je résume un petit
peu le voyage auquel on vous

70
00:03:32,250 --> 00:03:34,600
invite, Pharo est un
langage pur et élégant.

71
00:03:34,800 --> 00:03:37,310
Vous allez voir qu'il y a
très peu de concepts qui sont

72
00:03:37,510 --> 00:03:40,820
utilisés, il est fun à
 programmer parce qu'il y a cette

73
00:03:41,020 --> 00:03:44,420
interaction avec des
objets, Pharo est très productif,

74
00:03:44,620 --> 00:03:47,090
vous le verrez par
vous-même, en général Pharo est

75
00:03:47,290 --> 00:03:49,490
utilisé dans de
nombreuses universités pour ses

76
00:03:49,750 --> 00:03:53,890
propriétés d'enseignement et les
aspects positifs qu'il enseigne.

77
00:03:54,760 --> 00:03:57,200
Il y a un point qui est
particulier qui est souvent peu

78
00:03:57,400 --> 00:03:59,580
compris, c'est que Pharo
c'est un système qui vous met en

79
00:03:59,780 --> 00:04:02,470
capacité de faire des
choses; ça veut dire que Pharo, ce

80
00:04:02,670 --> 00:04:06,020
n’est pas une boîte noire,
c'est un système où vous allez

81
00:04:06,220 --> 00:04:09,050
pouvoir voir comment le
système est implémenté et aller

82
00:04:09,250 --> 00:04:11,360
les modifier les choses. En
fait, comme la métaphore que

83
00:04:11,560 --> 00:04:13,560
je prends souvent, c'est
de dire que Pharo, c'est un

84
00:04:13,760 --> 00:04:15,350
aquarium dans lequel il y
a des poissons et que vous

85
00:04:15,550 --> 00:04:17,920
allez pouvoir sauter dans cet
aquarium et aller nager avec eux.

86
00:04:18,380 --> 00:04:22,030
Et ça, c'est vraiment une
chose particulière, donc vous

87
00:04:22,560 --> 00:04:24,320
aurez des vidéos qui vous
montreront exactement ces

88
00:04:24,520 --> 00:04:27,400
aspects-là et encore une fois vous
avez accès à l'entièreté du système.

