jeudi 8 septembre 2011

Modifier l'adresse ip d'un host en fonction du réseau sur lequel on se trouve

Ce petit truc ne servira pas à tout le monde, mais en ce qui me concerne il me fait gagner quelques secondes tous les jours...

J'ai un serveur de mail pour mon travail, qui est donc accessible depuis l'extérieur par une adresse ip publique. Quand je suis sur le réseau du travail, par contre, il n'est plus accessible par cette adresse ip, mais par son adresse ip du réseau local.

Pour pouvoir me connecter à ma messagerie quelque soit le réseau sur lequel je me trouve, il faut donc que l'adresse ip du serveur change en fonction de ce réseau.

Voila donc la solution :
Imaginons que ce serveur s'appelle serveur.mail.com, qu'en externe il ait l'adresse 123.123.123.123, et qu'en interne, il ait l'adresse 192.168.0.1 :

1) créer un petit script qui va tester sur quel réseau on est et changer la résolution de nom en fonction du resultat :

#!/bin/bash
# pour changer l'adresse ip de [serveur.mail.com] en fonction de si on est dedans ou dehors du réseau professionnel

ping -c 3 192.168.0.1

if [ $? -eq 1 ] ; then
    echo "on est a l'exterieur" ;
    sed -i "s/192.168.0.1 serveur.mail.com/123.123.123.123 serveur.mail.com/g" /etc/hosts ;
else
    echo "on est a l'interieur" ;
    sed -i "s/123.123.123.123 serveur.mail.com/192.168.0.1 serveur.mail.com/g" /etc/hosts ;
fi

2) éditer le fichier /etc/hosts pour initialiser les choses, en ajoutant soit la ligne
123.123.123.123 serveur.mail.com, soit 192.168.0.1 serveur.mail.com

3) Ajouter dans la crontab de l'utilisateur root (sudo crontab -e)

*/5 * * * * /home/moi/bin/[nom du script défini au point 1]

Et voilà... Pas besoin de reconfigurer thunderbird en fonction du réseau où l'on se trouve.


Augmenter le temps des sessions GLPI

GLPI est un logiciel de gestion de parc informatique, excellent.
Par contre, les sessions sont trop courtes, et lorsque l'on part dépanner quelqu'un il faut se reconnecter dans l'interface à notre retour...

Encore quelques secondes perdues tous les jours! Pour augmenter le temps des sessions glpi, le réglage s'effectue non pas dans glpi, mais pour php. Il sera donc valable pour toutes les applications php installées sur le même serveur que glpi :

sudo vim /etc/php.ini

; After this number of seconds, stored data will be seen as 'garbage' and
; cleaned up by the garbage collection process.
; session.gc_maxlifetime = 1440
session.gc_maxlifetime = 3600


Ajouter un fichier de swap temporaire sous linux

Parfois il peut être pratique d'ajouter temporairement un fichier de swap.
Voici la procédure très simple à suivre (évidemment en ligne de commande, gnome-terminal, ou konsole, ou ctrl+alt+F1 sont la base) :

1) créer un fichier vide

(sudo) dd if=/dev/zero of=./file.swap bs=1M count=2048
ici, création d'un fichier de 2Go (2048 * 1M) s'appelant file.swap dans le répertoire courant

2) synchroniser les disques durs

(sudo) sync

3) transformer le fichier en ficher swap

(sudo) mkswap /tmp/file.swap

4) donner les droits

(sudo) chmod -v 600 /tmp/file.swap

5) activer le nouveau fichier de swap

(sudo) swapon /tmp/file.swap

6) vérifier que le swap a bien augmenté

"htop"
ou "swapon -s"
ou "free -mt"

Et voila!

vendredi 2 septembre 2011

Controler le volume en ligne de commande

Avec le système de sons alsa, il existait en ligne de commande un petit utilitaire "alsamix" (un égaliseur en mode texte) permettant de contrôler le son en ligne de commande.

Avec PulseAudio, il en est de même. L'utilitaire en question s'appelle pacmd :
  • Lister les "sinks" disponibles : pacmd list-sinks
