Le lancement de Firefox 3.5 est imminent: Firefox 3.5 arrive prochainement sur vos disques durs
Mes « marques ta-pages » de la semaine
Le lancement de Firefox 3.5 est imminent: Firefox 3.5 arrive prochainement sur vos disques durs
Je ne sais pas vous mais à force de tester des navigateurs alternatifs (par exemple Chromium), je trouve Firefox 3.0 de plus en plus lourd à supporter. J’ai donc décidé de tester la dernière version disponible, c’est à dire Firefox 3.5 (daily update).
Le but de ce billet est de faire une installation propre de cette version du navigateur de Mozilla en passant par les dépôts Launchpad.
On commence par éditer le fichier /etc/apt/sources.list en y ajoutant les lignes suivantes (exemple pour version Ubuntu 9.04 jaunty):
deb http://ppa.launchpad.net/ubuntu-mozilla-daily/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/ubuntu-mozilla-daily/ppa/ubuntu jaunty main
Ensuite il faut lancer la mise à jour de la liste des dépôts:
sudo apt-get update
Si vous rencontrez l’erreur suivante:
W: GPG error: http://ppa.launchpad.net jaunty Release: Les signatures suivantes n’ont pas pu être vérifiées car la clé publique n’est pas disponible : NO_PUBKEY EF4186FE247510BE
W: Vous pouvez lancer « apt-get update » pour corriger ces problèmes.
il faut alors télécharger les clès puis relancer la mise à jour de la liste des dépôts.
On peut maintent passer à l’installation de la dernière version disponible (version stable au moment de l’écriture de ce billet):
sudo aptitude install firefox-3.5 firefox-3.5-gnome-support
Si tout se passe comme prévu lors de l’installation, vous devriez avoir cette dernière version disponible dans le menu Applications / Internet.
Voici une procédure (assez longue) permettant de générer un .deb (format de package compatible avec l’OS Ubuntu) pouvant être mis sur un depot officiel. Ce billet s’inspire très fortement de ce forum.
Il faut installer les pré-requis suivants:
sudo aptitude install build-essential autoconf automake autotools-dev dh-make debhelper devscripts fakeroot xutils lintian pbuilder
Ensuite on créé l’arborescence suivante dans votre répertoire racine:
cd ~
mkdir packages
cd packages
On doit dans un premier temps récupérer les sources du logiciel à packager (sjitter dans mon exemple):
wget http://fastbull.dl.sourceforge.net/sourceforge/sjitter/sjitter-0.18.1b.tgz
tar zxvf sjitter-0.18.1b.tgz
Le nom du répertoire contenant les sources doit être de la forme nom-version:
mv sjitter sjitter-0.18.1b
On créé un sous répertoire sjitter dans lequel on met l’archive et les sources:
mkdir sjitter
mv sjitter-0.18.1b sjitter-0.18.1b.tgz sjitter
Pour vérifier, le contenu du répertoire de travail doit être le suivant:
# ls -l ~/packages/sjitter
sjitter-0.18.1b
sjitter-0.18.1b.tgz
On va dans le répertoire source:
cd sjitter/sjitter-0.18.1b
Puis on lance la commande:
dh_make -e nicolas@nospam.com -c GPL -f ../sjitter-0.18.1b.tgz
> s
Maintainer name : unknown
Email-Address : nicolas@nospam.com
Date : Wed, 27 May 2009 11:52:00 +0000
Package Name : sjitter
Version : 0.18.1b
License : blank
Type of Package : Single
> ENTER
A la première question, il faut répondre:
s = [single binary] – si c’est package normal
l = [library] – si c’est une librairie de dev
m = [multiple] – si c’est un package comprenant plusieurs binaires
k = [kernel module] – si c’est module noyau
On va alors dans le sous répertoire debian créé par le programme dh_make:
cd debian
Puis on édite le fichier control:
# vi control
Source: sjitter
Section: net
Priority: extra
Maintainer: Nicolas Hennion <nicolas@nospam.com>
Build-Depends: debhelper (>= 5), autotools-dev
Standards-Version: 3.7.2Package: sjitter
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Sjitter is a client/server performing tool.
Sjitter is a command line client/server to measure jitter (based on RFC 1889), one way UDP delay and bandwidth. The client and the server’s date should be synchronise to compute the jitter. You can use the NTP protocol to do this.
Avec:
Ligne 1: Nom du projet
Ligne 2: Section à laquelle appartient le projet (voir la des sections disponible ici)
Ligne 3: Laisse la valeur par défaut
Ligne 4: Nom et adresse mail du mainteneur du package
Ligne 5: Il faut y mettre les dépendances finissants par -dev
Ligne 6: Laisse la valeur par défaut
Ligne 7: Vide
Ligne 8: Mettre la même chose qu’en ligne 1
Ligne 9: Architecture cible (any pour toutes)
Ligne 10: Il faut y mettre les dépendances ne finissants pas par -dev
Ligne 11: Description courte du projet (< à 60 caractères)
Ligne 12->n: Description longue (attention à laisser un espace avant votre description)
Puis le fichier changelog:
# vi changelog
sjitter (0.18.1b) maverick; urgency=low* Version 0.18 (23/03/2009), thanks to Thierry Legras
— Nicolas Hennion <nicolas@nospam.com> Wed, 27 May 2009 11:52:00 +0000
Avec:
Ligne 1: Nom du package et version d’Ubuntu (maverick dans mon exemple)
Ligne 2: Vide
Ligne 3->n: Liste des changements de cette version
Ligne n+1: Vide
Ligne n+2: Nom, adresse mail et date (attention, il faut mettre votre nom / adresse comme configuré dans Launchpad)
Le fichier copyright:
# vi copyright
This package was debianized by Nicolas Hennion <nicolas@nicolargo.com> on
Wed, 27 May 2009 11:52:00 +0000.It was downloaded from http://fastbull.dl.sourceforge.net/sourceforge/sjitter/sjitter-0.18.1b.tgz
Upstream Author(s): Nicolas Hennion <nicolas@nicolargo.com>
License: This script is written under the GNU General Public License.
Avec:
Ligne 1: Nom et adresse de l’auteur du package
Ligne 2: Date
Ligne 3: Vide
Ligne 4: A partir de quel source le package a été généré
Ligne 5: Vide
Ligne 6->n: Les auteurs du logiciel (copie du fichier ../AUTHORS)
Ligne n+1: Vide
Ligne n+2->m: Licence sous laquelle le logiciel est distribué (conformément à la volonté de l’auteur)
Ligne m+1: Vide (optionnel)
Ligne m+2: Licence complète (optionnel)
Il y a ensuite certains fichiers optionnels à configurer. Si ils ne sont pas utiles pour votre logiciel, il faut les supprimer.
README.debian: Informations complémentaires sur le logiciel (non présentes dans les autres fichiers)
emacsen-*.ex: Fichier Emacs pouvant être compilé à l’installation
init.d.ex: Si votre logiciel doit se lancer en mode daemon, c’est dans ce fichier qu’il faut écrire le script init.d
manpage.1.ex, manpage.sgml.ex: Fichiers de man (aide)
preinst.ex: Script à lancer avant l’installation
postinst.ex: Script à lancer après l’installation
prerm.ex: Script à lancer avant la désinstallation
postrm.ex: Script à lancer après la désinstallation
On peut ensuite lancer la génération du fichier .deb
cd ..
debuild -S -k_CLES_
Il faut remplacer _CLES_ par votre clés Launchpad (liste des clés: gpg –list-keys).
Si tout se passe sans problème, vous devriez vous retrouver avec les fichiers suivant dans le répertoire ~/packages/sjitter/:
sjitter_0.18.1b-1.diff.gz: Changement entre .deb et les sources originales
sjitter_0.18.1b-1.dsc: Fichier permettant aux mainteneurs des repos de suivre ce package
sjitter_0.18.1b-1_source.changes: Le changelog (liste des changements)
sjitter_0.18.1b-1_source.deb: Le package au format .deb
sjitter_0.18.1b.orig.tar.gz: Les sources originales
Et voilà, vous venez de faire votre premier package Ubuntu, il ne reste plus qu’a le soumettre à la communauté.
Par exemple pour soumettre votre package sur Launchpad:
dput ppa:nicolashennion/ppa sjitter_0.18.1b-1_source.changes
Et hop…
Sam2p (distribué par son auteur sous licence GPLv2) est un petit utilitaire très simple et pratique si vous avez à convertir des images d’un format vers un autre. Il est disponible sous GNU/Linux et Windows.
Liste des formats d’entré supportés:
PNM, PBM, PGM, PPM, XPM, GIF, LBM, TGA, PCX, JPEG, TIFF, PNG, PS, EPS, PDF
Liste des formats de sortie supportés:
XWD, BMP, PNG, TIFF6, JPEG, PNM, GIF89a, XPM, PS, EPS, PDF
Un fois le logiciel installé avec la commande suivante (exemple d’installation sous Ubuntu):
sudo apt-get install sam2p
la commande pour convertir le fichier image.jpg vers image.pdf est:
sam2p image.jpg image.pdf
Il est bien sûr possible de spécifier des options à cette ligne de commande notamment pour ajuster le taux de compression (-c), changer la résolution de l’image (-m) ou bien appliquer une rotation ou un redimensionnement (-e).
L’utilisation de la ligne de commande permet de pouvoir facilement inclure sam2p dans un script afin de faire un traitement par lot des images.
Si il y a bien un sujet qui fait buzz dans le petit monde des navigateurs Internet, c’est bien Google Chrome. En attendant les versions pour GNU/Linux et Mac OS X qui ne devraient pas tarder, seul une version bêta pour Windows est disponible. Ce navigateur propriétaire se base sur un cœur open-source nommé Chromium (utilisant lui même le moteur Webkit) qui n’est ni plus ni moins qu’une version libre (licence BSD) de Google Chrome sans le verni de Google (interfaces avec les services types Gmail, Calendar, Reader…). Pour notre plus grand bonheur, Chromium est disponible sous GNU/Linux (et sous Windows et sous Mac OS X…).
On commence par récupérer le numéro de la dernière version alpha (nightly version 16851 au moment de l’écriture de ce billet) disponible en saisissant l’URL suivante dans notre navigateur Web:
http://build.chromium.org/buildbot/snapshots/chromium-rel-linux/LATEST
16851
Ensuite, dans un terminal, on tape les commandes suivantes:
wget http://build.chromium.org/buildbot/snapshots/chromium-rel-linux/16851/chrome-linux.zip
unzip chrome-linux.zip
On se retrouve avec un répertoire nommé chrome-linux.
On doit lancer les commandes suivantes:
cd chrome-linux
./chrome
Si tout se passe bien, le navigateur devrait s’afficher.

