Catégories
Gstreamer Musique Open-source Planet-libre

Streaming audio haute qualité avec AAC

Le codec AAC (Advanced Audio Coding dont les fichiers portent souvent l’extension. MP4) est devenu au moins aussi populaire que le bon vieux MP3. Le fait que ce soit le codec audio utilisé par iTunes, le leader mondial de la vente en ligne, n’y est surement pas étranger.

Nous allons dans ce billet voir que l’on peut également utiliser ce codec lors de streaming. Je ne suis pas le premier à avoir cette idée car l’AAC est déjà utilisé pour la diffusion de la radio numérique Japonaise.

On ne change pas une équipe qui gagne, nous allons utiliser le framework GStreamer pour faire ce petit test de streaming audio entre deux machines. Pour ceux qui ne sont pas habitués à la notion de pipeline GStreamer, je vous conseille la lecture de ce billet.

Que cherche t’on à faire ?

Nous allons essayer de diffuser (« streamer ») un flux audio (par exemple un .WAV non compressé pour être sûr d’avoir une source de bonne qualité) depuis une machine A vers une machine B (reliées par un réseau IP) en utilisant un encodage AAC-LC et une encapsulation MPEG-4 / RTP.

Création de la pipeline d’émission

Si vous avez bien suivi, la commande suivante doit être saisie sur la machine A:

gst-launch -tv \

gstrtpbin name=rtpbin latency=0 buffer-mode=0 \

filesrc location=\ »samples/test.wav\ » ! decodebin ! audioconvert \

! queue ! faac bitrate=128000 ! rtpmp4apay \

! rtpbin.send_rtp_sink_1 \

rtpbin.send_rtp_src_1 ! udpsink port=6969 host=$IP_B

Bien que fait cette commande:

  1. elle lance GStreamer (gst-launch)
  2. Elle produit un flux réseau RTP (gstrtpbin)
  3. La source audio du flux réseau RTP sera un fichier WAV (filesrc), qui sera décodé (decodebin)
  4. On encode en AAC en utilisant le plugin faac (basée sur FAAC l’implémentation libre du codec AAC) en fixant un débit réseau cible de 128Kbps (128000 bits). On utilisera ainsi un streaming de type CBR (constant bitrate), c’est à dire que l’on fixe le débit et que le codec s’arrange pour adapter la qualité
  5. On encapsule le résultat dans une trame RTP MP4 Audio (rtpmp4apay)
  6. On stream en UDP (udpsink) vers la machine $IP_B  (à remplacer par l’adresse IP de la machine B) et sur le port 6969

Création de la pipeline de réception

A saisir sur la machine… B (bravo vous avez gagné une partie gratuite):

gst-launch -tv \

udpsrc port=6969 caps= »application/x-rtp, media=(string)audio, clock-rate=(int)16000, encoding-name=(string)MP4A-LATM, cpresent=(string)0, payload=(int)96, config=(string)40002810″ \

! gstrtpjitterbuffer latency=200 drop-on-latency=true ! rtpmp4adepay ! faad \

! audioconvert ! audioresample ! autoaudiosink

Que fait cette commande:

  1. Elle lance GStreamer (gst-launch)
  2. Elle écoute sur le port UDP port 6969 en filtrant les paquets RTP MP4A (udpsrc). La valeur a mettre dans la string config varie selon la fréquence d’échantillonnage de votre source. Elle est affichée lors du lancement de la pipeline A.
  3. Elle bufferise les paquets dans un buffer qui aura une taille maximale de 200ms (à adapter selon la qualité de votre réseau entre A et B). Si les paquets sortes de ce buffer avec plus de 200ms, ils seront dropés (donc perte de paquets, perte d’information, perte de son…).
  4. On décode le paquet RTP (rtpmp4adepay)
  5. On décode le flux audio AAC (faad)
  6. On joue le son sur le périphérique de sorti audio standard (autoaudiosink)

Résultat des tests

Après avoir fait mumuse avec des sources différentes (musique, voix…) et des débits plus ou moins importants (de 8 à 320 Kbps). On arrive à des résultats très intéressants.

