Le projet GNOME

GNOME est l'abréviation de GNU's Network Object Model Environment. GNOME solutionne un certain nombre de problèmes qui jusque là ont été négligés dans le monde UNIX:

Le principal objectif de GNOME est de fournir une suite d'applications conviviales sur un environnement graphique pratique à utiliser. Tout comme les autres programmes GNU, GNOME a été prévu pour fonctionner sur tous les systèmes d'exploitation "UNIX-like".

Historique de GNOME

Le projet GNU GNOME a été initialement annoncé en Août 1997 et après juste une année de développement, approximativement 200 développeurs du monde entier participent au projet.

L'annonce d'origine a été postée sur un certain nombre de forums pour développeurs: les listes de diffusion GNU announce; la liste de diffusion de Guile ainsi que sur les listes GTK+ et GIMP. Les programmeurs qui ont influencé le projet furent principalement des enthousiastes du logiciel libre experts dans des domaines aussi divers que la programmation graphique ou le design de langages.

L'équipe GNOME a travaillé dur pour créer une fondation solide pour les futurs développements du logiciel libre. GNOME fournit une boite à outils et un ensemble de composants réutilisables pour servir de fondation aux logiciels destinés au grand public dont Linux a réellement besoin.

Les versions récentes du GNU Network Object Model Environment ont été: GNOME 0.20, la première version de GNOME qui montrait des signes d'intégration, sortie en Mai 1998; la version "Drooling Macaque" 0.25 qui avait déjà plus de fonctionnalités; et enfin la version actuelle, GNOME "Bouncing Bonobo" 0.30.

La version 0.20 de GNOME a été la première a avoir été distribuée sur CD-Rom: Red Hat 5.1 contenait une maquette de l'environnement GNOME et a été montrée au public pour la première fois à la Linux Expo 1998 en Caroline du Nord.

Avant d'installer la version "Drooling Macaque", les versions des logiciels GNOME étaient coordonnées par deux ou trois personnes de l'équipe de développement. Cela est devenu un problème dans la mesure où un temps précieux été perdu pour synchroniser chaque version. Nous avons essayé de rendre le logiciel plus modulaire et d'assigner un responsable différent à chaque module. Le responsable de chaque module est responsable pour le packaging, les tests et la sortie officielle de chaque module indépendamment de la distribution principale qui n'est composée que des bibliothèques de base ainsi que des principales applications du bureau. Jusqu'à présent cette méthode a plutôt bien réussi, mais il y a encore de la place pour des améliorations. Nous continuerons à améliorer le processus de sortie des nouvelles versions dans l'avenir.

La version la plus récente de GNOME ("Bouncing Bonobo") est la première à inclure le tableur GNOME: Gnumeric.

 

Red Hat Advanced Development Labs

En janvier 1998, Red Hat a annoncé la création des Red Hat Advanced Development Laboratories (RHAD). L'objectif initial des Red Hat Labs était d'aider l'effort GNOME en fournissant du code source et des développeurs ainsi qu'en nous aidant à gérer les ressources du projet.

L'intégralité du code contribué par le RHAD à GNOME a été fournis sous les termes des licences GNU GPL ou GNU LGPL. Plusieurs développeurs de GTK+ et GNOME ont été employés par Red Hat et ils ont rapidement apporté un nombre important de fonctionnalités au projet GNOME.

Par exemple, Rasterman a implémenté les thèmes pour GTK+; ceux-ci permettent à l'utilisateur de changer l'apparence des éléments graphiques. Cela a été réalisé en abstrayant les routines de la boite à outils chargées de l'affichage et en les plaçant dans des modules qui peuvent être changés en cours d'exécution. De ce fait, l'utilisateur peut changer l'apparence de ces applications sans même avoir à les relancer.

Les thèmes GTK+ sont totalement fonctionnels et un certain nombre d'entres eux ont déjà été écrits. Actuellement (NTD: fin novembre 1998), les thèmes disponibles sont : Motif, Windows 95, Métal, GTK-natif et moteur générique utilisant des bitmaps . Le site web http://gtk.themes.org/ tient à jour une liste de thèmes contribués par les utilisateurs parmi lesquels vous pouvez faire votre choix.