Utilisateur de Firefox, j’ai été agréablement surpris par la rapidité de chargement du navigateur (moins de 2 secondes). A bien sûr tempérer par le fait que les fonctions de cette version alpha de Chromium sont assez réduites. Il n’y a, par exemple, pas de gestion des plugins.
Après quelques minutes d’utilisation, l’affichage des pages ne pose aucun problème et s’avère très rapide (environ 25% plus rapide que Firefox 3.0.10 sur des pages lourdes):

Mais c’est au niveau de la compatibilité avec les normes Web est vraiment surprenant, car même pour une version alpha, il arrive à obtenir 100% au test Acid 3 (alors que Firefox 3.0.10 plafonne à 71%). Seul une petite erreur référencé (LINKTEST FAILED) gâche le tableau.

Ce navigateur me semble très prometteur. La qualité et la rapidité d’affichage sont excellentes, le moteur Webkit y est surement pour beaucoup (c’est également le moteur utilisé par Safari). Reste à voir comment va évoluer le projet. Espérons que les développeurs gardent une politique de navigateur libre et léger. Alors Chromium pourra se positionner comme une alternative au leader qu’est Firefox dans les navigateurs multi-plateformes.

Le 1er avril 2009, Intel a cédé à la Linux Fundation le développement de son système GNU/inux dédié aux terminaux mobiles (netbooks, MIDs: Mobile Internet devices). Nommé Moblin (contraction de mobile et Linux), ce système d’exploitation vise à exploiter le meilleur des performances des machines construites autour du processeur Intel® Atom™. Il avait fait parler de lui il y a maintenant quelques mois (le projet initial date de 2007) car une des caractérisques est un démarrage (boot) très rapide (inférieur à 5 secondes).
Actuellement disponible en version 2.0 bêta (image ISO du LiveCD téléchargeable ici), le projet propose également un environnement de développement permettant de créer des images ISO personnalisables à vos besoins (Moblin Image Creator) et bien sûr un SDK complet pour développer vos applications. Pour vous donner une idée des possibilités de l’interface graphique de Moblin, vous pouvez regarder cette vidéo.
La principale différence de Moblin par rapport à un projet comme Android est la cible des terminaux. En effet, alors qu’Android se focalise, pour l’instant sur les téléphons portables, Moblin s’attaque au marché des netbooks et MIDS (que l’on peut retrouver par exemple dans les voitures pour gérer les fonctions multimédia).
Le projet lance aujourd’hui un appel à la communauté pour découvrir, tester et développer Moblin. Un site spécialement dédié à été créé à cet effet: Moblinzone.
Après inscription, un espace privé vous donnera accès à un nombre important de ressources sur le projet et vous permettra entre autres de:
Ce projet prometteur est donc à suivre de très prêt aux vues de l’explosion des ventes des netbooks que l’on a connue en 2008 !
Note: ceci est un article sponsorisé, j’ai donc été rémunéré pour la rédaction de ce billet.
Un éditeur de vidéo libre basé sur Gstreamer
SquidGuard : filtre d’URL et listes à jour (le plus dur) – Le blog de Michauko
Squid et Squidguard pour le filtrage d’URL via un proxy HTTP
Flavour Extended: The Ultimate Icon Set For Web Designers | Freebies | Smashing Magazine
420 icônes pour votre blog
Apprendre à faire une application iphone en 10 leçons
Tutos vidéo de l’université de Standford sur comment développer une application sur iPhone.
Comment migrer son blog WordPress d’un hébergeur à un autre.
100 Amazing Free WordPress Themes for 2009 | Developer’s Toolbox | Smashing Magazine
Idée de design de thème WordPress
Sortie de Cairo-Dock 2.0, les nouveautés – Génération Linux
Un dock à la Mac OS X sous GNU/Linux…
Vous êtes coincé à votre bureau, derrière un beau Firewall qui bloque, mis à part le HTTP, tous les autres protocoles. Au même moment, le site Web hébergé sur votre serveur perso plante… Dans ce cas, il faut attendre le soir, rentrer chez vous pour enfin pouvoir se connecter en SSH sur votre serveur et résoudre le problème.
Il existe cependant une astuce qui moyennant un brin de préparation va vous permettre de faire passer le SSH à travers ce vilain Firewall…
La théorie est la suivante: nous allons créer un tunnel HTTP entre le PC du bureau et le PC de la maison. C’est possible car le tunnel est basé sur un protocole autorisé par le Firewall de votre entreprise (HTTP dans notre cas mais vous pouvez utiliser n’importe quel protocole TCP). Ensuite, il faudra rediriger sur votre PC de bureau le protocole SSH vers le tunnel HTTP. Une fois que les paquets SSH sont récupérés sur le PC maison, il n’a qu’a les envoyer vers votre serveur.
On commence par installer le logiciel HTTPtunnel sur notre PC maison (exemple d’installation sous Ubuntu):
sudo apt-get install httptunnel
Ensuite on lance la commande suivante:
sudo hts –forward-port A.B.C.D:22 80
Cette commande va écouter sur le port TCP/80 (comme c’est un port < 1024 on doit lancer cette commande en root, d’ou l’utilisation de sudo) et rediriger le trafic vers le serveur (d’adresse ip A.B.C.D dans mon exemple) et sur le port SSH (TCP/22).
Ensuite il faut penser à configurer votre *box pour:
Si vous avez la chance de travailler sur un OS de type GNU/Linux à votre bureau, la prcédure est alors relative simple.
On commence par installer HTTPtunnel sur notre PC bureau (exemple d’installation sous Ubuntu):
sudo apt-get install httptunnel
Ensuite on lance la commande suivante:
htc –forward-port 2222 E.F.G.H:80
Cette commande va écouter sur le port TCP/2222 (comme c’est un port >
1024, il n’est pas nécessaire de lancer cette commande en root)
et rediriger le trafic vers le PC maison (d’adresse ip E.F.G.H dans mon
exemple) et sur le port HTTP (TCP/80).
Si votre entreprise oblige les flux Web à transiter par un proxy HTTP (d’adresse S.Q.U.I avec une authentification USER/PASSWORD), il faudra ajouter les paramètres suivants à la ligne de commande:
htc -P S.Q.U.I –proxy-authorization USER:PASSWORD –forward-port 2222 E.F.G.H:80
Dans le cas ou votre PC de bureau est sous Windows (snif), il va falloir passer par une configuration du client Putty par exemple en suivant cette procédure.
Il suffit de lancer la commande suivante à partir de votre PC de bureau:
ssh localhost -p 2222
Vous serez alors connecté sur votre serveur ! 🙂
Vous connaissez sans aucun doute les blogs Presse-Citron, Al-Kanz, Nowwhere else ou Le journal du Geek ? Ces derniers ont la caractéristique de faire, en partie, vivre leurs auteurs. Et oui le Web 2.0 entre dans la phase de « professionnalisation ». Ces blogs deviennent donc des points sensibles dont l’indisponibilité ou dis fonctionnement peut entrainer une image négative ainsi qu’une baisse des revenus (pas vrai Korben;)). Si l’on parle souvent de la qualité intrinsèque des offres des hébergements, on parle moins de la supervision des serveurs et des services qui la compose.
C’est une matière à part entière dans l’informatique, elle permet d’anticiper et d’alerter un administrateur (le blogueur ou une personne mandatée) d’éventuel problèmes sur ses site.
Dans le cas précis d’un blog, on peut citer les fonctions de supervision suivantes:
L’archivage de ces informations, la présentation sous forme de rapports graphiques et l’expédition d’alertes (par mail, SMS, Twitter…) font également partie de cette supervision.
La supervision permet également d’anticiper les problèmes de dimensionnement des serveurs hébergeant les blogs. En effet, une trop faible fréquence de CPU ou une mémoire insuffisante pourront facilement être détectées. A l’inverse, on pourra facilement voir si un serveur est surdimensionné par rapport au besoin (et donc optimiser ses coûts d’hébergement).
Il est vrai qu’actuellement l’offre de services en ligne pour la supervision des blogs personnels (qu’ils soient professionnel ou non) n’est pas très riche. Certains services voient le jour (surtout de l’autre coté de la manche ou le nombre de blogueurs pro est plus important).
On peut citer par exemple Hyperic, Server Density ou Site24x7. Server Density est le dernier que j’ai découvert, il permet un supervision simple de son serveur (gratuit pour 1 serveur puis compter $15 par serveur par mois si vous voulez superviser plusieurs serveurs à partir du même compte).