Par exemple pour de la voix (« Pierre si tu m’entends 🙂 »), on arrive à une qualité tout à fait acceptable en réglant un bitrate de 16bps pour un flux à 16KHz.

Pour la musique, point de salut en dessous de 128 Kbps (à moins de se contenter d’une qualité vraiment médiocre). A 256 Kbps, on a une qualité qui correspond à une écoute depuis un fichier .MP4 téléchargé sous iTunes Store. Au dessus de 256 Kbps, je n’ai pas noté d’amélioration (mais je n’avais pas un périphérique de sorti de très grande qualité).

Catégories
Nagios Open-source Planet-libre Reseau Systeme

Mise à jour du script d’installation de Shinken/Thruk

Shinken, le système libre de supervision système et réseau compatible avec les fichiers de configurations et les plugins Nagios vient de sortir en version 0.6.

Cette nouvelle version apporte un lot impressionnant de nouveautés. Celle qui me semble la plus notable et sur laquelle je reviendrai dans un prochain billet est la découverte automatique de votre réseau. Plus besoin de faire toutes sa configuration à la main ! En effet, le « discovery module » permet d’automatiser cette tache fastidieuse.

Dès sa sortie, j’ai modifié le script d’installation automatique pour qu’il prenne en compte cette nouvelle version 0.6 de Shinken. J’en ai également profité pour modifier la version de Thruk (l’interface Web) pour utiliser la version 0.94.4. Je rappelle que le script a été développé et testé sur un système Debian mais il doit également fonctionner sous Ubuntu moyennant quelques modifications (lignes arch_version et perl_version).

Récupération du script d’auto installation de Shinken/Thruk

Il suffit d’ouvrir un terminal puis de saisir les commandes suivantes:

cd ~

rm -f shinkenautoinstall-debian.sh

wget https://raw.github.com/nicolargo/shinkenautoinstall/master/shinkenautoinstall-debian.sh

chmod a+x shinkenautoinstall-debian.sh

Lancement du script d’auto installation de Shinken/Thruk

Là encore rien de compliqué:

sudo ./shinkenautoinstall-debian.sh

Le script devrait se dérouler tout seul. Il vous demandera juste à un moment donnée de saisir le mot de passe que vous voulez affecter à l’utilisateur Unix shinken.

A la fin de l’installation, le serveur Shinken et l’interface Web Thruk seront lancées automatiquement.

—————————————————-

Installation terminée

—————————————————-

Fichiers de configuration : /etc/shinken

Fichiers de logs : /var/lib/shinken/nagios.log

Script de lancement de Shinken : /etc/init.d/shinken

Script de lancement de Thruk : /etc/init.d/thruk

Interface d’administration : http://@IP:3000

