Catégories
Gstreamer Open-source Video

Mise à jour du script de screencast

Il y quelques mois, j’avais écrit un script shell (MyScreenCast) permettant d’automatiser la création d’un screencast avec des outils libres disponibles sur les distributions GNU/Linux (notamment GStreamer).

Affichage des touches / clicks souris

Suite à un message de Sylvain, je viens d’ajouter une nouvelle option permettant d’afficher sur l’écran les touches cliqués (clavier et souris) lors du screencast. J’utilise pour cela le logiciel libre key-mon (licence Apache v2).

Comme il n’est pas encore disponible via un PPA, il faut installer le logiciel (version 1.2.2 au moment de l’écriture de ce billet) à la mimine:

wget -q http://key-mon.googlecode.com/files/keymon_1.2.2_all.deb

sudo dpkg -i keymon_1.2.2_all.deb

rm keymon_1.2.2_all.deb

Support de WebM

J’ai modifier le script pour qu’il demande à la fin de la capture le format dans lequel le screencast doit être compressé, les formats disponibles sont les suivants:

  • H.264 (codec vidéo X.264 et audio AAC)
  • OGV (codec vidéo Théora et audio Vorbis)
  • WebM (codec vidéo VP8 et audio Vorbis)

Comment tester ces nouvelles fonctions ?

Il faut récupérer la dernière version du script:

MyScreencast

version 0.9

Puis de lancer la ligne de commande suivante:

chmod a+x ./myscreencast.sh

./myscreencast.sh -k -w

PS1: le flag -k permet de lancer le logiciel key-mon

PS2: le flag -w permet, si vous avez une webcam d’afficher votre tête dans une fenêtre…

Je suis toujours preneur de pistes d’amèliorations sur ce script !

Bon screencast à vous !

Catégories
Hardware Musique Open-source Systeme Video

Test du micro/casque Logitech ClearChat Pro USB sous Ubuntu

Je viens de recevoir un casque/micro Logitech ClearChat Pro USB. Spécialisé dans les applications chat (conversation, jeux vidéo…), il n´est pas fait pour les conversations téléphoniques (ce n´est pas un casque téléphonique sans fil, non plus), il peut cependant être utilisé pour écouter de la musique (bien qu’il existe de meilleur casque Hifi pour cette utilisation).

Sur la boîte, Logitech donne comme pré-requis l’utilisation d’un système d’exploitation de type Windaube ou MacOS X… Nous allons voir que ce casque fonctionne très bien sur une Ubuntu 10.04 et sans avoir à installer un quelconque driver.

Pour une vidéo de présentation du casque, vous pouvez regarder celle faite par OSGui:

Logitech ClearChat Pro USB Unboxing Review & Ubuntu Linux Tutorial

Catégories
Open-source Reseau

XPlico, le compagnon idéal de WireShark

C’est en lisant le flux RSS de Korben que je suis tombé sur le projet open-source Xplico. Ce dernier a pour but de présenter de manière lisible les fichiers de capture réseau au format PCap (générés notamment par WireShark et TCPDump).

Actuellement en développement (version 0.5.7 au moment de l’écriture de cet article), Xplico se base sur une architecture ouverte permettant d’ajouter assez simplement des modules de décodage (manipulators) et de visualisation (vizualization) de protocoles.

Nous allons maintenant voir comment installer, configurer et utiliser XPlico sur une système d’exploitation Debian like (Debian / Ubuntu…).

Catégories
Web

Mes marques ta-pages de la semaine

Marques-pages

Catégories
Musique Open-source Video

Petite ligne de commande anti vuvuzela

Marre d’entendre les vuvuzelas lors des matchs de la coupe du monde 2010 ? Il y a un moyen très simple de supprimer les fréquences correspondantes à partir d’un filtre VLC.

Voici donc une ligne de commande qui va:

  • récupérer le fichier vidéo du match sur le site de France Television
  • ouvrir le fichier vidéo en utilisant VLC et en y appliquant le filtre « anti vuvuzelas« 

La ligne de commande en question:

[shell]
vlc –audio-filter param_eq –param-eq-f1=233 –param-eq-f2=466 –param-eq-f3=932 –param-eq-gain1=-20 –param-eq-gain2=-20 –param-eq-gain3=-20 –param-eq-lowf=100 –param-eq-lowgain=15 –param-eq-q1=10 –param-eq-q2=10 –param-eq-q3=10 mms://direct.francetv.fr/siege/_\!/evt/fr/soccer_wc_2010.wsx\?aifp=v18\&auth=daEcSbicgdCaGa1dYdobEbSbTbyc2cYaKbQ-bmf28I-dW-FytntDdLd9dc
[/shell]

Catégories
Blog Open-source Systeme

Sauvegarde automatique de son site Internet

A moins d’être très joueur (ou fou), la sauvegarde de son site Internet doit être pensée et mise en œuvre dès le début d’un projet. Voici une solution basée sur une solution libre (lftp) qui sera très facile de caser dans une crontab pour automatiser cette tache ingrate.

