Fr:NeoOffice et Aqua

From NeoWiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 13:21, 12 January 2007 (edit)
Jgd (Talk | contribs)
m (typo)
← Previous diff
Revision as of 09:46, 4 May 2007 (edit) (undo)
Jgd (Talk | contribs)
(Alors... NeoOffice est écrit en Java? - link to Ohloh)
Next diff →
Line 59: Line 59:
NeoOffice est une version native Mac OS X d'[[Fr:OpenOffice.org|OpenOffice.org]] utilisant des petites parties de code Java pour l'affichage et la configuration. NeoOffice est une version native Mac OS X d'[[Fr:OpenOffice.org|OpenOffice.org]] utilisant des petites parties de code Java pour l'affichage et la configuration.
-OpenOffice.org est écrit principalement en C++ portable. Néanmoins, NeoOffice utilise l'intégration avancée de Java dans Mac OS X pour introduire le look and feel OS X. En d'autres termes, les petites parties en Java ont principalement à voir avec comment l'application apparait aux yeux de l'utilisateur. Les "entrailles" de la suite bureautique sont écrits en C++. (Le code composant NeoOffice provient à 99% du code partagé entre les différentes plateformes supportées d'OpenOffice.org et 1% du code est spécifique à Mac OS X et contient du Java, C++, C et Objective-C.) +OpenOffice.org est écrit principalement en C++ portable. Néanmoins, NeoOffice utilise l'intégration avancée de Java dans Mac OS X pour introduire le look and feel OS X. En d'autres termes, les petites parties en Java ont principalement à voir avec comment l'application apparait aux yeux de l'utilisateur. Les "entrailles" de la suite bureautique sont écrits en C++. (Le code composant NeoOffice provient à 99% du code partagé entre les différentes plateformes supportées d'OpenOffice.org et 1% du code est spécifique à Mac OS X et contient du Java, C++, C et Objective-C. Sur Ohloh.net vous pouvez voir que le code spécifique à NeoOffice est [http://www.ohloh.net/projects/4043/analyses/latest à 93% du C/C++].)
De ce fait, NeoOffice tourne seulement sur des Macintosh équipés de [[Wikipedia:Mac_os_x|Mac OS X]] 10.2.x, 10.3.x ou 10.4.x — pas sur Mac OS 9, Windows, Linux, Darwin ou toute autre forme d'UNIX. De ce fait, NeoOffice tourne seulement sur des Macintosh équipés de [[Wikipedia:Mac_os_x|Mac OS X]] 10.2.x, 10.3.x ou 10.4.x — pas sur Mac OS 9, Windows, Linux, Darwin ou toute autre forme d'UNIX.

Revision as of 09:46, 4 May 2007

Questions fréquemment posées à propos du design et du développement de NeoOffice

Contents

Aquafication et intégration à Mac OS X

Pourquoi NeoOffice n'a pas les "boutons bleus" typiques de l'interface Aqua de Mac OS X ?

Depuis NeoOffice 2.0 Aqua Beta, NeoOffice inclut une "Aquafication" considérable. Les utilisateurs de Mac qui sont clairvoyants (mais y en a-t-il d'autres ?) peuvent remarquer que certaines choses ne sont pas encore tout à fait au point, mais ne vous inquiétez pas ; c'est seulement la première version de NeoOffice dotée de nombreux gadgets Aqua, et les développeurs travaillent à éliminer tout ce qui reste d'affreux.

Le but est d'ajouter lentement les fonctionnalités Aqua à NeoOffice pour qu'il soit de mieux en mieux intégré dans Mac OS X jusqu'à ce qu'il ne reste plus une seule preuve qu'il ait été autre chose qu'une application Mac OS X.

Durant les derniers mois, NeoOffice a été amélioré touche par touche.

Quels sont les avancées les plus récentes de l'"Aquafication" ?

Etat au mois d'Août 2006 :

  • Fenêtres de dialogue "Ouvrir" et "Enregistrer" natives (Cocoa) (07/2006)
  • Nouvelles icônes de documents plus conformes à l'apparence Aqua (07/2006)
  • Les icônes désactivées dans les barres d'outils ont l'apparence Mac OS X correcte (auparavant elles étaient d'un gris soutenu) (07/2006)
  • Nombreux gadgets Aqua (barres de défilement, boutons, barres de progression, etc.) (04/2006-07/2006)
  • Compatibilité améliorée avec le logiciel de dictée de voix (10/2005)
  • Support de l'impression de fichiers EPS intégrés aux documents (09/2005)
  • Support amélioré des claviers internationaux (09/2005)
  • Le menu du Dock permet de créer des nouveaux documents ou d'en ouvrir d'anciens (06/2005)
  • Ne montre plus de "fenêtre grise" à la fermeture du dernier document ouvert mais l'application reste ouverte comme les applications Mac normales (05/2005)
  • Intégration de Spotlight sur Mac OS X 10.4 "Tiger" via NeoLight (05/2005)
  • Utilise les couleurs définies dans le panneau Apparence des Préférences Système (04/2005)
  • Support des langues Indiennes (04/2005)
  • Support pour Eudora, Entourage et Mail comme client mail externe (03/2005)
  • AppleScript pour l'installation des fichiers d'aide des langues non anglaises par glisser-déposer (03/2005)
  • Glisser-déposer entre NeoOffice et les autres applications (03/2005)
  • Ne quitte plus lors de la fermeture du dernier document ouvert (03/2005)
  • Eléments "A propos de NeoOffice" et "Préférences" ajoutés dans le menu "NeoOffice" (02/2005)
  • Interface localisée pour 40 langues (12/2004)
  • Nouvelle icône Aqua et nouvel écran de chargement (12/2004)
  • PDFs optimisés/plus légers (12/2004)
  • Glisser-déposer du texte (12/2004)
  • Support du défilement à l'aide de la molette (11/2004)
  • Les menus sont maintenant situés dans la barre des menus en haut de l'écran, comme toutes les autres applications pour Mac (avant, ils étaient en haut de la fenêtre du document) (11/2004)
  • Notification automatique des nouveaux patchs et nouvelles versions (11/2004)
  • Patchs disponibles en paquets d'installation standards Mac OS X (09/2004)
  • Support pour les alias Mac dans les dialogues d'ouverture et de sauvegarde de fichiers (09/2004)

Suivez les nouvelles fonctionnalités à mesure qu'elles sont annoncées !

Technologies et cadriciels

Quelles technologies sont utilisées pour l'"Aquafication" de NeoOffice ?

Aqua est le "look and feel" développé par Apple pour OS X. Apple fournit 3 cadriciels (frameworks) pour développer des applications ayant une interface Aqua :

  • Carbon (sorte de mode de compatibilité OS 9, aussi utilisé par Mozilla/Firefox)
  • Cocoa (nouveau cadriciel adapté de NeXT pour Mac OS X)
  • Java (langage multi-plateforme, incluant JFC/Swing pour des éléments d'interface ressemblant à ceux natifs)

NeoOffice/C (le projet de prototype original) fut une tentative utilisant Cocoa et Carbon. Le projet le plus réussi, NeoOffice (anciennement NeoOffice/J), utilise actuellement un mix de Java 1.4.2/1/5, Carbon, et Cocoa.

Alors... NeoOffice est écrit en Java?

Non.

NeoOffice est une version native Mac OS X d'OpenOffice.org utilisant des petites parties de code Java pour l'affichage et la configuration.

OpenOffice.org est écrit principalement en C++ portable. Néanmoins, NeoOffice utilise l'intégration avancée de Java dans Mac OS X pour introduire le look and feel OS X. En d'autres termes, les petites parties en Java ont principalement à voir avec comment l'application apparait aux yeux de l'utilisateur. Les "entrailles" de la suite bureautique sont écrits en C++. (Le code composant NeoOffice provient à 99% du code partagé entre les différentes plateformes supportées d'OpenOffice.org et 1% du code est spécifique à Mac OS X et contient du Java, C++, C et Objective-C. Sur Ohloh.net vous pouvez voir que le code spécifique à NeoOffice est à 93% du C/C++.)

De ce fait, NeoOffice tourne seulement sur des Macintosh équipés de Mac OS X 10.2.x, 10.3.x ou 10.4.x — pas sur Mac OS 9, Windows, Linux, Darwin ou toute autre forme d'UNIX.

Comment Java est utilisé dans NeoOffice ?

Comme cela a été mentionné au dessus, Java est principalement utilisé pour fournir le "look & feel" de Mac OS X. Ce qui fait fonctionner NeoOffice n'est pas le langage Java lui même mais plutôt les bibliothèques de la machine virtuelle Java comme Java 2D pour l'affichage et AWT pour les menus. Ceux-ci sont déjà natifs dans la machine virtuelle d'Apple dans le sens ou Java 2D utilise Quartz et AWT est en Carbon. [1]

La quantité de code écrite en Java a aussi diminué avec le temps. Quand NeoOffice/J a été mis à jour avec le code d'OpenOffice.org 1.1.2 (NeoOffice/J 1.1 Alpha), le rendu du texte a été modifié pour utiliser les API natives ATSUI de Mac OS X au lieu de Java puisqu'elles sont mieux adaptées à des mises en formes complexes que ne le sont celles de Java. [2] D'autres fonctionnalités n'ont jamais été implémentées en Java (par exemple, le menu Dock qui utilise Carbon).

Pourquoi ne travaillez vous pas sur une version Cocoa d'OpenOffice.org Aqua ?

Il y a plusieurs raisons. OpenOffice.org n'est pas conçu comme une application native Cocoa pour Mac. Traduire tout le modèle d'évènements, la gestion des polices et les routines d'affichage en Cocoa serait un énorme travail. D'un autre côté, l'implémentation Java d'Apple fournit un bon accès aux fonctionnalités Aqua et est plus facile à intégrer dans le code d'OpenOffice.org. NeoOffice/C a prouvé qu'une implémentation Cocoa n'était pas une solution viable à court et à moyen terme; bien que son apparence était réussie après de nombreux hacks, il n'était même pas assez stable pour une utilisation occasionnelle.

A présent, NeoOffice est très stable et bien parti pour fournir une interface utilisateur totalement Aqua. Et choisir une nouvelle orientation maintenant signifierait l'abandon de beaucoup de bon code. Le défaut de l'utilisation de Java est qu'il consomme (un peu) plus de ressources qu'une implémentation Cocoa. (Vous avez besoin de plus de RAM que la configuration minimale recommandée pour Mac OS X mais Mac OS X bénéficie d'avoir plus de RAM que la configuration minimale recommandée ! Et la RAM est bon marché; ajouter de la RAM est le meilleur moyen d'accélérer votre Mac à moindre coût.)

Cocoa n'est il pas meilleur que Java ?

Aqua est aqua.

Cette question est souvent posée par les développeurs et les utilisateurs professionnels. Les utilisateurs moyens, d'un autre côté, tendent à juger uniquement le résultat. Comme l'a dit un testeur :

"Si cela ressemble à un canard, marche comme un canard et caquète comme un canard, alors, pour l'utilisateur moyen, c'est un canard et les utilisateurs moyens ont clairement dit qu'ils voulaient un canard; que le canard boive du chocolat chaud ou du café n'a pas d'importance."

Et, comme le dit John Gruber, après avoir cité un ingénieur Apple sur la liste Carbon-Dev, "envoyez [le second paragraphe] à toute personne clamant que seules les applications 'purement Cocoa' sont des applications 'natives' Mac OS X."

Java n'est pas lent ?

La majorité de NeoOffice est écrit en C++. Seuls les parties qui facilitent l'intégration du look Aqua ont été personnalisées en Java. La raison est que Java pour OS X a un look terrible et s'intègre à merveille dans l'interface native "bouton bleu" Aqua.

Et au fait, Java n'est plus si lent de nos jours.

Pourquoi NeoOffice n'utilise pas Java 1.5.x?

NeoOffice 2.0 Aqua Beta 3 et ultérieur peuvent maintenant utiliser Java 1.5 (et Java 1.5 est la version requise sur les Macs Intel et Mac OS X 10.4). Pour comprendre pourquoi NeoOffice a historiquement utilisé une version de Java différente de la dernière version diffusée par Apple, voyez les lignes ci-dessous.

Il y a un nombre de raisons, à la fois humaines et techniques, pour lesquelles NeoOffice utilise Java 1.4.2 sur la plupart des Macs. Pour revenir au commencement, lorsque le développement de l'application a démarré (en tant que NeoOffice/J), Java 1.4.x n'était pas disponible sur Mac OS X. Lorsque Java 1.4.1 fut finalement disponible sur Mac OS X, il se révéla assez plein de bugs et il lui manquait beaucoup de fonctionnalités importantes sur Mac OS X 10.2.x. Java 1.5 n'est disponible que sur Mac OS X 10.4.x. De plus, Java 1.4.x et 1.5 sont basés sur Cocoa alors que Java 1.3.1 est basé sur Carbon. Aussi pendant une grande partie de sa vie initiale en tant que NeoOffice/J, l'application a utilisé Java 1.3.1 sur Mac OS X 10.2.x, 10.3.x, sur 10.4.x.

Passer à une nouvelle version de Java non seulement impliquait la fin du support des utilisateurs des anciennes versions de Mac OS X, mais exigeait aussi des centaines sinon des milliers d'heures de travail pour ré-implémenter en Cocoa de nombreuses parties de l'application écrites en Carbon et pour travailler sur de nouveaux bugs dans les nouvelles versions de Java. Donc passer à Java 1.4.x (ou 1.5) n'était pas une option viable pour la plupart de ce qui existait dans NeoOffice/J, étant donnés l'importance de l'équipe de développement et le fait que Java 1.3.1 continuait à bien fonctionner.

Comme Java 1.3.1 ne prévoit pas de transition vers les Macs Intel, l'été 2005 (Juillet-Septembre) se passa dans un travail à plein temps à réaliser la transition de NeoOffice/J à Java 1.4.2 et, Octobre et une grande partie de Novembre se passèrent (encore à plein temps) à corriger de nouveaux bugs qui apparaissaient à l'occasion de tests plus nombreux. NeoOffice 1.2 Alpha est la première version qui demande Java 1.4.2 et Mac OS X 10.3 ou ultérieur.

La transition à Java 1.5.x ne fut pas si difficile puisqu'il est aussi basé sur Cocoa, et elle a été faite (pour les Macs Intel) pendant le cycle de NeoOffice 2.0 Aqua Beta. Java 1.4.2 est encore la version de Java utilisée par défaut par NeoOffice sur les Macs PowerPC utilisant les systèmes 10.3.x et 10.4.x. (Obliger NeoOffice/J 1.1 ou NeoOffice 1.2 Alpha à utiliser Java 1.5 provoquerait des plantages et n'est pas supporté.)

Pourquoi ne pas utiliser GTK ou Qt ou un autre toolkit multiplateforme ?

Voir Pourquoi ne travaillez vous pas sur une version Cocoa d'OpenOffice.org Aqua ? et Cocoa n'est il pas meilleur que Java ? :-) La réponse courte est que retravailler le code d'OpenOffice.org pour utiliser un autre toolkit prendrait au moins autant de temps et de travail que ça en a pris pour amener NeoOffice au point où il en est actuellement (deux ans de travail à temps presque complet pour 1,5 développeurs et du travail accompli avant cela), sans garantie de stabilité du résultat.

Autres questions

Est ce que NeoOffice a remplacé NeoOffice/C ?

Oui, .

Où puis je en apprendre plus sur NeoOffice ?

Pour des trucs et astuces sur l'utilisation de NeoOffice, voir la section trucs et astuces de ce Wiki.

J'ai une question sur le design ou le développement de NeoOffice; où puis je obtenir une réponse ?



Cet article dans d'autres langues : English, Deutsch, Italiano Español
Personal tools