Cette commande renvoie un tas d'information sur les sinks, et notamment leur index qui va nous permettre de jouer avec plus tard :
$ pacmd list-sinks
Welcome to PulseAudio! Use "help" for usage information.
>>> 1 sink(s) available.
  * index: 0


  • Donner un volume à un "sink" défini dans la liste précédente : pacmd set-sink-volume 0 32768
Là on peut régler le volume du 'sink' d'index 0, entre 0 (muet) et 65536 (à fond, dans l'exemple ci-dessus, le volume est réglé à 50%)

Tout simple.


jeudi 1 septembre 2011

Balance Withings sous linux test et avis

Cela faisait un moment que je voulais acheter une vraie balance, qui donne l'IMC et la masse de gras... Et bon, là, une balance connectée en wifi, qui sauvegarde automatiquement les données pour faire de jolies courbes, qui plus est, connectable à l'excellent site runkeeper.com, il n'y a pas photo, c'est tout ce qu'il me faut!!

  • Aspect au déballage
Un beau paquetage, pour un beau produit : dans le paquet, la balance, des pieds pour la moquette, des piles, un cordon usb, un mètre, une notice, bref rien ne manque. La balance est vraiment de qualité (heureusement, vu son prix), de très bonne finition,son plateau en verre est magnifique et va donner envie de se peser souvent :-) Rien qu'au déballage, on a un bel objet.


  • Configuration
Ayant lu sur quelques forums que la configuration se faisait par l'intermédiaire d'un ordinateur, j'avais un peu peur que sous linux, je me retrouve coincé. Hé bien non! L'installation et la configuration est très simple, en allant sur le site start.withings.com, un assistant propose de télécharger le logiciel de configuration sous Windows, Mac et Linux! Il suffit alors d'ouvrir un terminal (Ctrl+Alt+t sous ubuntu 11.04, Programmes/Accessoires/Terminal sous les précédents), et de lancer le magicien (wizard) : sudo ./pairingwizard_Linux_x86 . Celui-ci va permettre de configurer le réseau Wifi, pour connecter la balance à votre réseau.

Bref, en 3 minutes, la configuration est achevée, un premier utilisateur est créé sur le site withings, et c'est parti pour la première mesure!

  • Utilisation
Whoa, par rapport à mon ancienne balance, sur laquelle il fallait appuyer, attendre, monter rapidement avant qu'elle s'éteigne, là, c'est bluffant : on monte sur la balance, elle s'allume, vous pèse, envoie les informations sur le site, affiche votre poids, votre IMC, votre masse graisse, hop, efficace et rapide! Bref, à l'utilisation cette balance rempli toutes les promesses d'une bonne balance.

  • Suivi

La différence majeure, est que les données sont automatiquement envoyées au site withings, ce qui permet d'avoir un joli graphique avec l'évolution de son poids, éventuellement de fixer un objectif visualisable, et cerise sur le gâteau, elle reconnait les différents utilisateurs qui l'utilisent pour enregistrer la mesure sur la bonne courbe! Bon, si vous avez un jumeau ou une jumelle qui a la même corpulence que vous, je ne sais pas si cela fonctionnera correctement, mais pour ma petite famille (5 personnes), aucun souci!


Sur le site, les données sont accessibles aisément, et surtout de façon très claire. Une belle réussite d'ergonomie.


  • Connectivité
L'avantage d'avoir les informations stockées sur internet, c'est qu'elles sont utilisables par d'autres applications. Dans mon cas, j'ai ainsi couplé les informations de poids avec runkeeper.com, ce qui permet dans runkeeper de suivre mon poids en fonction des runnings et autres activités que je fait. Que c'est beau la technologie!

  • Applications

Il existe une application iphone et ipad (gratuite) pour avoir à peu près les mêmes informations que sur le site, je ne vois pas vraiment l'intérêt, mais sachez que ça existe et que l'interface est aussi claire et intuitive que le site. Je pense que l'utilité est plus flagrante lorsqu'on a aussi le tensiomètre withings connecté à son iphone..

  • Conclusion