L’architecture est la suivante:

Il faut disposer:

  • d’un serveur Web avec un accès FTP (ce qui est le plus standard chez les hébergeurs)
  • d’un PC de backup connecté en permanence à Internet (histoire d’automatiser le backup)

Préparation du PC de backup

Pas grand chose à installer mis à part l’indispensable client FTP lftp qui va nous permettre de faire un backup incrémental (seul les nouveaux fichiers seront téléchargés).

Exemple d’installation de lftp sous Ubuntu (à adapter à votre OS…):

[shell]sudo aptitude install lftp[/shell]

On créé ensuite un répertoire dans lequel le site Web/blo  sera sauvegardé.

[shell]mkdir ~/backup[/shell]

Configuration de la sauvegarde

On édite le fichier ~/monsite.lftp avec les informations suivantes (à adapter à vos besoins):

[shell]

set ftp:list-options -a
set cmd:fail-exit true
set ftp:ssl-allow false
set ftp:passive-mode on
set net:timeout 10
set net:max-retries 2
set net:reconnect-interval-base 5
set net:reconnect-interval-multiplier 1

open -p 21 login:password@monsite.com
lcd ~/backup
mirror -e -x dossier-a-exclure/

quit

[/shell]

On teste la sauvegarde:

[shell]

lftp -f ~/monsite.lftp

[/shell]

Et voilà, le répertoire ~/backup devrait contenir une image exacte de votre site Internet !

Il ne reste plus qu’à automatiser le backup toutes les nuits (crontab -e):

[shell]

0 1 * * * lftp ~/monsite.lftp

[/shell]

Et si je veux sauver ma base de données WordPress ?

Bonne question Michel… Personnellement j’utilise le plugin WP-DatabaseManager qui me permet de:

  • sauvegarder ma base de donnée dans un des répertoire de mon site Web (donc le backup se fera automatiquement avec la procédure décrite ci-dessus)
  • optimiser ma base de donnée
  • restaurer si besoin ma base de donnée

Et vous, comment faite vous la sauvegarde de votre site ?

Catégories
Web

Mes marques ta-pages de la semaine

Marques-pages
Catégories
Reseau

Configurer un tunnel IPSec Cisco entre deux réseaux locaux

Un petit poste « pense-bête » pour configurer un tunnel IPSec avec « pre-share key » (c’est à dire une clés secrète seulement connue par les deux sites) et cryptage AES 256 bits entre deux LAN connectés à Internet par des routeurs Cisco (compatible avec IPSec…).

Configuration du routeur A

crypto isakmp policy 1
 authentication pre-share
 lifetime 86400

crypto isakmp key AZERTYUIOPQSDFGHJKLMWXCVBNAZERTY address 80.80.80.2

crypto ipsec transform-set MATS esp-aes 256 esp-sha-hmac

crypto map MAMAP 10 ipsec-isakmp
 set peer 80.80.80.2
 set transform-set  MATS
 match address IPSEC-TUN

ip access-list extended IPSEC-TUN
 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255

interface FastEthernet 0/1
 crypto map MAMAP

Configuration du routeur B

crypto isakmp policy 1
 authentication pre-share
 lifetime 86400

crypto isakmp key AZERTYUIOPQSDFGHJKLMWXCVBNAZERTY address 80.80.80.1

crypto ipsec transform-set MATS esp-aes 256 esp-sha-hmac

crypto map MAMAP 10 ipsec-isakmp
 set peer 80.80.80.1
 set transform-set  MATS
 match address IPSEC-TUN

ip access-list extended IPSEC-TUN
 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255

interface FastEthernet 0/1
 crypto map MAMAP
Catégories
Open-source Reseau

Tester une liaison TCP/IP avec nttcp

NTTcp est un petit utilitaire bien pratique, dans la lignée des IPerf, pour tester une liaison TCP/IP (ou UDP) en ligne de commande sous Linux. A ajouter à votre liste d’outils pour l’administrateur réseau

Installation de NTTcp

Il faut installer le logiciel sur les deux machines (ou plus) entre lesquelles vous voulez tester votre réseau TCP/IP.

Sous Ubuntu:

[shell]sudo aptitude install nttcp[/shell]

Utilisation de NTTcp

Sur la machine A ayant comme adresse IP 192.168.0.100 (d’un coté du réseau):

[shell]nttcp -i -v[/shell]

Sur la machine B (de l’autre coté du réseau à tester):

[shell]nttcp -t -T 192.168.0.100[/shell]

Par défaut, NTtcp va transférer 2048 « buffers » de 4 Kilo octets (4KB), soit un total de 8 Mo de B vers A.

Le résultat devrait ressembler à:

     Bytes  Real s   CPU s Real-MBit/s  CPU-MBit/s   Calls  Real-C/s   CPU-C/s
