J’ai depuis deux ans, un Raspberry Pi à la maison pour écouter des radios par internet avec MPD et MPC.

Depuis peu, j’ai un haut parleur Bluetooth, qui se connecte au Raspberry par le biais d’un dongle usb de ce type.  Le tout fonctionne bien, mais pour éviter de planter le service MPD il faut arrêter la lecture avant d’éteindre le haut parleur. Dans le cas contraire, il faut se connecter au Raspberry en SSH et lui coller :

C’est soit ça, soit un redémarrage du Pi.

Pour éviter ceci, j’utilise UDEV qui est déjà présent sur votre distribution car c’est un gestionnaire de périphérique sous linux.

Nous allons lui dire d’exécuter un script quand notre haut parleur se connecte et un autre script à la déconnexion.

et ajouter les deux lignes :

la première ligne va lancer le script /usr/lib/udev/bluetooth_add à la connexion (ACTION==”add”)

et la deuxième ligne va lancer le script /usr/lib/udev/bluetooth_remove à la déconnexion (ACTION==”remove”)

Reste à créer les scripts :

Contenu de /usr/lib/udev/bluetooth_add :

Contenu de /usr/lib/udev/bluetooth_remove :

Problème réglé.

 
Petit bonus pour les heureux parents bidouilleurs qui pour des raisons absconses aux yeux de certains ne souhaitent pas lancer la musique trop forte quand leurs enfants dorment (enfin !)

Voici comment modifier le script de connexion /usr/lib/udev/bluetooth_add :

Volume à 70 le jour entre 8h00 et 21h00
Volume à 30 la nuit entre 21h00 et  8h00

Si vous avez aimé, si cela vous a aidé, ou si vous avez un petit script, merci de laisser un commentaire 😉

Sérieusement, je n’ai jamais accroché à vim, et je ne suis pas parvenu à me faire à emacs. Si j’ai un environnement graphique sous la main, gedit me va bien. Pour des petites modifications ou en ssh, j’aime nano.

Seulement voilà, nano peut demander quelques modifications pour être plus convivial.

La souris

Avec le raccourci clavier Alt + m , la souris sera activée et permettra de pointer précisément dans le fichier. Pratique pour un copier / coller. Le double clic permet de faire une sélection.

Pour une raison obscure, l’activation de la souris, désactive le défilement molette. Il faut alors la désactiver avec de nouveau un Alt + m

Pour que la souris soit activée par défaut, modifier le fichier /etc/nanorc , dé-commenter la ligne :

 

L’indentation

Encore une fois dans le fichier /etc/nanorc :

 

La coloration syntaxique

Le tuto de Korben qu’il est très bien fait.

Pour faire un petit enregistrement d’un flux depuis le terminal, wget est votre ami !

Vous pouvez essayer :

Ça fonctionnera. Mais il faudra penser à arrêter l’enregistrement au bout d’un certain temps avec un Ctrl + c

Si vous voulez essayer avec un flux existant, voici celui de WDRV – 97.1 The Drive, une superbe radio rock de Chicago :

 

Automatiser l’enregistrement

Pas toujours simple d’écouter une émission au moment ou elle est diffusée, entre le boulot, la famille voir même le décalage horaire avec des radios outre atlantique, il peut être pratique d’enregistrer un morceau pour se l’écouter plus tard.

Pour automatiser cela, un petit script comme celui-ci est parfait :

 

Il faut le rendre éxecutable et le lancer avec les trois arguments qui sont : le temps d’enregistrement en minutes et l’URL du flux et le nom de la Radio ou de l’émission.

 

Dernière étape, programmer à heure fixe l’enregistrement avec crontab :

A la fin du fichier, cette ligne fera l’affaire :

nb : pensez à changer le chemin vers le script

Pour rappel, le codage du temps dans cron se fait dans l’ordre :

minutes (de 0 à 59)
heure (de 0 à 23)
jour du mois (de 1 à 31)
numéro du mois (de 1 à 12)
numéro du jour dans la semaine (de 1 à 7)

A l’heure actuelle, une bonne clé USB, 16 Go en usb 3 d’une marque reconnue coûte moins de 10 €. Et si comme moi, vous voulez :

  • un espace de stockage d’au moins 8 Go
  • une distribution linux transportable et personnalisable
  • tout ça sur la même clé
  • et de pouvoir lire l’espace de stockage aussi bien sur windows que sur linux

Il vous faudra alors :

  • une clé USB à minima de 16 Go (ou plus)
  • un ordinateur sous linux, windows ou mac
  • une iso d’une distribution linux basée sur Ubuntu

