Quoi de neuf dans SeaMonkey ? – Première partie

SeaMonkey est le successeur de la suite Mozilla. Si actuellement, le projet est en version 1.1.7 et utilise le même coeur que Firefox 2.0.0.11 (à savoir une version de gecko 1.8.1), la version de développement, la 2.0alpha1 (enfin, plutôt une pré-alpha) emploit une version de développement de Gecko 1.9, coeur du futur Firefox 3.0.

J’ai donc lancé la compilation sur mon ArchLinux, avec le .mozconfig suivant :


#
# See http://www.mozilla.org/build/ for build instructions.
#

mk_add_options MOZ_CO_PROJECT=suite
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-@CONFIG_GUESS@

ac_add_options --enable-application=suite
ac_add_options --enable-default-toolkit=cairo-gtk2
ac_add_options --disable-mochitest
ac_add_options --disable-updater
ac_add_options --disable-tests
ac_add_options --disable-debug
ac_add_options --enable-optimize="-Os -march=athlon64 -w -pipe"
ac_add_options --enable-strip

Dans cette première partie, je vais me consacrer à la partie navigateur du logiciel. Coté moteur d’affichage, rien à dire, c’est la même chose que pour les préversions de Firefox 3. Bref, un moteur de qualité 😉

En ce moment, l’équipe de SeaMonkey s’attache à recoder l’ancien panneau de préférences pour profiter de technologies plus récentes. Cette page du wiki de Mozilla explique le pourquoi du processus. Le but étant d’avoir quelque chose de plus puissant en arrière plan.

Panneau de préférences en recodage

Contrairement à Firefox, SeaMonkey conserve les deux thèmes qui ne s’intègre pas franchement dans les interfaces des OS : Classic (qui fait penser à la période Netscape 4) et Modern.

infos technique de SeaMonkey avec le thème classique

Seamonkey avec le thème modern

A noter qu’au premier démarrage, un outil propose d’importer les données de Thunderbird si celui-ci est présent.

L'outil d'import de données au premier lancement de Seamonkey

La suite ? Le client courrier et le client IRC. Dès que possible 😉

Firefox 3.0 béta 2 est sorti.

