Bonjour. Dans ce cours, je vais vous parler de la pile
Web Pharo qui est excellente, et je vais vous faire un
petit survol des fonctionnalités ou des packages qui
existent et de ceux qu'on va utiliser pendant le cours.
Donc en gros, si on regarde de manière schématique quand
on a une requête http, qu'est-ce qu'on va avoir?
On a Zinc, donc Zinc c'est le serveur http et https de
base qui est dans Pharo. Au-dessus de Zinc, vous avez Teapot.
Il y a eu un cours sur la syntaxe de Teapot.
Après, on a des tas de packages comme tout ce qui est
format Json, Stone, ce genre de choses.
On a du Seaside REST, je vous présenterai ça rapidement,
c'est comment on peut faire de la programmation REST au-dessus de Seaside.
Donc Seaside, c'est le Web framework qu'on va utiliser et
que vous allez utiliser dans Tiny blog, c'est pour ça qu'on
vous a présenté Seaside aussi et Seaside est vraiment
énormément utilisé par les sociétés.
On va utiliser Voyage qui est un package qui permet
de faire de la persistance de documents.
Donc on prend nos objets, on les sauve sous-forme de
documents dans des bases Mongo.
Vous avez aussi Garage qui est une sorte de driver pour
tout ce qui est bases de données relationnelles.
Je vais vous montrer aussi Magritte.
Magritte, c'est l'idée que l'on va décrire des données et
du fait qu'on a décrit ces données, on va automatiquement
générer des formulaires au lieu de les faire à la main,
donc ça c'est pas mal. Reef, c'est quelque chose qui va
vous permettre de faire du Javascript embarqué dans des
composants Web. On ne le montrera pas pendant ce cours
mais c'est disponible. Mustache, c'est un système de
templates par exemple pour générer de l'html au vol.
Et Bootstrap, c'est la librairie Bootstrap de tweeter qui
est complètement intégrée dans Seaside qu'on va utiliser.
En gros, c'est ce que les gens utilisent la plupart du
temps mais vous avez plein d'autres packages au-dessus de
Pharo, comme pour se connecter à Amazon ou des search
elastic et tout ce genre de technos.
Donc nous ce qu'on va utiliser, on va utiliser Seaside.
Seaside c'est un framework Web pour faire des
applications dynamiques, à base de composants que vous
pouvez réutiliser. On n'a pas à gérer vraiment les
requêtes, Seaside fait ça pour nous.
Vous avez de la documentation sur seaside.
st, le site est en train d'être refait par les gens qui font Seaside.
st Et surtout, vous avez un bouquin qui est complètement
disponible 250 pages de disponibles sur book.
seaside. st, donc je vous engage à le regarder mais ce n'est
pas obligatoire. De toute façon, vous aurez l'essentiel
qui sera développé dans le cours.
Au niveau de la persistance, c'est ce que je disais tout
à l'heure, il y a 2 grandes familles qui sont les
sauvegardes, nos SQL, donc plutôt basées sur composants
comme Mongo et Couch debit ou Riak.
Là, on va utiliser Voyage qui est une abstraction
au-dessus de Mongo DB, et Garage qui est un framework qui
permet de proposer une API unifiée pour tout ce qui est
bases de données relationnelles. On ne va pas l'utiliser
dans le cours mais c'est disponible.
Vous avez des drivers pour Postgres, mysql, sqlite et
opendbx et c'est en constante amélioration.
Sinon ce qu'on va vous montrer, ça c'est intéressant, c'est
qu'on a un framework Magritte, qui fait référence au
peintre surréaliste, qui en fait nous permet de décrire
des données et une fois que ces données sont décrites, va
nous permettre de générer automatiquement des composants
Seaside, donc ça permet de booster vraiment la
productivité quand on fait des applications Web.
En conclusion, en fait il y a vraiment un écosystème qui
est très riche en Pharo autour du Web.
La plupart des sociétés qui font du Pharo font souvent
des développements Web. Ça fonctionne pour des
entreprises, et vous verrez que Seaside est vraiment
innovant parce qu'il prend le contre pied de certaines
façons de faire le Web et c'est ça qui est intéressant,
de permettre de penser différemment en fait.