Je vais détailler la procédure pour linux et donner le nom des outils pour les autres OS, la démarche restant la même.

1 . Partitionner la clé

Sous linux, insérez votre clé usb dans l’ordinateur puis dans GParted sélectionnez la depuis le menu déroulant en haut à droite (une clé de 16Go, dans GParted affichera quelque chose comme 14.65 Gio)

Puis en partant du principe que votre clé usb est neuve et qu’elle ne possède aucune donnée, vous allez supprimer la partition qu’elle contient en faisant un premier clic droit dessus et ‘Démonter‘ puis un second clic droit ‘Supprimer‘. Vous devriez voir ceci :

Capture du 2015-03-24 14:13:19

Puis un 3eme clic droit sur la zone vide (non alloué) et choisir ‘Nouvelle‘ et remplir ainsi :

Capture du 2015-03-24 14:34:03Nouvelle taille (Mio) : 10 000 (10  000 pour une clé de 16 Go, 26 000 pour une de 32 Go … il faut laisser 6 Go minimum pour la partition qui contiendra linux)
Système de fichiers : fat32
Étiquette : usb (facultatif)

 

Et enfin un 4eme clic droit sur l’espace vide restant après la nouvelle partition et choisir encore ‘Nouvelle‘ dans le menu :

Capture du 2015-03-24 16:00:04Système de fichiers : fat32
Pour la taille, rien à faire, GParted proposera automatiquement d’occuper la place restante. J’ai aussi essayé ext2 et ext4 pour le système de fichiers, pour une live cd il est préférable de rester sur du fat32.

 

Votre écran doit ressembler à celui-ci :

Capture du 2015-03-24 16:01:53Reste à appliquer les changement avec cette icône :

Capture du 2015-03-24 16:03:24

2 . Installer Linux sur la clé

Pour que linux soit persistant, la meilleure solution reste de l’installer de façon classique sur la clé, ça fonctionne, mais c’est moins réactif.

Une deuxième solution consiste à créer une clé bootable (façon live cd) avec UNetbootin et une iso basée sur Ubuntu. Ça peut être Ubuntu, Xubuntu, Lubuntu… ou Linux Mint (que j’ai choisi)

Attention, le mode persistant a des limites, vous allez pouvoir créer des comptes, changer la langue, le clavier, le fond d’écran … mais il faut garder en tête que c’est un live cd amélioré. L’installation de paquet ne fonctionne pas bien et globalement tout n’est pas persistant.

Dans UNetbootin :

Capture du 2015-03-24 16:24:16Sélectionnez ‘Diskimage
Un petit clic sur ‘‘ pour trouver l’iso sur votre disque dur.
Renseigner la ligne du dessous avec 1024 MB – très important, c’est l’aspect persistant qui est déterminer ici.
Type : ‘USB Drive
Drive : la deuxième partition de votre clé, chez moi c’est /dev/sdc2 mais chez vous c’est peut être /dev/sdb2

Reste à monter la partition et à lancer l’opération.

3 . Démarrer sur la clé :

Il faudra jouer avec le bios ou être très rapide au démarrage en tapant sur la touche ‘échap’ par exemple sur un portable ASUS pour accéder au menu du BOOT et sélectionner votre clé.

Une fois votre linux démarré, il faut créer un nouvel utilisateur ayant les droits d’admin et activer l’auto-login pour celui-ci. Après redémarrage, vous devez être logué sur la session de votre nouveau utilisateur.

 

4 . Facultatif :

Les distributions live cd sont souvent en anglais, il faut penser à modifier le clavier, et la langue du système.

Même après passage en français, il reste des applications en anglais, pour y remédier, vous pouvez faire ceci :

Certains menus de l’explorateur de fichiers doivent être encore en anglais. Et dans le terminal, des commandes comme nano aussi. Pour y remédier, vous pouvez décompresser cette archive dans /usr/share/locale/fr/LC_MESSAGES

Télécharger “LC_MESSAGES.zip” LC_MESSAGES.zip – Téléchargé 201 fois – 3 MB

A décompresser en mode root, sinon :

Si vous n’avez pas de coloration dans votre terminal, ça vaut le coup de jeter un oeil dans le fichier .bashrc de votre dossier home :

Si son contenu est le suivant :

Ne cherchez pas plus, il vous manque les lignes pour la coloration.

Pour l’ajouter, votre fichier .bashrc doit ressembler à ceci :

J’ai ajouté quelques alias à la fin du fichier, comme vu dans ce précédent article.

Et si votre fichier .bashrc contient déjà toutes ces lignes mais que la coloration ne fonctionne pas, il faut souvent dé-commenter* la ligne :

* enlever le dièse en début de ligne

