Catégories
Open-source Reseau

Installation d’un serveur VPN sous FreeBSD

Le but de ce billet est de détailler l’installation d’un serveur VPN routé de type SSL sur un système FreeBSD 7. Nous utiliserons pour cela le logiciel libre OpenVPN (licence GPL v2).

Installation du système FreeBSD

Robustesse et qualité de sa pile IP font du système FreeBSD un bon « hôte » pour notre serveur VPN. Afin de ne pas surcharger le serveur avec des logiciels inutiles, j’ai choisi l’installation minimale (développeur, comprenant les « ports ») à partir du réseau (ISO 7.x-RELEASE-i386-bootonly).

Avant de commencer l’installation d’OpenVPN, il est préférable de s’assurer que notre système d’exploitation est à jour en suivant cette procédure.

Installation de OpenVPN

On commence par installer le port OpenVPN avec la commande suivante:

pkg_add -r openvpn

On automatise le lancement en ajoutant la ligne suivante au fichier /etc/rc.conf:

openvpn_enable= »YES »

Configuration du serveur OpenVPN

OpenVPN permet la création de tunnel VPN de type SSL. Il faut donc que votre serveur puisse gérer des clès de chiffrement. Les étapes à suivre sont les suivantes:

vi openssl.cnf

dir = /etc/ssl/CA
default_days = 3650 # Valable 10 ans…
default_bits  = 2048 # Clès de 2048 bits
countryName_default = FR
stateOrProvinceName_default = PACA
localityName_default = Valbonne
0.organizationName_default = MaBoite
commonName_default = mondomaine.com
emailAddress_default = contact@mondomaine.com

mkdir /etc/ssl/CA

cd /etc/ssl/CA
mkdir certs
mkdir crls
mkdir newcerts
mkdir private

touch index.txt
echo 01 > serial
echo 01 > crlnumber

openssl req -nodes -new -x509 -keyout private/cakey.pem -out cacert.pem -days 3650
> Laisser les options par défaut

A ce stade, on doit avoir notre clés créé dans le fichier private/cakey.pem:

ls /etc/ssl/CA/private
cakey.pem

On génère ensuite le fichier de révocation:

cd /etc/ssl/CA
openssl ca -gencrl -out crls/crl.pem
chown root:nobody crls/crl.pem

On passe maintenant à la génération de notre certificat pour notre serveur VPN:

cd /etc/ssl/CA/certs
openssl req -nodes -new \
-keyout vpn.mondomaine.com.key \
-out vpn.mondomaine.com.csr
> Laisser les options par défaut puis entrer un mot de passe
chmod 600 /etc/ssl/CA/certs/vpn.mondomaine.com.key

Puis on le signe:

openssl ca -out al-vpn1.alcasat.net.crt
\-in al-vpn1.alcasat.net.csr
\-policy policy_anything

Enfin on génère les paramètres Diffie-Hellman pour l’échange des clés:

openssl dhparam -out dh2048.pem 2048

Pour configurer OpenVPN, nous allons nous baser sur une configuration d’exemple fournie par OpenVPN dans le fichier /usr/local/share/doc/openvpn/sample-config-files/server.conf.

mkdir /usr/local/etc/openvpn/
cp /usr/local/share/doc/openvpn/sample-config-files/server.conf \
/usr/local/etc/openvpn/openvpn.conf

Puis éditer le fichier /usr/local/etc/openvpn/openvpn.conf en adaptant la configuration à votre réseau.

Voici ma configuration:

et le fichier .conf correspondant:

port 1194
proto udp
dev tun

ca /etc/ssl/CA/cacert.pem
cert /etc/ssl/CA/certs/al-vpn1.alcasat.net.crt
key /etc/ssl/CA/certs/al-vpn1.alcasat.net.key
crl-verify /etc/ssl/CA/crls/crl.pem
dh /etc/ssl/CA/certs/dh2048.pem

server 192.168.40.0 255.255.255.0

ifconfig-pool-persist ipp.txt
push « route 192.168.1.0 255.255.255.0 »

keepalive 10 120

