Chapitre 1
Introduction

À propos de GTK+

GTK+ (le GIMP Toolkit) est une bibliothèque pour créer des interfaces graphiques. Son nom provient d’ailleurs du fait qu’elle a été initialement écrite pour le fameux GNU Image Manipulation Project (GIMP). Elle est placée sous la licence LPGL, ainsi vous pouvez développer des logiciels libres, ou même des logiciels commerciaux payants sans avoir à dépenser quoi que ce soit en licences ou en royalties.

GTK+ est elle-même basée sur d’autres bibliothèques qui sont :

L’un des avantages d’avoir une bibliothèque écrite en C est que la plupart des langages sont capables d’avoir une interface avec les bibliothèques C, rendant GTK disponible pour plusieurs langages, comme C-, Perl, Python, Eiffel et beaucoup d’autres.

Les créateurs de GTK+ sont :

Actuellement, GTK+ est maintenu par :

Le site officiel de GTK+ est http://www.gtk.org.

À propos de Gtk2-Perl

Gtk2-Perl est donc l’encapsulateur qui permet d’utiliser la librairie GTK+, version 2, en Perl. Gtk2-Perl est sous la license LGPL, ce qui signifie qu’il possède les mêmes restrictions et les mêmes libertés que Perl.

Bien qu’écrite en C, GTK+ est implémentée selon le modèle de programmation objet, ce qui implique beaucoup de rigueur de la part des développeurs. En effet, pour mettre en place la notion d’héritage et d’objet, il a été développé un système de type et une méthodologie précise dont on a pas à se préoccuper avec un langage orienté objet.

Et c’est là que le travail de la Gtk2-Perl TEAM est magique ! Tout le côté désagréable de gestion de type est effectué par le module et non par le programmeur. Ainsi écrire un programme avec le module Gtk2-Perl se fait de la même manière que n’importe quel programme Perl écrit selon le modèle de programmation objet.

La Gtk2-Perl Team que l’on peut contacter sur gtk-perl-list@lists.gnome.org :

Ont également participer en envoyant des patchs :

Le site officiel de GTK+ est http://www.gtk2-perl.sourceforge.net.

À propos de ce tutoriel

Il est vrai que le module est fidèle à la bibliothèque C donc la documentation C est valable à 95%. Mais il faut bien penser à ceux qui ne maîtrisent pas le langage C et encore moins la langue de Shakespeare ! Ce tutoriel ne se veut qu’une introduction en français mais en aucun cas un manuel de référence. Votre trouverez d’ailleurs ce dernier au format pod sur le site officiel http://www.gtk2-perl.sourceforge.net. À mon avis, une fois que l’on a assimilé quelques bases en Gtk2-Perl, la consultation de la documentation C est naturelle.

Ce tutoriel se concentre sur les liens entre Perl et GTK c’est pourquoi une connaissance approfondie de Perl n’est pas nécessaire, mais est préférable. Je prendrais rarement le temps d’expliquer des détails sur Perl donc si vous n’êtes pas sûr de vos compétences en Perl, ayez à portée de main votre guide de référence Perl préféré.

Si quelqu’un veut aider à l’élaboration de ce tutoriel, qu’il se fasse connaître en me contactant :

Patrice.Le-Borgne@ac-rennes.fr

J’espère que mes exemples seront lisibles et compréhensibles pour les novices en Perl, les experts et n’importe qui entre les deux. Ce document est “un travail en cours”. J’aimerais beaucoup savoir si vous avez eu des difficultés à apprendre Gtk2-Perl à partir de ce document et j’apprécierais également toute suggestion qui vise à améliorer le document. Si vous êtes un programmeur expérimenté en Gtk2-Perl, ce qui n’est pas mon cas, faîtes-moi savoir si j’ai commis des erreurs, s’il est des éléments que j’ai délaissés ou mal expliqués.

Les principales sources de ce document sont :

La coloration syntaxique a été réalisée à l’aide du programme highlight.

Une version pdf de ce document est disponible ici.

Pour bien démarrer

La première chose bien évidemment est d’avoir une installation de Gtk2 qui fonctionne, une version récente est recommandée. Ensuite , il faut télécharger et installer dans l’ordre suivant les sources de :

Vous pouvez toujours avoir les dernières versions à partir du site http://www.gtk2-perl.sourceforge.net.

L’installation ne devrait pas poser de problème. Pour chacun des modules, il suffit de faire :

perl Makefile.PL  
make  
make install