Logiciels
Cameleon 2
Cameleon2 est un environnement de développement pour Objective-Caml, et éventuellement d'autres langages. Ses principales caractéristiques sont:
  • interface graphique,
  • gestion de configuration basée sur CVS,
  • accès et parcours rapide de la documentation des modules OCaml disponibles,
  • éditeurs variés et adaptés aux différents types de fichiers,
  • utilisation de greffons (plug-ins) pour ajouter de nouvelles fonctionnalités,
  • interface hautement paramétrable (menus, barres d'outils, raccourcis clavier).

Cameleon2 inclut un éditeur de code source, Chamo, qui utilise OCaml comme langage interne pour la configuration et l'ajout de greffons (plug-ins), à la façon de elisp pour Emacs. Cela signifie qu'il est possible de développer des extensions pour cet éditeur et de changer son comportement, le tout en OCaml.

Camlget
Caml-get est un outil pour distribuer et obtenir du code Objective-Caml, d'une façon similaire à l'outil apt-get.
Kom
Kom (pour "Keep old mails") est un outil de conservation de messages électroniques. Les messages sont importés dans une base de données MySQL et il est possible grâce à un programme en gtk2 fourni avec d'effectuer des recherches dans les messages ainsi archivés. Il est possible d'importer les messages avant et/ou après une certaine date pour effectuer de l'archivage régulièrement, par exemple tous les mois. Il est également possible d'exporter des messages de la base et de générer des statistiques.
LablGtkSourceView

LablGtkSourceView est une bibliothèque d'interface entre OCaml et GtkSourceView, un widget Gtk étendant le widget "text" standard de Gtk en y ajoutant la colorisation, l'indentation automatique et autres fonctionnalités habituelles des éditeurs de code source.

Avec LablGtkSourceView, il est possible de créer et utiliser des widgets GtkSourceView dans les applications OCaml utilisant LablGtk.

Une première version incomplète de cette interface a été développée par Stefano Zacchiroli. J'ai contributé en ajoutant les fonctions et exemples manquants.

Finalement, la bibliothèque a été incluse dans LablGtk, où nous la maintenons.

Mp3tag
Mp3tag est une bibliothèque Objective-Caml permettant de modifier les tags (version 1 ou 2) dans les fichiers mp3. Deux outils utilisant la bilbiothèque sont fournis: l'un permet de modifier en ligne de commande ou dans une interface graphique les tags, l'autre récupérant l'information par CDDB pour la mettre dans les tags (pour tous les fichiers d'un album).
MyCGR

MyCGR est une collection d'outils pour utiliser la Chaos Game Representation sur des séquences d'ADN. Une bibliothèque Objective-Caml est incluse pour effectuer les manipulations et calculs à partir d'autres applications. MyCGR a été développé pendant la thèse de Peggy Cénac pour implémenter:

  • une nouvelle famille de tests statistiques sur des séquences,
  • la construction et des calculs sur les arbres-CGR (sorte d'arbres digitaux de recherche),
  • des calculs de distances entre séquences pour construire des arbres taxonomiques.

MyRSS
MyRSS est un cgi pour créer un site sur lequel un utilisateur enregistré peut gérer ses différents fils RSS et les consulter tous depuis ce site, en les groupant éventuellement. Une bibliothèque OCaml incluse permet d'ajouter ces fonctionnalités à d'autres sites.
Mysite
Mysite est un programme CDuce générant des fichiers XHTML 1.0 à partir de fichiers XML décrivant un site web. C'est l'outil que j'utilise pour mon site personnel, celui sur lequel vous êtes en train de surfer :)
OCaml-R
OCaml-R permet d'accéder aux fonctions de la bibliotèque "R math" du langage R depuis les programmes OCaml, ainsi que d'embarquer R dans une application OCaml.
OCamldoc
OCamldoc est comme Javadoc mais pour OCaml: c'est un outil de génération de documentation à partir de code source OCaml, en utilisant des commentaires spéciaux. Il permet de générer plusieurs formats de documents (HTML, LaTeX, pages man, ...) and peut également charger des générateurs personnalisés sous forme de bytecode (comme les doclets de Javadoc). OCamldoc est inclus dans la distribution standard d'OCaml depuis la version 3.05.
OCamlODBC
OCamlODBC est une bibliothèque OCaml permettant l'utilisation de divers pilotes ODBC d'accès à des bases de données.
OCamlrip
OCamlrip est un outil pour encoder vos CDs audio en fichiers mp3. L'outil se connecte à un server CDDB pour créer un Makefile. Ce fichier Makefile peut ensuite être utilisé pour encode le CD (toutes ou certaines pistes). Les fichiers mp3 produits ont leurs tags correctement remplis d'après les informations récupérées auprès du serveur CDDB.
Ocgi
Ocgi est une bibliothèque OCaml opur développer des CGIs. Un outil permettant de faire des templates est également inclus. La bibliothèque est déjà utilisée dans MyRSS et pour le site de Libre Cours.
OCamldoc generators
Vous trouverez ici mes générateurs personnalisés pour OCamldoc, pour différentes versions d'OCaml.
Odot
Odot est une petite bibliothèque Objective-Caml pour lire et écrire des fichiers dot Graphviz. Un module additionnel permet d'afficher ces graphes dans une boîte Lablgtk2 et de gérer les clics de souris sur les noeuds du graphe.
Opt-for-size
Opt-for-size est un petit programme OCaml prenant en argument une liste de fichiers ou répertoires et affichant la meilleure combinaison ou une approximation pour remplir une taille donnée. Le programme utilise un algorithme à base de recuit simulé. Un cas typique d'utilisation est le choix de fichiers à graver sur un CD: la taille est limitée et les différentes combinaisons de fichiers/répertoires remplissent plus ou moins la place disponible, ce qui "gâche" plus ou moins la place.
Oug
Oug est un outil d'analyse de code permettant de construire des graphes de références à partir de code OCaml, c'est-à-dire des graphes représentant quels éléments (valeur, module, classe, ...) référencent quels éléments. Une utilisation de cet outil est la recherche de code inutile (i.e. non référencé).
Plandot
Plandot lit une description de graphe Graphviz et quelques informations supplémentaires décrivant des "planches" et génère une image par planche. Chaque planche spécifie quels noeuds du graphe doivent être visibles. Ainsi, on peut utiliser Plandot pour générer les images successives montrant l'évolution d'un graphe, avec les noeuds conservant leur position entre deux planches.
Share
Share est (encore une autre) bibliothèque de fonctions OCaml utiles. Mais elle peut être utilisée de manière "classique" (téléchargement, compilation, installation, utilisation et liaison de programmes avec), ou elle peut-être utilisée avec Caml-get, car tous les éléments de la bibliothèque sont exportés dans une archive caml-get. J'encourage l'utilisation de caml-get plutôt que de la bibliothèque de façon "classique" car il y a déjà beaucoup trop de bibliothèques du style "mes-fonctions-utiles-à-moi". A ce propos, voir Ext-lib.
Yacclib
Yacclib est une petite bibliothèque Objective-Caml pour lire et écrire des fichiers OCamlyacc (.mly). La bibliothèque permet aussi de générer un graphe dot à partir de ces fichiers.