Catégories
Blog Open-source Planet-libre Systeme

Script de post installation de Debian Desktop

Comme la plupart d’entre vous, j’ai migré mon poste de travail vers la version 11.04 d’Ubuntu et je dois dire que pour une utilisation professionnelle, je trouve l’interface Unity encore perfectible. J’ai donc dans un premier temps testé la toute fraiche version de Fedora 15 avec Gnome 3 et je suis arrivé plus ou moin à la même conclusion.

J’ai donc décidé de « switcher » vers une Debian 6 (le script doit fonctionner sous Squeeze et Sid en adaptant le sources.list). Je voulais obtenir, au niveau du desktop, un résultat se rapprochant de ce que j’avais dans la version 10.10 d’Ubuntu. C’est à dire:

  • Gnome 2 avec un thème GTK Equinox Evolution Dawn + icônes Faenza
  • Conky avec le thème LUA 2011
  • Mes outils pour le blog et de tous les jours: Chromium, Hotot, Terminator, Shutter, Spotify, Dropbox
  • Une liste de dépôts utile pour mon boulot dans le sources.list (attention, le script utilise des dépôts « Sid » officiels et certains autres pouvant proposer des logiciels ou librairies « non libre »)

Comme je l’avais fait pour Ubuntu, j’ai donc développé un script post install pour Debian 6 qui va automatiser une partie de ces actions.

Le script est disponible dans le GITHub suivant (pour les remarques éventuelles, bug…):

https://github.com/nicolargo/debianpostinstall

Avant / Après

Voici un aperçu du bureau avant l’exécution du script…

… puis après (avec ce fond d’écran):

Téléchargement du script

Il faut saisir les commandes suivantes dans un terminal:

cd ~

wget https://github.com/nicolargo/debianpostinstall/raw/master/debian6postinstall.sh

chmod a+x debian6postinstall.sh

Exécuter le script

Le script nécessite les droits d’administrations. Le plus simple est donc de lancer un terminal administrateur (menu Applications > Accessoires > Terminal Administrateur) puis de saisir la commande suivante:

./debian6postinstall.sh

Un certain nombre d’informations va s’afficher sur l’écran. Si une question vous est posée, il suffit de choisir la réponse par défaut.

Si vous avez des remarques sur ce scripts, je suis comme d’habitude preneur !

Catégories
Blog Open-source Planet-libre

SophiaConf 2011

Le groupe de travail open-source de la Telecom Valley (06) organise juste avant les grandes vacances un cycle de conférences sur 4 jours (du 4 au 7 juillet 2011) sur des sujets pointus comme l' »Open Data« , l’Open Source sur plateforme mobile et embarquée, Android 3.0 et les méthodologies de développement agiles.

Détails du programme SophiaConf 2011:

Lundi 04 juillet : OPEN SOURCE, MOBILE ET EMBARQUE

Mardi 05 juillet : OPEN DATA

Mercredi 06 juillet : ANDROID 3.0 ET TABLETTES

Jeudi 07 juillet : DEVELOPPEMENT AGILE

Les conférences seront données sur le site de l’INRIA entre 17h30 et 20h et permettront d’apprendre et d’échanger. L’inscription gratuite peut être faite en ligne à partir de cette page sur le site officiel.

Pour ma part, je serais présent les mardi, mercredi et jeudi.

Qui viendra ?

Catégories
Blog

[Publi-information] Les annonceurs du blog

Voici un petit billet pour remercier les annonceurs qui participent au développement de ce blog que vous êtes de plus en plus nombreux à suivre. Bien que je ne vive pas de mon site (loin de là :)), ces coups de pouces me permettent de ne pas compter les dépenses sur me moyens de tests (serveurs, accès Internet, VPN…).

Je souhaite également souligner la très bonne relation que j’ai avec ces personnes. N’hésitez donc pas à prendre un peu de temps pour visiter leurs sites.

Si de nouveaux annonceurs sont intéressés, toutes les informations sont sur cette page.

Web4all

