Le retour d’un serpent de mer : QT avec Mozilla ;)

Sous linux et autres unix, Firefox utilise le toolkit GTK. Or à une époque reculée, un port pour QT pour la suite Mozilla avait été commencé, puis abandonné. cf le bogue 178987.

Or, en lisant OSNews, j’ai pu lire que le port était de nouveau en vie. Le wiki de Mozilla propose des infos pour compiler cette version. Cependant, j’ai préféré prendre une version déjà précompilée, en l’utilisant sous une Fedora 10 alpha 32 bits avec KDE 4.1. Gain de temps ? Une bonne heure 🙂

La version proposée semble être basée sur du code compilé le 4 août 2008.

Voici donc le résultat avec Acid3 et Google :

Acid3 sous Shiretoko en version QT

Google sous Shiretoko en version QT
Pour la petite histoire, peu après la libération du code source de mozilla fin mars 1998, le premier port fut effectué sous QT par Trolltech.

http://trolltech.com/company/newsroom/announcements/00000007

Le bogue qui permet de suivre l’évolution du port est le 448989. Donc si vous êtes intéressé par l’intégration de QT, c’est le bogue à suivre.

Vladimir Vukićević explique le pourquoi du comment de ce port.

Bref, c’est une bonne nouvelle pour les utilisateurs de KDE 4.x qui auront désormais un look natif pour les widgets, du moins quand Shiretoko sortira 🙂

Vers Syllable 0.6.6.

En mars dernier, j’avais testé Syllable 0.6.5. La sortie d’une version de développement qui deviendra la 0.6.6 en temps.

Pour tester cette version, j’ai créé une machine virtuelle avec 8 Go de disque.

fred@fred-laptop:~/download$ qemu-img create -f qcow2 syl.img 8G
Formatting 'syl.img', fmt=qcow2, size=8388608 kB
fred@fred-laptop:~/download$ kvm -m 768 -hda syl.img -k fr -localtime -soundhw all -cdrom SyllableDesktop-0.6.6-20080803.i586.iso -boot d &

L’installation est similaire à celle déjà abordé dans le précédent billet, et l’OS semble largement plus utilisable. La configuration du réseau se résume à l’activation du serveur DHCP.

Configuration du DHCP sous Syllable 0.6.6

La localisation en français bien qu’imparfaite est très facile à mettre en route.

Ajout d'une localisation dans Syllable 0.6.6

De même pour l’ajout d’un utilisateur avec son mot de passe.

Ajout d'un utilisateur sous Syllable 0.6.6

Mot de passe pour un nouvel utilisateur sous Syllable 0.6.6

Un nouveau navigateur Web, connu sous le nom de Webster utilisant Webkit est disponible. Bien que ce soit apparemment une vieille version ou alors l’intégration est encore en cours. Car le test acid3 n’offre qu’un résultat de 66 / 100. Mais le rendu est agréable à voir.

66 / 100 pour Webster sous Syllable 0.6.6

Ce qui ressort de ce test rapide : rapidité de démarrage, d’utilisation, souplesse, facilité de configuration. Bref, que du bonheur. Un grand OS en devenir !

Des nouvelles de Shiretoko pré-alpha2 ?

Après la sortie la semaine dernière de Shiretoko Alpha1 – et alors que le tronc est étiquetté 3.1a2pre, donc ce qui laisse supposer la sortie d’une version alpha 2, on peut faire un petit bilan rapide de ce qui attend la prochaine étape de développement, même si l’ajout des fonctionnalités est loin d’être terminé.

Un meilleur score encore au test acid3 : 85 / 100. Sûrement grace au bogue 199959

acid 3 : 85 / 100 avec Shiretoko pré-alpha2

2) Un support préliminaire croissant des balises <video> et <audio> au moins pour un premier temps pour la version linux du navigateur.

Cf l’ajout des bibliothèques ogg et theora, le bogue concerné étant 422538 – . Le support de l’ajout des balises <video> et <audio> étant le bogue 382267.

Cet ajout de fonctionnalités nécessite l’ajout de la bibliothèque libasound2-dev (libalsa) sous les distributions à la débian.

La « tuyauterie » en version gstreamer : bogue 422540 ; en version quicktime (MacOS-X) : et pour MS-Windows : 435339

Pour des exemples de vidéo utilisant l’élément HTML5 <video> : http://www.double.co.nz/video_test/

Balise <video> en action dans Shiretoko pré-alpha2

Et si le logiciel libre était répulsif à cause de la liberté de choix qu’il propose ?

Chaque année depuis 1998, on nous promet que ce sera l’année de l’envol pour Linux version bureau. Et chaque année, de repousser cet avènement à l’année suivante.

Si un OS alternatif à Windows commence à lui tailler des croupières, c’est bien le bon vieux Mac, qui s’est offert avec MacOS-X dans les années 2001 une cure de jeunesse bienvenue à un MacOS mis à jour constamment depuis ses premières versions datant de 1984…

Cependant, la répartition est toujours du genre : 95% de Windows (grace à la vente liée et à la création d’un marché captif par la facilité de pirater Windows), 4% de MacOS-X, et 1% pour Linux et autres OS libre.

Une des raisons du succès de Windows, c’est d’offrir du « pré-maché », même s’il faut rajouter sur un windows – quelque soit sa génération – au minimum un duo anti-virus et anti-espiogiciel. Ce dernier ayant pris de l’importance depuis une bonne demi-douzaine d’années environ.