Un certain nombre de changements importants de la boite à outils GTK+ ont été requis pour le projet GNOME, tels que la navigation dans les menus par les touches du clavier et un protocole de "Drap and Drop" amélioré ont été écrit par Owen Taylor, un célébre hacker GTK+ qui travaille maintenant pour les Red Hat Labs.

Un certain nombre d'applications ont été créés où sont actuellement maintenues par des membres du RHAD: la front-end pour Ghostscript (par Jonathan Blandford), Le navigateur dans l'Aide GNOME ainsi que l'interface GNOME pour RPM (Marc Ewing et Michael Fullbright), le Calendrier GNOME et GNOME Canvas (Federico Mena) et ORBit CORBA 2.2 (Elliot Lee).

Autres Dons

Le projet GNOME a reçu une don financier de la part de l'équipe Debian GNU/Linux au commencement du projet, ainsi qu'une carte Alpha de la part de Quant-X Service and Consulting G.m.b.H. Nous sommes très reconnaissant de leurs contributions.

Quelques fonctionnalités clefs de GNOME

Les bibliothèques GNOME fournissent un environnement pour créer des applications consistantes et simplifier la tâche du programmeur. Les principales fonctionnalités des bibliothèques GNOME seront détaillées un peu plus loin. Certains des aspects les plus importants des développements en cours sont examinés ici.

Métainformations

Un des problèmes auquel doit faire face un environnement graphique est le fait qu'il est en général nécessaire de disposer d'un mécanisme pour stocker des informations concernant les propriétés d'un fichier. Par exemple, les applications peuvent associer une icône à un fichier exécutable spécifique ou associer une image réduite à un graphique produit par un programme de dessin. Ces icônes doivent être sémantiquement associées au fichier principal.

Le système d'exploitation du Macintosh, par exemple, fournit un moyen de stocker une information sur un fichier dans sa "resource fork". Dans le meilleurs des cas, cette méthode représente une monstruosité quant à l'implémentation dans le monde UNIX. Le problème vient du fait que les applications qui ne savent pas utiliser les métainformations pourraient désynchroniser celles ci avec le contenu du fichier.

Les métainformations GNOME ont été implémentées par Tom Tromey de Cygnus étant donné un certain nombre de compromis et de contraintes sur le design et (décris sur son site web). Voici la liste des fonctionnalités des métainformations GNOME:

1.L'association d'une information peut se faire fichier par fichier et est personnelle à chaque utilisateur. Chaque utilisateur garde trace de ses propres informations. Les informations par défaut définies par le système s'appliquent par dessus les informations définies par chaque utilisateur.

2.L'association d'information en fonction du type du fichier se fait en utilisant la signature du fichier, tout comme le fait la commande UNIX file.

3.Possibilité d'associer une information par expression régulière: par exemple, une icone par défaut pour les images GIF doit pouvoir être associée en spécifiant l'expression régulière .*\.gif$.

4.Le système de métainformations est optimisé pour fournir une solution graphique cohérente, plutôt qu'un compromis ou une bidouille pour les outils en ligne de commande existant.

5.La plupart des utilisations des fichiers ordinaires devra pouvoir se faire sans l'aide des métainformations comme c'est le cas actuellement.

Un certain nombre de propriétés standards pour les métainformations sont déjà disponibles dans GNOME. Par exemple, "View" stocke une action à effectuer pour visualiser le contenu du fichier; "Open" stocke une action analogue pour l'édition; "Icon", contient le nom de l'icone à utiliser pour afficher le fichier sur le bureau.

Les types de métainformations sont des types MIME.

Canvas

GNOME fournit une widget Canvas, dont le design reprend celui de l'excellent Canvas de Tk. Cette widget simplifie la programmation d'applications qui nécessitent un contrôle sur les composants graphiques. La fonctionnalité la plus remarquable du GNOME Canvas est qu'il fournit une aire de dessin sans aucun problème de clignotement, où des objets de haut niveau peuvent être insérés et manipulés. Les fonctions de zoom et de défilement font également partis du Canvas.