Web4all est une association de type loi 1901 spécialisée dans l’hébergement de sites internet. Sa gestion est désintéressée et l’équipe se compose uniquement de bénévoles permettant ainsi de réduire au maximum les dépenses afin de les concentrer sur la partie technique et notamment sur des serveurs haut de gamme. Grâce à son statut, Web4all offre un service de qualité aux clients et adhérents, le tout à un prix compétitif.
La contraction des dépenses s’appuie également sur l’utilisation de systèmes libres dont la réputation n’est plus à faire. On notera ainsi l’utilisation d’applications comme Apache, MySQL, Zimbra, Alfresco et bien d’autres sans oublier les systèmes de supervision (Cacti, Nagios, Centreon, Smokeping).
Bien que juridiquement organisé en association, Web4all propose un service pour héberger vos sites internet équivalent à celui des sociétés commerciales. Les membres du conseil d’administration animés par la volonté de partager leurs compétences, le désir de parfaire leurs connaissances et le souhait d’expérimenter de nouvelles technologies veillent à répondre rapidement aux questions des clients.

LibrA-LinuX

LibrA-LinuX, spécialiste des formations Linux, vous propose des stages, afin de permettre à des utilisateurs de tous niveaux (débutants ou confirmés), d’aborder sereinement l’utilisation et l’administration de systèmes Linux (Debian, Ubuntu, RedHat, Fedora..). Ces formations techniquement enrichissantes, sont animées par des experts, qui mènent en parallèle depuis plusieurs années, la pratique du métier et l’animation de sessions de formation, et ce, dans le but d’accompagner vos équipes dans l’acquisition et le renforcement de leurs compétences sous Linux.

Liste des formations: http://www.libra-linux.com/index.php/Formation-Linux/

M-PLIFY

M-Plify est l’éditeur de la solution en ligne TeamTILT qui permet à partir d’un serveur Nagios, Centreon ou Zenoss d’envoyer des notifications de type  SMS, messages vocaux et notifications push (iPhone) vers vos administrateurs ou vos responsables informatiques. Il suffit juste d’installer le plugin sur votre serveur et de créer un compte sur le site.

A noter que vous pouvez tester gratuitement ce service avec 10 messages offerts à partir de cette adresse.

Catégories
Blog Open-source Planet-libre Web

Comment je blogue ?

L’âge ou la notoriété aidant, vous êtes de plus en plus nombreux à me demander quel est la méthodologie et les outils que j’utilise pour bloguer. Loin de moi l’idée d’écrire un billet arrêté sur la question sachant qu’il y a autant de manières de bloguer que de blogueurs. Je vais donc vous donner ma méthode, que j’utilise maintenant depuis 2 ans et qui se base sur l’utilisation conjointe de services en ligne et de logiciels libres.

Les commentaires en fin de billet sont bien sûr et comme toujours ouverts pour nous faire partager vos méthodes/outils personnels.

La recherche d’information

C’est la base. Sans information, pas de billet, sans billet, pas de blog. Mes sources sont, par ordre d’importance, mes flux RSS, mes besoins personnels ou professionnels sur des sujets précis et enfin les réseaux sociaux Twitter et Identi.ca.

Les flux RSS

C’est ma principale source d’informations. Depuis que j’utilise les flux RSS des sites/blogs qui m’intéressent, c’est l’information qui vient à moi et pas le contraire. Leurs utilisations est une vraie révolution, il y a, pour moi, un avant et un après l’Internet des flux RSS. Je suis souvent surpris par le peu de personne utilisant cet outil de veille technologique même dans le milieu des technos / geeks.

Après avoir essayé pas mal de logiciels libres pour consulter mes flux RSS, je suis revenu au service en ligne Google Reader. Le principal avantage de ce service est de pouvoir lire mon flux sur différentes machines (boulot, domicile, téléphone…). De plus en plus de logiciel, notamment sur smarthphone mais également sur desktop, s’interface directement avec Google Reader en gérant une synchronisation des articles lus. Je bénéficie d'une offre mobile intéressante, me permettant d'accéder directement à toutes ces applications.

Quand un article m’intéresse et que je pense qu’il peut servir de base à un futur billet, je créé un billet de type brouillon dans l’interface Web de mon blog WordPress avec une description succincte et le lien (URL) vers la source. En parallèle, je marque l’article avec une étoile pour pouvoir le retrouver facilement.

Si l’article est intéressant mais que je ne souhaite pas en faire un billet sur mon blog, je le partage directement sur les réseaux sociaux Twitter /Identi.ca et la page Facebook du blog en appuyant sur le bouton « Share ».

J’essaye de conserver une liste ne dépassant pas 100 flux RSS et j’écarte systématiquement les sites qui publie à une fréquence trop élevée (par exemple les sites généralistes).

Mes besoins

