Logiciels

Développement web

Myrtle

Myrtle est un ensemble d'outils et de bibliothèques pour faciliter le développement d'applications Web, en particulier en utilisant les outils Google Closure et des feuilles de style LESS.

Plugin Eclipse pour LESS

Ce plugin offre des fonctionnalités pour l'édition et la compilation de feuilles de styles LESS dans l'environnement de développement Eclipse. LESS est une extension du langage CSS avec, en particulier, des variables, des blocs imbriqués et des mixins.

Plugin Eclipse pour Closure Templates

Ce plugin offre des fonctionnalités pour l'édition et la compilation de Closure Templates (aka Soy templates) dans l'environnement de développement Eclipse.

Plugin Eclipse pour JavaScript avec Closure Compiler et Closure Library

Ce plugin étend JSDT, l'environnement de développement JavaScript d'Eclipse, avec des fonctionnalités pour les développeurs utilisant Closure Compiler et Closure Library de Google.

EasyXtext

Xtext est un système pour développer des plugins Eclipse pour des languages dédiés. EasyXtext est une librarie de classes Java qui facilitent l'implémentation de plugins Eclipse à partir de Xtext.

Logiciel scientifique

Dalton

Dalton est une bibliothèque OCaml générique et efficace pour l'inférence de types en présence de sous-typage structurel. J'ai développé cette bibliothèque pendant ma thèse. Ses fondations théoriques, ainsi qu'une preuve formelle de sa correction, sont présentées dans le troisième chapitre de mon mémoire de thèse (en Français), ainsi que dans un article de conférence (en Anglais).

Flow Caml

Le système Flow Caml est un prototype d'implémentation d'un système d'analyse de flots d'informations pour le langage Caml. En quelques mots, ce système permet d'écrire des programmes "réels" et de vérifier automatiquement qu'ils obéissent à certaines règles de confidentialité ou d'intégrité. Je l'ai développé pendant ma thèse de doctorat.

Logiciels en OCaml

Averell

Averell est une librarie OCaml pour les graphes. Elle implémente plusieurs algorithmes usuels et offre une interface avec les outils GraphViz pour le tracé de graphes. Elle a été initialement développée pour Dalton, mais peut être utilisée pour d'autres applications grâce à sa généricité.

APM

Cette librairie offre une interface simple au driver APM Linux pour les programmes OCaml.

Headache

Headache est un outil simple et léger pour manipuler les en-têtes dans les fichiers sources. Il permet d'ajouter et de mettre à jour les en-têtes de tous les fichiers d'un projet, tout en adaptant le format dans chaque fichier selon son type (e.g. en préfixant // dans les fichiers C, # dans les scripts Shell et en encadrant les commentaires par (* ... *) dans les fichiers OCaml.

MozCaml

J'ai également développé, avec Maxence Guesdon, une "SideBar" pour les navigateurs Mozilla et Netscape, dédiée au langage OCaml.