Les objets de haut niveau peuvent être insérés dans un Canvas comme des widgets ordinaires. Ils peuvent recevoir des événements X, récupérer le focus ou capturer le pointeur souris comme toutes les autres widgets. Tout comme pour son équivalent Tk, les éléments du Canvas GNOME peuvent voir leurs propriétés changées durant l'exécution avec un mécanisme similaire à celui employé par Tk.

Le Canvas GNOME est fourni avec un nombre d'éléments dérivés à partir d'objets GnomeCanvasItem : lignes, rectangles, ellipses, flèches, lignes brisées et un widget conteneur générique pour inclure des widgets GTK+ dans le Canvas. L'environnement du Canvas est prévu pour être extensible. Preuve de cette extensibilité, le tableur GNOME a été implémenté au dessus de la widget Canvas de base, avec des fonctionnalités additionnelles fournis par des CanvasItems spécifiques au tableur.

Notons que l'implémentation actuelle du Canvas utilise des primitives Gdk (une surcouche de la Xlib) pour dessiner, il n'est donc absolument pas limité dans la qualité et l'étendue des effets spéciaux qui peuvent lui être appliqués, ce qui nous amène à parler de la suite de la technologie du Canvas.

Raph Levien travaille actuellement sur un moteur de rendering pour le Canvas. Il a été développé à l'origine comme une widget isolée pour son éditeur de polices Type1, gfonted. Actuellement, le travail d'intégration du moteur de rendering du Canvas est en cours.

Les fonctionnalités de ce moteur incluent:

- Anti-aliasing sur tous les éléments

- Transparence Alpha

- Eléments de vecteurs et courbes de bézier

- Eléments pour images RGB et RGB plus alpha

- Opérations sur les vecteurs, incluant les intersections, unions, différences et "stroke layout"

- Chargement et rendu de polices PostScript Type1

Le but du design du moteur était de supporter tous les modèles d'images PostScript y compris l'alpha transparence. Il est prévu que ce moteur soit un excellent point de départ pour toutes les applications graphiques de haut niveau.

En dépit du but ambitieux de conserver un affichage à jour avec des éléments entièrement anti-aliasés et alpha-composés, les performances sont extrêmement bonnes ­ comparables en fait aux primitives Xlib de base.

Il est prévu que ce code soit intégré au Canvas GNOME très prochainement.

Indépendance vis-à-vis du gestionnaire de fenêtres

GNOME n'a aucune dépendance sur un gestionnaire de fenêtres particulier ­ n'importe quel gestionnaire de fenêtres existant fait l'affaire. GNOME envoie des indications ("hints") au gestionnaire de fenêtres qui peut les utiliser pour donner une meilleure consistance du bureau, mais le respect de ces indications est optionnel. Le gestionnaire de fenêtres E implémente toutes les indications GNOME et peut être utilisé comme implémentation de référence par les développeurs désirant étendre les fonctionnalités de leur gestionnaire de fenêtres pour le rendre GNOME-compatible. Le gestionnaire de fenêtre ICEWM suit de près ces développements et il est également considéré comme étant GNOME-compatible, bien qu'actuellement il soit un peu à la traîne. Certaines personnes ont montré leur intérêt en fournissant aux mainteneurs de WindowMaker et FVWM2 des patchs qui rendent ces gestionnaires de fenêtres GNOME-compatible.

Programmation par composants

Historiquement, une des attractions d'UNIX est la philosophie d'avoir des outils simples, chacun ne faisant qu'une seule chose, mais correctement. Ces outils peuvent être combinés en utilisant des tubes ou des scripts shell pour accomplir des tâches plus évoluées. Cette méthode fonctionne très bien quand les données sont représentées par des fichiers de texte et que les opérations constituent des filtres. Cependant, cette philosophie de la ligne de commande ne s'adapte pas bien au monde actuel, composé principalement d'objets multimédia.

Il serait donc souhaitable d'avoir dans GNOME un environnement qui fournisse des composants logiciels réutilisables et interactifs, permettant de connecter entre eux des composants spécialisés pour accomplir des tâches plus complexes. Avec cette infrastructure en place, les applications GNOME peuvent revenir à la philosophie UNIX initiale des outils simples et spécialisés.