J’ai la chance d’avoir un travail qui est une source d’inspiration pour mon blog, je peux notamment citer la supervision système et réseau (Nagios, Shinken, Centreon…)  et les frameworks multimédias (GStreamer, VLC, Flumotion…). Ainsi, si j’utilise des solutions libres dans certains de mes projets professionnels, j’essaye de faire un billet de synthèse sur le sujet. C’est pour moi un juste retour des choses.

A titre plus personnel, le fait de bloguer et d’héberger mon site sur un serveur dédié est également une source pour mes billets sur l’hébergement. Ce sont souvent des billets de tailles importantes nécessitant plusieurs heures de travail et différentes sources d’informations.

Les réseaux sociaux

Contrairement au flux RSS que j’utilise depuis longtemps, les réseaux sociaux Twitter et Identi.ca ne sont une source d’inspiration pour mon blog que depuis 2 ans. J’utilise principalement mon compte Twitter ou je « follow » environ 100 personnes.

Comme pour mes flux RSS, quand je trouve une information potentiellement intéressante pour un article sur mon blog, je prends un note de type brouillon dans WordPress. Si je pense que l’information peut intéresser mes abonnées Twitter/Identi.ca, je « retweet ». Il est important de faire attention à ce que l’on « retweet » sur son compte. En effet, je préfère limiter mes tweets à des informations intéressantes et originales.

La méthodologie

Une fois « la matière première » trouvée, il faut rédiger et mettre en forme son billet. Je travaille directement dans l’éditeur de WordPress qui c’est bien amélioré dans les dernières versions en mode brouillon et en améliorant petit à petit l’article. Le fond est important, mais la forme aussi. Il faut donc veillez à rédiger un texte aéré, fluide et illustré.

Pour que le référencement des mes billets soit bon, je veille également à bien renseigner les « metas data » (catégorie, tags, titre…). J’utilise le plugin WordPress All In One SEO pour m’aider dans cette tache.

Une fois le texte finalisé puis relu une dernière fois à tête reposé, je programme (fonction « schedule » de WordPress) la publication de mon billet à une heure donnée (le matin, entre 7h30 et 8h00 pour qu’il arrive tout chaud au moment de votre café dans votre flux RSS). Les billet en ligne, je veille également à répondre aux questions « intéressantes » (pas celle nécessitant un simple « RTFM »…), dans la limite de mes disponibilités et en gardant à l’esprit que le plus formateur pour un lecteur est de trouver par lui même la réponse à son problème.

Les moyens matériels

Coté serveurs, j’utilise un serveur dédié virtuel (Gandi) sous Ubuntu 10.04 LTS pour héberger mon blog. En parallèle j’utilise également un autre serveur (hébergé également chez Gandi) sous Debian 5 pour mes tests et validation de procédure. Je dispose également de serveur sous FreeBSD et RedHat dans le cadre de mon boulot.

Pour les articles nécessitant une machine « desktop », j’utilise mon PC personnel (laptop sous Ubuntu 11.04) ou mon PC boulot/test (sous Fedora 14 et bientôt Fedora 15). Je dispose également d’un appareil photo reflex pour illustrer avec une « belle » photo certains de mes billets.

Comme on a pu le voir, le CMS WordPress est à la base de mes outils pour bloguer. Quand je ne suis pas connecté à Internet, j’utilise un simple éditeur de texte (par exemple l’excellent TextAdept *) en éditant sauvegardant le/les fichiers dans une sous répertoire de ma Dropbox. Si j’ai besoin de faire des copies d’écrans ou des petites retouches photographiques, j’utilise le logiciel « bien connu » logiciel libre Shutter.

Mes outils pour la recherche d’informations sont les navigateurs web Chromium ou Firefox avec les extensions Google Reader et AddThis pour le partage rapide d’information vers les réseaux sociaux. Pour consulter et contribuer à ces derniers, j’utilise le logiciel de micro-blogging Hotot.

Gérer son temps

Quand on commence à bloguer, le temps passé à cette activité et aux taches que l’on vient de décrire est une des choses les plus difficile à gérer. Au début, on a plutôt tendance à faire le yoyo avec des journées ou l’on passe plusieurs heures sur son blog et d’autres ou l’on ne fait rien du tout. Cela à tendance à se lisser après quelques mois.

Personnellement, sur une journée type, je consacre moins d’une heure à mon blog (1/4 d’heure sur les flux RSS, 1/4 d’heure sur les réseaux sociaux et 1/2 heure à la rédaction des billets). Ces chiffres sont bien sûr une moyenne 🙂