Inconvénients
le prix (129€, ne cherchez pas c'est partout le même prix. Withings semble avoir pour l'instant une politique très stricte en matière de tarifs). Par contre, ne l'achetez pas chez Withings, vous aurez alors des frais de port... Je vous conseille Amazon, sur lequel j'ai réalisé plusieurs achats sans mauvaises notes.

Avantages
Le produit vaut le prix à payer. En effet au delà de la simplicité et rapidité d'utilisation comparée aux balances que je connaissais avant, le fait d'avoir un suivi complet de l'information pour tous les membres de la famille est un réel service... Imaginez vous entrer les informations dans un tableau excel tous les jours... Les informations étant accessibles partout, il est extrèmement intéressant de les croiser avec d'autres applications. Bref, s'il ne doit rester qu'une seule balance, c'est celle-ci !

mardi 30 août 2011

Comment lancer une commande par ligne d'un fichier

Migrer l'emplacement d'une bibliothèque musicale et impact sur les listes

J'avais mes mp3 organisés en :
/musique/a-e/[artiste] - [album] (année)/...mp3s
/musique/f-k/[artiste] - [album] (année)/...mp3s

Pour des raisons de facilité de lecture, je change en
/musique/[Artiste]/[Album (année)]/...mp3

Et du coup, mes listes ne sont plus à jour du tout... Argh, mais comment faire ??
Allez, la solution en une petite ligne de bash :

Imaginons que la liste initiale s'appelle test.m3u
Qu'elle soit dans le répertoire /musique, là où se trouvent tous les répertoires avec les albums

Alors :

