1
00:00:00,230 --> 00:00:02,630
Bonjour, dans cette séance,
je voulais vous montrer un

2
00:00:02,830 --> 00:00:04,950
petit peu quelle est la
vision qui est derrière Pharo,

3
00:00:05,150 --> 00:00:06,560
pourquoi est-ce que les
gens participent et pourquoi

4
00:00:06,760 --> 00:00:07,700
est-ce que les gens font Pharo?

5
00:00:07,960 --> 00:00:10,180
Ca vous permettra
potentiellement d'adhérer un petit peu

6
00:00:10,380 --> 00:00:14,130
ou au moins de comprendre où va
Pharo et pourquoi les gens le font.

7
00:00:15,000 --> 00:00:18,000
Donc l'idée vraiment
fondamentale, c'est de créer un

8
00:00:18,200 --> 00:00:20,950
outil, une infrastructure
qui va permettre aux gens de

9
00:00:21,150 --> 00:00:23,830
réinventer ou d'inventer
leur futur, ça veut dire créer

10
00:00:24,030 --> 00:00:26,240
de nouvelles façons de
faire du Web, créer de nouveaux

11
00:00:26,440 --> 00:00:29,740
outils, de nouvelles formes de
calcul ou ce genre de choses.

12
00:00:29,940 --> 00:00:33,220
Donc pour ça, cette
notion d'"engin" est vraiment

13
00:00:33,420 --> 00:00:35,660
importante, ça veut
dire l'infrastructure, le

14
00:00:35,860 --> 00:00:38,350
compilateur, les services qui
vont entourer ce genre de choses.

15
00:00:39,440 --> 00:00:43,700
De manière duale, il y a
l'idée de créer un écosystème

16
00:00:44,190 --> 00:00:46,290
dans lequel l'innovation,
ça veut dire créer des choses

17
00:00:46,490 --> 00:00:48,220
nouvelles qui nous
permettent d'avoir un avantage

18
00:00:48,420 --> 00:00:51,380
compétitif, par exemple, et
des business peuvent croître.

19
00:00:52,190 --> 00:00:55,670
Donc le terme écosystème, la
métaphore écosystème, elle se décline comment?

20
00:00:56,150 --> 00:00:58,000
Elle se décline autour de
premièrement, il y a des

21
00:00:58,200 --> 00:00:59,780
enseignants, il y a une
trentaine d'universités dans le

22
00:01:00,000 --> 00:01:04,920
monde qui enseignent Pharo,
elle se décline à travers des

23
00:01:05,120 --> 00:01:06,550
groupes de recherche,
donc il y a une quinzaine de

24
00:01:06,750 --> 00:01:09,250
groupes de recherche qui
font souvent du génie logiciel,

25
00:01:09,450 --> 00:01:14,120
mais pas que, autour de
la planète et des sociétés.

26
00:01:14,670 --> 00:01:18,200
L'idée fondamentale de
Pharo, c'est de ne pas être un

27
00:01:18,400 --> 00:01:20,370
langage académique, mais
d'être un langage qui est

28
00:01:20,570 --> 00:01:23,670
utilisé par des gens pour
pouvoir faire de l'argent et

29
00:01:23,870 --> 00:01:28,680
vivre de leurs
 programmes. Donc, il y a

30
00:01:28,880 --> 00:01:30,940
des "success stories", vous
pouvez aller les voir sur le

31
00:01:31,140 --> 00:01:34,110
site Web dont l'adresse est
indiquée ici, je vous engage

32
00:01:34,310 --> 00:01:36,130
à le faire parce que ça
permet de voir ce que les gens

33
00:01:36,330 --> 00:01:38,060
font avec, je suis souvent
étonné d'ailleurs de voir ce

34
00:01:38,260 --> 00:01:40,920
que les gens font avec Pharo
et aussi de se rendre compte

35
00:01:41,120 --> 00:01:42,660
que ce n'est pas juste parce
qu'on dit que c'est cool que

36
00:01:42,860 --> 00:01:44,300
c'est cool, mais qu'il y a des
gens qui font des vrais trucs.

37
00:01:46,120 --> 00:01:49,330
Donc ce qu'il faut bien voir,
c'est que Pharo, pour l'équipe

38
00:01:49,530 --> 00:01:51,290
de développement, c'est un véhicule.

39
00:01:52,090 --> 00:01:55,780
Et donc on est tous ces gars
en noir autour de la Formule

40
00:01:56,000 --> 00:02:00,300
1, et tous les jours on va
l'améliorer donc Pharo, ce n'est

41
00:02:00,500 --> 00:02:05,070
pas quelque chose de fini, c'est
quelque chose en perpétuelle amélioration.

42
00:02:06,840 --> 00:02:08,410
Et de ce point de vue-là,
Pharo est assez jeune d'un