Tout est résumé dans le titre. Et selon le blog « MozillaDeveloper« , voici les principales nouveautés :

  • De nombreuses améliorations sur le plan de la sécurité (meilleure identification visuelle des sites « sécurisés », intégration de l’antivirus dans le gestionnaire de téléchargement et plein d’autres choses.
  • Gestionnaire de mots de passe amélioré, installation des extensions simplifiée, nouveau gestionnaire de téléchargement
  • Meilleure intégration visuelle pour Windows, MacOS-X et Linux
  • Barre d’adresse visuellement améliorée, signets intelligents
  • Correction d’environ 330 sources de fuites mémoire.

Attention, cette version étant encore un béta, mieux vaut l’installer UNIQUEMENT que si l’on sait où l’on s’aventure.

Pour la télécharger, il suffit d’aller sur cette page : http://www.mozilla.com/en-US/firefox/all-beta.html

Arrivée de Firefox 2.0.0.10.

Ce matin, en effet l’habituel sudo aptitude update && sudo aptitude dist-upgrade, j’ai pu lire ceci :

Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Lecture de l'information d'état étendu
Initialisation de l'état des paquets... Fait
Construction de la base de données des étiquettes... Fait
Les paquets suivants seront mis à jour :
firefox firefox-dev firefox-gnome-support libpcre3 libpcrecpp0
openoffice.org openoffice.org-base openoffice.org-calc
openoffice.org-core openoffice.org-draw openoffice.org-evolution
openoffice.org-gnome openoffice.org-gtk openoffice.org-impress
openoffice.org-math openoffice.org-writer python-uno
17 paquets mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 73,0Mo d'archives. Après dépaquetage, 20,5ko seront utilisés.
Voulez-vous continuer ? [Y/n/?] y

Donc, après avoir sauté la version 2.0.0.9, Ubuntu propose la version 2.0.0.10 de Firefox. Que propose la version 2.0.0.10 ? La correction de 3 failles de sécurités, de niveau haut : les billets MFSA 2007-37 (lié à un problème de gestion de fichiers .jar), le billet MFSA 2007-38 (corruption de données en mémoire) et le billet MFSA 2007-39 (lié à une histoire de spoofing).

Maintenant, pour les personnes utilisant Firefox 2.0.0.x, la mise à jour devrait être proposée d’ici peu.

Ce qui arrivera visuellement dans Firefox 3.0 béta2.

Je sais, vous allez me dire : mais la béta 1 n’est pas encore sortie.

Je suis d’accord, mais il semble bien que le code de la version 3.0 béta1 de Firefox soit « gelé ». En tout cas, pas le moindre code semble avoir été modifié depuis le 8 novembre dernier.

En ce qui concerne Firefox 3.0 béta2, une des « principales » fonctionnalités, ce sera l’arrivée d’un thème « natif » pour les versions unix (linux, BSD libres) de Firefox. En clair, un thème qui s’intègrera mieux dans l’interface de Gnome.

Un bug spécifique a été entré qui porte le doux nom de « Free Gnomestripe« .

Gnomestripe est le nom de code du thème pour les unix, comme Winstripe l’est pour Windows et Pinstripe pour MacOS-X.

Bien que ce soit encore en cours de mise en place, la différence visuelle est bien présente et une page résume ce qui a été fait et ce qui reste à faire.

L'interface de Firefox 3.0 beta 1 pour les unix

L'interface de Firefox 3.0 pré-beta2 pour les unix

Normalement, la version béta 1 de Firefox 3 devrait pointer le bout de ses octets d’ici quelques jours. La béta2 ? 4 semaines après, donc, avec un peu de chance, pour les environs de noël 2007 ? Je pense que la version 3.0 finale ne sortira pas avant mars 2008… Estimation pifométrique, bien entendue 😉

Et pour en savoir plus sur la sortie de Firefox 3.0 béta1, je ne saurais trop conseiller cet article de BeFox : http://www.befox.be/firefox-3/firefox-3-qu-en-est-il-reellement/

C’est long de compiler un firefox ?

Compiler le code source de firefox, ce n’est pas trop compliqué, surtout si l’on suit les instructions fournies par le wiki des développeurs de la Fondation Mozilla.

< Mode troll de la mort qui tue, quoique…>
Même si mettre en place l’environnement de compilation sous des Unix (Linux, BSD libres, Solaris et MacOS-X) est largement plus simple que sous Windows 😉
</ Mode troll de la mort qui tue, quoique…>

Bref, une fois l’environnement de compilation mis en place, et le code source récupéré via CVS, on peut utiliser le .mozconfig suivant (Attention, fichier adapté pour la compilation du tronc, ou du code de la future version Beta 1 de Firefox).

Si vous désirez récupérer le code de Firefox 3.0 beta 1 pour le compiler, en gardant à l’esprit que ce n’est toujours qu’une version candidate à la version beta 1 officielle.

cvs co -r FIREFOX_3_0b1_RELEASE mozilla/client.mk mozilla/browser/config

Ensuite, on copie le .mozconfig suivant dans le répertoire .mozilla :

# See http://www.mozilla.org/build/ for build instructions.
#

export MAKEOPTS= »-j2″

. $topsrcdir/browser/config/mozconfig

# Options for ‘configure’ (same as command-line options).
ac_add_options –enable-optimize= »-Os -w -pipe »
ac_add_options –disable-debug
ac_add_options –disable-tests

ac_add_options –enable-default-toolkit=cairo-gtk2

ac_add_options –enable-strip
ac_add_options –disable-updater
ac_add_options –disable-mochitest

On récupère le code source :

make -f client.mk checkout

Enfin, on fait une copie du code source récupéré :

cd ..
tar cvf moz-fox.tar mozilla/ ; bzip2 -vv9 *.tar

On retourne dans le répertoire du code source, et on lance la compilation en chronométrant l’ensemble :

cd mozilla
time make -f client.mk ; make -C browser/installer

Une fois la compilation finie, on trouvera un fichier .zip ou .tar.bz2 contenant le firefox recompilé ne demandant plus qu’à être testé 😉

Pour donner un exemple : AMD Sempron 3100+ épaulé avec 1,5 Go de mémoire vive, gcc 4.2 et Ubuntu Linux 7.10 AMD64 :


real 46m28.493s
user 36m30.177s
sys 4m10.656s

Pour le support du compilateur gcc 4.2, j’ai rajouté les lignes suivantes dans le .mozconfig :


export CC=gcc-4.2
export CXX=g++-4.2

Je sais que c’est long, mais au moins, on voit le travail nécessaire pour la compilation d’un navigateur récent et au code moderne 😉