cat test.m3u | while read LINE; do if [ ${LINE:0:1} == \/ ] ; then MORCEAU=${LINE##*- } ; echo $MORCEAU ; find . -name "*$MORCEAU" >> NewList.m3u; else echo $LINE >> NewList.m3u ; fi ; done

Qu'est ce que ça fait :
Pour chaque ligne du fichier "test.m3u", on met la ligne dans la variable "LINE"
cat test.m3u | while read LINE;

Si la ligne commence par un "/", alors c'est un chemin vers un morceau mp3, on stocke la fin de la ligne, depuis le denier "- " dans la variable MORCEAU, (en effet mes mp3 sont sous la forme 01 - nom de la chanson.mp3)
if [ ${LINE:0:1} == \/ ] ; then MORCEAU=${LINE##*- }

On affiche le morceau en cours
echo $MORCEAU ;

On recherche le même morceau dans la collection musicale, et on inscrit le résultat de la recherche dans la nouvelle liste de lecture
find . -name "*$MORCEAU" >> NewList.m3u;

Et enfin, si la ligne ne commençait pas par "/" (elle devait donc commencer par # et être un commentaire m3u), on la copie directement
else echo $LINE >> NewList.m3u

Evidemment, en fonction de vos emplacement, c'est à adapter, mais cela ne devrait pas vous poser de problèmes...
Bon courage !!

dimanche 28 août 2011

Ne pas activer le bluetooth à chaque démarrage

Sous ubuntu 11.04 (et précédentes), le bluetooth est activé au démarrage. Je ne m'en sers pas, donc je fais clic droit sur l'icône, désactiver le bluetooth...

Pour éviter de faire cette opération à chaque fois, il suffit d'aller dans Système, Préférences, Applications au démarrage, et de décocher "Gestionnaire bluetooth"

Et voilà.

Envoyer et recevoir un fax avec le service de free

Pour configurer l'envoi de faxs directement depuis ubuntu sans avoir à se connecter à l'interface de gestion de free, il suffit d'utiliser le projet cups2freefax.

Après quelques installations, l'émission de fax est possible par l'intermédiaire d'une imprimante virtuelle (dans un document, il suffit alors de faire Imprimer, puis de choisir la nouvelle imprimante... Aussi simple que ça :

[28/08/2011 12:39:18] sudo apt-get update; sudo apt-get install cups zenity gcc libwww-mechanize-perl libnet-ssleay-perl
[28/08/2011 12:39:40] cd /tmp
[28/08/2011 12:39:40] wget http://www.sputnick-area.net/scripts/cups2freefax/cups2freefax_current.run
[28/08/2011 12:39:42] chmod +x cups2freefax_current.run
[28/08/2011 12:39:50] sudo /tmp/cups2freefax_current.run

Puis une fois le logiciel installé, ajouter une imprimante CUPS :
Dans votre navigateur, saisir http://localhost:631
Choisir l'onglet administration, entrez votre login mot de passe, puis ajouter une nouvelle imprimante avec les paramètres suivants :
Choisir "CUPS2FREEFAX" dans la liste des imprimantes
Ensuite : MAKE : choisir "generic"
Sélectionner ensuite le driver "generic postscript printer"
Puis conserver les options par défaut.

L'imprimante est alors accessible dans les imprimantes de votre PC.

Pour rappel, le numéro de fax associé à votre freebox est votre numéro de tél freebox +5 sur le 4ème chiffre (0950123456 -> 0955123456)

Si vous souhaitez configurer les mails qui vont recevoir les faxs qui vous sont envoyés, et les avis d'envoi de fax, il faut vous connecter dans l'interface de gestion de votre freebox, onglet téléphone, "Envoyer un fax", puis "Gérer les notifications e-mail pour la réception de fax)

Si vous avez fait une erreur dans le paramétrage de vos identifiants et mot de passe freebox lors du premier envoi de fax, vous pouvez revoir les paramétrages de cups2freefax dans le fichier ~/.cups2freefax/cups2freefaxrc

Le projet cups2freefax

samedi 27 août 2011

Programmer l'extinction automatique d'un PC sous ubuntu

L'objectif est dans le titre... Allons directement à la configuration :

Ajouter les droits nécessaires à l'utilisateur concerné

  • Ouvrir un terminal
  • Ouvrir le fichier de gestion des droits d'administration (commande suivante à taper dans le terminal)
sudo gedit /etc/sudoers 
  • Ajouter la ligne qui donne les droits à l'utilisateur, de lancer la commande "shutdown" sans mot de passe
[votre login]	ALL = NOPASSWD: /sbin/shutdown 
  • Modifier la crontab (liste des tâches planifiées de l'utilisateur)
[tof@elrond ~ 11:13]$ crontab -e 
  • En ajoutant la ligne suivante (à 20h00 tous les jours, lancement de la commande arrêtant le PC
00 20 * * * sudo shutdown -h now <br />
  • Et voilà !


mardi 23 août 2011

Unity - Icones de notifications

Certaines icones de notification n'apparaissent plus dans la nouvelle (11.04) mouture d'ubuntu. C'est par exemple le cas de davmail.

Pour rétablir la visibilité des icônes de notification ayant disparu, il "suffit" de lancer la commande suivante :

gsettings set com.canonical.Unity.Panel systray-whitelist "['all']"

mercredi 6 juillet 2011

Mettre en forme une cellule en fonction d’une autre

 

Si l’on souhaite mettre en forme des cellules en fonction du contenu d’autres cellules, la solution n’est pas intuitive.

Sous excel 2010 (cela doit marcher avec des versions plus anciennes) la manip est la suivante :

Imaginons que je veux avoir un format conditionnel dans ma colonne A, dépendant de valeurs dans la colonne G

  1. Sélectionner la colonne A
  2. Aller dans le menu Mise en forme conditionnelle –> nouvelle règle
  3. Le type de règle est “Utiliser une formule pour déterminer pour quelles cellules le format sera appliqué”
  4. Et ensuite dans la formule, saisir par exemple [=G1=”ok”] (sans les crochets)
  5. Définir le format souhaité

Et voila!

jeudi 23 juin 2011

Normaliser le volume d’une collection musicale

 

Lorsqu’on a rippé tous ses CD en mp3, bazardé son lecteur de CD, et remplacé tout ça par un PC avec un média center (n’hésitez pas, choisissez xbmc :-) un problème arrive forcément : les mp3 ne sont pas tous au même volume sonore.

La solution : mp3gain

Attention, il y a plein de logiciels qui font ça en modifiant la qualité du mp3 concerné, mp3gain ne fait qu’ajouter une informations de gain dans le mp3 sans le modifier.

Evidemment toujours sous linux style debian (ubuntu) :

apt-get install mp3gain

Ensuite aller dans le répertoire contenant vos mp3, puis lancer



find . -type f -iname '*.mp3' -print0 | xargs -0 mp3gain –r –k

La première partie de la commande recherche dans le répertoire courant (.) les fichiers (type f) nommés *.mp3, et les formate avec le chemin complet (-print0) pour les passer ensuite à la commande mp3gain qui va ajouter l’information de gain aux fichiers.


Et voila.

xbmc et compilations

 

La liste des artistes dans xmbc peut-être polluée par tous les artistes qui n’apparaissent qu’une fois sur une compilation…

Pour gérer correctement les CD de compilation sous xbmc, il n’y a qu’une solution solide : avoir un bon éditeur de tags id3(v2).

Easytag est un excellent gestionnaire de tags, mais il ne gère pas ceux qui sont nécessaires.

Donc : installer exfalso (l’éditeur de tag en général livré avec le lecteur audio quodlibet),

sous debian/ubuntu : sudo apt-get install exfalso

Et ensuite, il n’y a plus qu’à compléter les tags suivants :

albumartist = Various Artists (ou l’artiste de la compilation, bien sûr)

compilation = 1

Et voila, les compils apparaissent correctement dans xbmc

jeudi 16 juin 2011

Dupliquer des lignes d’un fichier Excel

Imaginons un fichier excel composé de lignes du type :

Col1 Col2 Col3 … Col10
Maison Adresse 1 Adresse 2 … Chambre, Salon, Cuisine
Appart Adresse 3 Adresse 4 …  
Bateau Adresse 5 Adresse 6 … Salle des machines, Plage

Cet exemple est complètement inutile, mais c’est le principe qui compte : imaginons que nous souhaitons construire des requêtes d’insertion en base, qui permettent d’insérer dans notre exemple, 6 lignes :

Maison Adresse 1 Adresse 2 … Chambre
Maison Adresse 1 Adresse 2 … Salon
Maison Adresse 1 Adresse 2 … Cuisine
Appart Adresse 3 Adresse 4 …  
Bateau Adresse 5 Adresse 6 … Salle des machines
Bateau Adresse 5 Adresse 6 … Plage

Voici la macro magique qui va permettre de générer le tableau 2 à partir du tableau 1. Attention, on suppose que les lignes à dupliquer sont celles qui contiennent en colonne 10, des valeurs séparées par des virgules.

Sub gogoJonyGo()
Dim iligne As Integer
iligne = 2
 
 
While Cells(iligne, 1).Value <> "" And iligne < 1000
    
    If InStr(1, Cells(iligne, 10).Value, ",") > 0 Then
    
        ichar = InStr(1, Cells(iligne, 10).Value, ",")
        sgauche = Trim(Left(Cells(iligne, 10).Value, ichar - 1))
        sdroite = Trim(Right(Cells(iligne, 10).Value, Len(Cells(iligne, 10).Value) - ichar))
        Rows(iligne + 1).Select
        Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        Rows(iligne).Select
        Selection.Copy
        Rows(iligne + 1).Select
        ActiveSheet.Paste
        Application.CutCopyMode = False
        Cells(iligne, 10) = sgauche
        Cells(iligne + 1, 10) = sdroite
    
    End If
    
    iligne = iligne + 1
Wend
   
End Sub

Connexion bureau à distance en plein écran

Lorsqu’on réduit une fenêtre bureau à distance (ou qu’on la redimensionne), lorsqu’on maximise à nouveau la fenêtre, elle ne passe plus en plein écran.

Pour résoudre ce problème, il suffit lorsqu’on est sur le bureau tse, d’appuyer sur Ctrl+Alt+Pause.

Pour les portables Dell comme le mien, Ctrl+Alt+Fn+F12 (pause est sur F12) fonctionne.

Ahhh, ça va mieux!