WEBVTT

00:00:00.230 --> 00:00:02.630 align:middle
Bonjour, dans cette séance,
je voulais vous montrer un

00:00:02.830 --> 00:00:04.950 align:middle
petit peu quelle est la
vision qui est derrière Pharo,

00:00:05.150 --> 00:00:06.560 align:middle
pourquoi est-ce que les
gens participent et pourquoi

00:00:06.760 --> 00:00:07.700 align:middle
est-ce que les gens font Pharo?

00:00:07.960 --> 00:00:10.180 align:middle
Ca vous permettra
potentiellement d'adhérer un petit peu

00:00:10.380 --> 00:00:14.130 align:middle
ou au moins de comprendre où va
Pharo et pourquoi les gens le font.

00:00:15.000 --> 00:00:18.000 align:middle
Donc l'idée vraiment
fondamentale, c'est de créer un

00:00:18.200 --> 00:00:20.950 align:middle
outil, une infrastructure
qui va permettre aux gens de

00:00:21.150 --> 00:00:23.830 align:middle
réinventer ou d'inventer
leur futur, ça veut dire créer

00:00:24.030 --> 00:00:26.240 align:middle
de nouvelles façons de
faire du Web, créer de nouveaux

00:00:26.440 --> 00:00:29.740 align:middle
outils, de nouvelles formes de
calcul ou ce genre de choses.

00:00:29.940 --> 00:00:33.220 align:middle
Donc pour ça, cette
notion d'"engin" est vraiment

00:00:33.420 --> 00:00:35.660 align:middle
importante, ça veut
dire l'infrastructure, le

00:00:35.860 --> 00:00:38.350 align:middle
compilateur, les services qui
vont entourer ce genre de choses.

00:00:39.440 --> 00:00:43.700 align:middle
De manière duale, il y a
l'idée de créer un écosystème

00:00:44.190 --> 00:00:46.290 align:middle
dans lequel l'innovation,
ça veut dire créer des choses

00:00:46.490 --> 00:00:48.220 align:middle
nouvelles qui nous
permettent d'avoir un avantage

00:00:48.420 --> 00:00:51.380 align:middle
compétitif, par exemple, et
des business peuvent croître.

00:00:52.190 --> 00:00:55.670 align:middle
Donc le terme écosystème, la
métaphore écosystème, elle se décline comment?

00:00:56.150 --> 00:00:58.000 align:middle
Elle se décline autour de
premièrement, il y a des

00:00:58.200 --> 00:00:59.780 align:middle
enseignants, il y a une
trentaine d'universités dans le

00:01:00.000 --> 00:01:04.920 align:middle
monde qui enseignent Pharo,
elle se décline à travers des

00:01:05.120 --> 00:01:06.550 align:middle
groupes de recherche,
donc il y a une quinzaine de

00:01:06.750 --> 00:01:09.250 align:middle
groupes de recherche qui
font souvent du génie logiciel,

00:01:09.450 --> 00:01:14.120 align:middle
mais pas que, autour de
la planète et des sociétés.

00:01:14.670 --> 00:01:18.200 align:middle
L'idée fondamentale de
Pharo, c'est de ne pas être un

00:01:18.400 --> 00:01:20.370 align:middle
langage académique, mais
d'être un langage qui est

00:01:20.570 --> 00:01:23.670 align:middle
utilisé par des gens pour
pouvoir faire de l'argent et

00:01:23.870 --> 00:01:28.680 align:middle
vivre de leurs
 programmes. Donc, il y a

00:01:28.880 --> 00:01:30.940 align:middle
des "success stories", vous
pouvez aller les voir sur le

00:01:31.140 --> 00:01:34.110 align:middle
site Web dont l'adresse est
indiquée ici, je vous engage

00:01:34.310 --> 00:01:36.130 align:middle
à le faire parce que ça
permet de voir ce que les gens

00:01:36.330 --> 00:01:38.060 align:middle
font avec, je suis souvent
étonné d'ailleurs de voir ce

00:01:38.260 --> 00:01:40.920 align:middle
que les gens font avec Pharo
et aussi de se rendre compte

00:01:41.120 --> 00:01:42.660 align:middle
que ce n'est pas juste parce
qu'on dit que c'est cool que

00:01:42.860 --> 00:01:44.300 align:middle
c'est cool, mais qu'il y a des
gens qui font des vrais trucs.

00:01:46.120 --> 00:01:49.330 align:middle
Donc ce qu'il faut bien voir,
c'est que Pharo, pour l'équipe

00:01:49.530 --> 00:01:51.290 align:middle
de développement, c'est un véhicule.

00:01:52.090 --> 00:01:55.780 align:middle
Et donc on est tous ces gars
en noir autour de la Formule

00:01:56.000 --> 00:02:00.300 align:middle
1, et tous les jours on va
l'améliorer donc Pharo, ce n'est

00:02:00.500 --> 00:02:05.070 align:middle
pas quelque chose de fini, c'est
quelque chose en perpétuelle amélioration.

00:02:06.840 --> 00:02:08.410 align:middle
Et de ce point de vue-là,
Pharo est assez jeune d'un