Un système d'appel de procédures à distance était donc requis pour fournir ce type de fonctionnalité. Nous avons donc décidé d'utiliser le système CORBA (Common Object Request Broker Architecture) défini par l'«Object Management Group» (OMG). CORBA peut être vu comme un système de RPC orienté objet qui a une interface standard pour un grand nombre de langages de programmation.

CORBA nous a ouvert la porte d'un grand nombre d'applications. La programmation par composants nous a permi de créer des programmes et des bibliothèques dynamiques qui implémentent chacun une interface spécifique.

Par exemple, le programme de messagerie GNOME, Balsa, implémente l'interface GNOME : MailMessage qui permet à tous les programmes utilisant CORBA de composer des messages e-mail et de les envoyer. Il est également possible de remplacer Balsa par n'importe quel autre programme de messagerie qui implémente cette même interface. En ce qui concerne GNOME, l'application n'a qu'à implémenter une interface spécifique; ce qui signifie que je pourrais continuer à utiliser GNUS pour lire mes messages et l‚avoir entièrement intégré à mon environnement. Il en va de même pour tous les autres composants du système GNOME : le carnet d'adresses, le gestionnaire de fichiers, le programme d'émulation de terminal, le programme d'aide, les applications de bureautique, etc.

En plus de fournir les interfaces GNOME standard, les applications peuvent fournir une interface permettant d'accéder aux fonctionnalités spécifiques à leur implémentation. Cela est fait en utilisant le mécanisme d'héritage de CORBA; une interface spécifique peut être dérivée d'une interface plus générique. Par exemple, GNUS peut implémenter l'interface GNOME : GnusMailMessage. Celle ci pourra permettre à l'utilisateur de personnaliser GNUS au niveau Lisp, ce que les autres programmes de messagerie ne permettent pas. Un autre exemple pourrait être l'interface GNOME: Mozilla MailMessage qui permettrait à l'utilisateur d'utiliser les fonctionnalités supplémentaires fournies par le HTML.

Non seulement CORBA permet d'adresser ces problèmes, mais CORBA peut également être utilisé comme méthode de communication entre les processus. Plutôt que de réinventer un nouveau système de communication chaque fois que 2 programmes doivent communiquer entre eux, une interface CORBA peut avantageusement être utilisée.

L'inclusion d'un document à l'intérieur d'un autre a été popularisée par Microsoft avec leur architecture Object Linking and Embeding (OLE). Un modèle similaire pour GNOME est en cours de design (le modèle Baboon) et toutes les communications entre applications définies dans ce modèle sont définies en termes d'interfaces CORBA.

Initialement, nous étions très enthousiastes sur les possibilités que CORBA présentait, mais nous avons rapidement réalisé que l'utilisation de CORBA dans l'environnement GNOME serait plus dure que prévue.

Nous avons essayé ILU de Xerox; à cette époque la licence ne nous permettait pas de faire de modifications dans son code source et de les redistribuer, une chose primordiale dans la communauté du logiciel libre, nous avons donc dû chercher des alternatives. Xerox a cependant changé depuis sa politique vis-à-vis de la licence d'ILU.

Après avoir évalué plusieurs implémentations libres de CORBA, nous avons choisi MICO, car il était riche en fonctionnalités, mais d'une implémentation très simple. MICO a été conçu pour être un outil d'apprentissage de CORBA, avec un code source prévu pour rester simple et clair.