Arrivé à ce stade, vous pouvez éditer la configuration de Shinken (contenue dans le répertoire /etc/shinken) et vous connecter à l’interface Web d’administration (http://@IP:3000 ou @IP est à remplacer par l’adresse IP de votre serveur de supervision).

En bonus

Vous pouvez également utiliser le script pour mettre à jour un système Shiken existant (si il a été installé depuis les sources ou avec mon script). Dans ce cas, le script va sauvegarder votre configuration existante (le contenu du dossier /etc/shinken) dans un fichier .tgz (le nom et l’emplacement du fichier sont données à la fin de la mise à jour).

Il sera ensuite possible de restaurer cette configuration à la main.

Encore plus de Shinken ?

Jean Gabes, le papa de Shinken donnera une conférence sur son fils jeudi 12 mai au salon Solution Linux (à 15h30). Venez nombreux, il annonce une « conf de fou » 🙂 (il va avoir une belle pression…)

Catégories
Open-source Planet-libre Reseau

Capturer et analyser un trafic réseau avec Wireshark

Dans la boîte à outil des administrateurs et architectes réseaux, les outils de captures viennent souvent en bout de chaîne, quand toutes les autres solutions pour résoudre un problème ont été essayées. En effet, la capture et l’analyse d’un trafic réseau peut s’avérer fastidieuse pour une personne non avertie et lourde à mettre en place pour un spécialiste.

Nous allons donc dans ce billet prendre quelques pistes qui vous, je l’espère, vous permettre de vous y retrouver.

C’est quoi une capture réseau ?

Une capture réseau est une photo à un instant t (ou sur une période de temps t0/t1) de ce qui transite sur un réseau informatique. Si l’on choisi bien le point de capture, on pourra sauvegarder l’ensemble d’un trafic intéressant pour ensuite l’analyser à tête reposée.

Une capture réseau pour quoi faire ?

Les principales applications d’une capture puis d’une analyse réseau sont:

  • identifier les flux consommateurs sur une liaison Internet, WAN ou locale
  • caractériser le trafic généré par une nouvelle application (par exemple avant un déploiement)
  • identifier les causes d’un problème de performance sur un réseau (tempête de broadcast, problème physique sur un équipement)

Cette liste est bien sûr loin d’être exhaustive…

Ou effectuer la capture réseau ?

C’est un des points critiques. Il faut effectivement se positionner à un endroit ou l’on va capturer l’ensemble du trafic « intéressant » par rapport à votre besoin sans pour autant sauver des gigaoctets d’informations.

Pour analyser les flux d’une liaison WAN, le plus simple est de faire la capture au plus proche de l’interface réseau de sortie vers cette liaison. Si cette liaison n’est pas une liaison Ethernet, alors il faudra se positionner en amont du routeur gérant cette liaison.

Pour analyser une nouvelle application, le plus simple est de capturer le trafic sur un des PC clients ou sur le serveur dans le cas d’une architecture client/serveur).

Sur un réseau LAN commuté, vous pouvez soit utiliser les fonctions de redondance de port au niveau d’un commutateur central, soit positionner un bon vieux HUB à un endroit stratégique de votre réseau.

Comment faire la capture réseau ?

Pour prendre un exemple simple, nous allons capturer le trafic transitant par un routeur GNU/Linux (ou BSD). Ce dernier dispose de deux interfaces réseaux. La première coté LAN (eth0) , la seconde coté WAN (eth1). On commence dans un premier temps par installer Wireshark sur son routeur:

Exemple d’installation sous Ubuntu 10.04 LTS

sudo aptitude install wireshark

Si le routeur ne dispose pas d’interface graphique, nous utiliserons tshark. Ce logiciel permet de capturer le trafic puis de générer un fichier qui sera exploitable par WireShark sur une autre machine disposant d’une interface graphique.

Exemple d’installation sous Ubuntu 10.04 LTS

sudo aptitude install tshark

Ensuite on lance la capture avec Wireshark sur l’interface WAN (eth1):

On peut ensuite sauvegarder la capture faite par Wireshark en allant dans le menu File > Save. Attention, Wireshark est lancé par défaut avec le compte root, il faut donc faire cette sauvegarde dans un répertoire accessible par votre utilisateur standard (par exemple dans /tmp/capture.pcap).

Ou avec TShark sur l’interface WAN (eth1) en sauvegardant la capture dans le fichier /tmp/capture.pcap:

Commencer la capture:

sudo tshark -i eth1 -w /tmp/capture.pcap

Arrêter la capture:

CTRL+C

Comment analyser la capture réseau ?

Il faut un PC sur lequel Wireshark est installé (soit directement sur votre point de capture soit sur un autre PC sur lequel vous aurez téléchargé la capture). On peut noter que Wireshark est disponible sous GNU/Linux, BSD, Mac OS X et Windows. On commence par charger la capture par le menu File > Open (/tmp/capture.pcap). Une fois le fichier chargé, on peut voir que la fenêtre de Wireshark est, par défaut, divisée en 3 sections:

  • la première affiche une liste des paquets IP capturés
  • la seconde donne le détail du paquet IP sélectionné dans la première section
  • la troisième affiche le contenu (en hexadécimal) du paquet IP sélectionné dans la première section

Selon votre capture, il peut être utile d’appliquer un filtre qui ne va afficher que certains paquets. Il est également possible d’effectuer ce filtrage lors de la capture mais par expérience, j’évite de faire cela car on peut louper pas mal de choses…

