Bonjour, dans cette séance, je voulais vous montrer un
petit peu quelle est la vision qui est derrière Pharo,
pourquoi est-ce que les gens participent et pourquoi
est-ce que les gens font Pharo?
Ca vous permettra potentiellement d'adhérer un petit peu
ou au moins de comprendre où va Pharo et pourquoi les gens le font.
Donc l'idée vraiment fondamentale, c'est de créer un
outil, une infrastructure qui va permettre aux gens de
réinventer ou d'inventer leur futur, ça veut dire créer
de nouvelles façons de faire du Web, créer de nouveaux
outils, de nouvelles formes de calcul ou ce genre de choses.
Donc pour ça, cette notion d'"engin" est vraiment
importante, ça veut dire l'infrastructure, le
compilateur, les services qui vont entourer ce genre de choses.
De manière duale, il y a l'idée de créer un écosystème
dans lequel l'innovation, ça veut dire créer des choses
nouvelles qui nous permettent d'avoir un avantage
compétitif, par exemple, et des business peuvent croître.
Donc le terme écosystème, la métaphore écosystème, elle se décline comment?
Elle se décline autour de premièrement, il y a des
enseignants, il y a une trentaine d'universités dans le
monde qui enseignent Pharo, elle se décline à travers des
groupes de recherche, donc il y a une quinzaine de
groupes de recherche qui font souvent du génie logiciel,
mais pas que, autour de la planète et des sociétés.
L'idée fondamentale de Pharo, c'est de ne pas être un
langage académique, mais d'être un langage qui est
utilisé par des gens pour pouvoir faire de l'argent et
vivre de leurs programmes. Donc, il y a
des "success stories", vous pouvez aller les voir sur le
site Web dont l'adresse est indiquée ici, je vous engage
à le faire parce que ça permet de voir ce que les gens
font avec, je suis souvent étonné d'ailleurs de voir ce
que les gens font avec Pharo et aussi de se rendre compte
que ce n'est pas juste parce qu'on dit que c'est cool que
c'est cool, mais qu'il y a des gens qui font des vrais trucs.
Donc ce qu'il faut bien voir, c'est que Pharo, pour l'équipe
de développement, c'est un véhicule.
Et donc on est tous ces gars en noir autour de la Formule
1, et tous les jours on va l'améliorer donc Pharo, ce n'est
pas quelque chose de fini, c'est quelque chose en perpétuelle amélioration.
Et de ce point de vue-là, Pharo est assez jeune d'un
point de vue d'un langage de programmation, on a commencé
en 2008 et plus ça va, plus son devenir
devient excitant. Donc je vous en dirai quelques mots.
Maintenant, la plupart des sociétés font du Web avec
Pharo parce que la pile Web est vraiment excellente.
On va utiliser Seaside dans ce cours,
mais vous allez voir qu'on peut faire REST, il y a
plusieurs serveurs http qui sont utilisés, c'est une
société d'ailleurs qui a développé et qui a donné à Pharo le serveur http.
Vous avez Teapot qui est un micro serveur, vous allez
avoir toute la couche avec les WebSockets et les identifications.
La meta description de données pour éviter de faire des
formulaires et de les générer automatiquement, des
connexions aux bases de données, que ça soit des bases de
données SQL ou des bases de données relationnelles, et l'état de protocole.
De toute façon, il en fleurit tous les jours et les gens
font des packages qui vont couvrir ces fonctionnalités-là.
Donc Pharo est ouvert de ce point de vue-là, ça veut dire
que vous allez pouvoir potentiellement aider ou avoir un
impact, mais au moins lire déjà et avoir accès à Pharo.
Et ce qui est important, ça c'est une chose que les gens
ont du mal à concrétiser, voir ce que je veux dire par
là, mais Pharo est un système qui va vous rendre et vous
permettre d'être en capacité. Donc là, j'ai pris une
citation d'un Américain qui est dans la "main list" de
Pharo qui a changé un aspect très fondamental de Pharo,
en fait les délais, c'est une fonctionnalité qui permet
de faire toute la concurrence à l'intérieur du système.
Et en fait, il avait trouvé que ce n'était pas très bien
fait parce qu'on ne pouvait pas les tester en isolation.
Et donc lui, il a proposé des changes en disant voilà, si
vous prenez ce change dans Pharo, on va pouvoir tester
ses fonctionnalités de manière individuelle.
Et donc son changement a été un inclus dans la release de
Faro et ce qui est vraiment très intéressant, je vous
laisserai lire la citation, mais il dit qu'en fait, il a
vraiment été émerveillé par le fait qu'il puisse même le
faire et penser le faire. Et de la même manière, avec ce
transparent "turtles all the way down", ça veut dire que
j'ai des tortues partout, en fait ça veut dire j'ai des
objets partout, le créateur de Seaside, c'était quelqu'un
qui connaissait Ruby, Python, Scheme, Objectif C et il a
développé Seaside dans l'ancêtre de Pharo et à l'époque,
moi je l'ai rencontré et je lui ai dit, mais pourquoi tu as utilisé Pharo?
Il m'a dit, mais parce que je pouvais le faire, parce que
je peux manipuler la pile derrière le dos des
programmeurs et lui proposer une abstraction que je ne
pourrais pas proposer dans un autre langage.
Et cette mise en capacité, elle est vraiment très intéressante.
Donc, je voulais vous parler de la vision à moyen terme
de Pharo donc d'ici 5 ans par exemple, qu'est-ce que sera Pharo?
Pharo, ça sera un système dont le noyau sera bootstrapé,
ça veut dire qu'on va pouvoir le reconstruire de
lui-même, ce qui n'est pas possible à l'heure actuelle et
on va avoir une bien meilleure intégration avec les
différents OS et le C, on peut penser qu'on peut
embarquer une application Pharo dans n'importe quelle
application C dans le futur, ça sera un système plus
modulaire avec des distributions qui seront validées.
Distribution validée, ça veut dire que si quelqu'un écrit
un parser XML par exemple, vous avez envie de savoir,
est-ce qu'il a passé tous les tests ?
Est-ce qu'il fonctionne sur telle et telle version de Pharo?
Est-ce que les règles de non-régression ont été satisfaites?
Donc, vraiment utiliser du génie logiciel pour valider la
production faite par des gens dans le monde entier et que
les gens qui utilisent Pharo puissent avoir un certain niveau de qualité.
Il y a tout un effort à l'heure actuelle pour avoir des
outils qui sont encore plus puissants que ce qu'ils sont.
Et l'idée, c'est vraiment d'avoir un système qui puisse s'adapter
aussi bien en machine à café que du déploiement dans le
cloud et donc l'équipe de développement de Pharo on est
en train de faire ce genre de choses, donc dans quelques
années, ça sera pour tout le monde.
Donc Pharo, avec cet objectif d'avoir un impact sur la
vraie vie et d'impliquer des sociétés, a créé un
consortium, un consortium industriel, et l'idée du
consortium, c'est de promouvoir Pharo, de permettre son
amélioration constante, d'améliorer sa visibilité et d'offrir
du support aux sociétés qui pourront utiliser Pharo.
Donc, voici quelques-uns des membres du consortium Pharo.
Il y a des petites sociétés, mais aussi des très grosses
comme, par exemple, Lam Research ou Thales et pas mal d'universités
et de groupes de recherche.