Et vous amis blogueurs: « Comment bloguez-vous ? ».

Catégories
Gstreamer Musique Open-source Planet-libre Video

Présentation « powerpoint » du framework GStreamer

Comme vous avez pu le remarquer, depuis quelques mois la fréquence des billets sur le blog est en chute libre. La « faute » à mon boulot (celui qui paye les factures) pour lequel je suis pas ma en déplacement. J’ai pu juger comme il était difficile de bloguer loin de ses terres. J’ai donc vite renoncer à écrire des articles depuis les chambres d’hôtels et j’ai préféré visiter les belles villes de Rennes et de Paris.

Cependant ces fameuses mission m’ont permis de poser sur quelques planches « powerpoint » (c’est votre chef qui va être heureux) une introduction au framework GStreamer que j’aborde souvent dans mon blog (voir la page dédiée ici).  Cette présentation est bien évidemment distribuée sous licence CC BY v3.  L’idéal si vous avez à l’utiliser est de la faire tourner sur PC sous GNU/Linux avec l’ensemble des plugins GStreamer installés. puis à chaque planche ou il y a un exemple de faire un copier/coller de ce dernier dans un terminal (effet démo garanti).

Pour d’évidentes raisons de compatibilité, je diffuse la présentation au format PDF (il suffit de cliquer sur l’image ci-dessous pour lancer le téléchargement). Pour les personnes voulant modifier cette présentation, vous pouvez également la télécharger au format ODP.

Je vous rappelle, que l’ensemble des billets sur GStreamer est regroupé sur cette page. Si vous voulez être tenu au courant des nouveaux articles sur le sujet, je vous conseille de vous abonner au flux RSS du blog, à mon compte Twitter ou à partir de Facebook.

Enfin pour finir, si vous utilisez cette présentation merci de laisser un petit commentaire sur cette page…

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

Shinken découvre votre réseau pour vous

Si vous avez mis en place un serveur de supervision sur votre réseau, vous devez savoir que cette phase est souvent longue, fastidieuse et source d’erreur de configuration. Heureusement, la dernière version (0.6) de Shinken (le fork compatible Nagios développé de main de maitre par Jean Gabes) intègre un mesure de découverte de votre réseau.

Nous allons dans ce billet détailler les étapes pour utiliser ce module. Nous partons sur l’hypothèse ou vous avez un serveur Shinken/Thruk opérationnel. Si ce n’est pas le cas, j’ai développé un petit script shell permettant de faire cette installation pour vous.

C’est quoi donc ce module ?

Shinken-discovery est un programme qui va scanner les machines de votre réseau puis en déduire les services à superviser pour ensuite générer les fichiers de configurations pour Shinken.

Installation

Le scan de votre réseau se base sur le bien connu programme nmap qui doit donc être présent sur votre système.

Sur Debian / Ubuntu:

sudo aptitude install nmap

Sur Fedora:

yum install nmap

Le reste des programmes est inclue dans la version 0.6 (et supérieure) de Shinken.

Configuration

Si vous avez bien suivi, il faut maintenant dire à Shinken quel est le ou les réseaux à scanner. Cette configuration permet non seulement de découvrir des machines sur votre réseau local mais également (sous réserve de règles de filtrages compatible dans vos firewalls/routeurs) sur des réseaux distants.

La liste des réseaux à scanner est à configurer dans le fichier /etc/shinken/resource.cfg dans la variable $NMAPTARGETS$ (en fin de fichier):

# sudo vi /etc/shinken/resource.cfg

$NMAPTARGETS$=192.168.0.0/24 blog.nicolargo.com

Dans l’exemple ci-dessus je vais donc scanner:

  • 192.168.0.0/24: les 254 adresses de mon réseau local
  • blog.nicolargo.com: un serveur sur Internet que je surveille de près

Lancement de la découverte

Il suffit de saisir la commande suivante:

sudo shinken-discovery -o /etc/shinken/objects/discovery -r nmap

Selon la taille de votre réseau, cette opération peut prendre plus ou moins de temps (« I’m launching nmap »).

Comme on peut s’en douter, la configuration sera générée dans le répertoire /etc/shinken/objects/discovery. Le principal avantage est que l’on ne pert pas la configuration existante.

Note

Pour partir sur une nouvelle configuration basée uniquement sur le module de découverte (c’est à dire juste après une installation propre de Shinken), vous pouvez suivre la procédure suivante (au cas ou la configuration initiale est archivé dans /tmp/shinken-backup.tgz):