cipher BF-CBC
comp-lzo

user nobody
group nobody

persist-key
persist-tun

status openvpn-status.log
verb 6
mute 20

Lancement du serveur OpenVPN

On utilise le script système:

/usr/local/etc/rc.d/openvpn start

Pour vérifier que le tunnel VPN est prêt à accueillir des clients, on peut vérifier que le preocess openvpn est bien lancé et que l’interface tun0 est bien présente:

/usr/local/etc/rc.d/openvpn status
openvpn is running as pid 2212.

ifconfig tun0
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1500
inet 192.168.40.1 –> 192.168.40.2 netmask 0xffffffff
Opened by PID 2207

Pour relancer le serveur (en cas de changement de configuration):

/usr/local/etc/rc.d/openvpn restart

Pour arrêter le serveur:

/usr/local/etc/rc.d/openvpn stop

La consultation des logs peut être faire via la commande:

tail -f /var/log/messages | grep openvpn

Configuration de votre réseau

Si votre réseau hébergeant le serveur VPN comporte des routeurs il faut leur ajouter la route suivante (exemple donnée pour un ajout de route sur un routeur FreeBSD):

route add -net 192.168.40.0/24 @IP-SERVEUR-VPN

Configuration d’un client Linux

A partir du serveur VPN, on génére les clés pour le nouveau client:

cd /etc/ssl/CA/certs

openssl req -nodes -new -keyout vpn-nicolargo.key -out vpn-nicolargo.csr
Generating a 2048 bit RSA private key
………………………………………..+++
……………….+++
writing new private key to ‘vpn-nicolargo.key’
—–
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [FR]:
State or Province Name (full name) [PACA]:
Locality Name (eg, city) [Valbonne]:
Organization Name (eg, company) [MaBoite]:
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) [mondomaine.com]:vpn-nicolargo.mondomaine.com
Email Address [contact@mondomaine.com]:monadresse@mondomaine.com

Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:monpassword
An optional company name []:

Il faut changer le fichier /etc/ssl/CA/serial (incrémenter la valeur de 1).

echo 02 > /etc/ssl/CA/serial

Puis signer le certificat:

openssl ca -out vpn-nicolargo.crt \
-in vpn-nicolargo.csr -policy policy_anything

Sur la machine cliente, on copie les 3 fichiers ainsi que la clés serveur cacert.pem dans le répertoire /etc/ssl/certs (à créer si il n’existe pas).

On doit se retrouver avec nos 4 fichiers:

ls /etc/ssl/certs/*
/etc/ssl/certs/cacert.pem
/etc/ssl/certs/vpn-nicolargo.crt
/etc/ssl/certs/vpn-nicolargo.csr
/etc/ssl/certs/vpn-nicolargo.key

On protége nos fichiers:

groupdadd nobody
chown root:nobody /etc/ssl/CA/cacert.pem
chown root:nobody /etc/ssl/CA/certs/vpn-nicolargo.*
chmod 600 /etc/ssl/CA/certs/vpn-nicolargo.key

Après installation d’OpenVPN sur votre machine cliente, on le configure en créant le fichier client.conf dans le répertoire /etc/openvpn/ (sous GNU/Linux Ubuntu):

sudo vi /etc/openvpn/client.conf

client
dev tun
proto udp
remote al-vpn1.alcasat.net 1194
nobind
user nobody
group nobody
persist-key
persist-tun
ca /etc/ssl/certs/cacert.pem
cert /etc/ssl/certs/vpn-hennionn.crt
key /etc/ssl/certs/vpn-hennionn.key
cipher BF-CBC
comp-lzo
verb 6
mute 20

Lancement du client OpenVPN Linux

Pour monter le VPN entre notre client et le serveur, on utilise le script système (sous GNU/Linux Ubuntu):

# sudo /etc/init.d/openvpn start client
* Starting VPN ‘client’ [OK]

L’arrêt se fera tout aussi simplement:

# sudo /etc/init.d/openvpn stop client

* Stopping VPN ‘client’ [OK]

Par défaut, au démarrage de la machine, OpenVPN va lancer tout les tunnels VPN dont il trouve une configuration dans le répertoire /etc/openvpn/. Si vous souhaitez désactiver cette fonction et monter vous même le VPN à la main, il faut éditer le fichier /etc/default/openvpn (sous GNU/Linux Ubuntu) et décommenter la ligne suivante:

AUTOSTART= »none »

Pour conclure…

Il est possible de configurer d’autres clients en suivant la même procédure, le tunnel VPN étant routé, il peut accueillir plusieurs utilisateurs en même temps.

Des clients OpenVPN avec interface graphique sont également disponibles sous Windows et Mac OS X.

Quelques sources utiles à la rédaction de ce billet:

Catégories
Open-source Systeme

Installation de GStreamer sur Mac OS X

Update: Il existe maintenant un binaire d’installation de GStreamer sous Mac OS X !

http://www.itee.uq.edu.au/~davel/gstreamer/

 

Il n’existe pas de package de distribution officiel de GStreamer sous Mac OS X. Les versions disponibles dans les MacPorts sont anciennes et incomplètes. Nous allons donc dans ce billet voir comment installer GStreamer et ses plugins sur un Mac OS X.

Pre-requis

Il faut un certain nombre de pré-requis système pour compiler et installer GStreamer. La première chose à faire est d’installer les MacPorts (disponibles ici).

Ensuite, il faut ouvrir un terminal est saisir les commandes suivantes:

# sudo port install gzip m4 perl5.8 pkgconfig bison flex gettext glib2 libiconv libxml2 py25-gobject py25-numeric python25 zlib liboil libogg libtheora libvorbis cdparanoia

 

puis:

# sudo port install libcdio aalib flac jpeg libcaca libdv libpng libshout2 speex taglib wavpack XviD libdts faac faad2 libmusicbrainz neon libsdl a52dec lame libmpeg2 libmad libid3tag libdvdread

 

Pour installer le support de la librairie X.264, j’ai du faire:

# sudo port
> install x264
—>  Fetching yasm
—>  Attempting to fetch yasm-0.7.2.tar.gz from http://arn.se.distfiles.macports.org/yasm
—>  Verifying checksum(s) for yasm
—>  Extracting yasm
—>  Configuring yasm
—>  Building yasm
—>  Staging yasm into destroot
—>  Installing yasm @0.7.2_0
—>  Activating yasm @0.7.2_0
—>  Cleaning yasm
—>  Fetching x264
—>  Attempting to fetch x264-snapshot-20080724-2245.tar.bz2 from ftp://ftp.videolan.org/pub/videolan/x264/snapshots/
—>  Verifying checksum(s) for x264
—>  Extracting x264
—>  Configuring x264
—>  Building x264
—>  Staging x264 into destroot
—>  Installing x264 @20080724_1
—>  Activating x264 @20080724_1
—>  Cleaning x264

 

Installation de GStreamer

GStreamer est composé de plusieurs packages:

On va commencer par récupérer les dernières versions disponibles sur le site officiel. On moment de l’écriture de ce billet, j’ai:

On télécharge donc tout ce beau monde:

# cd
# mkdir src
# cd src
# wget http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-0.10.22.tar.gz
# wget http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-0.10.22.tar.gz
# wget http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-0.10.13.tar.gz
# wget http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-0.10.10.tar.gz
# wget http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-0.10.10.tar.gz

 

Puis on commence par compiler GStreamer:

# tar zxvf gstreamer-0.10.22.tar.gz
# cd gstreamer-0.10.22
# LDFLAGS= »-L/usr/local/lib -L/opt/local/lib » \
CFLAGS= »-I/usr/local/include -I/opt/local/include » \
PKG_CONFIG_PATH= »/usr/local/lib/pkgconfig:/opt/local/lib/pkgconfig » \
./configure –prefix=/usr/local \
&& make DEPRECATED_CFLAGS= » » \
&& sudo make install

 

puis on continue avec les plugins-base:

# cd ..
# tar zxvf gst-plugins-base-0.10.22.tar.gz
# cd gst-plugins-base-0.10.22
# LDFLAGS= »-L/usr/local/lib -L/opt/local/lib » \
CFLAGS= »-I/usr/local/include -I/opt/local/include » \
PKG_CONFIG_PATH= »/usr/local/lib/pkgconfig:/opt/local/lib/pkgconfig » \
./configure –prefix=/usr/local \
&& make DEPRECATED_CFLAGS= » » \
&& sudo make install

 

… et les plugins-good:

# cd ..
# tar zxvf gst-plugins-good-0.10.13.tar.gz
# cd gst-plugins-good-0.10.13
# LDFLAGS= »-L/usr/local/lib -L/opt/local/lib » \
CFLAGS= »-I/usr/local/include -I/opt/local/include » \
PKG_CONFIG_PATH= »/usr/local/lib/pkgconfig:/opt/local/lib/pkgconfig » \
./configure –prefix=/usr/local \
&& make DEPRECATED_CFLAGS= » » \
&& sudo make install

 

… et les plugins-ugly:

# cd ..
# tar zxvf gst-plugins-ugly-0.10.10.tar.gz
# cd gst-plugins-ugly-0.10.10
# LDFLAGS= »-L/usr/local/lib -L/opt/local/lib » \
CFLAGS= »-I/usr/local/include -I/opt/local/include » \
PKG_CONFIG_PATH= »/usr/local/lib/pkgconfig:/opt/local/lib/pkgconfig » \
./configure –prefix=/usr/local \
&& make DEPRECATED_CFLAGS= » » \
&& sudo make install

 

… et les plugins-bad:

# cd ..
# tar zxvf gst-plugins-bad-0.10.10.tar.gz
# cd gst-plugins-bad-0.10.10
# LDFLAGS= »-L/usr/local/lib -L/opt/local/lib » \
CFLAGS= »-I/usr/local/include -I/opt/local/include » \
PKG_CONFIG_PATH= »/usr/local/lib/pkgconfig:/opt/local/lib/pkgconfig » \
./configure –prefix=/usr/local \
&& make DEPRECATED_CFLAGS= » » \
&& sudo make install

 

Vous devriez vous retrouver avec environ:

# gst-inspect-0.10

Nombre total :147 greffons, 439 fonctionnalités

 

Source: ce billet se base en grande partie sur ce Wiki.

Catégories
Open-source Systeme

MacPorts simplifie l’open-source sous Mac

macports-logo.pngvous le savez (ou pas), le système d’exploitation Mac Os X est basé sur un système Unix de type FreeBSD. Depuis le passage à une architecture de type Intel, il est donc théoriquement possible de compiler n’importe quel logiciel développé pour FreeBSD sur votre Mac.

La théorie étant souvent assez éloignée de la pratique, on se retrouve régulièrement avec des problèmes de compilation. Heureusement, il existe de bonnes âmes qui vous mâchent un peu le travail en « packagant » les sources des logiciels pour une complication sans souci. MacPorts est un projet de la communauté open-source visant à regrouper ces sources (il y en a plus de 5400 au moment de l’écriture de ce billet) tout en offrant un gestionnaire de paquets.

Nous allons voir comment installé les MacPorts sur votre machine sous Mac OS X puis donner quelques exemples de commande du gestionnaire de paquets.

Installation des MacPorts

Il existe plusieurs méthodes pour installer les MacPorts sur votre machine. La plus simple étant de télécharger l’image DMG (version 1.7.0 par exemple) puis de procéder à l’installation.

Attention: il faut que les pré-requis suivants soit installés sur votre machines:

  • Xcode version 3.1 (disponible sur le DVD d’installation de Mac OS X ou à télécharger ici.
  • X11 user + X11 SDK, également disponible sur le DVD d’installation de Mac OS X

Si vous avez déjà les MacPorts installés, pour les mettre à jour à la dernière version, il faut utiliser la commande suivante:

sudo port -v selfupdate

Utilisation des MacPorts

Nous n’allons pas faire un copier/coller de la documentation très complète disponible en ligne (en Anglais) mais juste donner quelques commandes pour débuter.

Liste des logiciels disponibles:

# port list

Liste des logiciels installés:

# port installed

Recherche un logiciel:

# port search iperf

iperf @2.0.4 (net)

A tool to measure maximum TCP and UDP bandwidth

Information sur un logiciel:

# port info iperf

iperf @2.0.4 (net)

Variants: universal

Iperf is a tool for measuring maximum TCP and UDP bandwidth, reminiscent of ttcp and nettest. It

has been written to overcome the shortcomings of those aging tools. Iperf can also test UDP

bandwidth, loss, and jitter.

Homepage: http://iperf.sourceforge.net

Platforms: darwin

Maintainers: pmq@macports.org

Installer un logiciel:

# sudo port install iperf

De-installer un logiciel:

# sudo port uninstall iperf

Vérifier si les logiciels installés sont à jour:

# port livecheck outdated

Mise à jour d’un logiciel:

# sudo port upgrade iperf

Mise à jour de l’ensemble des logiciels installés:

# sudo port upgrade outdated

Et voila, je vous invite à consulter le site officiel qui regorge d’information sur le projet. Si vous souhaitez y participer en intégrant vos développements (compatible Mac bien sûr…) aux MacPorts, il suffit de suivre la documentation suivante.

Catégories
Musique Open-source Web

Last.fm sous Ubuntu et Mac OS X

last-fm_audioscrobbler_logo.jpg

Last.fm est un service permettant de diffuser la liste des musiques que vous écoutez et de récupérer en échange des titres, des vidéos et des concerts collant au plus près à vos goûts. Il est donc possible d’écouter « une radio » ne passant que des chansons qui sont sensés vous plaire.

J’étais un peu septique, c’est pour cela que j’ai mis un certain pas à faire le grand saut… avec du recul, j’aurai dû le faire avant 🙂 En effet, Last.fm est convivial a utilisé et très pertinent dans ces propositions.

Dis, comment ça marche ?

C’est très simple, on commence par créer un compte sur le site puis on configure son lecteur audio pour qu’il diffuse ce qu’il joue sur votre base de donnée Last.fm (cela s’appelle « to scrobble »).

Sous Mac OS X, si vous utilisez iTunes, le plus simple est de télécharger le logiciel Last.fm qui va automatiquement « scrobbler » ce qui a été joué sur votre iTunes et même sur votre iPod ! Le logiciel dispose également d’un petit lecteur permettant d’écouter des musiques qui collent à vos goûts. Notamment la radio « Mes Recommandations », que j’écoute en boucle 🙂

Last.fm.jpg

Sous GNU/Linux et en particulier Ubuntu, tout dépend du logiciel que vous utiliser. La possibilité de « scrobbler » sur Last.fm est disponible sur la plupart des logiciels: Amarok, Banshee, SongBird… Je vous laisse trouver la procédure sur les sites correspondants.

Installation de Last.fm sous Ubuntu

Vous pouvez également installer le logiciel Last.fm assez simplement car il existe un dépôt Ubuntu. I suffit de suivre a procédure suivante:

wget -q http://apt.last.fm/last.fm.repo.gpg -O- | sudo apt-key add –

sudo vi /etc/apt/sources.list
# Ajouter la ligne suivante:
deb http://apt.last.fm/ debian stable

sudo apt-get update

sudo apt-get install lastfm

L’installation finie, le logiciel peut être lancé à partir du menu: Application / Son et vidéo / Last.fm

capture_200808264810.jpg

Et voila, il ne reste plus qu’a écouter et découvrir de nouveaux bijoux !

Vous pouvez consulter mon profile Last.fm à l’adresse suivante: http://www.lastfm.fr/user/nicolargo

N’hésitez pas à m’ajouter comme ami !

Catégories
Musique Open-source

Ecouter la musique de son Mac sous Linux

Si vous avez comme moi votre bibliothèque musicale stockée dans l’iTunes de votre Mac OS X et que vous souhaitez y accéder depuis votre PC Linux, alors ce billet est fait pour vous…

Comment ça marche ?

Nous allons utiliser DAAP (Digital Audio Access Protocol), un protocole commun entre votre Mac OS X qui va partager votre bibliothèque et votre lecteur audio sous Linux. Ce protocole se rapproche en fait du bien connu protocole HTTP (mais en écoute sur le port TCP/3689, avis aux utilisateurs de firewall…) permettant de partager des listes de lectures et de « streamer » des musiques (quelques soit le format/codec) sur le réseau.

Pour une description précise du protocole, vous pouvez consulter ce document.

Configuration du serveur DAAP sur le Mac OS X

Depuis iTunes 7.0, Apple (le vilain) a changé le protocole d’authentification des clients tiers. Il n’est donc plus possible d’accéder à une bibliothèque partager par iTunes 7.0 depuis un lecteur audio Linux comme Amarok, Banshee ou Rhytmbox.

Heureusement, la communauté open-source propose une solution alternative et que je trouve plus élégante: Fire Fly Media Server. Ce petit serveur DAAP (anciennement nommé mt-daap) est disponible sous Mac OS X.

Avant d’installer Fire Fly Media Server, on commence donc par vérifier que le partage est désactivé dans iTunes 7.0 afin qu’il n’y est pas de conflit entre les deux systèmes.

Partage-3.jpg

On peut alors passer à l’installation de Fire Fly Media Server. Il faut pour cela se rendre sur cette page et télécharger la dernière « nighly-build ».

Une fois installé, un nouvel icône est disponible dans les préférences systèmes:

Préférences Système.jpg

La configuration est très simple. On entre le nom du partage qui sera diffusé sur le réseau (1), le mot de passe (2) et si le serveur est lancé au démarrage de la session (3).

Firefly.jpg

Ensuite, dans l’onglet Avancé, on configure le répertoire ou se trouve la bibliothèque musicale (/Users/<login>/Music pour partager votre bibliothèque iTunes):

Firefly-1.jpg

Il ne reste plus qu’a démarrer le serveur .Cette action sera faite automatiquement au prochain reboot si vous avez sélectionné cette option (3).
Firefly-2.jpg

Configuration du client DAAP sous Linux

J’utilise le lecteur audio Banshee sous ma station Linux Ubuntu. La procédure pour accéder au partage est la suivante.

On commence par activer le plugin Partage de musique:

capture_200807313859.jpg

Le nom du partage devrait alors apparaître automatiquement dans la liste des Musique partagée de Banshee. Une fois sélectionné (1), il faut saisir le mot de passe (2).

capture_200807313522.jpg

Vous avez alors accès à votre bibliothèque. Lors de l’écoute d’un morceau, les données sont « streamées  » entre le Mac et le Linux. Ainsi, aucun fichier n’est stocké sur votre Linux.

capture_200807313727.jpg

Conclusion

Vous pouvez donc partager vos fichiers audio (MP3 ou autres) de manière très simple. L’avantage de cette solution par rapport à un simple partage iTunes (en dehors du fait que cela marche;) ) est qu’il n’est pas nécessaire de lancer iTunes pour accéder à vos musiques.

En cadeau bonux, Firefly Media Server dispose d’une interface Web d’administration accessible par défaut par l’adresse http://localhost:1024/index.html.

Catégories
Open-source

Encodage vidéo Theora facile sous Mac OS X

Theora.org __ main - Theora, video for everyone.jpgVous connaissez sans doute le codec vidéo MPEG-4 issue de la norme ISO du même nom. Et bien il existe une alternative libre à ce codec: Theroa (wiki). Très efficace niveau compression (avec des ratios se rapprochant de MPEG-4), il est bien pris en charge par les lecteurs multimédia libre comme VLC, Mplayer et plus généralement par tout lecteur basé sur FFMpeg.

Simple Theora Encoder est un logiciel open-source sous Mac OS X permettant de compresser simplement une source AVI, MOV ou MP4 dans un format OGG/Theora (OGG étant le conteneur et Theroa le codec Video). Il s’adresse à toutes les personnes allergique à la ligne de commande. En effet, Simple Theora Encoder est juste un interface graphique à l’application ffmpeg2theroa.

L’utilisation est très simple (c’est quand même le but…):

  • on sélectionne la/les vidéo source (bouton « Add… »)
  • on clique sur le bouton « Encode… »
  • on attend (environ 6 minutes pour une vidéo HD de 10 minutes sur mon MacBook Pro)
  • le logiciel générera le ficher .ogg équivalent compressé avec le code Theroa dans le même répertoire que le fichier source

Simple Theora Encoder.jpg

Il est possible d’ajouter des options qui seront envoyées à ffmpeg2theora lors de la compression en cliquant sur le bouton « Edit… », par exemples:

Pour désentrelacer la vidéo source: — deinterlace

Changer la résolution: -x 640 -y 480

Le package Simple Theroa Encoder (téléchargeable ici), inclue l’interface graphique, ainsi que tous les logiciels nécessaires à l’encodage.

Catégories
Developpement Open-source

Première configuration d’Eclipse

Ce matin j’ai réinstallé Eclipse (mon environnement de développement fétiche aussi bien sous Linux que sous Mac OS X). Voici donc mes notes pour la configuration du logiciel avec les plugins suivants: eclipse_home_header.jpg

  • SVN
  • PHP

Installation d’Eclipse

Sous Ubuntu, l’installation se fait via les packages:

# sudo apt-get install eclipse

Compter environ 140 Mo d’espace sur votre disque dur.

Installation du plugin SVN

J’utilise un serveur SVN pour gérer en configuration mes développement. De base, Eclipse ne dispose que d’un plugin pour CVS. La procédure à suivre pour installer le plugin SVN est la suivante:

Lancer Eclipse
Aller dans le menu Help / Software updates / Find and install…
Cliquer sur le bouton « Search for new features to install » et cliquer sur le bouton « Next > »
Cliquer sur le bouton « New Remote Site… » et saisir:
Name: SVN
URL: http://subclipse.tigris.org/update_1.2.x (pour les versions d’Eclipse 3.2+)
Valider en appuyant sur le bouton OK
Sélectionner SVN dans le liste « Sites to include in search » puis cliquer sur « Finish »
Attendre le téléchargement de la liste des plugins et selectionner SVN
Finaliser l’installation en cliquant sur « Next > »
Après acceptation de la licence, cliquer sur « Finish »

Installation du plugin PHP

La procédure à suivre pour installer le plugin PHP (PHPEclipse) est la suivante:

Lancer Eclipse
Aller dans le menu Help / Software updates / Find and install…
Cliquer sur le bouton « Search for new features to install » et cliquer sur le bouton « Next > »
Cliquer sur le bouton « New Remote Site… » et saisir:
Name: PHP
URL: http://phpeclipse.sourceforge.net/update/releases
Valider en appuyant sur le bouton OK
Sélectionner PHP de la liste « Sites to include in search » puis cliquer sur « Finish »
Attendre le téléchargement de la liste des plugins et selectionner PHPEclipse
Finaliser l’installation en cliquant sur « Next > »
Après acceptation de la licence, cliquer sur « Finish »

Et voili, on code maintenant…

Catégories
Open-source Web

Vidnik, de votre Mac vers Youtube

Vidnik est un logiciel open-source (licence Apache 2.0) bien pratique pour envoyer directement des vidéos capturées avec la Webcam iSign de votre Mac. Il se présente sous la forme d’un logiciel permettant de capturer une séquence audio/vidéo puis automatise le téléchargement de celle-ci vers Youtube.

VidnikScreenshot.jpg
Le développeur ressemble à Stallman 😉

Le principal avantage de ce logiciel est qu’il s’occupe de la transformation de la vidéo dans un format compatible avec Youtube.

Vous pouvez télécharger la dernière version (0.13 au moment de l’écriture de ce billet) du logiciel sur cette page. Les sources sont disponibles ici.

Catégories
Open-source Systeme

Emacs sous Mac OS X

Si comme moi vous utilisez plusieurs operating system (Linux, BSD et Mac OS X pour ne pas les siter), vous serez heureux d’apprendre qu’il existe un portage d’Emacs, l’éditeur de maître Richard Stallman sous Mac OS X.

L’installation peut soit ce faire par compilation soit par téléchargement direct d’un binaire universel (fonctionnant donc à la fois sur architecture PowerPC et Intel).

La dernière version date de novembre 2007 et est numérotée 9.0-RC3.


emacs.png

C’est beau, c’est stable, c’est libre…

Catégories
Open-source Reseau

Dia: Alternative à Visio sous Mac OS X

dialogo.jpgDans le cadre de mon boulot et de ce blog, j’ai souvent des diagrammes réseau à faire. Je cherchais depuis un bon moment une altervative open-source à Microsoft Viso sous Mac OS X, je viens de trouver mon bonheur: Dia. Nous allons dans ce billet en décrire l’installation et la configuration.

Installation de Dia sous Mac OS X

Dia est un logiciel Gnome (c’est à dire à la base prévu pour les OS Linux), il faut donc installer un certain nombre de pré-requis sur votre Mac OS X. Nous allons commencer par les Darwin Ports:

1) Télécharger et installer la dernière version des Darwin Ports

2) Mettre à jour vos ports à partir d’un terminal:
# sudo port -d selfupdate

On installe ensuite Dia

# cd /opt/local/var/macports/sources/rsync.macports.org/release/ports/gnome/dia/
# sudo port install dia

Pour lancer l’application:

# dia
> Rien ne vous empêche de créer une icône de raccourcie…

Si vous rencontrez l’erreur suivante lors de l’installation de Dia:

….
-DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -D_REENTRANT=1 -I/opt/local/include/libxml2 -I/opt/local/include -I/opt/local/include/python2.5 -c libxml2-py.c -o build/temp.macosx-10.3-i386-2.5/libxml2-py.o
unable to execute -DNDEBUG: No such file or directory
error: command ‘-DNDEBUG’ failed with exit status 1

Il faut effectuer les actions suivantes:

# sudo /opt/local/bin/port
> install py25-libxml2
> quit

Puis relancer l’installation:

# sudo port install dia

Configuration de Dia pour les schémas réseau (optionnel)

Les icônes fournies par défaut ne sont pas très classes… En surfant un peu sur Google, je suis tombé sur ce billet proposant des icônes SVG « à la Visio ».

La méthode pour découper cette image en autant d’icônes au format SVG (merci à Thomas Dubois pour le script Python) est décrite ci-dessous. Mais comme je suis un bon gars, je vous propose de télécharger une archive TGZ à décompresser dans votre répertoire local ~/.dia.

Pour les geeks, voici la procédure à suivre pour générer les fichiers. Attention, il faut avoir Inkscape installé sur son Mac. Les opérations à faire sont les suivantes:

# cd ~
# mkdir svg
# cd svg
# wget http://www.softia-systems.net/contribs/dia_split_svg.py
# wget http://www.jcartier.net/ini/hardware.svg
# vi dia_split_svg_py
Remplacer la ligne
xmldoc = minidom.parse(‘/path/to/file.svg’)
et
popen2.popen3(« /usr/bin/inkscape svg/%s.svg -e shape/%s.png -d 90 -z -D »%(i,i))
par:
xmldoc = minidom.parse(‘./hardware.svg’)
et
popen2.popen3(« /Applications/Inkscape.app/Contents/Resources/bin/inkscape svg/%s.svg -e shape/%s.png -d 90 -z -D »%(i,i))
# python dia_split_svg.py

Vous allez obtenir:

  • un répertoire svg avec les fichiers SVG des objets
  • un répertoire shape avec les fichiers shapes correspondant
  • un fichier Youshape.sheet

Il ne reste plus qu’a les insérer dans votre configuration de Dia:

# cp YourSheet.sheet Network.sheet
# vi Network.sheet
Remplacer:
<name>Sample</name>
par:
<name>Network</name>
# cp Network.sheet ~/.dia/sheets
# cp shape/* ~/.dia/shapes/Network

Test final

Et voilà, vous pouvez maintenant relancer Dia

Diagramme1.dia.jpg