Malheureusement, nous nous sommes rapidement aperçu que MICO n'était pas un outil dont la qualité était suffisante pour être utilisé avec GNOME. L'utilisation sans discernement des templates C++ (à la fois dans MICO et le code qu'il génère) est très gourmande en ressources. La compilation de certaines parties de GNOME nécessitait jusqu'à 48 Mo de mémoire même pour les utilisations les plus simples de CORBA et cela ralentissait le développement. Un autre problème venait du fait que MICO ne supportait que l'interfaçage avec le C++. Bien qu'une tentative a été faite pour développer un interfaçage avec le langage C, celui-ci est resté incomplet et mal maintenu.

Pour adresser ces problèmes, Dick Porter d'i2it et Elliot Lee de Red Hat Labs ont écrit une implémentation de CORBA en C rapide appelée ORBit. Dès qu'ORBit a été utilisable, l'utilisation de CORBA dans GNOME a commencé, après un délai de presque 8 mois.

Avec cette implémentation efficace et très stable de CORBA sous notre contrôle, nous pouvons nous assurer que l'interface CORBA disponible pour les développeurs est un service efficace plutôt qu'une surcharge.

Dissection d'une application GNOME

La boîte à outils

Les applications pour le bureau GNOME sont construites au dessus de la boîte à outils orientée objets GTK+ destinée à l'origine pour le GNU Image Manipulation Program (GIMP).

GTK+ a été implémenté au dessus d'une API de fenêtrage et de dessin simple appelée Gdk (GTK Drawing Kit). La version initiale de Gdk était seulement une mince surcouche autour de la bibliothèque Xlib, mais un portage sur Win32 et sur le système de fenêtrage Y sont actuellement en cours de développement.

GTK+ implémente un système d'objets entièrement en C. Celui-ci est très riche en fonctionnalités, comme l'héritage classique, la création dynamique de nouvelles méthodes et de classes ainsi qu'un mécanisme de signaux pour attacher dynamiquement des gestionnaires à divers événements envoyés par l'interface graphique. Une des grandes forces de GTK+ est son interfaçage avec la plupart des langages courants incluant C++, Objective-C, Perl, Python, Scheme et Tom. Ces interfaçages fournissent à la fois accès aux objets GTK+ et aux objets programmés dans le langage lui-même.

Une autre fonctionnalité de GNOME est la bibliothèque Imlib de Rasterman. Celle-ci est implémentée au même niveau que Gdk et fournit une interface rapide et flexible pour charger et sauver des images, ainsi que l'affichage sur écran. Les applications utilisant cette bibliothèque disposent d'un accès direct et rapide aux images de type PNG, GIF, TIFF, JPEG et XPM, ainsi qu'à quelques autres formats disponibles sous forme de filtres de conversion externes.

Les bibliothèques de Support

Les applications GNOME programmées en C utilisent la bibliothèque utilitaire glib. Glib fournit au programmeur C un ensemble de structures de données utiles: listes chaînées, tables de hash, arbres, manipulation de chaînes, réutilisation de la mémoire, macros pour le débugage, assertions, et fonctionnalités pour gérer les historiques d'erreurs. Glib inclue également une interface portable permettant de charger des modules dynamiquement.

Les bibliothèques GNOME

Les bibliothèques GNOME ajoutent les pièces manquantes aux boîtes à outils pour créer des applications complètes, (avec une interface) consistantes entre elles de façon à faciliter la localisation des applications, de telle sorte qu'elles puissent être utilisées dans de nombreux pays.

Les bibliothèques GNOME actuelles sont: GTK+-xmhtml, gnome-print, libgnome, libgnomeui, libgnorba, libgtop, gnome-dom et gnome-xml. D'autres bibliothèques ne sont utilisées que pour des applications spécifiques: libPropList (qui serra bientôt remplacé par un moteur de configuration) et audiofile.

La principale bibliothèque non graphique est libgnome. Elle fournit des fonctions pour garder trace des documents les plus récement utilisés, gestion des métainformations (décrites plus haut), gestion des meilleurs scores pour les jeux et gestion des paramètres passés en ligne de commande. Cette bibliothèque ne dépend pas de l'utilisation de l'environnement graphique.

Comme nous utilisons CORBA pour aider à l'intégration des éléments du bureau, nous avons une bibliothèque spéciale qui gère les aspects CORBA appelée libgnorba. Elle fournit l'intégration GUI/CORBA (pour permettre aux applications d'agir comme des serveurs), l'authentification dans l'environnement GNOME et l'activation de services.

La bibliothèque gnomeui, par contre, contient tout le code nécessaire au système de fenêtrage. Elle contient les éléments suivants:

- Gestionnaire de session GNOME.

- Des widgets, extensions de GTK+ et dépendant de fonctionnalités de libgnome.

- Un ensemble de boîtes de dialogue standards qui ne sont pas disponibles dans GTK+

- Boîtes de dialogues pour la configuration des propriétés standard

- Gestion des fenêtres de premier niveau

- Une interface pour la gestion des documents multiples (gnome-mdi)

- "hints" de fenêtrage

- Intégration CORBA

GTK+-XmHTML est un portage de la widget XmHTML de Koen D'Hondt pour Motif, qui est utilisée pour afficher les documents HTML. Nos changements ont été intégrés dans la distribution principale.

La bibliothèque gtop permet aux applications systèmes d'être facilement portées sur d'autres systèmes d'exploitation; elle fournit des informations sur le système, les processus et les systèmes de fichiers.

gnome-xml permet aux applications GNOME décharger, analyser et sauver des fichiers XML, et est, entre autres, utilisée par le tableur GNOME (Gnumeric) ainsi que par le traitement de texte GNOME. gnome-dom fournit une implémentation du Document Objet Model du World Wide Web Consortium pour les applications GNOME. A l'heure où vous lirez cet article gnome-dom aura été largement déployé dans toutes les applications de bureautique de GNOME. gnome-xml et gnome-dom sont développés par Daniel Veillard du World Wide Web Consortium.

gnome-print implémente le système d'impression GNOME. Il consiste en un système de modules chargeables ainsi qu'un ensemble de widgets et de boîtes de dialogues standard pour sélectionner et configurer les imprimantes. De plus, gnome-print est responsable de la gestion des polices et contient des scripts qui permettent de trouver les polices déjà installées sur le système.

Le modèle de gestion des images de GNOME print a été calqué sur PostScript. Les opérations de base comportent la construction de vecteurs et de courbes de bézier, les strokes, le remplissage, le découpage, le texte (en utilisant des polices Type1 et bientôt TrueType) et la gestion des images.

Actuellement gnome-print génère seulement un fichier PostScript. Cependant le design a été étroitement lié avec le système d'anti-aliasing du Canvas et ces 2 modules devraient être capables d'interopérer sous peu. En particulier, il sera possible d'"imprimer" dans un Canvas (ce qui sera utile pour les aperçus avant impression), puis d'imprimer le contenu du Canvas. Cette fonctionnalité simplifiera le design des applications qui utilisent un Canvas étant donné que très peu de code sera nécessaire pour gérer l'impression.

Le même moteur de rendu pourra être utilisé pour imprimer des pages directement sans passer par l'étape PostScript. Cette méthode est spécialement adaptée pour l'impression de haute qualité sur les imprimantes couleur à bulles d'encre, y compris pour la composition de pages complexes contenant des transparences, des gradients et autres éléments considérés "difficiles" pour l'impression PostScript traditionnelle.

Interfaçages

Un des principaux buts de GNOME était de supporter le développement dans un grand nombre de langages, car aucun langage n'est parfait. A cette fin, un interfaçage des bibliothèques GTK+ et GNOME existent pour la plupart des langages; actuellement C, C++, Objective-C, Perl, Python, Scheme et Tom.

L'implication dès les premières heures des hackers Scheme, Tom et Perl dans les projets GTK+ et GNOME ont aidés dans le développement d'API faciles à utiliser avec tous types de langages. Le support multi-langage est une partie intégrante de GTK+ et GNOME et n'a pas été une pièce rapportée sur un développement existant.

Modèle de développement

GNOME est développé par une équipe de programmeurs du monde entier. La coordination du projet est faite par le biais des diverses listes de diffusion de GNOME.

Le code source est conservé sur le serveur CVS de GNOME (cvs:cvs.gnome.org:/cvs/gnome/). L'accès à ce code source à travers les outils Bonsaï et LXR de Netscape est possible sur http://cvs.gnome.org/, pour aider les programmeurs à se familliariser avec les bases du code source.

La plupart des développeurs qui ont contribué au code, à la correction de bugs et à la documentation ont un accès en écriture sur le serveur CVS. Les développeurs GNOME viennent d'horizons très différents avec des degrés d'expertise et d'expérience très variables. Les contributions des personnes moins expérimentées se sont avérées être extrêmement utiles; tandis les plus anciens et les plus sages sont toujours heureux d'aider les développeurs les plus jeunes. La communauté des développeurs GNOME apprécie le code clair et maintenable. Même les programmeurs avec des années d'expérience ont noté que le projet GNOME leur a permis d'améliorer leur niveau de programmation.

 

Les applications de bureautique de GNOME

Au fur et à mesure que les bibliothèques de base de GNOME deviennent plus stables, le développement de projets de plus grande envergure est devenu possible et a permis à de petites équipes de développeurs d'assembler des applications qui formeront la suite bureautique de GNOME.

Tout comme les autres composants GNOME, la suite bureautique est actuellement est train de rattraper les programmes commerciaux équivalents. En offrant une suite bureautique solide, fiable et basée sur la programmation par composants, le code écrit pour le projet GNOME pourra devenir la fondation d'une nouvelle ère pour le développement du logiciel libre.

La suite bureautique permet d'utiliser toute les connaissances que la plupart d'entre nous ont acquis durant cette année en développant divers composants GNOME. Nos standards de programmation sont plus élevés, la qualité du code est meilleure, ce code est également plus clair et plus robuste.

La disponibilité de ces applications nous a fourni un moyen efficace de tester notre interface d'intégration de documents (le modèle Baboon).

Il y a actuellement 2 programmes de traitement de texte pour GNOME en cours: l'un d'eux est GWP développé par Seth Alves des Hungry Programmers, l'autre est Go de Chris Lahey. GWP est actuellement plus avancé et utilise déjà le système d'impression de GNOME.

Gnumeric, le tableur GNOME est destiné à devenir un tableur avec des fonctionnalités avancées du même niveau que les tableurs disponibles dans les suites bureautiques commerciales. Il contient une interface utilisateur puissante et confortable. Tout comme pour les autres composants de GNOME, nous avons axés nos efforts afin de produire un développement solide et extensible pour pouvoir évoluer facilement.

Plus récemment, le développement d'Achtung, le programme de présentation GNOME. Il est toujours dans les premières phases de son développement.

 

Obtenir GNOME

Des sources testées de GNOME sont disponibles à partir du site f.t.p. de GNOME: ftp://ftp.gnome.org/.

Il est également possible d'obtenir la toute dernière version de GNOME à partir des serveurs CVS anonymes. Consultez le site web de GNOME pour avoir plus de détails sur le fonctionnement de CVS.

Les dernières nouvelles concernant GNOME sont postées sur http://www.gnome.org/, vous y trouverez également des documents qui vous seront utiles pour développer des applications GNOME.

 

Remerciements

Il n'est pas possible de remercier tous les participants du projet GNOME ici, mais les contributions de tous ont été extrêmement appréciées.

Je voudrais tout spécialement remercier Alan Cox, Nat Friedman, Raph Levien et Richard Stallman pour avoir participé à la relecture de ce document.

Copyright © 1998, Miguel de Icaza Published in Issue 35 of Linux Gazette, December 1998

NDT : Depuis le 15 décembre, le code des bibliothèques de base de GNOME (correspondant aux modules CVS gnome-libs et gnome-core) a été gelé et les corrections de bugs sont les seules modifications authorisées. Une fois tous les bugs corrigés, ces modules constitueront la version 1.0 de GNOME. Le même procédé sera ensuite appliqué a tous les autres éléments de GNOME. n

Cet article a été publié en version anglaise dans le numéro 35 de la Linux Gazette

(traduit en Français par Vincent Renardias)

bonobo : L'équipe GNOME a appris que le Bonobo, le primate le plus proche de l'homme est une espèce menacée. Si vous voulez en apprendre plus et savoir comment participer à leur sauvegarde, consultez la page web : http://www.gsu.edu/~wwwbpf/bpf/


© Copyright 2000 Diamond Editions/Linux magazine France - Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; A copy of the license is included in the section entitled "GNU Free Documentation License"