43
00:02:08,610 --> 00:02:10,220
point de vue d'un langage de
 programmation, on a commencé

44
00:02:10,420 --> 00:02:15,050
en 2008 et plus ça
va, plus son devenir

45
00:02:15,250 --> 00:02:17,570
devient excitant. Donc je
vous en dirai quelques mots.

46
00:02:18,370 --> 00:02:21,770
Maintenant, la plupart des
sociétés font du Web avec

47
00:02:22,000 --> 00:02:24,500
Pharo parce que la pile
Web est vraiment excellente.

48
00:02:25,340 --> 00:02:30,210
On va utiliser Seaside dans ce cours,

49
00:02:30,410 --> 00:02:31,890
mais vous allez voir
qu'on peut faire REST, il y a

50
00:02:32,090 --> 00:02:36,660
plusieurs serveurs http
qui sont utilisés, c'est une

51
00:02:36,860 --> 00:02:40,690
société d'ailleurs qui a développé et
qui a donné à Pharo le serveur http.

52
00:02:41,000 --> 00:02:42,910
Vous avez Teapot qui est
un micro serveur, vous allez

53
00:02:43,110 --> 00:02:45,670
avoir toute la couche avec les
WebSockets et les identifications.

54
00:02:45,870 --> 00:02:48,860
La meta description de
données pour éviter de faire des

55
00:02:49,060 --> 00:02:51,310
formulaires et de les
générer automatiquement, des

56
00:02:51,510 --> 00:02:53,390
connexions aux bases de
données, que ça soit des bases de

57
00:02:53,660 --> 00:02:57,140
données SQL ou des bases de données
relationnelles, et l'état de protocole.

58
00:02:57,570 --> 00:02:59,290
De toute façon, il en
fleurit tous les jours et les gens

59
00:03:00,710 --> 00:03:03,050
font des packages qui vont
couvrir ces fonctionnalités-là.

60
00:03:04,920 --> 00:03:07,500
Donc Pharo est ouvert de ce
point de vue-là, ça veut dire

61
00:03:07,700 --> 00:03:11,470
que vous allez pouvoir
potentiellement aider ou avoir un

62
00:03:11,670 --> 00:03:14,500
impact, mais au moins lire
déjà et avoir accès à Pharo.

63
00:03:15,490 --> 00:03:19,120
Et ce qui est important, ça
c'est une chose que les gens

64
00:03:19,320 --> 00:03:22,340
ont du mal à concrétiser,
voir ce que je veux dire par

65
00:03:22,540 --> 00:03:25,530
là, mais Pharo est un
système qui va vous rendre et vous

66
00:03:25,730 --> 00:03:27,720
permettre d'être en
capacité. Donc là, j'ai pris une

67
00:03:27,920 --> 00:03:31,010
citation d'un Américain qui
est dans la "main list" de

68
00:03:31,210 --> 00:03:34,360
Pharo qui a changé un
aspect très fondamental de Pharo,

69
00:03:34,560 --> 00:03:37,340
en fait les délais, c'est
une fonctionnalité qui permet

70
00:03:37,540 --> 00:03:39,350
de faire toute la
concurrence à l'intérieur du système.

71
00:03:39,790 --> 00:03:41,500
Et en fait, il avait trouvé
que ce n'était pas très bien

72
00:03:41,700 --> 00:03:43,400
fait parce qu'on ne pouvait
pas les tester en isolation.

73
00:03:44,000 --> 00:03:46,280
Et donc lui, il a proposé
des changes en disant voilà, si

74
00:03:46,480 --> 00:03:48,890
vous prenez ce change dans
Pharo, on va pouvoir tester

75
00:03:49,090 --> 00:03:50,860
ses fonctionnalités de
manière individuelle.

76
00:03:51,210 --> 00:03:54,760
Et donc son changement a été
un inclus dans la release de

77
00:03:54,960 --> 00:03:56,900
Faro et ce qui est
vraiment très intéressant, je vous

78
00:03:57,100 --> 00:04:01,580
laisserai lire la citation,
mais il dit qu'en fait, il a

79
00:04:01,780 --> 00:04:04,530
vraiment été émerveillé par
le fait qu'il puisse même le

80
00:04:04,730 --> 00:04:09,640
faire et penser le faire. Et
de la même manière, avec ce

81
00:04:09,840 --> 00:04:12,100
transparent "turtles all the
way down", ça veut dire que

82
00:04:12,300 --> 00:04:14,890
j'ai des tortues partout,
en fait ça veut dire j'ai des

83
00:04:15,090 --> 00:04:17,560
objets partout, le créateur
de Seaside, c'était quelqu'un

84
00:04:17,760 --> 00:04:21,400
qui connaissait Ruby,
Python, Scheme, Objectif C et il a