l  8388608    0.71    0.02     93.8840   3355.2754    2048   2865.11  102394.9
1  8388608    0.72    0.06     92.7279   1198.3084    5209   7197.55   93012.9

Les options disponibles

Pour inverser et effectuer un test de débit de A vers B, il faut utiliser l’option -r au lieu de l’option -t.

On peut notamment noter l’option -u pour forcer l’utilisation du protocole UDP en lieu et place de TCP.

Un petit coup de man:

[shell]

Usage: nttcp [local options] host [remote options]
local/remote options are:
-t transmit data (default for local side)
-r receive data
-l# length of bufs written to network (default 4k)
-m use IP/multicasting for transmit (enforces -t -u)
-n# number of source bufs written to network (default 2048)
-u use UDP instead of TCP
-g#us gap in micro seconds between UDP packets (default 0s)
-d set SO_DEBUG in sockopt
-D don’t buffer TCP writes (sets TCP_NODELAY socket option)
-w# set the send buffer space to #kilobytes, which is
dependent on the system – default is 16k
-T print title line (default no)
-f give own format of what and how to print
-c compares each received buffer with expected value
-s force stream pattern for UDP transmission
-S give another initialisation for pattern generator
-p# specify another service port
-i behave as if started via inetd
-R# calculate the getpid()/s rate from # getpid() calls
-v more verbose output
-V print version number and exit
-? print this help
-N remote number (internal use only)
default format is: %9b%8.2rt%8.2ct%12.4rbr%12.4cbr%8c%10.2rcr%10.1ccr

[/shell]

Catégories
Open-source Reseau

SpiderOAK en ligne de commande

Vous savez (ou pas) tout le bien que je pense du service de stockage en ligne SpiderOAK. Après avoir détailler l’installer et la configuration du logiciel client SpiderOAK sur un PC Ubuntu Desktop disposant d’une interface graphique, nous allons voir comment utiliser ce service sur un serveur seulement accessible en ligne de commande (SSH).

Principe

En effet, le client SpiderOAK peut être lancé en ligne de commande (vous pouvez voir la liste des options disponibles en lancant /usr/bin/SpiderOak –help). Malheureusement, il n’est, à l’heure actuelle, pas possible de configurer le client par cette méthode. Nous allons donc:

  • installer le client SpiderOAK sur le serveur
  • en utilisant les fonctions x-forwarding de SSH, lancer le client à distance (l’interface s’affichera sur  votre machine locale) puis faire la configuration (c’est à dire choisir les répertoires à sauvegarder)
  • automatiser le lancement du client en ligne de commande (via crontab)

Aller zou à vos claviers…

Installation du client SpiderOak sur le serveur

On commence par télécharger la dernière version du client (attention de choisir une version compatible avec votre serveur: AMD64 / i386…) sur sa machien locale (on doit obtenir un fichier nommé spideroak_9658_i386.deb ou quelque chose comme ça…).

On copie ensuite ce fichier vers le serveur:

[shell]scp spideroak_9658_i386.deb monlogin@monserveur.com[/shell]

On se connecte en SSH sur le serveur:

[shell]ssh login@monbeauserveur.com[/shell]

Puis on lance l’installation:

[shell]sudo dpkg -i spideroak_9658_i386.deb[/shell]

Avant de fermer la session SSH, on installe xauth qui va nous permettre de lancer SSH en mode x-forwarding (exemple d’installation sur une distribution Ubuntu Serveur) ainsi que quelques librairies dépendantes:

[shell]

sudo aptitude install xauth dbus libice6 libsm6 libxrender1

exit

[/shell]

Configuration du client à distance

On lance une nouvelle session SSH en activant le x-forwarding (option -X):

[shell]ssh -X login@monbeauserveur.com[/shell]

Puis on lance le client SpiderOak:

[shell]/usr/bin/SpiderOak[/shell]

Il ne reste plus qu’a choisir dans l’interface graphique les répertoires à sauvegarder (voir un screencast de démonstration ici).

Une fois le client configuré, vous pouvez fermer l’application.

Lancement du client sur le serveur

Pour lancer le client sans interface graphique, il suffit de saisir la commande suivante (dans votre session SSH):

[shell]/usr/bin/SpiderOak –headless &[/shell]

Enfin pour automatiser le lancement du client au démarrage du serveur, il suffit d’ajouter une ligne à votre crontab:

[shell]

# crontab -e

@reboot /usr/bin/SpiderOak –headless &

[/shell]

Si vous avez besoin de reconfigurer votre client (pour ajouter ou supprimer un répertoire à sauvegarder), il faut:

  • se connecter au serveur en SSH avec l’option -X
  • tuer le process SpiderOak existant
  • lancer la commande: /usr/bin/SpiderOak
  • Configurer puis quitter l’interface
  • lancer la commande: /usr/bin/SpiderOak –headless &

Voili, plus d’excuses pour perde ses données 🙂

Source: Le blog de Marc Seeger