Donc pour mettre en place un filtrage (par exemple pour n’afficher que les paquet dont l’adresse source est 192.168.200.21) il faut saisir le filtre dans la section Filter puis cliquer sur le bouton Apply:

Remarque: si le fond de la zone de saisie du filtre n’est pas verte, c’est qu’il y a une erreur de syntaxe.

La liste exhaustive des filtres d’affichage disponible est disponible sur cette page. Pour un filtrage au niveau IP on peut se contenter de cette page là.

Il est bien sûr possible de faire des filtre un peu plus complexe, par exemple:

(ip.src == 192.168.200.21) && (ip.dsfield.dscp == 46) && (ip.dst != 192.168.200.10)

Ce filtre va seulement afficher les paquets IP avec comme adresse IP source 192.168.200.21, tagué avec un champs DSCP à EF (valeur décimale = 46) et qui n’ont pas comme adresse de destination 192.168.200.10.

Un exemple concret de A à Z

Pour illustrer de manière plus concrète l’utilisation de ces filtres, nous allons capturer puis analyser la récupération d’une page Web sur mon blog à partir d’un poste client.

  1. On commence donc par lancer le navigateur sur le poste client.
  2. On lance ensuite Wireshark sur le poste client.
  3. On commence la capture sur l’interface eth0 du poste client.
  4. On surfe sur la page en question à partir d’un navigateur Internet. On attend que la page soit complètement chargée.
  5. On arrête la capture.

On devrait ainsi se retrouver avec une capture bien (trop ?) fournie. En effet, nos machines modernes font pas mal de choses en tache de fond. Certaine de ces actions génèrent des requêtes sur le réseau (vérification de présence de mise à jour système, mise à jour de votre Dropbox, requêtes réseau sur votre LAN…).

Nous allons donc commencer par filtrer le trafic intéressant qui, je le rappelle, est la récupération d’une page Web par votre navigateur. L’idée est de bâtir le filtre petit à petit en écartant les requêtes inutiles et en gardant celle nécessaire au bon chargement de la page.

On commence par filtrer les paquets dont l’adresse source ou destination est votre propre poste client (dans mon cas, l’adresse IP de ce client était 192.168.29.79). Pour obtenir la votre, il suffit d’utiliser la commande ifconfig.

Le premier paquets de notre flux devrait, en toute logique être une résolution DNS du domaine blog.nicolargo.com (mon blog sur lequel je charge la page). On voit bien que cette requête à bien été capturé mais avec elle du trafic inutile avant…

Le paquet en question porte le numéro 27, nous allons donc modifier légèrement le filtre pour n’afficher que les paquets dont le numéro est > à 26.

Comme vous allez le voir si vous faite le test, il reste un nombre très important de requêtes pour le simple chargement de cette page. Pour y voir un peu plus clair, il est également possible d’activer la résolution des noms de machines lors de l’affichage. Pour cela il faut se rendre dans le menu Edit > Preferences…

Pour voir la liste complète des requêtes client / serveur, nous pouvons utiliser la fonction conversation (menu Statistics > Conversations) de Wireshark qui va afficher la liste suivante:

On peut également utiliser les outils d’analyses spécifiques aux paquets HTTP en allant dans le menu Statistics > HTTP > Request…

On voit bien que le chargement d’une seule page implique un nombre très important de requêtes HTTP (TCP) sur le réseau et donc que l’optimisation et la limitation de ces requêtes aura un impact significatif sur le temps de chargement de vos pages.

Et si votre patron veut des graphes ?

Le chef, il aime bien les graphes, c’est plus simple à insérer dans un PowerPoint. Heureusement il existe une fonction permettant par exemple d’afficher des graphes  en appliquant le même genre de filtres que l’on a vu dans le chapitre précédant.

Pour cela il faut se rendre dans le  menu Statistics > IO Graphs.

Par défaut, c’est le filtre d’affichage actuel qui sera afficher avec la couleur noire correspondant au graphe n°1. L’échelle enordonnée est en nombre de paquets / seconde.

