WEBVTT

00:00:07.910 --> 00:00:12.400 align:middle
Bonjour bienvenue sur ce MOOC
autour de Pharo, ce MOOC s'intitule

00:00:12.600 --> 00:00:14.110 align:middle
"Programmation Objets
Immersive en Pharo".

00:00:14.420 --> 00:00:17.740 align:middle
Donc, comme première séance, je vais
vous présenter les objectifs du MOOC.

00:00:17.940 --> 00:00:19.930 align:middle
Donc, quels sont-ils ?

00:00:20.780 --> 00:00:23.340 align:middle
Vous allez apprendre à
 programmer en Pharo, ça paraît

00:00:23.540 --> 00:00:25.740 align:middle
évident, maintenant ce qui
est important c'est que vous

00:00:25.940 --> 00:00:28.300 align:middle
allez comprendre et contrôler
toute la syntaxe, l'entièreté

00:00:28.500 --> 00:00:32.130 align:middle
de la syntaxe et du modèle et
aussi l'environnement de Pharo.

00:00:32.330 --> 00:00:34.290 align:middle
Pharo, ce n’est pas
simplement un langage, c'est un

00:00:34.490 --> 00:00:36.220 align:middle
environnement de
 programmation, il y a pas mal d'outils

00:00:36.420 --> 00:00:39.710 align:middle
dedans et donc on va vous en
montrer quelques uns, les plus utiles.

00:00:40.670 --> 00:00:43.730 align:middle
Le MOOC ne se contente pas
non plus de présenter Pharo,

00:00:44.150 --> 00:00:46.520 align:middle
on va revisiter de
manière profonde les mécanismes

00:00:46.720 --> 00:00:49.140 align:middle
fondamentaux de la
 programmation-objet et ça, c'est

00:00:49.340 --> 00:00:51.360 align:middle
vraiment très
intéressant. On va les illustrer par

00:00:51.560 --> 00:00:52.600 align:middle
rapport à des
aspects de Pharo lui-même.

00:00:53.670 --> 00:00:56.300 align:middle
Pour cela on va aussi, de
temps en temps, vous montrer

00:00:56.500 --> 00:00:59.000 align:middle
des heuristiques de
conception objet, c'est à dire des

00:00:59.200 --> 00:01:00.760 align:middle
heuristiques qui vont vous
permettre en général, dans

00:01:01.000 --> 00:01:03.880 align:middle
votre vie de programmeur,
de concevoir des applications

00:01:04.080 --> 00:01:06.880 align:middle
de manière plus
élégante ou plus extensible.

00:01:07.250 --> 00:01:10.080 align:middle
Vous allez travailler sur
des vrais exemples dans ce MOOC

00:01:10.280 --> 00:01:13.580 align:middle
et à la fin vous allez
déployer votre propre application

00:01:13.780 --> 00:01:15.260 align:middle
Web que vous aurez
construite de A à Z.

00:01:17.530 --> 00:01:19.790 align:middle
Donc, le MOOC, si on
regarde, il est structuré sur 7

00:01:20.000 --> 00:01:24.460 align:middle
semaines, donc, en gros, on
va commencer par les aspects

00:01:24.660 --> 00:01:26.960 align:middle
syntaxiques au niveau de
Pharo de façon à ce que vous

00:01:27.160 --> 00:01:29.090 align:middle
puissiez très rapidement
commencer à faire des exercices,

00:01:29.290 --> 00:01:33.200 align:middle
mais ce qu'on va faire, on
va mélanger aussi les points

00:01:33.400 --> 00:01:35.540 align:middle
qui sont liés à la
conception objet de façon à ce que

00:01:35.740 --> 00:01:38.440 align:middle
vous puissiez comprendre
très rapidement certains

00:01:38.640 --> 00:01:41.490 align:middle
aspects, et après on
regardera des aspects qui sont plus

00:01:41.690 --> 00:01:44.050 align:middle
liés aux fonctionnalités
noyau de Pharo comme système de

00:01:44.250 --> 00:01:45.230 align:middle
fichiers ou ce genre de choses.

00:01:45.690 --> 00:01:48.130 align:middle
Ce qu'il faut voir, c'est
que le cours n'est parfois pas

00:01:48.330 --> 00:01:51.680 align:middle
linéaire, on va revenir
dans des dernières séances sur

00:01:51.880 --> 00:01:53.520 align:middle
des concepts pour
s'assurer que vous avez réellement

00:01:53.720 --> 00:01:56.760 align:middle
compris ce dont on a parlé
dans les premières séances.

00:01:57.480 --> 00:01:59.900 align:middle
Dans le MOOC, vous aurez plein
d'exercices et des mini projets.

00:02:00.350 --> 00:02:02.270 align:middle
Pour vous motiver, ce qu'il
faut voir c'est qu'après deux

00:02:02.470 --> 00:02:05.570 align:middle
semaines du MOOC, vous
aurez vu la syntaxe complète de

00:02:05.770 --> 00:02:07.860 align:middle
Pharo et son modèle et vous
pouvez directement attaquer à

00:02:08.060 --> 00:02:08.820 align:middle
faire des mini projets.

00:02:11.000 --> 00:02:13.080 align:middle
Donc, juste quelques mots à
propos de nous, donc on est

