<?xml version="1.0" encoding="utf-8"?>
<!-- -*- indent-tabs-mode: nil -*- -->
<chapter id="bindings">
  <title>Liaisons de langages</title>

  <para>Même si la plate-forme GNOME est écrite principalement en C, elle est volontairement conçue pour faciliter la liaison avec d'autres langages de programmation. En utilisant les liaisons de langages, vous pouvez développer en utilisant la plate-forme GNOME de manière native dans le langage de programmation de votre choix.</para>

  <para>Les liaisons de langages existent pour de nombreux langages de programmation, et les liaisons de la plate-forme GNOME pour C++, Java, Perl et Python sont officiellement prises en charge.</para>

<section id="cpp">
  <title>C++</title>
  <para>Les liaisons C++ offrent une couverture complète de la plate-forme GNOME, y compris GTK+, Libglade et GConf. Les liaisons C++ enveloppent tous les objets dans des objets C++ natifs et permettent aux programmeurs de fournir des composants personnalisés avec l'héritage C++ habituel. Elles fournissent une interface de programmation complètement native, avec des gestionnaires de signaux typés, une utilisation complète de la bibliothèque C++ standard et une gestion C++ de la mémoire complète.</para>

  <para>Pour plus d'informations sur les liaisons C++ dans GNOME, consultez <ulink url="http://www.gtkmm.org/">le site Web gtkmm</ulink>.</para>
</section>

<section id="java">
  <title>Java</title>
  <para>Les liaisons Java recouvrent complètement la plate-forme GNOME, y compris GTK+, Cairo et GConf. Les liaisons Java enveloppent tous les objets dans des objets Java natifs et permettent aux programmeurs de fournir des composants personnalisés avec l'héritage Java habituel. Elles fournissent une interface de programmation complètement native, en exploitant les bibliothèques et les interfaces de classes Java lorsqu'elles se justifient.</para>

  <para>Pour plus d'informations sur les liaisons Java pour GNOME, consultez le <ulink url="http://java-gnome.sourceforge.net/">site Web de Java-GNOME</ulink>.</para>
</section>

<section id="perl">
  <title>Perl</title>
  <para>Les liaisons Perl offrent des interfaces Perl natives pour la plate-forme GNOME, y compris GTK+, GnomeVFS et GConf. Les liaisons Perl enveloppent tous les objets dans des objets Perl natifs et permettent aux programmeurs d'utiliser les pratiques Perl usuelles pour les manipuler. Elles fournissent une interface de programmation complètement native, en exploitant les types de données natifs de Perl lorsqu'ils se justifient.</para>

  <para>Pour plus d'informations sur les liaisons Perl pour GNOME, consultez le <ulink url="http://gtk2-perl.sourceforge.net/">site Web gtk2-perl</ulink>.</para>
</section>

<section id="python">
  <title>Python</title>
  <para>Les liaisons Python offrent des interfaces Python natives pour la plate-forme GNOME, y compris GTK+, GnomeVFS et GConf. Les liaisons Python enveloppent tous les objets dans des objets Python natifs et permettent aux programmeurs de fournir des composants personnalisés avec l'héritage Python habituel. Elles fournissent une interface de programmation Python complètement native qui gère automatiquement les détails tels que le forçage de type et la gestion de la mémoire.</para>

  <para>Pour plus d'informations sur les liaisons Python pour GNOME, consultez le <ulink url="http://www.pygtk.org/">site Web PyGTK</ulink>.</para>
</section>

<section id="other-bindings">
  <title>Autres langages</title>
  <para>Il existe des liaisons partielles ou complètes pour bien d'autres langages de programmation, tels que C#, Eiffel, JavaScript, Ruby ou encore Scheme. Même si elles ne sont actuellement pas officiellement prises en charge par GNOME, la plupart sont de la même très bonne qualité que les liaisons officielles pour GNOME. Il est même possible que certaines d'entre elles soient inclues officiellement dans GNOME dans de futures versions.</para>

  <para>Pour une liste des liaisons de langages, consultez la <ulink url="http://www.gtk.org/language-bindings.html">page des liaisons de GTK+</ulink>.</para>
</section>

</chapter>