Pour passer en bits / seconde, il faut aller dans le menu Y Axis > Unit > Bits/Tick:

Pour ajouter d’autres courbes avec des filtres spécifiques, il suffit de saisir les champs Filter puis de cliquer sur le n° de graphes correspondant:

Il est bien sûr possible d’exporter les graphes dans un format facilement intégrable dans un rapport (BMP, JPG, PNG…) en cliquant sur le bouton « Enregistrer« .

Conclusion

Ce billet n’est qu’une simple introduction à l’analyse réseau qui est un sujet qui nécessite de bonnes  connaissances sur les réseaux IP. N’hésitez pas à utiliser les commentaires suivants si vous avez des questions complémentaire sur le sujet !

Catégories
Open-source Planet-libre Systeme

Mon desktop 201105

Comme chaque mois, je vais vous montrer le bureau qui va accompagner mon PC portable pendant ce beau mois de mai. La grande nouveauté est l’utilisation, suite à la mise à jour vers Ubuntu 110.04 Natty, de Unity en lieu et place de Gnome 2.

Voici ce que cela donne, sans fenêtre:

et avec:

Les principales caractéristiques

Unity

Le dock Unity remplace AWN. Je le trouve assez pratique à utiliser, même si AWN apportait des fonctions de widgets bien pratique qui permettait de se passer de la barre de menu. 

Celle-ci fait donc sa réapparition en haut de l’écran.

 

 

Petite astuce si vous n’avez plus toutes les notifications qui s’affiche dans cette barre. Il suffit de saisir la ligne de commande suivante dans un terminal:

 

gsettings set com.canonical.Unity.Panel systray-whitelist « [‘all’] »

Pour le dock j’ai les réglages suivants que l’on peut trouver dans l’application Gestionnaire de Configuration de Compiz (SUPER+A « ccsm » pour la lancer) > Bureau > Ubuntu Unity Plugin > Experimental:

 

 

Dans le Dock, je configure les applications suivantes pour y être en permanence (bouton droit / conserver dans le dock):

 

  • Dossier personnel (accès direct à mon $HOME)
  • Chromium (Navigateur Web)
  • Terminator (client terminal)
  • Filezilla (client FTP / SFTP)
  • Hotot (client TWitter / Identi.ca)
  • Pidgin (messagerie)
  • Shutter (capture d’écran)
  • Spotify (ma musique !!!)

Et vous ? Cela donne quoi ?

 