Si on regarde un windows typique, tout est « prémaché » pour l’utilisateur :

  • Pour la navigation internet : Internet Explorer.
  • Pour la lecture des fichiers multimédia : Windows Media Player
  • Pour le courrier : Outlook Express devenu Windows Mail sous Windows Vista

Même si ce sont des outils loin d’être parfaits, ils forment une limite basse de qualité. Il suffit de comparer la qualité du rendu ou du niveau de support des normes internationales en matières de pages internet que propose la concurrence à Internet Explorer, en l’occurence les navigateurs basés sur Gecko, sur Webkit ou encore le navigateur Opera. IE est à chaque fois battu à plate couture.

L’ignorance de l’existance de la concurrence et / ou le codage des pages ont permis à IE de conserver un niveau de parts de marché de 75% environ en Europe. Soit une chute de 20 points en l’espace de 4 ans.

Ce qui est vrai pour IE, l’est aussi pour les autres outils que fournit Microsoft, comme le montre la liste aussi longue que le bras de paquets de codecs pour Windows Media Player ou encore le nombre de clients courriers pour Windows : Mozilla Thunderbird, The Bat!, Claws Mail, etc…

Malgré les défauts souvent énormes, Windows et les logiciels Microsoft conservent leur place de logiciels étalons.

Prenons le monde du logiciel libre. Pour chaque tache, il suffit de voir que le nombre d’outils de trois, voire plus.

Par exemple, pour naviguer sur internet, l’on a le choix entre des navigateurs utilisant Gecko (Mozilla Firefox, Epiphany jusqu’à ses versions 2.22.x), Konqueror utilisant KHTML qui serait remplacé à terme par Webkit, Midori (utilisant Webkit, le coeur de Safari d’Apple), Opera.

On veut lire un fichier multimédia ? VideoLanClient, Mplayer, Totem sont proposés.

Du traitement de texte ? OpenOffice.org Writer, Abiword, Kword sont disponibles.

Du tableur ? OpenOffice.org Calc, Gnumeric, Kspread sont disponibles.

Et contrairement à Windows, l’interface graphique n’est pas autant figé. On peut choisir entre :

Si on veut du plus léger ? Les gestionnaires de fenêtres sont alors très nombreux : fvwm, fluxbox, openbox, windowmaker, etc…

Et que dire du choix des distributions ? On peut tout choisir dans le monde libre. C’est peut-être donc ce choix hypertrophié fait peur aux personnes qui veulent quelque chose de louable : quelque chose qui fonctionne sans que l’on se pose de question, mettant aux toilettes un point primordial : c’est au logiciel de s’adapter à l’utilisateur et non l’utilisateur à s’adopter au logiciel.

Vers un coeur commun entre Shiretoko, Shredder et SeaMonkey 2 ?

C’est une idée envisageable, étant donné que le dépot du code source de Shredder et de SeaMonkey pré-2.0 viennent de migrer, abandonnant le vieux dépot CVS vers un dépot mercurial.

Si l’on veut compiler soit-même le code source dit du « tronc » des logiciels de la Fondation Mozilla, que ce soit Shiretoko, Shredder ou SeaMonkey pré-2.0, il faut maintenant passer par des dépots mercurial.

Si le développement de Shiretoko est maintenant bien ancré sur un dépot mercurial, à savoir mozilla-central, c’est loin d’être le cas pour Shredder et SeaMonkey pré-2.0. Voici donc comment compiler Shredder ou SeaMonkey en utilisant le dépôt mercurial comm-central.

Déjà, il faut avoir autoconf 2.13 et mercurial pré-installé. Pour cela, il faut se conférer à la documentation de votre distribution pour savoir comment faire.

Ensuite, il faut récupérer le code source commun à Shredder et SeaMonkey pré-2.0 :

hg clone http://hg.mozilla.org/comm-central/ src

Une fois le code récupéré, il faut récupérer le complément à savoir le code en commun avec Shiretoko :

python client.py checkout

Pour cette partie, l’outil CVS configuré correctement est indispensable. En clair, il faut que la variable CVSROOT soit définie ainsi :

export CVSROOT= »:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot »

Vient le moment stratégique, préparer le .mozconfig pour les options de compilation. Il faut ajouter les deux lignes suivantes :

ac_add_options --enable-application=mail
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-tb

Et virer un . $topsrcdir/mail/config/mozconfig qui aurait pu s’y trouver si on récupère un vieux fichier .mozconfig

Voici pour information mon .mozconfig pour Shredder :

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

ac_add_options –enable-application=mail
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-tb

# Options for ‘configure’ (same as command-line options).
ac_add_options –enable-optimize= »-Os -march=native -w -pipe »
ac_add_options –disable-debug
ac_add_options –disable-tests
ac_add_options –enable-default-toolkit=cairo-gtk2
ac_add_options –enable-static
ac_add_options –disable-shared

Ensuite, il suffit de lancer la compilation et d’attendre.

Et voici ce que donne une boite « about » d’un Shredder compilé avec le code source du dépôt mercurial comm-central.

Shredder pré-alpha2 ?

Les pages qui m’ont aidé pour rédiger cet article :

http://wiki.mozilla.org/SeaMonkey:hg-based_build
http://developer.mozilla.org/en/docs/Mozilla_Source_Code_(Mercurial)
http://developer.mozilla.org/en/docs/Comm-central_source_code_(Mercurial)
http://developer.mozilla.org/en/docs/comm-central