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 :
- petite taille et rapidité de la couche d'interfaçage,
- sécurité par le typage,
- aspect pratique pour le programmeur : clarté et concision du code
à fournir pour utiliser la librairie.
Pour atteindre ces objectifs, une architecture en deux couches
est utilisée :
- couche bas niveau, simple transcription des fonctions C en
fonctions Caml, sans verification de correction de type ;
- couche de haut niveau, orientée objets ; l'héritage des classes
O'Caml suit alors l'héritage des classes Gtk ; comme d'habitude
avec Caml, toute la vérification de types est statique.
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...).

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.