Introduction
1. Qu'est-ce que GTK+?
GTK+ est une bibliothèque permettant de créer des interfaces
graphiques (GUI) très facilement.
A l'origine, GTK+ a été développé pour les besoins
du logiciel de traitement d'images GIMP
(GNU Image Manipulation Program). Mais aujourd'hui, le domaine d'application
ne se limite plus seulement à GIMP, mais est utilisée dans d'autres
projets. Ainsi, l'environnement GNOME
(GNU Network Object Model Environment) est basé sur GTK+.
L'utilisation de GTK+ pour la création de GUI est très intéressante
sur plusieurs points :
- GTK+ est sous licence
GNU LGPL. Cela fait de GTK+ une bibliothèque libre, permettant
ainsi de l'utiliser ou de la modifier sans aucune contrainte financière.
Pour avoir plus de renseignement, le plus simple est de visiter le
site du projet GNU ;
- GTK+ existe sur plusieurs plates-formes. En effet, GTK+ fonctionne sur les
plates-formes UNIX-like, Windows, BeOs;
- GTK+ est utilisable avec plusieurs langages de programmation. Même
si les créateurs de GTK+ ont écris cette bibliothèque
en C, sa structure orientée objets et sa licence ont permis à
d'autres développeurs d'adapter GTK+ à leur langage préféré.
Ainsi, il est maintenant possible de programmer des GUI GTK+ en C, C++, Ada,
Perl, Python, PHP et bien d'autres.
Les créateurs de GTK+ sont :
Actuellement, GTK+ est maintenu par :
Le site officiel de GTK+ est http://www.gtk.org.
2. Objectif du cours.
L'objectif de ce cours est de vous offrir un support en français pour
la création de vos applications GTK+ en langage C. Ce cours développera
en détail la majorité des fonctions de GTK+ tout en fournissant
des exemples concrets. De ce fait, ce cours sera une sorte de tutorial couplé
à un manuel de référence complet.
3. A qui s'adresse ce cours?
Ce cours est destiné plus particulièrement à trois types
de programmeurs :
- les novices en programmation GUI ;
- les personnes connaissant d'autres GUI (API Win32, wxWindow) ;
- les personnes connaissant GTK+ 1.2.
Pour profiter pleinement de ce cours, vous devez avoir une connaissance du
langage C. Si tel n'est pas le cas, nous vous conseillons :
- "Le langage C, norme ANSI" de Brian W. Kernighan et Denis M. Ritchie,
édition DUNOD (ISBN : 2100051164). C'est le livre de référence
du langage C, écrit par ses créateurs.
- Le cours de Christian Casteyde : cours de C/C++.
Il s'agit d'un très bon cours sur le C/C++. Même si ce cours
est plutôt axé sur le C++, les premiers chapitres pourront vous
apprendre beaucoup sur le langage C.
4. Organisation du cours
Le cours est divisé en deux parties :
- la première section est consacrée à l'étude
de la GLib qui est utilisée par GTK+;
- la deuxième partie présentera les differents objets proposées
par GTK+.
Chaque partie sera ensuite divisée en plusieurs chapitres contenant
un ou plusieurs objectifs. Chaque objectif sera, la plupart du temps, accompagné
d'un programme exemple qui illustrera les notions abordées.
Chaque chapitre, se terminera par la section En savoir plus, qui présente
plus ou moins en détail, les fonctions et propriétés de
l'objet étudié.
5. Comment y contribuer ?
Vous pouvez contribuer à ce cours tout simplement en le diffusant ou
en l'améliorant (dans les termes de la licence GNU FDL jointe à
la fin du cours).
Vous pouvez aussi nous informer d'une quelconque erreur de grammaire ou d'orthographe.
Vous pouvez aussi nous avertir d'une mauvaise explication d'un concept, ainsi
nous ferons notre possible pour faciliter la compréhension de ce cours.
Pour nous contacter, envoyez-nous un e-mail à
ou alors vous pouvez laisser un message sur le forum du site http://www.developpez.com.
6. Auteurs de ce cours
Julien IBARZ
Raphaël MARINIER
Kitone
Jérome CECCHI
Hood
Date de mise à jour : 17 mai 2003.