00:02:13.280 --> 00:02:16.440 align:middle
trois collègues, ce qu'il
faut voir c'est qu'on est

00:02:16.640 --> 00:02:19.940 align:middle
expert en
 programmation-objet, moi j'ai travaillé sur les

00:02:20.250 --> 00:02:23.820 align:middle
"traits" qui sont dans Perl et
PHP, qui ont influencé Scala.

00:02:24.180 --> 00:02:27.340 align:middle
On est expert en conception
avancée objet, on fait partie

00:02:27.540 --> 00:02:30.140 align:middle
du groupe de développement
du noyau de Pharo et on est

00:02:30.340 --> 00:02:32.690 align:middle
auteur de plusieurs
livres qui sont open source et

00:02:32.890 --> 00:02:35.270 align:middle
disponibles sur le web et je vous
conseille de les lire, par ailleurs.

00:02:36.000 --> 00:02:36.900 align:middle
Donc, pourquoi Pharo ?

00:02:37.100 --> 00:02:39.190 align:middle
Hormis le fait qu'on
participe au développement de Pharo

00:02:39.390 --> 00:02:42.410 align:middle
et qu'on trouve que Pharo
est un très bon langage, d'une

00:02:42.610 --> 00:02:44.850 align:middle
manière pédagogique Pharo
est vraiment très intéressant

00:02:45.050 --> 00:02:47.360 align:middle
parce que vous allez être
immergés dans un monde d'objets,

00:02:47.560 --> 00:02:52.240 align:middle
vous allez simplement
interagir et manipuler les objets.

00:02:52.730 --> 00:02:56.130 align:middle
À titre d’exemple, les
boucles n'existent pas en tant que

00:02:56.330 --> 00:02:58.240 align:middle
constructeur dans Pharo,
ce sont juste des messages

00:02:58.440 --> 00:03:00.520 align:middle
envoyés à des objets qui
sont des collections; les

00:03:00.720 --> 00:03:03.180 align:middle
conditions sont des messages envoyés
à des objets qui sont des booléens.

00:03:03.380 --> 00:03:07.380 align:middle
Donc, vous allez, de
manière constante, interagir avec

00:03:07.580 --> 00:03:11.850 align:middle
des objets vivants et vos programmes
vont se transformer sous vos doigts.

00:03:12.400 --> 00:03:15.000 align:middle
Le fait que Pharo soit écrit
aussi en lui-même vous ouvre

00:03:15.340 --> 00:03:19.220 align:middle
une grande possibilité de
découverte, une fois que vous

00:03:19.420 --> 00:03:22.640 align:middle
allez avoir suivi et
compris les aspects syntaxiques de

00:03:22.840 --> 00:03:26.350 align:middle
Pharo, le monde entier s'ouvre
à vous parce que l'environnement

00:03:26.550 --> 00:03:27.310 align:middle
de Pharo est écrit dans lui-même.

00:03:28.830 --> 00:03:32.050 align:middle
Donc si je résume un petit
peu le voyage auquel on vous

00:03:32.250 --> 00:03:34.600 align:middle
invite, Pharo est un
langage pur et élégant.

00:03:34.800 --> 00:03:37.310 align:middle
Vous allez voir qu'il y a
très peu de concepts qui sont

00:03:37.510 --> 00:03:40.820 align:middle
utilisés, il est fun à
 programmer parce qu'il y a cette

00:03:41.020 --> 00:03:44.420 align:middle
interaction avec des
objets, Pharo est très productif,

00:03:44.620 --> 00:03:47.090 align:middle
vous le verrez par
vous-même, en général Pharo est

00:03:47.290 --> 00:03:49.490 align:middle
utilisé dans de
nombreuses universités pour ses

00:03:49.750 --> 00:03:53.890 align:middle
propriétés d'enseignement et les
aspects positifs qu'il enseigne.

00:03:54.760 --> 00:03:57.200 align:middle
Il y a un point qui est
particulier qui est souvent peu

00:03:57.400 --> 00:03:59.580 align:middle
compris, c'est que Pharo
c'est un système qui vous met en

00:03:59.780 --> 00:04:02.470 align:middle
capacité de faire des
choses; ça veut dire que Pharo, ce

00:04:02.670 --> 00:04:06.020 align:middle
n’est pas une boîte noire,
c'est un système où vous allez

00:04:06.220 --> 00:04:09.050 align:middle
pouvoir voir comment le
système est implémenté et aller

00:04:09.250 --> 00:04:11.360 align:middle
les modifier les choses. En
fait, comme la métaphore que

00:04:11.560 --> 00:04:13.560 align:middle
je prends souvent, c'est
de dire que Pharo, c'est un

00:04:13.760 --> 00:04:15.350 align:middle
aquarium dans lequel il y
a des poissons et que vous

00:04:15.550 --> 00:04:17.920 align:middle
allez pouvoir sauter dans cet
aquarium et aller nager avec eux.

00:04:18.380 --> 00:04:22.030 align:middle
Et ça, c'est vraiment une
chose particulière, donc vous

00:04:22.560 --> 00:04:24.320 align:middle
aurez des vidéos qui vous
montreront exactement ces

00:04:24.520 --> 00:04:27.400 align:middle
aspects-là et encore une fois vous
avez accès à l'entièreté du système.