00:02:08.610 --> 00:02:10.220 align:middle
point de vue d'un langage de
 programmation, on a commencé

00:02:10.420 --> 00:02:15.050 align:middle
en 2008 et plus ça
va, plus son devenir

00:02:15.250 --> 00:02:17.570 align:middle
devient excitant. Donc je
vous en dirai quelques mots.

00:02:18.370 --> 00:02:21.770 align:middle
Maintenant, la plupart des
sociétés font du Web avec

00:02:22.000 --> 00:02:24.500 align:middle
Pharo parce que la pile
Web est vraiment excellente.

00:02:25.340 --> 00:02:30.210 align:middle
On va utiliser Seaside dans ce cours,

00:02:30.410 --> 00:02:31.890 align:middle
mais vous allez voir
qu'on peut faire REST, il y a

00:02:32.090 --> 00:02:36.660 align:middle
plusieurs serveurs http
qui sont utilisés, c'est une

00:02:36.860 --> 00:02:40.690 align:middle
société d'ailleurs qui a développé et
qui a donné à Pharo le serveur http.

00:02:41.000 --> 00:02:42.910 align:middle
Vous avez Teapot qui est
un micro serveur, vous allez

00:02:43.110 --> 00:02:45.670 align:middle
avoir toute la couche avec les
WebSockets et les identifications.

00:02:45.870 --> 00:02:48.860 align:middle
La meta description de
données pour éviter de faire des

00:02:49.060 --> 00:02:51.310 align:middle
formulaires et de les
générer automatiquement, des

00:02:51.510 --> 00:02:53.390 align:middle
connexions aux bases de
données, que ça soit des bases de

00:02:53.660 --> 00:02:57.140 align:middle
données SQL ou des bases de données
relationnelles, et l'état de protocole.

00:02:57.570 --> 00:02:59.290 align:middle
De toute façon, il en
fleurit tous les jours et les gens

00:03:00.710 --> 00:03:03.050 align:middle
font des packages qui vont
couvrir ces fonctionnalités-là.

00:03:04.920 --> 00:03:07.500 align:middle
Donc Pharo est ouvert de ce
point de vue-là, ça veut dire

00:03:07.700 --> 00:03:11.470 align:middle
que vous allez pouvoir
potentiellement aider ou avoir un

00:03:11.670 --> 00:03:14.500 align:middle
impact, mais au moins lire
déjà et avoir accès à Pharo.

00:03:15.490 --> 00:03:19.120 align:middle
Et ce qui est important, ça
c'est une chose que les gens

00:03:19.320 --> 00:03:22.340 align:middle
ont du mal à concrétiser,
voir ce que je veux dire par

00:03:22.540 --> 00:03:25.530 align:middle
là, mais Pharo est un
système qui va vous rendre et vous

00:03:25.730 --> 00:03:27.720 align:middle
permettre d'être en
capacité. Donc là, j'ai pris une

00:03:27.920 --> 00:03:31.010 align:middle
citation d'un Américain qui
est dans la "main list" de

00:03:31.210 --> 00:03:34.360 align:middle
Pharo qui a changé un
aspect très fondamental de Pharo,

00:03:34.560 --> 00:03:37.340 align:middle
en fait les délais, c'est
une fonctionnalité qui permet

00:03:37.540 --> 00:03:39.350 align:middle
de faire toute la
concurrence à l'intérieur du système.

00:03:39.790 --> 00:03:41.500 align:middle
Et en fait, il avait trouvé
que ce n'était pas très bien

00:03:41.700 --> 00:03:43.400 align:middle
fait parce qu'on ne pouvait
pas les tester en isolation.

00:03:44.000 --> 00:03:46.280 align:middle
Et donc lui, il a proposé
des changes en disant voilà, si

00:03:46.480 --> 00:03:48.890 align:middle
vous prenez ce change dans
Pharo, on va pouvoir tester

00:03:49.090 --> 00:03:50.860 align:middle
ses fonctionnalités de
manière individuelle.

00:03:51.210 --> 00:03:54.760 align:middle
Et donc son changement a été
un inclus dans la release de

00:03:54.960 --> 00:03:56.900 align:middle
Faro et ce qui est
vraiment très intéressant, je vous

00:03:57.100 --> 00:04:01.580 align:middle
laisserai lire la citation,
mais il dit qu'en fait, il a

00:04:01.780 --> 00:04:04.530 align:middle
vraiment été émerveillé par
le fait qu'il puisse même le

00:04:04.730 --> 00:04:09.640 align:middle
faire et penser le faire. Et
de la même manière, avec ce

00:04:09.840 --> 00:04:12.100 align:middle
transparent "turtles all the
way down", ça veut dire que

00:04:12.300 --> 00:04:14.890 align:middle
j'ai des tortues partout,
en fait ça veut dire j'ai des

00:04:15.090 --> 00:04:17.560 align:middle
objets partout, le créateur
de Seaside, c'était quelqu'un

00:04:17.760 --> 00:04:21.400 align:middle
qui connaissait Ruby,
Python, Scheme, Objectif C et il a