A vous de nous montrer vos écrans (par exemple en utilisant http://twitpic.com/) !

Catégories
Open-source Planet-libre Systeme

Accélérer l’affichage des menus sous Unity

Si comme moi, vos menus Unity mettent entre 1 et 2 secondes pour s’afficher, voici une astuce qui devrait rendre la bête un peu plus réactive aux combos SUPER+A, SUPER+F…

Il suffit de lancer le gestionnaire de configuration de Compiz en faisant « SUPER + A » > saisir « ccsm » puis cliquer sur l’application en question.

La fenêtre suivante devrait apparaitre:

Ensuite il suffit de désactiver le « Static Blur » (c’est à dire sélectionner « No Blur ») dans l’option « Dash Blur »:

Et voila, normalement les fenêtre devrait s’afficher instantément 🙂

Source: Forum Ubuntu.

Catégories
Open-source Planet-libre Systeme

Les « choses à faire » après l’installation de Ubuntu 11.04

Ubuntu Natty (version 11.04) vient de sortir et il fait beaucoup parler de lui. En effet, cette nouvelle version du système basée sur GNU/Linux (kernel 2.6.38 et Xorg 1.10) introduit une nouveauté qui ne peut que sauter aux yeux des utilisateurs: le remplacement de l’interface graphique Gnome 2 par Unity.

Ce billet n’a pas pour objectif de comparer Natty aux anciennes versions d’Ubuntu et encore moins à d’autres systèmes GNU/Linux. Utilisant pas moins de 5 systèmes d’exploitations de manière plus ou moins régulière (Ubuntu, Debian, Fedora, FreeBSD, MacOS X et Windows), je trouve à chacun des avantages et des inconvénients. C’est cette diversité qui m’intéresse et pas la guerre entre OS.

Pour ceux qui suivent régulièrement ce blog, vous savez que chaque mois je donne une description du bureau d’une de mes machines (mon PC Desktop ou mon Laptop). Pour vous donner une idée de celui-ci avant la migration vers Natty, vous pouvez regarder l’image suivante:

On peut y voir:

  • le dock AWN sur la gauche de l’écran
  • le reste de l’écran pour les fenêtre (pas de barre de menu en haut)
  • un thème basée GTK basée sur Equinox Evolution Dawn + icônes Faenza

L’idée générale était de conserver fonctionnellement cette disposition en passant sous Ubuntu Natty / Unity.

Mise à jour du système

Comme à chaque fois, j’utilise la procédure suivante (histoire d’avoir un log propre à remonter aux équipes de Canonical). Donc, dans un terminal, il faut saisir les lignes suivantes:

sudo aptitude update

sudo rm -rf /var/log/dist-upgrade/

sudo update-manager -d

Puis ensuite, on suit pas à pas les étapes de la migration.

J’ai effectué la migration cette nuit car les serveurs étaient saturés (débit moyen de 50 Ko/sec…). Vivement que l’update-manager implémente un téléchargement via des technologies peer-to-peer.

Dans mon cas, l’installation c’est déroulée presque sans accros. Au petit matin, je me suis retrouvé avec le bureau suivant après le redémarrage de la machine:

Le seul bémol notable est venu de l’icone Dropbox qui n’apparaissait plus dans la zone de notification. Pour résoudre ce problème j’ai suivi ces instructions:

dropbox stop

rm -r ~/.dropbox-dist

cd

wget http://dl-web.dropbox.com/u/17/dropbox-lnx.x86-1.1.28.tar.gz

tar zxvf dropbox-lnx.x86-1.1.28.tar.gz

dropbox start

Configuration de Unity

Au niveau visuel, j’arrivais donc à quelque chose de ressemblant. Le dock Unity remplaçant AWN et le menu de notification refaisant son apparition en haut du bureau. Je trouvais cependant que le dock Unity était un peu trop gros par rapport à l’écran de mon Laptop. J’ai donc décidé d’en réduire la taille en allant dans le gestionnaire de configuration de Compiz (pour le trouver: touche SUPER + A > rechercher ccms) puis dans le menu « Bureau > Ubuntu Unity Plugin > Experimental », j’en prifite en même temps pour désactiver l’option « Static Blur » qui occasionnait sur ma configuration un temps d’affichage des menus entre 1 et 2 secondes:

 

J’obtiens alors le résultat suivant:

Et alors ? cela donne quoi à l’utilisation ?

Je dois avouer que je partais avec un a priori plutôt défavorable. Après quelques heures d’utilisation et la mémorisation des raccourcis claviers claviers les plus importants, j’ai vite oublié que je n’étais plus dans un environnement Gnome bien connu. Les fichiers sont facile à retrouver (soit par une recherche que l’on peut activer avec la combinaison SUPER + F), soit directement dans son dossier racine (SUPER + 1 dans ma configuration). On a le même système de recherche pour les applications (SUPER+A). 

C’est une façon différente d’accéder à son système qui se rapproche assez de Mac OS X. Certains peuvent ne pas aimer…

Je trouve toutefois Unity encore perfectible sur certains point. Par exemple sur mon Laptop (Core i5 + 4 Go de RAM), l’affichage du menu pour lancer une application (SUPER+A) prend entre 1 et 2 secondes. Tous mes fichiers ne sont pas encore indexé dans le moteur de recherche (après plus de 8 heures, bizarre quand même). > Pb resolu: Voir la solution ici.

Et après ?

Après une installation ou une mise à jour, vous allez vous retrouver avec les dépôts standards d’Ubuntu.

Pour configurer automatiquement les dépôts et installer/mettre à jour les applications que j’utilise régulièrement, j’ai relancé mon script post-installation Ubuntu (version 1.40 ou supérieure). Ce script va notamment installer les applciations suivantes:

  • Chromium (navigateur Internet)
  • VLC (player multimedia)
  • Dropbox (partage de fichiers entre ordinateurs)
  • Shutter (capture d’écran)
  • Hotot (client de micro blogging)
  • Terminator (terminal)

Conclusion

Il est encore trop tôt pour vous donnez un avis tranché sur cette nouvelle version et notamment sur Unity. En tout cas, je ne suis pas perdu 😉

Et vous quelles sont vos premières impressions sur Unity ?

Catégories
Blog Developpement Open-source Web

L’application iPad du Blog de Nicolargo est disponible

Inlassable développeur de l’ombre, Nicolas Richasse (alias Ritchy) vient de mettre à jour l’application iPhone/iPod du blog de Nicolargo pour la rendre compatible avec le dernier joujou des geek: la tablette iPad.

Pour la télécharger, rendez-vous sur l’AppStore:

Plus qu’un simple portage, il en a profité pour changer l’interface utilisateur. Voici quelques screenshots pour vous donner l’eau à la bouche:

Ou encore…

Merci encore à lui !

Catégories
Image Open-source Planet-libre Systeme

Les raccourcies d’Unity sur une image

La prochaine version d’Ubuntu intégrera, par défaut, l’interface Unity en lieu et place de Gnome. Comme tout système GNU/Linux, il sera bien entendu possible d’en choisir une autre (par exemple Gnome 3), mais si ce n’est pas votre choix alors l’image suivante devrait vous intéresser.

Elle propose en effet la plupart des touches de raccourcies clavier pour manipuler Unity comme un pro (source Webupd8).

Pour avoir testé Unity sur une machine virtuelle sous Ubuntu 11.04, je dois avouer que je ne suis pas un gros fan. J’attend cependant d’avoir une version définitive (fin avril) entre les mains pour me faire une idée définitive. Les freins du changement sont parfois forts…

Que pensez-vous de cette nouvelle interface ? Apporte t’elle selon vous une « expérience utilisateur » plus intéressante ? Simplifie t’elle les taches les plus courantes ?

Catégories
Blog Open-source Web

Le panier du marché libre #9

Après une très (trop) longue absence, voici la neuvième édition du panier du marché libre avec ces quelques liens qui, je le pense, vont vous intéresser:

Bientôt les belles journées, donc en bonus, la recette du VRAI Pan Bagnat Niçois (par pitié pas de salade dans le Pan Bagnat !!!)

Catégories
Blog Open-source Planet-libre Reseau Systeme Web

Varnish n’a pas peur de la montée en charge

Ce matin, un tweet de Philippe Scoffoni m’a permis de re-découvrir le site Load Impact qui permet de tester la montée en charge de votre service Web en simulant un nombre croissant de connexion. J’ai profité de cet outil sympa pour tester les performances de mon blog sans et avec le proxy cache Varnish (dont j’avais détaillé l’installation dans ce billet).

Avant de commencer la comparaison, un détail de ma configuration serveur:

  • Hébergeur Gandi
  • OS Ubuntu 10.04 LTS
  • CPU 1 coeur avec 1 Go de RAM

Perfos sans Varnish

Le test est alors effectué dans l’architecture suivante:

On obtient ces résultats:

Sans grande surprise on voit que les performances s’écroulent quand le nombre de lecteurs simultanés augmente. Pour 50 lecteurs simultanés sur le Blog (ce qui est quand même un pic que je ne vois pas tous les jours :)), on a un temps de chargement de la page qui passe à plus de 25 secondes (alors qu’il est de moins d’une seconde quand il y a un seul lecteur).

Perfos avec Varnish

En ajoutant Varnish en front-end à Apache, on a l’architecture suivante:

Et les résultats…

… sont à la hauteur des attentes de Varnish !

En effet pour 50 lecteurs consultant le blog en simultané, le temps de chargement ne dépasse pas les 2 secondes. Pas mal pour un logiciel qui ne prend que 1 Go d’espace disque…

Alors vous attendez quoi pour passer à Varnish ?