tar zcvf /tmp/shinken-backup.tgz /etc/shinken

sudo rm -f /etc/shinken/objects/hosts/*

sudo rm -f /etc/shinken/objects/services/*

sudo rm -f /etc/shinken/hostgroups.cfg

sudo touch /etc/shinken/hostgroups.cfg

sudo rm -f /etc/shinken/servicegroups.cfg

sudo touch /etc/shinken/servicegroups.cfg

/Note

On doit ensuite fixer les droits des fichiers générés:

sudo chown -R shinken:shinken /etc/shinken/objects/discovery

Prise en compte de la nouvelle configuration

Il suffit ensuite de redémarrer Shinken pour voir votre réseau:

sudo /etc/init.d/shinken restart

Si vous aviez déjà une configuration existante, il y a de forte chance pour que Shinken vous affiche un message d’erreur lors de la vérification de vos fichiers. Le résultat de la commande de check se trouve dans le fichier /tmp/shinken_checkconfig_result.

Par exemple, le module de découverte peut générer une entrée pour un host existant. Il faut alors éditer et ou supprimer le host en question pour que la configuration soit valide.

Conclusion

Ce billet n’est qu’une courte introduction à ce module qui peut être paramétré de manière beaucoup plus fine lors de la transformation du scan vers une configuration Shinken. J’aurai l’occasion de revenir prochainement sur ce vaste sujet.

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

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

Aussi bien pour Shinken que pour les Thruk, les mises à jour s’enchaînent avec une fréquence importante ces derniers temps. Cela démontre un grand dynamisme sur ce projet !

J’ai donc adapté le script d’installation automatique du couple Shinken/Thruk en ajoutant pas mal de contrôle sur le bon déroulement des téléchargement ainsi qu’une adaptation pour aller chercher Thruk dans les archives si la version du script n’est plus téléchargeable dans le répertoire officiel.

La version 0.4 du script va installer:

  • Shinken 0.6
  • Thruk 1.0.2

La procédure pour installer ou mettre à jour votre serveur de supervision Shinken est toujours la même:

cd ~

rm -f shinkenautoinstall-debian.sh

wget http://svn.nicolargo.com/shinkenautoinstall/trunk/shinkenautoinstall-debian.sh

chmod a+x shinkenautoinstall-debian.sh

sudo ./shinkenautoinstall-debian.sh

Si tout se passe comme prévu, le script devrait afficher:

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

Installation is finished

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

Backup configuration file : /tmp/shinken-backup-20110513073545.tgz

Configuration file folder : /etc/shinken

Log file : /var/lib/shinken/nagios.log

Shinken startup script : /etc/init.d/shinken

Thruk startup script : /etc/init.d/thruk

Thruk web interface URL : http://sam:3000

Dans certain cas, notamment lors d’une mise à jour, il faut ensuite relancer Shinken:

sudo /etc/init.d/shinken restart

Pour remonter les éventuels bugs / nouvelles fonctions, merci d’utiliser le site officiel du script qui se trouve sur GitHub à l’adresse suivante: https://github.com/nicolargo/shinkenautoinstall.

Catégories
Developpement Open-source Web

Localisation de logiciels : astuces culturelles

Cet article a été rédigé par Dan Aldulescu, chargé marketing l’agence de traduction Lingo24. Crée en 2001, Lingo24 compte aujourd’hui plus de 160 employés sur quatre continents et des clients dans plus soixante pays.

En tant que programmeur, lorsque vous développez une application destinée aux utilisateurs français et constatez qu’elle est appréciée, vous pouvez supposer que les utilisateurs d’autres pays, d’Allemagne ou de Suède par exemple, peuvent aussi la trouver intéressante et conforme à leurs besoins. Alors pourquoi ne leur donner l’opportunité d’en bénéficier ? La première étape à franchir en vue de localiser votre application pour le public étranger est la traduction du texte, mais parfois, la simple traduction ne suffit pas.

Pourquoi localiser les logiciels ?

Le marché des logiciels et des applications Web a été pendant longtemps un terrain miné pour les PME du domaine informatique qui étaient contraintes à agir uniquement sur leurs marchés locaux. Aujourd’hui, la globalisation et le besoin, en plein essor, des services informatiques donnent une très bonne opportunité aux PME du domaine de s’ouvrir à un nouveau public. Mais pour une meilleure adaptation des applications au public cible étranger, elles doivent être soumises au processus délocalisation.

La localisation des logiciels peut devenir une démarche assez onéreuse et, avant de vous lancer,vous devez connaitre en détail le marché cible pour avoir les données nécessaires à une évaluation de vos chances d’obtenir un retour sur investissement optimal. Aussi, pour rendre tout ce processus de localisation plus facile et rapide, il est recommandé d’envisager, dès les premières étapes du développement du logiciel, des versions pour d’autres langues et de les inclure dans les codes de programmation.

Traduction et contrôle du contenu

Le traducteur doit être très familier avec la terminologie spécifique du domaine informatique de la langue cible. Par exemple, si on traduit un logiciel de l’anglais vers le français et que l’on a le mot « thumbnail », dont la traduction littérale française n’a rien à voir avec les logiciels, il faut trouver le mot dont le sens en est un aperçu en français pour bien localiser le texte de l’application à l’intention des prospects français.
Dans la localisation des logiciels, l’espace destiné au texte constitue un problème récurent. Prenons de nouveau l’exemple de la traduction de l’anglais vers le français. Si on a, en anglais, un bouton intitulé « try again », on observe que le texte se compose de neuf caractères, espace inclus. En français,on peut avoir « essayez de nouveau », qui compte 18 caractères, espaces inclus. Si, à cette échelle, le problème n’est pas très difficile à résoudre, en cas de fragments plus longs, l’espace devient un véritable problème. Il faudra donc trouver une alternative à la traduction d'origine.

Pour surmonter ce dernier, vous pouvez soit vous montrer généreux en ce qui concerne l’espace pour chaque fragment de texte, si on ne connait pas encore les langues cibles de la localisation, soit demander au traducteur d’adapter le texte dans la langue cible de telle manière qu’il ne dépasse pas une certaine limite de caractères, même si cela implique de s’éloigner légèrement de la source mais en en gardant le sens.
Un autre élément très important, qui peut être source de confusions pour l’utilisateur final du logiciel, est le format de la date et l’heure ainsi que des unités de mesure spécifiques pour chaque région géographique.

Dans le cas de la localisation, il faut aussi adapter les éléments visuels à la culture cible. Les symboles, les photos et les couleurs utilisés peuvent avoir des connotations négatives pour les utilisateurs étrangers. La perception de ces éléments visuels est influencée par les spécificités culturelles. Il faut accorder une attention particulière au projet en cas de localisation pour le marché asiatique, où les gens vivent avec des normes sociales traditionalistes et respectent strictement leurs valeurs culturelles et nationales. Pour réussir à gagner leur confiance, il faut leur offrir un produit qui s’adapte à leurs valeurset besoins. Si vous utilisez les couleurs pour véhiculer du sens, vérifiez que cela sera bien compris dans le monde entier. Le rouge peut symboliser la guerre, mais il peut aussi signifier l’amour et la passion.

Localisation des logiciels libres : CMS WordPress

La nécessité mondiale d’un contenu très dynamique sur un site Web a déterminé le besoin d’outils de gestion de contenu simples à utiliser, évitant de devoir parcourir des manuels de 500 pages, et à adapter à un public mondial en tenant compte de ses spécificités linguistiques et culturelles. L’un desplus célèbres outils de CMS (système de gestion de contenu) est celui de WordPress mis en place pour l’anglais américain, mais son utilisation mondiale a nécessité sa localisation.

Le processus de localisation de WordPress se déroule en deux étapes. La première appartient aux programmeurs, qui bâtissent les mécanismes simplifiant la traduction et la localisation ultérieure dans différentes langues. La deuxième étape est la localisation proprement dite, processus se focalisant sur le contenu texte et les différents paramètres et options pour que l’interface soit adaptée à un groupe culturel spécifique basé dans une aire géographique définie.

Pour obtenir les meilleurs résultats d’un processus de localisation, WordPress se concentre sur l’adaptation aux dialectes locaux. Parce qu’il y a des différences entre le portugais du Portugal et le portugais parlé au Brésil, les traducteurs choisis doivent être natifs du pays cible. La participationest ouverte à tous, il vous suffit de vous présenter sur WP Polyglots Blog et d’énoncer la (ou les)langue(s) vers laquelle (ou lesquelles) vous souhaitez traduire. Généralement, une assistance techniqueest proposée par les équipes techniques de WordPress, mais il est préférable que les traducteursconnaissent les notions de base du PHP, car il faut parfois savoir lire le code de programmation pourarriver à une meilleure retransmission de sens entre l’anglais et la langue cible.

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…)