Libère ton geek !

Aller au contenu | Aller au menu | Aller à la recherche

[InvalidArgumentException] The target directory "www" does not exist.

If you have a website hosting in OVH datacenter (for instance : pro offer : http://www.ovh.co.uk/web-hosting/), you could have this error when you want deploy Symfony2 :

$ php5.3 app/console assets:install www                               
  [InvalidArgumentException]                 
  The target directory "www" does not exist. 

If you want use this command, you must use absolute name of target directory :

$ pwd
/homez.***/e***

$ php5.3 app/console assets:install /homez.***/et***/www --symlink
Installing assets using the symlink option
Installing assets for Symfony\Bundle\FrameworkBundle into /homez.713/etretata/www/bundles/framework
Installing assets for Sensio\Bundle\DistributionBundle into /homez.713/etretata/www/bundles/sensiodistribution

[InvalidArgumentException] The target directory "www" does not exist.

Avec Symfony2 sur un serveur mutualisé d'OVH (offre pro), il est possible que vous obteniez l'erreur suivante : 

$ php5.3 app/console assets:install www                               
  [InvalidArgumentException]                 
  The target directory "www" does not exist. 
                                             

Pour utiliser cette commande, vous devez utiliser le chemin absolu du répertoire :

$ pwd
/homez.***/e***

$ php5.3 app/console assets:install /homez.***/et***/www --symlink
Installing assets using the symlink option
Installing assets for Symfony\Bundle\FrameworkBundle into /homez.713/etretata/www/bundles/framework
Installing assets for Sensio\Bundle\DistributionBundle into /homez.713/etretata/www/bundles/sensiodistribution

Faire revivre une raie manta

Raie menta revival

Suite à des problèmes de connexion à Internet (perte de synchronisation ADSL avec ma freebox revolution), j'ai recherché une solution pour avoir un peu de connexion.

Regardant sur de nombreux forums, il m'a souvent été signifié qu'il s'agissait d'un problème de surchauffe de freebox. Pour vérifier, j'ai décidé de ressortir l'ancien modem ADSL de mes parents, une célèbre raie manta de l'époque de Wanadoo, un alcatel speedtouch USB, plus connu sous le nom de SpeedTouch 330.

Premières recherches :

Tout d'abord, j'ai la chance d'être chez un hébergeur qui permet la connexion d'autres modems que son propre routeur ADSL (c'est à dire la freebox révolution). Ainsi, si vous le souhaitez, vous pouvez brancher n'importe quel routeur ADSL, à la condition qu'il puisse être configuré comme indiqué sur cette page : http://www.free.fr/assistance/2253-avec-un-modem-adsl.html.

Des drivers sous linux permettent cette configuration avec la raie manta. Sous windows, la configuration est assez limité avec les drivers par défaut. Je n'ai pas effectué de recherches pour Mac OS. Il semble cependant qu'il y avait un portage du drivers de linux jusque Mac Os 10.4. A tester ...

Cette configuration fonctionne sous Debian 6.

Installation :

Avertissement : L'installation de ce modem rend votre ordinateur vulnérable. En effet, ce dernier est directement accessible depuis l'adresse IP offerte par Free. Attention donc à ne pas connecter un PC dont la sécurité est désactivé voir inexistante.

Pré-requis : Vous aurez besoin de votre adresse IP ainsi que celle de la gateway de Free. Ces informations sont disponibles dans la rubrique "Ma freebox" de l'interface d'administration de Free.

Etape 1 : Installation des outils

Tout d'abord, il faut télécharger le firmware du modem. Ce dernier est disponible à l'adresse ftp://ftp.linux.it/pub/People/md/warez/speedtouch-firmware_0.3012k_all.deb. Une copie de sauvegarde est disponible sur ce blog : Firmware SpeedTouch

Il faut ensuite installer les outils pour que votre linux puisse effectuer des communications en ATM :

apt-get install atm-tools

Etape 2 : Configuration des outils

Copier le fichier de configuration suivant :

cp /usr/share/doc/ppp/examples/peers-pppoe /etc/ppp/peers/adslscript

Puis éditez le.

nano /etc/ppp/peers/adslscript

Commentez les lignes user

# user "myusername@myprovider.com"
#eth0
#plugin rp-pppoe.so

Puis remplacez ces lignes par :

plugin pppoatm.so
8.36

Etape 3 : chargement du logiciel et connexion

Pour charger le module dans le noyau, lancez la commande

modprobe speedtch

Afin d'observer le bon lancement du modem, tapez la commande suivante qui permet de suivre l'évolution l'un des fichiers de log du noyau :

Lancez tail -f /var/log/messages

Si votre modem, votre connexion et votre configuration fonctionnent, vous devirez voir apparaître :

ATM dev 0: ADSL line is up (960 kb/s down | 192 kb/s up)

Le premier chiffre est votre débit en download et le second en upload. Au vu de ces chiffres, je peux supposer qu'il y a un soucis sur ma ligne, sachant que le modem speedtouch USB peut monter jusque 8092 kb/s.

Etape 4 : configuration de la connexion.

Afin d'obtenir du réseau à partir du modem, il faut lancer les commande suivantes, qui permettent à votre linux de connaître sa configuration.

atmarp -c atm0
ifconfig atm0 <IP_FREE> netmask 255.255.255.0 mtu 1500 up
atmarp -s <GATEWAY_FREE> 8.36 null
route add default gw <GATEWAY_FREE>

Après ces commandes, vous devriez pouvoir effectuer des ping sur le réseau mondial, tel que vers les serveurs DNS de Google.

Ping 8.8.8.8

Si le ping fonctionne, vous avez de la connexion à Internet. Dans ce cas, n'oubliez pas de configurer vos DNS dans le fichier /etc/resolv.conf afin d'éviter de taper toutes les adresses IP de mémoire.

Si vous souhaitez partager la connexion au sein de votre réseau interne tel une freebox, vous pouvez tenter la configuration d'un réseau temporaire comme je le décris dans mes articles passés.

Liens :

http://nyati-buffaloblog.blogspot.fr/2006/04/ubuntu-speedtouch-howto.html

http://forum.macbidouille.com/lofiversion/index.php/t53852.html

Flux RTMP

Vous aimez les flux RTMP ? Vous voulez en sauvez un sur votre poste ?

http://rtmpdump.mplayerhq.hu/rtmpdump.1.html

Vous aimez la quatrième chaine de la TV Française ? Vous voulez trouver leur liens ?

On a un petit web service : http://service.canal-plus.com/video/rest/getvideosliees/cplus/577657

Symfony2, contraintes et Entity non valides

Petite astuce du soir pour le développement sous Symfony 2 : 

Vous avez un problème avec vos entités lors du rechargement de votre cache ?

is not a valid entity or mapped super class

Vous n'arrivez pas à appliquer les contraintes de vos entity en annotations, lors de l'envoi de votre formulaire ?

/**
 * @var UploadedFile $file
 * @Asset\File( maxSize = "1024k",
 *     mimeTypes = {"image/jpeg", "image/png", "image/gif"},
 *     mimeTypesMessage = "Ce fichier doit être une image")
 */

(Vous êtes sous Fedora ?)

Regarder dans votre profiler si eAccelerator est "enabled". Si c'est le cas ... c'est probablement la cause de pas mal de vos soucis !

Pour Fedora, il m'a suffit de faire

yum remove php-eaccelerator

Et j'ai retrouvé un symfony stable, un peu moins rapide, mais sans bugs bizarres pour le développement.

Construction d'un réseau temporaire pour un festival 3

Pour toutes les personnes n'ayant pas lu les deux articles précédent, il est conseillé de les lire rapidement ici et ici afin de bien comprendre le contexte et l'architecture de ce réseau.

Il ne nous reste plus qu'à configurer la limitation de bande passante attribué au réseau des loges. Rappelez vous : nous aurons besoin lors du festival, d'envoyer un débit issu de la webradio. Ce débit ne doit pas être dégradé, puisqu'il s'agit du lien unique entre le studio et le serveur de rediffusion. Si ce lien est dégradé, c'est l'ensemble de la diffusion qui est touchée.

Après quelques tests, nous sommes arrivés à la conclusion qu'une webradio diffusant à 192kbps utilise un flux réseau d'environ 40Kbits. Notre connexion chez free nous permet d'utiliser jusque 500Kbits en débit montant (upload). C'est dans ce débit que passera le flux de webradio et les requêtes du réseau des loges.

Nous allons donc diviser le réseau en deux : brider le réseau des loges à un maximum 250Kbits et permettre au réseau de la webradio d'utiliser le reste. Les 210kbits de différence permettent d'amortir d'éventuels ralentissements de la ligne ADSL lors du festival. Mais si le réseau descend en dessous de 300kbits, cela deviendra compliqué pour la webradio dans tous les cas.

Revenons à notre serveur. Pour brider le débit du réseau des loges, il faut le faire sur l'interface reliée à la box : ainsi, le bridage sera sur le front montant. De même, si nous devions brider le front descendant, nous le ferions sur l'interface relié au réseau des loges. En effet, le bridage utilisé ne concerne que le front descendant (download) du débit.

Nous allons utiliser un outils qui se nomme "tc" et qui intervient directement sur l'organisation des paquets et en sortie de l'interface réseau. On va donc modifier quelques paramétrages proches du noyau. L'exemple utilisé ici est très simple, on bloque l'ensemble du débit, mais le bridage peut être plus fin ( P2P, retour des ACK de TCP, no limite sur le SSH ...). Pour plus d'informations, allez lire le magazine GNU/Linux Magazine n°127.

Revenons à nos commandes. Sur le serveur, nous créons un nouvel arbre de tri des paquets en sortie de l'interface réseau. Dans cet arbre, chaque branche correspond à un critère (P2P...) défini dans iptable. Si le paquet entrant ne correspond à aucun des critères de branches, il est redirigé vers la branche par défaut, ici la branche 20. Nous n'utiliserons que la branche 20 puisque nous voulons brider TOUT le débit.

$ tc qdisc add dev eth1 root handle 1: htb default 20

Nous ajoutons cette règle par défaut (classid 1:20). "rate" représente le débit utilisé en temps normal, "ceil" celui utilisé si du débit est disponible sur le réseau. En gros : l'interface peut aller jusque 200kbits si le réseau est chargé, 250 s'il ne l'est pas.

$ tc class add dev eth1 parent 1:0 classid 1:20 htb rate 200kbit ceil 250kbit prio 1 mtu 1500

Petite astuce au passage : si vous devez vider votre arbre en cas de soucis, voici la commande : 

$ tc qdisc del dev eth1 root

Et voilà, tout est fonctionnel ! Ce n'est pas plus compliqué que cela !  Vous pouvez essayer de regarder si le débit dépasse les 250kbits depuis un poste sur le réseau des loges (http://www.speedtest.net/). Votre débit montant ne dépassera jamais les 250kbits.
Si vous voulez conserver cette configuration, ajoutez ces deux lignes dans le fichier /etc/init.d/filtrage

Nous avons terminé notre petite balade au pays du réseau de festival. Le serveur est actuellement dans les bureaux, en test, en attendant que le festival débute. Nous allons maintenant pouvoir s'occuper du reste de l'infrastructure du festival : webradio et câblage du site en vue ! Et si je suis en forme, peut être quelques articles qui explique leurs fonctionnement !

A bientôt !

Construction d'un réseau temporaire pour un festival 2

Pour tous ceux qui n'ont pas lu le billet précédent, je vous conseille de le lire avant d'attaquer celui-ci : il décrit en bonne partie la conception du réseau , ses contraintes et ses objectifs.
Aujourd'hui, nous allons voir comment permettre le partage de la connexion à internet pour le réseau des loges et comment installer un proxy transparent pour contrôler un peu ce qui passe sur notre réseau et rester dans la légalité (on devient le temps d'un week end, fournisseur d'accès à des personnes que l'on connaît peu).

Partage de la connexion :
Les boxs ADSL sont des outils merveilleux : elles ont permis de démocratiser des usages qui ne seraient pas accessibles avec des routeurs habituels. Cependant, elles restent assez limitées et nous sommes obligés de passer par elle pour avoir Internet.
Ainsi, nous ne pouvons pas rediriger le trafic vers un autre réseau que celui de la box : impossible de faire du routage avec la freebox.Il nous reste la technologie NAT. Pour ceux qui ne connaissent pas, elle permet de faire passer tout les flux du réseau des loges avec une seule adresse IP : celle de notre serveur. Pas besoin de déclarer à la box qu'il existe un sous réseau, on transfère tout au serveur qui se charge de répartir les flux.

Dans linux, on peut éditer beaucoup de paramètres de la pile réseau. C'est trés précis, mais aussi assez périlleux : une erreur et votre réseau ne fonctionne plus. On va d'abord autoriser la pile réseau à transférer des flux entre les différentes interfaces du serveur. Editez le fichier /etc/sysctl.conf, et décommentez les lignes :

net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1


Pour gérer les flux entrants et sortants, le noyau linux propose un outil : "iptables". Il permet de définir un ensemble de régles de gestion du réseau. Pour que ces règles s'appliquent à chaque démarrage du serveur, il faut créer un fichier les contenant, et l'exécuter au démarrage. Le fichier doit se trouver dans /etc/init.d/ : 

#!/bin/sh
#configuration de iptables
# on vide les chaines
iptables -F

#On interdit tous les accés en entrée
iptables -P INPUT DROP

#Tout ce qui est en sortie, ou routé est accepté
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

# Pas de filtrage depuis le réseau externe et la pile interne et le ping
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT

#Accepter les paquets de flus déjà actifs
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

#Ouvrir des ports (web, mail, ssh, dhcp, dns ..)
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p udp --dport 67 -j ACCEPT
iptables -A INPUT -p udp --dport 68 -j ACCEPT
iptables -A INPUT -p udp --dport 69 -j ACCEPT
iptables -A INPUT -p udp --dport domain -j ACCEPT
iptables -A INPUT -p tcp --dport domain -j ACCEPT
iptables -A INPUT -p tcp --dport ssh -j ACCEPT
iptables -A INPUT -p tcp --dport smtp -j ACCEPT
iptables -A INPUT -p tcp --dport smtps -j ACCEPT
iptables -A INPUT -p tcp --dport pop3 -j ACCEPT
iptables -A INPUT -p tcp --dport pop3s -j ACCEPT
iptables -A INPUT -p tcp --dport imap -j ACCEPT
iptables -A INPUT -p tcp --dport imaps -j ACCEPT
iptables -A INPUT -p tcp --dport https -j ACCEPT

#Redirection du port 80 vers le proxy (port 3128)
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128

# Faire du NAT
iptables -t nat -A POSTROUTING -s 10.1.0.0/16 -o eth1 -j MASQUERADE


Une fois le fichier enregistré, rendez le executable et ajoutez le au démarrage :
$ chmod +x /etc/init.d/filtrage
$ update-rc.d filtrage defaults 99


Dans ce fichier de configuration iptables, nous avons ajouté une redirection : on redirige le flux du port 80 vers le port 3128. C'est sur ce port que nous allons installer le proxy. Cela permet de le rendre transparent : aucune configuration nécessaire sur les appareils des utilisateurs : n'importe qui sur le réseau, passera par le proxy.

L'installation du proxy est relativement simple tant que l'on ne filtre pas les sites internet :

$ apt-get install squid-common

Un conseil : sauvegardez le fichier de configuration par défaut et créez un nouveau fichier :

$ mv /etc/squid/squid.conf /etc/squid/squid.conf.bak
$ nano /etc/squid/squid.conf


Voici ma configuration par défaut :
# Déclaration du port du proxy
http_port 3128 transparent

#Définition des ACLs pour autoriser ou refuser l'origine d'un flux
acl all src all
acl localhost src 127.0.0.1
acl lan src 10.1.0.0/16

# Refus ou autorisation en fonction des acl
http_access allow localhost
http_access allow lan
http_access deny all

#Enregistrement des logs
access_log /var/log/squid/access.log squid


Redémarrez (commande reboot) et, si tout va bien, vous aurez accès à internet depuis le réseau des loges.
Pour vérifier que vous êtes bien passés par le proxy, ouvrez le fichier /var/log/squid/access.log, toutes vos connexions doivent y être inscrites.

Installation du filtrage des sites :

L'avantage de squid, c'est surtout le module squidGuard que l'on peut ajouter : il permet de bloquer certains sites web en fonction d'une liste noire de sites. La liste la plus connue (pour la France) est maintenant par l'université de Toulouse. Voici comme cela s'installe :

$ apt-get install squidguard

Nous allons ensuite charger la liste de sites, qui est classé par type de site. Nous ne bloquerons ainsi que les sites illégaux selon la législation Française et les sites qui permettent de contourner le proxy.

$ cd /var/lib/squidguard/db
$ wget ftp://ftp.univ-tlse1.fr/pub/reseau/cache/squidguard_contrib/blacklists.tar.gz
$ tar zxvf blacklists.tar.gz
$ mv blacklists/* .
$ chown -Rf proxy:proxy .


Il fait ensuite définir quels sont les sites interdits. Cela se passe dans le fichier /etc/squid/squidGuard.conf :

dbhome /var/lib/squidguard/db
logdir /var/log/squid

dest agressif {
        domainlist      agressif/domains
        urllist         agressif/urls
        expressionlist  agressif/expressions
        log             agressif
}
dest dangerous_material {
        domainlist      dangerous_material/domains
        urllist         dangerous_material/urls
        log             dangerous_material
}
dest gambling {
        domainlist      gambling/domains
        urllist         gambling/urls
        log             gambling
}
dest malware {
        domainlist      malware/domains
        urllist         malware/urls
        expressionlist  malware/expressions
        log             malware
}
dest phishing {
        domainlist      phishing/domains
        urllist         phishing/urls
        log             phishing
}
dest reaffected {
        domainlist      reaffected/domains
        urllist         reaffected/urls
        log             reaffected
}
dest redirector {
        domainlist      redirector/domains
        urllist         redirector/urls
        expressionlist  redirector/expressions
}
dest strong_redirector {
        domainlist      strong_redirector/domains
        urllist         strong_redirector/urls
        expressionlist strong_redirector/expressions
        log             strong_redirector
}
dest sect {
        domainlist      sect/domains
        urllist         sect/urls
        log             sect
}

acl {
        default {
                pass     !malware !phishing !reaffected !redirector !sect !agressif !dangerous_material !gambling !strong_redirector all
                redirect 302:http://www.lamareathon.com/interdit.html
        }
}


Tous les "dest" définissent les catégories de sites. Vous pouvez retrouver toutes les catégories disponibles en affichant la liste des dossiers dans /var/lib/squidguard/db/. Une catégorie = un dossier.
"acl" définit la régle de validation ou non du site. Tout ce qui est précédé de "!" ne passe pas. Le "all" a la fin de la ligne indique que tous les autres sites sont valides. La ligne "redirect" indique la page qui est affichée à l'utilisateur lorsqu'un site web est interdit.

Pour tester si votre squidGuard fonctionne, je vous conseille de lancer la commande
$ /usr/bin/squidguard -C /etc/squid/squidGuard.conf -b
qui vous affiche l'état de chargement des listes de fichiers. Si jamais le chargement se bloque, regardez le fichier de log /var/log/squid/squidGuard.log, il y a souvent l'explication du blocage.
Enfin, si tout fonctionne, il ne reste plus qu'à indiquer à Squid qu'il doit transmettre les informations à squidGuard. On se retrouve à ajouter à la fin du fichier /etc/squid/squid.conf les lignes suivantes :
# Squidguard
redirect_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf  
redirect_children 10


Relancez votre squid, patientez quelques minutes que squidGuard charge ces listes en mémoire (vous n'aurez pas accès aux sites durant le chargement, depuis le réseau des loges), puis testez avec un site qui est dans la liste des sites à bloquer.

Pour que notre réseau soit totalement fonctionnel, il ne restera plus que la configuration du bridage de débità faire. Mais pas ce soir !

A bientôt,

Lien utile lors de ma configuration : http://coagul.org/drupal/node/139/

Changer son mot de passe root en cas de secours

Bonsoir à tous,

Pour ceux qui ne connaissent pas linux, le compte root est le compte utilisateur le plus important de linux : c'est le super administrateur. Il a tout les pouvoirs, y compris d'écrire dans les périphériques et de les abimer ! Il faut donc faire attention avec ce compte et y mettre un bon mot de passe.

Cependant, il arrive de perdre ce mot de passe. La technique est de le changer avant le démarrage du système. Cependant, il vous faudra un accés physique sur le système.

Vous aurez raison de me dire que pouvoir changer le mot de passe au démarrage est une faille, mais il est parfois plus simple de ce laisser cette solution de secours que de perdre tout accès sur une machine ou un serveur. Pour empêcher l'exploitation de cette faille, il faut donc empecher l'accès physique au poste.

Revenons à la méthode de changement du mot de passe. Lors du démarrage, vous avez (sous Ubuntu et Debian, par défaut), GRUB qui vous permet de choisir votre linux. Faîtes "e" pour éditer le script.

A la ligne se terminant par :

ro quiet

Le changer en  :

rw quiet init=/bin/sh

Attention : Le clavier est en qwerty.

Lancez le système. Vous arrivez rapidement à une console. Faîtes

$passwd

Et indiquez votre nouveau mot de passe. Tapez

$reboot

Et votre système rédémarre. Vous aurez maintenant accès au compte root avec votre nouveau mot de passe. N'oubliez pas que lorsque vous tapez votre mot de passe, le clavier est en qwerty, ce qui ne sera pas le cas au redémarrage.

C'était la petite astuce du soir ! Très connue, mais toujours pratique !
Bonne soirée !

Project Dish : Gestion de webradio

Il y a de cela quelque mois, l'association Art en Sort a décidé de mettre en place une webradio. Sortie en même temps que son nouveau site Internet, cette webradio doit permettre de diffuser des émissions réalisés pour le plaisir par les adhérents, mais aussi lors d'animations proposées par l'association aux structures de la région (Lycée, centre de loisirs ...)

J'ai donc été chargé de mettre en place cette webradio. Du coté serveur, rien de très spécifique : un serveur dédié avec un icecast dessus et un peu de monitoring afin de vérifier que les ressources ne sont pas limites. Les premiers résultats sont très positifs, un serveur dédié doit pouvoir tenir la charge de plusieurs centaines d'utilisateurs simultanés.

Du coté client, j'ai eu beaucoup plus de soucis : ma recherche était assez restrictive : il me faut un logiciel qui puisse être utilisé par tout le monde. Que ce soit, sous windows ou sous linux, il n'y a pas d'importance. Même le payant ne me posait pas trop de problèmes ...
Mais il n'y a pas beaucoup de logiciels client simple : soit ils permettent seulement de gérer la playlist, soit ils permettent de gérer uniquement le live, soit ils ne sont pas stable.

J'ai alors découvert un outils merveilleux mais complexe : liquidsoap. C'est un langage de script qui permet de mêler et de dissocier des flux entre eux : que ce soit des fichiers situés sur le poste ou bien des flux de la carte son, on peut faire beaucoup de choses avec. Cependant, les interfaces graphiques existantes ne sont pas finies et les outils de gestion de webradio basées sur liquidsoap manquent cruellement de gestion du live.

Pour les besoins de l'association, j'ai donc codé une interface graphique en PHP (seul langage que je connais assez bien pour faire rapidement ce projet) avec Symfony pour ne pas s'occuper de la couche MVC. C'est moche, c'est pas du tout perfectionné mais cela permet de gérer un peu la webradio. Ce n'est qu'une interface pour liquidsoap et il doit donc être utilisé uniquement sur le poste où il est installé puisqu'il gère le micro local. L'accés à distance doit être géré de manière très délicate.

Voici quelques screenshots et le lien pour télécharger Dish. Le projet est hébergé sur Github et un fichier d'installation a été étudié pour automatiser l'installation sous Ubuntu 10.10.

<screen> <screen> <screen>

Download

Ce logiciel n'est pas terminé, et j'ai beaucoup de modifications à faire si j'en prenais le temps, voici une liste non exhaustive. N'hésitez pas, si vous cherchez à l'utiliser, à me poser des questions dans les commentaires : je n'ai jamais installé dish en dehors de ma configuration initiale.

TodoList Dish :

- Changer le moteur liquidsoap par Mplayer (liquidsoap rame beaucoup trop, l’interfaçage de Mplayer avec du C peut permettre de meilleures performances et de créer des fonctions précises)
- Permettre une meilleure gestion de la bibliothèque : différents tri, notation ...
- Revoir le système de musique aléatoire pour éviter qu'elles se rediffusent trop souvent
- Installer un système d'authentification pour enregistrement des configurations par émissions
- Permettre la programmation de fichier enregistrés pour diffuser les émissions à des heures précises
- Permettre la diffusion de spots de manière régulière.

La mare à thon 2011

Je vous ai déjà parlé d'un festival de musique, organisé par Art en Sort. Quelques groupes de la programmation de cette année méritent le coup d'oeil. Ce sont mes préférences, mais vous pouvez découvrir toute la programmation sur le site officiel de l'évènement.Affiche 2001 La mare à ThonNe loupez surtout pas le vendredi soir ! Les trois premiers groupes que je recommande jouent le vendredi soir à partir de 22h15.

You and You :
Vous aimez de la musique douce et posée ? Une vraie pause folk pour se ressourcer ? Je pense que You&You est ce qu'il vous faut. Un vrai groupe de folk, une vrai voix posée et juste quelques grattes ... du bon son !
Plus d'infos

The bewitched Hands :
Un groupe  dans l'air du temps, à la fois nostalgique, mais sans casser l'énergie d'un bon groupe de pop. Ils passent en radio et commencent à se faire connaître, vous avez surement déjà entendu leur son, il n'y a plus qu'à voir ce que ca donne en live !
Plus d'infos

Ladylike Dragons :  
Mon coup de coeur du vendredi soir : un "jeune" groupe, bien frais, accords de guitares simples et puissants, voix féminine à la plasticine : tout y est, et surtout l'énergie des groupes que j'aime écouter. Y'a que l'énergie qui compte !
Plus d'infos

La programmation du samedi est beaucoup plus large, il y en aura vraiment pour tous les goûts : de la pop avec Radiosofa, du rock avec Concrete Knives et même du Reggae avec Bouddha Sticks.

Les Rois de la Suède :
Je vous préviens, c'est assez particulier : de la chanson à texte, trés expressive. Si vous connaissez les Fatals Picards, vous allez reconnaître ! Le groupe est composé d'ancien des Fatals, et l'énergie y est la même ! Pour les fans de l'album plamplemousse mécanique, écoutez la chanson "Myspace tu vas mourir".
Plus d'infos

Christine :
Un groupe local, c'est cool, mais là, ca va plus loin. Christine est un groupe électro de Normandie qui commence à se faire connaître en dehors de la région (ce qui n'est pas simple pour les groupes du coin). Un son électro moderne et trés dansant ! A voir absolument, le show sera exceptionnel !
Plus d'infos

Rendez vous les 26 et 27 août !
www.lamareathon.com

Construction d'un réseau temporaire pour un festival

Bonsoir à tous,

Depuis maintenant quatre années, l'association Art en Sort organise un festival de musique à Fécamp. Fesant partie de l'organisation depuis le départ, il m'est souvent arrivé de veiller à la configuration du parc informatique.

L'an passé, nous avons déplacé les bureaux durant la manifestation, nécessitant de déplacer la connexion à Internet. Nous en avons profité pour ouvrir un accés à Internet dans la zone commune des loges... Enfin, nous avons installé une webradio en direct du site du festival, et il a fallu s'assurer que la bande passante nécessaire à la webradio ne soit pas utilisée par les internautes des loges.

La première difficulté est de d'apporter du réseau informatique jusqu'aux loges. Cette zone est dans un batiment distint et il faut faire passer un cable ethernet de 100 mètres de long entre la box de l'asso, le faire passer à l'extérieur et le rentré de nouveau dans le batiment ! Tout un sport !

Pour que le lien fonctionne : il est nécessaire d'avoir des switchs de chaque coté qui sont capables de négocier entre eux la qualité de la communication : on ressent la limitation technique des cables réseaux traditionnels qui se situent à 100 mètres.

La deuxième difficulté est de fabriquer un réseau temporaire, qui est capable de dissocier les flux de la webradio et des loges.Nous allons monter un petit serveur DHCP/DNS/Proxy sur un vieil ordinateur pouir gérer le réseau des loges. Celui de la webradio sera connecté directement à la box. Ce serveur va aussi permettre de mettre en place un filtrage des sites internet : nous fournissons gratuitement du net, nous ne souhaitons pas que des usages illégaux y soient réalisés.

Programme de ce billet : installer un serveur DHCP/DNS et faire le routage entre le réseau de la boxe et celui des loges.

Le serveur vient d'être réinstallé de zéro avec un debian 6 à jour. Seul un accès SSH a été installé pour éviter de dupliquer les claviers et les écrans sur mon bureau.

Il faut absolument que le serveur soit équipé de deux cartes réseau : une reliée à la box et l'autre relié au réseau des loges. Dans ma configuration, la carte eth0 est relié aux loges et eth1 relié à la box.
La configuration de eth1 est en fonction du réseau de la box. Ici : IP = 192.168.0.70/24, gateway 192.168.0.254, dns 8.8.8.8.

Je ne sais pas combien de postes pourraient se relier sur le réseau, mais je préfére voir large. J'ai donc sorti un /16. L'adresse IP de eth0 est  10.1.0.1. Le DHCP pourra attribuer des adresses entre 10.1.0.2 et 10.1.0.254.

Pour s'assurer que la configuration réseau sera effective à chaque redémarrage, nous allons l'entrée en dur dans la configuration.
Je vous rappele que sur les vieux ordinateurs, je n'utilise pas d'interface graphique : toutes les ressources de la machine sont utilisées pour le traitement du réseau.

Editez le fichier /etc/network/interfaces :

#Interface reliée vers le réseau des loges
auto eth0
iface eth0 inet static
  address 10.1.0.1
  netmask 255.255.0.0

#interface reliée vers la box
auto eth1
iface eth1 inet static
  address 192.168.0.70
  netmask 255.255.255.0
  gateway 192.168.0.254

Pour recharger le réseau avec la nouvelle configuration, vous pouvez faire :

$ /etc/init.d/networking restart

J'utilise pour ces réseaux temporaires, un petit outils qui comprend DHCP et DNS et qui est assez simple à configurer : dnsmasq. Des paquets sont disponibles pour debian et pour ubuntu.

Via debian, l'installation des paquets est toujours aussi simple :

$ apt-get update
$ apt-get install dnsmasq

Nous allons aussi configurer correctement les DNS. Ceux du serveur seront les DNS transmis à tout le réseau. Pour indiquer les serveurs DNS à utiliser sur le système sous linux, il faut éditer le fichier /etc/resolv.conf :

nameserver 8.8.8.8

Ici, nous entrons le serveur 8.8.8.8. C'est le serveur DNS de google. Il a l'avantage d'êre très rapide, et d'avoir une adresse reconnaissable de tous. Nous l'utilisons ici pour éviter tout soucis avec les webmails des utilisateurs (on ne sait jamais avec les FAI).

Le gros avantage de dnsmasq, c'est qu'il n'est pas difficile de le configurer et qu'il marche rapidement. Voici les quelques lignes du fichiers de configuration /etc/dnsmasq.conf que j'ai du changer :

#On active l'envoi d'adresse IP sur le réseau des loges :
listen-address=10.1.0.1

#On indique la page d'adresses ip qui doivent être attribuées, avec un bail d'une durée de 2h
dhcp-range=10.1.0.2,10.1.0.254,255.255.0.0,2h

On relance Dnsmasq et ... c'est tout !

$ /etc/dnsmasq restart

Votre réseau est désormais presque fonctionnel : les postes peuvent se brancher et communiquer entre eux. Cependant, cela n'est pas suffisant pour qu'ils aient accès à Internet. Il faudra configurer le serveur pour qu'il fasse du NAT : qu'il enregistre toutes les requêtes du réseau des loges en son nom. Il faudra aussi configurer le proxy pour réduire la bande passante et sécuriser la connexion à internet. Il ne restera plus que la gestion de la bande passante et notre configuration sera prête. Mais tous ces points feront l'objet d'un prochain billet !

A bientôt !

I'm back !

Hi everybody !

C'est fait, j'ai de nouveau ouvert un blog. Je ne sais pas combien de temps celui ci restera en ligne et sera alimenté en contenu, mais j'ai plein de petits articles à faire !

Ce ne sera pas de la grande littérature, je ne suis pas bon pour en écrire, et surtout, ce n'est pas ce qui me passionne. Par contre, vous aurez très probablement le droit à des petits récapitulatifs de configurations... Ce blog, ce sera surtout un lieu pour que je laisse mes notes lorsque je configure un nouveau service / nouveau logiciel, pour retrouver comment j'ai fait, quelques temps plus tard.

Dans ma TODO list actuelle, vous pouvez trouver du GIT, de l'administration de serveur, du Nginx, du DNS, un peu de Webradio ou encore un peu de CISCO. Bref, on va bien s'amuser !

Je signale aussi, le blog d'un ami, qui fait aussi des articles trés techniques ... (comment mettre un favicon ...). Enfin, techniques pour lui puisqu'il découvre. Avec nos deux blogs, j'espère qu'il y en aura pour plusieurs niveaux !
Notez que son blog est hébergé par mes soins, ce qui me permet de tester les configurations de serveur. J'espère qu'il aura bientôt tellement de visiteurs que je serais obligé de tester la répartition de charges entre plusieurs serveurs, ou des systèmes de caches tels que Vanish.

A très bientot !

PS : je suis à la recherche d'un bon logiciel de sauvegarde sous linux : incrémentielle et totale. Si quelqu'un en connait un, je suis preneur !