CANOU Benjamin

doctorant à Sorbonne Université
Équipe : APR
https://lip6.fr/Benjamin.Canou

Direction de recherche : Emmanuel CHAILLOUX

Co-encadrement : BALAT Vincent

Programmation Web Typée

Le but de cet thèse est de contribuer à rendre la programmation Web plus flexible et plus sûre qu'elle ne l'est avec les solutions répandues actuellement. Pour ceci, proposons une solution dans la lignée des langages de la famille ML, qui laisse un maximum de liberté au programmeur de part son côté multi-paradigmes, tout en offrant un degré de sûreté important grâce au typage statique. Dans une première partie, nous montrons qu'il est possible de programmer le navigateur sans se plier au style de JavaScript. Notre solution est OBrowser, une implantation en JavaScript de la machine virtuelle OCaml. L'implantation prend en charge l'ensemble du langage OCaml et de sa bibliothèque, y compris le modèle de concurrence préemptif. Nous présentons de plus un mécanisme d'inter-opérabilité entre la couche objet de JavaScript et celle d'OCaml, permettant d'utiliser de façon bien typée l'environnement du navigateur avec les objets d'OCaml. Dans une seconde partie, nous fournissons une API de manipulation du document plus sûre et de plus haut niveau que le DOM des navigateurs. En particulier, nous cherchons à éliminer les déplacements implicites effectués par le DOM pour maintenir la forme d'arbre, qui limitent les possibilités de typage statique. Nous donnons d'abord fDOM, un modèle formel minimal similaire au DOM. Puis nous proposons cDOM, un modèle alternatif où les déplacements sont remplacés par des copies. Nous décrivons ensuite FidoML, un langage basé sur ML, permettant les manipulations bien typées du document grâce à l'utilisation de cDOM. Dans toute cette partie, nous faisons attention à ce que les solutions données soient aussi adaptables que possible. Dans une troisième partie, nous montrons comment les travaux, jusqu'ici principalement présentés dans le cadre du navigateur, s'appliquent à un contexte multi-tiers. Nous donnons d'abord un tour d'horizon des plates-formes multi-tiers proches issues de la recherche. Nous décrivons en particulier les solutions qu'elles apportent à un ensemble de problématiques spécifiques à la programmation Web. Puis nous concluons en présentant les grandes lignes d'un langage multi-tiers mettant à profit les travaux des deux parties précédentes dans les solutions à ces différentes problématiques.

Soutenance : 04/10/2011

Membres du jury :

Emmanuel Chailloux, Professeur UPMC
Vincent Balat, Maître de Conférences à l'Université Paris Diderot
Jacques Garrigu, Professeur à l'Université de Nagoya [rapporteur]
Peter Van Roy, Professeur à l'Université Catholique de Louvain [rapporteur]
Christian Queinnec, Professeur UPMC
Giuseppe Castagna, Directeur de Recherches au CNRS
Manuel Serrano, Directeur de Recherches à l'INRIA Sophia Antipolis
Alain Frisch, Directeur Technique, LexiFi

Date de départ : 31/08/2012

Publications 2007-2013