{{http://www.gtk.org/images/header-logo.png?nolink}} \\ [[http://fr.wikipedia.org/wiki/GTK%2B|Document original]] \\ | **Développeurs** : L'équipe **GTK+** et de nombreux contributeurs[[gtk#notes_et_references|[1]]] | | **Dernière version** : 2.12.11 (le 1er juillet 2008) | | **Version avancée** : 2.13.5 (le 21 juillet 2008) | | **Environnements** : Multiplate-forme | | **Type** : Bibliothèque logicielle | | **Licence** : [[wp>fr:Licence_publique_générale_limitée_GNU|GNU LGPL 2.1]] | | **Site web** : [[http://www.gtk.org|www.gtk.org]] | ====== GTK+ ====== **GTK+** (**The GIMP Toolkit**) est un ensemble de bibliothèques logicielles, c'est-à-dire un ensemble de fonctions informatiques, permettant de réaliser des interfaces graphiques. Cette bibliothèque a été développée originellement pour les besoins du logiciel de traitement d'images [[graphisme:gimp|GIMP]]. **GTK+** est maintenant utilisé dans de nombreux projets, dont les environnements de bureau [[environnement:gnome:presentation|GNOME]], [[xfce:xfce|Xfce]] et [[wp>fr:ROX_Desktop|ROX]]. \\ **GTK+** est un projet libre (licence [[wp>fr:Licence_publique_générale_limitée_GNU|GNU LGPL 2.1]]) et multiplate-forme. ===== Langages ===== **GTK+** est écrit en [[wp>fr:C_(langage)|langage C]] et utilise pourtant le [[wp>fr:Paradigme|paradigme]] de la [[wp>fr:Programmation_orientée_objet|programmation orientée objet]][[gtk#notes_et_references|[2]]]. Il est également possible d'utiliser **GTK+** dans de nombreux autres langages de programmation[[gtk#notes_et_references|[3]]] : [[wp>fr:C++|C++]] (avec [[wp>fr:Gtkmm|gtkmm]]), [[wp>fr:Pascal_(langage)|Pascal]], [[wp>fr:PHP:_Hypertext_Preprocessor|PHP]], [[wp>fr:Perl_(langage)|Perl]], [[wp>fr:Ruby|Ruby]], [[wp>fr:Objective_Caml|Objective Caml]] , [[wp>fr:Java_(langage)|Java]], [[wp>fr:Python_(langage|Python]], [[wp>fr:Vala_(langage_de_programmation)|Vala]] ou encore C# avec la plateforme [[wp>fr:Mono_(logiciel)|mono]] au travers du binding [[gtk_sharp|Gtk#]], etc. ===== Apparence ===== **GTK+** est l'interface de différents environnements de bureau comme [[environnement:gnome:presentation|GNOME]], [[xfce:xfce|Xfce]] ou encore [[wp>fr:ROX_desktop|ROX]] ce qui permet une intégration parfaite. Il s'intègre également dans d'autres environnements de bureau GNU/Linux grâce à un moteur de thème qui mime l'interface initiale. Il en va de même sur **Windows** et **Mac OS X**. \\ Parmi ces moteurs de thèmes, on retrouve **Luna** (Windows XP), [[wp>fr:Motif_(bibliothèque_graphique)|Motif]], [[wp>fr:Qt|Qt]] ou [[wp>fr:NeXTSTEP|NeXTSTEP]]. Mais aussi des moteurs originaux comme Industrial par [[wp>fr:Novell|Novell]] ou Bluecurve par [[rpm:red_hat|Red Hat]]. ===== GTK+2 ===== **GTK+2** est la dernière version en date, développée avec l'intention de succéder à **GTK+1.2**. La bibliothèque intègre un nouveau système de rendu du texte utilisant [[wp>fr:Pango|Pango]], un nouveau moteur de thème, accessibilité améliorée en utilisant **ATK** (Accessibility Toolkit), transition complète à [[wp>fr:Unicode|Unicode]] en utilisant l'[[wp>fr:UTF-8|UTF-8]] et une [[wp>fr:Application_programming_interface|API]] plus flexible. Cependant, **GTK+2** manque de compatibilité avec **GTK+1.2**, et les programmeurs doivent adapter les applications. Quelques programmes continuent à employer **GTK+ 1**, car la version originale demeure active, et offre moins de complexité que **GTK+2**, pour les applications embarquées. ===== Développements futurs ===== La question s'est posée de continuer à faire évoluer **GTK+2** en douceur en conservant la compatibilité avec les précédentes version 2.x ou de proposer une nouvelle version de **GTK+** quitte à perdre la compatibilité avec les versions précédentes.[[gtk#notes_et_references|[4]]] Il semble que le principe d'une rupture à intervalles réguliers de 3-4 ans soit admise, et que **GTK+ 2.16** soit la dernière version prévue de la série 2.xx, préparant la venue de la version 3.0.0.[[gtk#notes_et_references|[5]]] ===== Anecdote ===== Par le jeu de l'imbrication des abréviations, les initiales GTK cachent la douce dénomination: The GNU's Not Uniplexed Information and Computing Service Image Manipulation Program Toolkit, que l'on peut encore déployer. C'est une [[wp>fr:Acronymie_récursive#Exemples_d.27acronymes_imbriqu.C3.A9s|abréviation imbriquée.]] ===== Liens externes ===== * (en) [[http://www.gtk.org/|Site officiel]] * (en) [[http://www.dmoz.org/Computers/Software/Operating_Systems/Graphic_Subsystems/Toolkits/Gtk/|Catégorie GTK]] de l’annuaire [[http://fr.wikipedia.org/wiki/Open_Directory_Project|dmoz]]. * (fr) [[http://www.dmoz.org/World/Fran%C3%A7ais/Informatique/Programmation/|Catégorie Programmation]] de l’annuaire [[http://fr.wikipedia.org/wiki/Open_Directory_Project|dmoz]]. ===== Notes et références ===== - (en) [[http://www.gtk.org/people.html|The GTK+ Team]] - GTK+ has a C-based object-oriented architecture that allows for maximum flexibility[[http://developer.gnome.org/doc/API/2.0/gtk/gtk.html|[1]]] - [[http://www.gtk.org/bindings.html|Bindings GTK+]] - (en) [[http://arstechnica.com/articles/culture/reinventing-gtk.ars/|Reinventing GTK: envisioning the future of the toolkit]], 9 avril 2008, par Ryan Paul (ars technica) - (en) [[http://www.osnews.com/comments/20042|GTK+ State of the Union, Plans for 3.0]]