85
00:04:21,600 --> 00:04:23,330
développé Seaside dans
l'ancêtre de Pharo et à l'époque,

86
00:04:23,530 --> 00:04:25,290
moi je l'ai rencontré et je lui ai
dit, mais pourquoi tu as utilisé Pharo?

87
00:04:25,640 --> 00:04:27,500
Il m'a dit, mais parce que
je pouvais le faire, parce que

88
00:04:27,700 --> 00:04:29,700
je peux manipuler la
pile derrière le dos des

89
00:04:29,900 --> 00:04:31,910
 programmeurs et lui
proposer une abstraction que je ne

90
00:04:32,110 --> 00:04:33,600
pourrais pas proposer
dans un autre langage.

91
00:04:34,140 --> 00:04:37,560
Et cette mise en capacité, elle
est vraiment très intéressante.

92
00:04:39,950 --> 00:04:42,770
Donc, je voulais vous
parler de la vision à moyen terme

93
00:04:43,000 --> 00:04:46,520
de Pharo donc d'ici 5 ans par
exemple, qu'est-ce que sera Pharo?

94
00:04:46,720 --> 00:04:49,290
Pharo, ça sera un système
dont le noyau sera bootstrapé,

95
00:04:49,520 --> 00:04:51,310
ça veut dire qu'on va
pouvoir le reconstruire de

96
00:04:51,510 --> 00:04:55,620
lui-même, ce qui n'est pas
possible à l'heure actuelle et

97
00:04:55,820 --> 00:04:58,000
on va avoir une bien
meilleure intégration avec les

98
00:04:58,200 --> 00:05:00,120
différents OS et le C,
on peut penser qu'on peut

99
00:05:00,320 --> 00:05:01,830
embarquer une application
Pharo dans n'importe quelle

100
00:05:02,030 --> 00:05:04,290
application C dans le
futur, ça sera un système plus

101
00:05:04,490 --> 00:05:07,040
modulaire avec des
distributions qui seront validées.

102
00:05:07,240 --> 00:05:09,280
Distribution validée, ça
veut dire que si quelqu'un écrit

103
00:05:09,480 --> 00:05:13,400
un parser XML par exemple,
vous avez envie de savoir,

104
00:05:13,600 --> 00:05:15,800
est-ce qu'il a passé tous les tests ?

105
00:05:16,000 --> 00:05:18,550
Est-ce qu'il fonctionne sur
telle et telle version de Pharo?

106
00:05:18,750 --> 00:05:21,120
Est-ce que les règles de
non-régression ont été satisfaites?

107
00:05:21,320 --> 00:05:23,630
Donc, vraiment utiliser du
génie logiciel pour valider la

108
00:05:23,830 --> 00:05:26,870
production faite par des
gens dans le monde entier et que

109
00:05:27,070 --> 00:05:30,380
les gens qui utilisent Pharo
puissent avoir un certain niveau de qualité.

110
00:05:32,660 --> 00:05:35,450
Il y a tout un effort à
l'heure actuelle pour avoir des

111
00:05:35,650 --> 00:05:37,390
outils qui sont encore plus
puissants que ce qu'ils sont.

112
00:05:38,590 --> 00:05:41,400
Et l'idée, c'est vraiment
d'avoir un système qui puisse s'adapter

113
00:05:41,600 --> 00:05:44,360
aussi bien en machine à
café que du déploiement dans le

114
00:05:44,560 --> 00:05:46,940
cloud et donc l'équipe de
développement de Pharo on est

115
00:05:47,140 --> 00:05:49,650
en train de faire ce genre
de choses, donc dans quelques

116
00:05:49,850 --> 00:05:50,690
années, ça sera pour tout le monde.

117
00:05:52,400 --> 00:05:56,310
Donc Pharo, avec cet
objectif d'avoir un impact sur la

118
00:05:56,510 --> 00:05:59,320
vraie vie et d'impliquer
des sociétés, a créé un

119
00:05:59,520 --> 00:06:03,210
consortium, un consortium
industriel, et l'idée du

120
00:06:03,410 --> 00:06:07,280
consortium, c'est de
promouvoir Pharo, de permettre son

121
00:06:07,950 --> 00:06:11,110
amélioration constante,
d'améliorer sa visibilité et d'offrir

122
00:06:11,310 --> 00:06:13,000
du support aux sociétés
qui pourront utiliser Pharo.

123
00:06:13,720 --> 00:06:16,790
Donc, voici quelques-uns des
membres du consortium Pharo.

124
00:06:17,300 --> 00:06:19,590
Il y a des petites sociétés,
mais aussi des très grosses

125
00:06:19,790 --> 00:06:24,580
comme, par exemple, Lam Research
ou Thales et pas mal d'universités

126
00:06:24,780 --> 00:06:25,540
et de groupes de recherche.

