Développement de programmes

Note : les logiciels de cette page ont été programmés sur des systèmes Un*x et peuvent fonctionner ou non dans d'autres environnements, notamment Windows NT. Les archives sont fournies en format tar-gzip. Bien que l'auteur ait essayé d'être précis et prudent, il n'a a absolument aucune garantie sur la fiabilité de la documentation et des logiciels présentés ici. En particulier, les versions de développement peuvent être instables. Tous commentaires constructifs bienvenus.

Classification des adresses IP par pays

Cette bibliothèque, facilement appelable depuis C ou Perl, peut dire, au vu d'une adresse IPv4, le pays dans lequel celle-ci a été enregistrée. La base de données est construite à partir de fichiers officiels de blocs d'adresses IP. (Actuellement, valable pour tous les pays hors des Amériques; négociations en cours avec ARIN et LACNIC pour les informations manquantes.)

GNU Emacs

Je programme un peu en emacs-lisp (ahem) et j'ai patché server.el pour rendre son utilisation plus pratique. Notamment, il est possible de lui demander d'ouvrir une fenêtre pour chaque fichier édité par un client. Téléchargement. Par ailleurs, je signale l'existence de l'excellent mic-paren.el, qui met vos parenthèses (et crochets...) correspondantes en vert et celles qui ne correspondent pas en rouge quand vous passez dessus (très pratique pour éditer du Lisp ou du Caml.

Objective Caml

Le langage Objective Caml, développé à l'INRIA (Institut National de la Recherche en Informatique et Automatique) est un langage de la famille ML (fonctionnel à typage polymorphe prédicatif statique avec des aspects impératifs), particulièrement adapté aux manipulations de structures de données complexes. Il s'agit d'un logiciel libre.

Caml - GMP

GMP (GNU MP) est une librairie de calcul en précision étendue (entiers, rationnels, flottants). J'ai réalisé l'interface avec O'Caml. L'utilisation s'en fait alors facilement et de façon transparente. Il s'agit d'un logiciel libre.

Téléchargement. (v0.13)

Caml - Gtk

Gtk est une librairie pour la réalisation d'interfaces graphiques conviviales pour le système d'affichage X Window. Elle est en autres utilisée dans le logiciel de dessin et retouche Gimp et dans le projet Gnome d'environnement graphique.

Gtk est basée sur une couche au dessus de X11 nommée Gdk, qui facilite l'utilisation des fonctions de tracé élémentaires. Il s'agit d'un logiciel libre.

Il existait bien sur déjà CamlTk mais, comme tous les systèmes basés sur Tcl/Tk, il souffre de la lourdeur, de la lenteur et des limitations de ce dernier. J'ai donc decidé de faire une librairie plus pratique.

Gtk a l'avantage certain d'avoir été prévu pour être interfacé avec des langages interprétés (en particulier pour les callbacks). C'était donc une librairie particulièrement indiquée. Il est basé sur un système de classes avec héritage simple, suivant le modèle du C++, mais implémenté en C. Les opérations (par exemple, l'affichage, l'ajout d'un élément) sont des méthodes.

Remarquons que ce typage en hiérarchie de classes nécessite une certaine sécurité de typage : ainsi, il faut signaler une erreur si l'on essaye d'invoquer une méthode d'ajout d'un élément, disponibles sur les listes, sur un objet ne possédant pas une telle méthode, comme un label. En Gtk pour C, on conseille d'utiliser certaines procédures réalisant une vérification dynamique. Dans notre version Caml, nous aurons un typage statique. Cela en particulier rendra plus sûr l'utilisation des callbacks.


Les objectifs de cette implémentation sont : Pour atteindre ces objectifs, une architecture en deux couches est utilisée : Nous voulons également donner un accès complet à la librairie Gdk, qui servira ainsi de système de tracé graphique puissant et pratique, avec les primitives habituelles (couleurs, tracé de lignes, texte, polygones...).

Exemple de dialogue mlgtk Un autre dialogue mlgtk, avec des tracés Gdk

Pour le moment, la librairie est en cours de développement. Vous pouvez cependant obtenir une pré-version... Toutes contributions bienvenues ! Téléchargement.

Participation à des projets extérieurs

The Gimp

The Gimp est un projet d'un logiciel libre de dessin et de retouche d'images en vraies couleurs, comparable à Photoshop.

Je teste les versions beta de ce logiciel, notamment pour la compatibilité avec les architectures Solaris et SunOS, et j'écris des modifications (patches).


Pages de David Monniaux. Mer 19 Aou 2009 14:05:47
Français English
Pages formatées avec htmlpp.