00:04:21.600 --> 00:04:23.330 align:middle
développé Seaside dans
l'ancêtre de Pharo et à l'époque,

00:04:23.530 --> 00:04:25.290 align:middle
moi je l'ai rencontré et je lui ai
dit, mais pourquoi tu as utilisé Pharo?

00:04:25.640 --> 00:04:27.500 align:middle
Il m'a dit, mais parce que
je pouvais le faire, parce que

00:04:27.700 --> 00:04:29.700 align:middle
je peux manipuler la
pile derrière le dos des

00:04:29.900 --> 00:04:31.910 align:middle
 programmeurs et lui
proposer une abstraction que je ne

00:04:32.110 --> 00:04:33.600 align:middle
pourrais pas proposer
dans un autre langage.

00:04:34.140 --> 00:04:37.560 align:middle
Et cette mise en capacité, elle
est vraiment très intéressante.

00:04:39.950 --> 00:04:42.770 align:middle
Donc, je voulais vous
parler de la vision à moyen terme

00:04:43.000 --> 00:04:46.520 align:middle
de Pharo donc d'ici 5 ans par
exemple, qu'est-ce que sera Pharo?

00:04:46.720 --> 00:04:49.290 align:middle
Pharo, ça sera un système
dont le noyau sera bootstrapé,

00:04:49.520 --> 00:04:51.310 align:middle
ça veut dire qu'on va
pouvoir le reconstruire de

00:04:51.510 --> 00:04:55.620 align:middle
lui-même, ce qui n'est pas
possible à l'heure actuelle et

00:04:55.820 --> 00:04:58.000 align:middle
on va avoir une bien
meilleure intégration avec les

00:04:58.200 --> 00:05:00.120 align:middle
différents OS et le C,
on peut penser qu'on peut

00:05:00.320 --> 00:05:01.830 align:middle
embarquer une application
Pharo dans n'importe quelle

00:05:02.030 --> 00:05:04.290 align:middle
application C dans le
futur, ça sera un système plus

00:05:04.490 --> 00:05:07.040 align:middle
modulaire avec des
distributions qui seront validées.

00:05:07.240 --> 00:05:09.280 align:middle
Distribution validée, ça
veut dire que si quelqu'un écrit

00:05:09.480 --> 00:05:13.400 align:middle
un parser XML par exemple,
vous avez envie de savoir,

00:05:13.600 --> 00:05:15.800 align:middle
est-ce qu'il a passé tous les tests ?

00:05:16.000 --> 00:05:18.550 align:middle
Est-ce qu'il fonctionne sur
telle et telle version de Pharo?

00:05:18.750 --> 00:05:21.120 align:middle
Est-ce que les règles de
non-régression ont été satisfaites?

00:05:21.320 --> 00:05:23.630 align:middle
Donc, vraiment utiliser du
génie logiciel pour valider la

00:05:23.830 --> 00:05:26.870 align:middle
production faite par des
gens dans le monde entier et que

00:05:27.070 --> 00:05:30.380 align:middle
les gens qui utilisent Pharo
puissent avoir un certain niveau de qualité.

00:05:32.660 --> 00:05:35.450 align:middle
Il y a tout un effort à
l'heure actuelle pour avoir des

00:05:35.650 --> 00:05:37.390 align:middle
outils qui sont encore plus
puissants que ce qu'ils sont.

00:05:38.590 --> 00:05:41.400 align:middle
Et l'idée, c'est vraiment
d'avoir un système qui puisse s'adapter

00:05:41.600 --> 00:05:44.360 align:middle
aussi bien en machine à
café que du déploiement dans le

00:05:44.560 --> 00:05:46.940 align:middle
cloud et donc l'équipe de
développement de Pharo on est

00:05:47.140 --> 00:05:49.650 align:middle
en train de faire ce genre
de choses, donc dans quelques

00:05:49.850 --> 00:05:50.690 align:middle
années, ça sera pour tout le monde.

00:05:52.400 --> 00:05:56.310 align:middle
Donc Pharo, avec cet
objectif d'avoir un impact sur la

00:05:56.510 --> 00:05:59.320 align:middle
vraie vie et d'impliquer
des sociétés, a créé un

00:05:59.520 --> 00:06:03.210 align:middle
consortium, un consortium
industriel, et l'idée du

00:06:03.410 --> 00:06:07.280 align:middle
consortium, c'est de
promouvoir Pharo, de permettre son

00:06:07.950 --> 00:06:11.110 align:middle
amélioration constante,
d'améliorer sa visibilité et d'offrir

00:06:11.310 --> 00:06:13.000 align:middle
du support aux sociétés
qui pourront utiliser Pharo.

00:06:13.720 --> 00:06:16.790 align:middle
Donc, voici quelques-uns des
membres du consortium Pharo.

00:06:17.300 --> 00:06:19.590 align:middle
Il y a des petites sociétés,
mais aussi des très grosses

00:06:19.790 --> 00:06:24.580 align:middle
comme, par exemple, Lam Research
ou Thales et pas mal d'universités

00:06:24.780 --> 00:06:25.540 align:middle
et de groupes de recherche.