Une autre solution est de s’installer soit même un serveur de supervision open-source. Des logiciels comme Nagios sont maintenant intégré dans des distribution GNU/Linux de type live-cd (FAN par exemple). Je ne vous cache pas que ces outils demandent quand même une bonne connaissance système et réseau. Il faudra que le serveur soit hébergé sur une machine dédié sur un réseau différent des serveurs à superviser (par exemple une machine à votre domicile allumée en permanence).
Je pense que nous sommes seulement au début de la prise en compte de cette problématique de supervision par les blogueurs. Les offres de service en ligne vont surement apparaître dans les prochains moins pour répondre à cette demande et je ne serais pas surpris qu’un mastodonte comme gOOgle propose une solution.
Et vous, vous en êtes ou avec la supervision de votre site/blog ?
—
Mise à jour:
Une nouvelle version de ce billet est disponible ici
—
Twitter est un formidable outil de veille pour les geeks que nous sommes. Nous allons dans ce billet voir comment configurer Nagios (l’outil de supervision open-source) pour envoyer des alertes sur un compte Twitter. Il annule et remplace l’ancien billet que j’avais écris sur le sujet.
Je vous conseille fortement de créer un compte Twitter dédié à ce besoin. C’est sur ce dernier que les alertes seront envoyé. Il suffira ensuite aux administateurs de suivre (follow) ce compte Twitter pour être informé au plus vite des anomalies survenues sur le réseau.
Pour créer notre compte Twitter special Nagios, on va à l’adresse suivante:

Il faut bien retenir votre « username » (nagiosnicolargo dans mon cas) et « password ».
Il faut ensuite se rendre dans les « Settings » et cliquer sur le bouton « Protect my updates » pour forcer l’approbation des utilisateurs qui vont pouvoir suivre ce compte Twitter. Quand un des administrateurs fera une demande pour suivre ce compte Twitter, il faudra l’approuver:

Maintenant que le compte Twitter est opérationnel, il faut configurer le serveur Nagios pour qu’il puisse y envoyer ces alertes. Pour envoyer les messages sur le compte Twitter nous allons utiliser la commande Curl avec la syntaxe suivante:
curl –connect-timeout 30 –max-time 60 -u nagiosnicolargo:monpw -d status= »Petit test depuis de Twist depuis Curl » http://twitter.com/statuses/update.xml
Si Curl n’est pas présent sur votre système, il faut l’installer (exemple pour un système Ubuntu):
sudo apt-get install curl
Passons maintenant aux fichiers de configuration de Nagios. Je pars sur le principe que vous avez un serveur Nagios en état de marche (en clair que vous avez suivi à la lettre les tutos PART 1 – Installation de Linux et des pré-requis système et PART 2 – Installation et configuration de Nagios 3). On commence par ajouter la commande twitit qui va permettre d’envoyer un message à notre compte Twitter via Curl:
# vi /usr/local/nagios/etc/objects/commands.cfg
define command{
command_name notify-host-by-twitter
command_line /usr/bin/curl –connect-timeout 30 –max-time 60 -u nagiosnicolargo:monpw -d status= »$HOSTNAME$ is $HOSTSTATE$ » http://twitter.com/statuses/update.xml
}
define command{
command_name notify-service-by-twitter
command_line /usr/bin/curl –connect-timeout 30 –max-time 60 -u nagiosnicolargo:monpw -d status= »$SERVICEDESC$@$HOSTNAME$ is $SERVICESTATE$ ** $SERVICEOUTPUT$ » http://twitter.com/statuses/update.xml
}
Ensuite on défini le contact (ou le groupe à vous de voir):
# vi /usr/local/nagios/etc/objects/templates.cfg
define contact{
name nicolargoadmin
alias Admin Nicolargo
service_notification_period 24×7
host_notification_period 24×7
service_notification_options w,u,c,r,f,s
host_notification_options d,u,r,f,s
service_notification_commands notify-service-by-twitter
host_notification_commands notify-host-by-twitter
}
Puis enfin on associe le contact avec le service à surveiller (par exemple que mon serveur Web tourne bien…):
define host{
use linux-host
host_name iwebwebserveur
alias Serveur WEB iWeb
address blog.nicolargo.com
parents monrouteur
hostgroups prj-perso
contacts nicolargoadmin
}
define service{
use generic-service
host_name iwebwebserveur
service_description HTTP
check_command check_http
contacts nicolargoadmin
}
Il ne reste plus qu’a tester vos fichiers de configuration:
sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
et à relancer Nagios:
sudo service nagios restart
A chaque notification, un nouveau message devrait apparaître dans votre compte Twitter dédié 😉