Une commande linux qu’elle est utile c’est grep :

Rechercher récursivement

‘r’ pour récursif & ‘l’ pour lister les fichiers

 

Une autre commande qu’elle est super, c’est sed :

Remplacer

i‘ pour éditer le fichier
nota : pour remplacer une url, substituer les ‘ / ‘ par des ‘ , ‘

 

Pour rechercher et remplacer dans plusieurs fichiers de façon récursive, voici comment faire :

Rechercher & remplacer

xargs‘ permet de combiner notre recherche avec le remplacement !
Une commande pratique mais aussi très rapide.

 

Bonus

Et si vous souhaitez exclure certaines extension de fichiers,  les script shell par exemple :

 

A l’inverse pour traiter les fichiers d’une seule extension :

Dans le terminal, globalement les commandes sont courtes et facile à retenir comme cp pour copier, mv pour déplacer (move), ls pour lister… mais ça se complique un peu si vous utilisez régulièrement des arguments ls -l pour détailler le listing d’un fichier avec les privilèges, les propriétaires… ls -a pour vois les fichiers cachés…

Retaper 100 fois la même commandes avec les mêmes arguments, c’est lourd, surtout si vous voulez décompresser un fichier en .tar.gz

et pour compresser, ce n’est guère mieux :

Même les techniques de ninjas pour mémoriser cette commande ne fonctionne pas avec moi, la solution existe, créer des alias.

Pour ce faire, éditez le fichier .bashrc qui est dans votre dossier home :

à la fin de celui-ci, vous pouvez ajouter des alias sous cette forme :

concrètement :

Après avoir relancé votre terminal,  ou exécuté la commande :

les commandes ll, la, tar et untar fonctionneront. Nous pouvons en imaginer des tonnes comme :

Pour utiliser cette nouvelle commande voici la syntaxe :

 

NB : pour certaines distributions, le fichier .bashrc contient plusieurs paramètres dont celui-ci :

Il faudra donc ajouter les alias dans le fichier .bash_aliases au lieu de .bashrc

Mise à jour le 22/07/2016 suite à l’excellent commentaire de leknoppix.

Sur votre serveur virtuel, vous avez installé apache, php, mysql, c’est super mais pas moyen de faire fonctionner plusieurs sites et de faire pointer vos noms de domaine ( et sous domaines ) vers vos différents répertoires dans /var/www/html

Pas de panique, voici la solution.

Ce tuto est destiné à un serveur de prod, un vps hébergé chez OVH, mais vous pouvez très bien le transposer à un autre serveur. Si vous développez à la maison, en remplacement du premier chapitre, je vous conseille cet article permettant de donner une adresse bidon à son site en lieu et place de 127.0.0.1 ou de localhost.

 

1 . Le nom de domaine

Dans votre espace client OVH, sélectionnez le nom de domaine : jaimelasaucisse.fr … c’est un exemple, j’aime la saucisse mais pas au point de payer un tribut à l’AFNIC pour autant.

Dans l’onglet “Zone DNS” vérifiez que votre domaine jaimelasaucisse.fr a été créé avec le type A et le type AAAA qui pointe bien vers les IP de votre VPS. ( type A = IPv4 & le type AAAA IPv6 )

Si vous voulez ajouter un sous domaine, un petit clic sur le bouton “Ajouter une entrée“, choisir dans “champs de pointage” le bouton “A” puis tapez votre sous domaine (toulouse.jaimelasaucisse.fr) et l’IPv4 de votre VPS comme “Cible“. Et c’est tout pour la gestion du domaine.

 

2 . Le stockage

Si je peux me faire mettre un conseil, créez un dossier par domaine. Et de sous dossiers pour chaque domaine et ses sous domaines.

et attribuer les dossiers à l’utilisateur www-data

3 . VirtualHost

Niveau apache, deux règles à respecter pour mieux s’y retrouver.

Premièrement, le nom du virtual host doit être identique au nom de domaine, c’est à dire :

Et deuxièmement, les sous domaines cohabitent dans le même fichier de configuration.

Un copié / collé sauvage avec ceci :

Reste à activer avec :

Et ça marche !

Pour ajouter un nouveau sous-domaine, plus besoin de toucher au virtual host, un nouveau dossier dans /var/www/html/jaimelasaucisse.fr portant le même nom que le sous domaine et le tour est joué.

Important ! Si ça ne fonctionne plus avec l’installation de Let’s Encrypt ou autres pourvoyeurs de https://
Alors rendez vous au §4 de l’article : Passer son serveur en https avec Let’s Encrypt

 

Si vos dossiers sont vides, voici comment y palier temporairement :