On ne présente plus ImageMagick, une suite d'utilitaire en ligne de commandes incroyablement puissante qui permet de créer, de convertir, de modifier, d'afficher des images dans tous les formats possibles et imaginables, couper, tordre, changer les couleurs, pivoter, additionner, soustraire, etc..... enfin bref, on peut quasiment tout faire, et tout cela en ligne de commande, donc en le combinant à un langage de script notre imagination ne suffirait pas à atteindre les limites ! La documentation ImageMagick sur le site Ubuntu-fr donne un bref aperçu de sa puissance, quant la documentation officielle qui recense de manière exhaustive toutes les options, elle donne simplement le vertige tant les possibilités sont infinies ! Je vous présente ci dessous une seule commande dont je me sert relativement souvent, la concaténation d'image en deux temps trois mouvements :
Keyword - scripts
samedi, septembre 17 2011
Concaténer des images simplement en ligne de commandes
Par Taltan le samedi, septembre 17 2011, 21:53 - Geekerie cultu-libriste
Convertir les enregistrements vidéos d'une FreeBox
Par Taltan le samedi, septembre 17 2011, 17:27 - Geekerie cultu-libriste
Je suis un Freenaute convaincu depuis de longues années, aujourd'hui heureux possesseur d'une FreeBox v6 (auquel il ne manque que la cafetière HTCPCP ) équipé d'un NAS de 250 Go et je dois bien avouer que je me lâche sur les enregistrements de programme TV. Le problème avec les enregistrements à partir d'une FreeBox, c'est le format de fichier un peu « bancale » car un fois récupéré sur le PC (Debian / Ubuntu), il est très difficile de le travailler, c'est à dire de le ré-encoder, le couper, etc... Enfin c'est plutôt le conteneur de la vidéo (.m2ts) qui est relativement exotique car les codecs de compression du son et de l'image sont quant à eux tout à fait standards, il s'agit en effet du codage H.264 (ou MPEG-4 AVC) pour la vidéo et du codage AAC (Advanced Audio Coding) pour le son. Vous trouverez ci dessous quelques astuces très simples qui vous permettrons de travailler ces fichiers (convertir / couper) sous un système Linux (Debian squeeze ou Ubuntu en l’occurrence, mais bien d'autres également) à l'aide de FFmpeg ou HandBrake :
dimanche, septembre 11 2011
Reconnexion automatique VPN (PPTP) sous Debian Squeeze
Par Taltan le dimanche, septembre 11 2011, 15:10 - Geekerie cultu-libriste
Depuis plus d'un an et demi j'utilise le service de VPN IPjetable, d’abord avec Ubuntu puis aujourd'hui avec Debian Squeeze. Ce VPN utilise le protocole PPTP, très facilement configurable et nativement supporté sous Linux. Je ne vais pas expliquer ce qu'est un VPN, d'autres l'ont trés bien fait, notamment l'excellent Korben, ni comment on le configure sous Debian, c'est enfantin (exemple ici, et c'est valable pour toutes distros sous Gnome). Le souci lorsqu'on utilise un service de VPN (même payant) c'est le déconnexion aléatoire de temps en temps. Pour gérer la reconnexion automatique, plusieurs solutions existent à base de scripts ou alors plus visuelles avec vpnautoconnect par exemple, mais aucune de ces solutions ne répond exactement à mon besoin qui est le suivant :
dimanche, novembre 8 2009
Pour les nostalgiques de XMMS 1.XX sous Ubuntu, la suite...
Par Taltan le dimanche, novembre 8 2009, 08:00 - Geekerie cultu-libriste
Update : Installation XMMS sur Ubuntu Karmic Koala 9.10
Depuis mon billet « Pour les nostalgiques de XMMS 1.XX sous Ubuntu Hardy Heron 8.04 » , les choses ont changé... La 8.04 signait en effet l'arrêt de mort du maintien de XMMS dans sa branche 1.XX par les développeurs d'Ubuntu. À l'époque il n'existait pas de paquet .deb spécifique, il fallait en passer par la compilation de sources. Depuis, trois version d'Ubuntu se sont succédés, Ubuntu Intrepid Ibex 8.10, Ubuntu Jaunty Jackalope 9.04et Ubuntu Karmic Koala 9.10 mais surtout knuta maintient des paquets pour chaque distribution d'Ubuntu à partir du héron robuste et propose des dépôts, ce qui simplifie grandement la tache pour les nostalgiques de XMMS dont je fais partie.
dimanche, octobre 5 2008
Hardy Heron au FreeGo
Par Taltan le dimanche, octobre 5 2008, 11:18 - Geekerie cultu-libriste
Comme pourrait éventuellement le suggérer le titre de ce billet, il ne s'agit pas mettre le héron dans un réfrigérateur pour tester sa robustesse en attendant le bouquetin, il s'agit bien de la dernière version du logiciel FreeGo bien connu de la communauté des Freenautes, qui depuis peu est passé en version 4. FeeGo est un petit logiciel bien pratique pour les abonnés FREE qui permet de « manager » sa Freebox depuis son poste de travail et non plus au travers de l'interface web de gestion de compte sur le site du FAI. Il permet de simplifier la configuration du routeur (wifi, redirection de ports, DHCP), du service téléphonie et les accès au répondeur, factures et caractéristiques de la ligne. Outre cette interface de gestion de comptes, FreeGo propose également des services annexes comme notamment l'accès au bouquet de chaînes TV FREE (avec enregistrement et programmation possible) et la gestion de ses comptes mails.
L'auteur propose sur son site un paquet pour Ubuntu 32 bits freego_4.0.0_i386.deb, l'installation se fait simplement via l'utilitaire Gdebi à quelques dépendances près, plus d'infos sur le forun Ubuntu-fr avec ce post. Pour les utilisateurs du héron 64 bits, dont je fais parti, il faut passer par la phase compilation des sources (FreeGo4-src.zip) sans oublier d'installer en amont le nécessaire, les « Qt 4 development files » (librairie libqt4-dev version 4.4 du dépôt backports ), ci dessous deux méthode d'installation sur une Ubuntu 8.04 Hardy Heron 64 bits :
Installation manuelle de FreeGo 4
Activer les dépôts backports, (ici), à savoir à propos des dépôts backports :
- À la sortie de la version stable de Ubuntu, les versions des logiciels disponibles sur les dépôts de Canonical sont gelées c’est-à-dire que les logiciels, lors de sorties de nouvelles versions, ne sont pas mis à jour
- Les dépôts backports vous permettent de récupérer les toutes dernières versions logicielles de vos programmes
- A manier avec précaution
puis :
sudo apt-get install libqt4-dev build-essential wget http://www.freego.fr/logiciel/linux/sources/FreeGo4-src.zip unzip FreeGo4-src.zip cd FreeGo4 qmake-qt4 FreeGo4.pro make

Une fois la compilation terminée, un binaire est crée, il s'agit du fichier FreeGo, pas très joyeux, vous pouvez télécharger cette icône pour l'égayer un peu...
Installation de FreeGo 4 via le script freegoV4_64-installer_1.0.sh
Le script freegoV4_64-installer_1.0.sh est un petit script perso qui permet d'automatiser un peu cette installation et de créer un lanceur dans le menu Gnome Application/Internet, les actions suivantes s'enchaînent (ne pas oublier d'activer les dépôts backports) :
- installation des paquets nécessaires
- téléchargement de l'archive FreeGo4-src.zip
- compilation
- installation dans le dossier souhaité
- téléchargement de l'icône
- création du lanceur dans le menu Applications/Internet
Résultat
Plus d'info sur les fonctionnalités de FreeGo : Guide_utilisation_FreeGo.pdf
Les nouveautés de la version FreeGo 4 :
- une nouvelle interface
- la gestion de plusieurs comptes Free & emails via la fenêtre principale du logiciel
- la gestion de votre configuration Wifi et Routeur dans leur intégralité
- un moniteur de débit qui vous donnera en temps réel le trafic sur votre ordinateur
- un test de débit remontant et descendant
- une section téléphonie complète et ergonomique
- enfin une section télévision simple & pratique pour regarder, enregistrer et programmer vos séries télévisées préférées
NB : Certaines fonctionnalités bug à priori chez moi, le moniteur de débit, la lecture des chaînes TV et la gestion des mails ne fonctionnent pas, mais bon, c'est surtout les autres fonctionnalités qui m'intéressent. C'est peut être lié à la version Linux, j'attends vos feedback... 
jeudi, juillet 10 2008
Mise à jour script exif_photos_rename_1.2, renommer les photos selon les données EXIF
Par Taltan le jeudi, juillet 10 2008, 12:15 - Geekerie cultu-libriste
En cette période de congés estivales, j'ai pu me replonger dans ce script que je voulais mettre à jour depuis un petit moment. Il permet de renommer massivement (via les nautilus-scripts) une série de photos selon les données EXIF sous la forme 20061104_19.41_007.jpg, les 3 derniers digits (ici *007*) étant un compteur qui s'incrémente.
La première modification concerne l'utilisation de l'utilitaire exiftool en lieu et place de imagemagick qui posait souci avec Ubuntu 8.04 LTS Hardy Heron. En effet avec la version native Hardy de imagemagick certaines commandes ne fonctionnaient plus, notamment la commande identify -format "%[EXIF:DateTime] qui retournait une ligne vide (voir le nota bene 3 à la fin de ce post). En outre je trouve que le traitement du script est plus rapide avec exiftool...
La deuxième modification concerne l'affichage d'une boite de dialogue qui permet de suivre l'état d'avancement du traitement en pourcentage, bien plus clean que le déroulement du script dans la fenêtre zenity...
Dépendances :
$ sudo apt-get install libimage-exiftool-perl zenity
Script exif_photos_rename_v1.2.sh :
- 09/07/08 - v1.2
- Remplacement de imagemagick par exiftool pour le traitement
- Ajout boîte de dialogue de barre de progression en pourcentage
- 27/07/07 - v1.1
- Script de renommage de photos selon les données EXIF
- Réorganisation
- Choix du début de numérotation, par défaut à 1
- 15/07/07 - v1.0
- Création
#!/bin/bash
############################################################################################
# Taltan - http://www.taltan.fr - ola.taltan_AT_laposte.net #
############################################################################################
# Script exif_photos_rename_v1.2.sh #
# Licence : GNU / GPL #
############################################################################################
# Renomme les photos selon les données EXIF sous la forme : #
# ${aa}-${mm}-${jj}_${hh}.${min}_${numero}.ext => ex : 20061104_19.41_007.jpg #
# Fonctionne pour une numérotation de 001 à 999 #
############################################################################################
# Dépendances #
############################################################################################
# - Nécessite le paquet exiftool : http://www.sno.phy.queensu.ca/~phil/exiftool/ #
# - Nécessite le paquet zenity : http://library.gnome.org/users/zenity/index.html.fr #
# => sudo apt-get install libimage-exiftool-perl zenity #
############################################################################################
# 15/07/07 - v1.0 - Création #
# 27/07/07 - v1.1 - Réorganisation #
# - Choix du début de numérotation, par défaut à 1 #
# 09/07/08 - v1.2 - Remplacement de imagemagick par exiftool pour le traitement #
# - Ajout boîte de dialogue de barre de progression en pourcentage #
############################################################################################
## Variables
nb_param="$#"
erreur=0
typeset -i CNT=1
typeset -i CUR=0
## Fonctions début de numérotation
début_numerot ()
{
numParam=`zenity --title "Début de numérotation" --entry-text="1" --entry --text "Par défaut à 1, à modifier le cas échéant :"`
if [ $? != 0 ]; then
exit 1
fi
[ $? -ne 0 ] && exit 2 # Annulation
}
## Fonctions renommage des fichiers
rename_jpeg ()
{
for parametre in "$@";
do
old_name="$parametre"
date_time=`exiftool "$parametre" | grep "Create Date"`
extension=`echo $parametre | awk -F "." '{print $NF}'`
aa=`echo $date_time | cut -d: -f2 | cut -c2-5`
mm=`echo $date_time | cut -d: -f3`
jj=`echo $date_time | cut -d: -f4 | cut -c1-2`
hh=`echo $date_time | cut -d: -f4 | cut -c4-5`
min=`echo $date_time | cut -d: -f5`
if [ $numParam -gt 0 ] && [ $numParam -lt 10 ]; then
numero=00$numParam
fi
if [ $numParam -gt 9 ] && [ $numParam -lt 100 ]; then
numero=0$numParam
fi
if [ $numParam -gt 100 ] ; then
numero=$numParam
fi
new_nane=`echo ${aa}${mm}${jj}_${hh}.${min}_${numero}.${extension}`
cp "$old_name" "${new_nane}"
if [ $? = 0 ] ; then
echo "${old_name} => ${new_nane} .... OK" >> /tmp/exif_photos_rename.log
rm -f "$old_name"
else
echo "Impossible de renommer $old_name .... NOK" >> /tmp/exif_photos_rename.log
let $[erreur += 1]
fi
CUR=$CNT*100/$nb_param
echo $CUR
echo "#Traitement de $nb_param photos\n${old_name} => ${new_nane} ... en cours\n\nAvancement: $CUR %\n "
CNT=$CNT+1
let $[numParam += 1]
done
nb_renomme=$(( $nb_param - $erreur ))
if [ $erreur != 0 ] ; then
touch /tmp/exif_photos_rename.err
echo "#Fin de traitement : $nb_param fichiers\n\nFichiers renommés : $nb_renomme\nFichiers impossible à renommer : $erreur\n\n _!!_ Cliquer sur Valider pour afficher le rapport de traitement _!!_\n"
else
echo "#Fin de traitement : $nb_param fichiers\n\nFichiers renommés : $nb_renomme\nFichiers impossible à renommer : $erreur\n\nOK, vous pouvez fermer en cliquant sur Valider !\n"
fi
}
## Fonctions affichage du rapport de traitement
affich_log ()
{
if [ -f /tmp/exif_photos_rename.err ] ; then
cat /tmp/exif_photos_rename.log | zenity --text-info --title "/tmp/exif_photos_rename.log" --width=500 --height=500
fi
rm -f /tmp/exif_photos_rename.log
rm -f /tmp/exif_photos_rename.err
}
## Traitement
if [ "$#" -eq 0 ]; then
zenity --error --title="error" --text="Selectioner au moins 1 fichier"
exit 1
fi
début_numerot
rename_jpeg "$@" | zenity --progress --title="exif_photos_rename" --percentage=0
affich_log
Mise en place :
Placer le script exif_photos_rename_v1.2.sh dans le dossier ~/.gnome2/nautilus-scripts, puis le rendre exécutable
$ sudo chmod +x ~/.gnome2/nautilus-scripts/exif_photos_rename_v1.2.sh
Utilisation :
Sélectionner les photos à traiter, puis clic droit / Scripts / exif_photos_rename_v1.2.sh
Cliquer sur Valider ou modifier le début de numérotation le cas échéant :

Le traitement s'effectue, l'état d'avancement en pourcentage s'affiche :
A la fin du traitement :
1. Si aucune erreur n'est détectée, une petite récap s'affiche
2. Si des fichiers n'ont pu être renommés :
Résultat :
NB 1 : _/!\_ Par principe de précaution, je vous conseille de commencer à utiliser un script qui, au final supprime ou modifie un fichier, sur une copie de vos photos, histoire de voir que tout se passe bien 
NB 2 : Suite à un commentaire de Batchajan sur mon post sur exif_photos_rename_v1.1, j'ai également attaché à ce billet une variante de mon script, exiftool_v1.0.sh. Batchajan l'a en effet modifié pour rajouter les fonctions suivantes :
- Eviter le rerenommage d'une photo déjà moulinée
- Classer les photos renommées dans les répertoires aaaa/aaaa-mm
Merci à Batchajan pour ces modifications, elles pourront être utiles... 
NB 3 : Utilisant imagemagick dans d'autres scripts sur mon Ubuntu 8.04 Hardy Heron, notamment PhpWebGallery_create, j'ai du compiler la dernière version stable de imagemagick à partir des sources :
sudo apt-get install libfontconfig1-dev libjpeg62-dev libpng12-dev librsvg2-dev libtiff4-dev libjasper-dev libwmf-dev "télécharger la dernière version de ImageMagick-6.4.xx" => ftp://ftp.fu-berlin.de/unix/X11/graphics/ImageMagick/ tar -xvzf ImageMagick-6.4.xx cd ImageMagick-6.4.xx ./configure make sudo make install
Puis après la compilation, j'ai rajouté à la fin de mon fichier ~/.bashrc la ligne
export LD_LIBRARY_PATH=/usr/local/lib
dimanche, mai 4 2008
Pour les nostalgiques de XMMS 1.XX sous Ubuntu Hardy Heron 8.04
Par Taltan le dimanche, mai 4 2008, 11:10 - Geekerie cultu-libriste
Avis aux nostalgiques de WINAMP, XMMS dans sa branche 1.XX n'est plus intégré dans les dépôts depuis la version beta de Ubuntu Hardy Heron 8.04, XMMS est mort vive XMMS !! Il est remplacé par XMMS2. Alors certes, XMMS est un peu vieillot (les menus ne sont pas très hypes à cause de GTK+), mais il reste mon player MP3 par défaut depuis toujours, car (pas de troll svp
ce n'est que mon avis...) trés réactif, light, winamp like, bonne qualité de rendu sonore, égaliseur performant, simple à utiliser...
Alors voila comment installer la dernière version de la branche 1.XX, la version 1.2.11 n'est disponible qu'à partir des sources que j'ai compilés et transformés en paquet .deb 32 bits et 64 bits avec l'utilitaire CheckInstall. Vous trouverez ci-dessous plusieurs façons d'installer XMMS 1.2.11 ainsi que quelques goodies indispensables :
Installation de XMMS 1.2.11 à partir du paquet xmms_1.2.11-1
Sur Ubuntu Hardy Heron 8.04 32 bit à partir du paquet xmms_1.2.11-1_i386.deb
wget http://taltan2.free.fr/dl/ubuntu/xmms_1.2.11-1_i386.deb sudo dpkg -i xmms_1.2.11-1_i386.deb
Sur Ubuntu Hardy Heron 8.04 64 bit à partir du paquet xmms_1.2.11-1_amd64.deb
wget http://taltan2.free.fr/dl/ubuntu/xmms_1.2.11-1_amd64.deb sudo dpkg -i xmms_1.2.11-1_i386.deb
Installation de XMMS 1.2.11 à partir des sources (sur 32 ou 64 bits)
Installation des dépendances (merci bishop
) :
sudo apt-get install libasound2-dev libc6-dev libaudiofile-dev libaudiofile0 libesd0-dev libesd-alsa0 libgl1-mesa-dev libgl1-mesa-glx libgl1-mesa-dri libglib1.2-dev libgtk1.2-dev libice-dev libmikmod2-dev libogg0 libogg-dev libsm-dev libsm6 libvorbis0a libvorbis-dev libvorbisfile3 libx11-dev libx11-6 libxi-dev libxi6 libxxf86vm-dev libxxf86vm1 zlib1g-dev
Téléchargement des sources et compilation :
wget http://xmms.org/files/1.2.x/xmms-1.2.11.tar.gz tar -xvzf xmms-1.2.11.tar.gz cd xmms-1.2.11 ./configure --prefix=/usr make sudo make install
Goodies
Téléchargement et installation de tous les skins
Les skins sont disponibles sur le site de XMMS, pour en avoir un aperçu en une seule page, c'est par ici : http://taltan2.free.fr/dl/ubuntu/xmms_all_skin.html
wget http://taltan2.free.fr/dl/ubuntu/xmms-all_skin.tar.gz tar -xvzf xmms-all_skin.tar.gz -C ~/.xmms/Skins
Téléchargement et installation des présélections WINAMP pour l'égaliser
wget http://taltan2.free.fr/dl/ubuntu/xmms-winamp_presets.gz gunzip -c xmms-winamp_presets.gz > ~/.xmms/eq.preset
Création du lanceur XMMS dans le menu Audio et vidéo de Gnome
cd ~/.local/share/applications wget http://taltan2.free.fr/dl/ubuntu/XMMS.desktop
Concernant l'icône, par défaut en suivant cette méthode il s'agit de l'icône Gnome, vous pourrez aisément le changer en téléchargeant la panoplie d'icônes disponibles : http://www.xmms.org/files/icons/xmms-icons.tar.bz2
Play avec XMMS via les nautilus-scripts
Pour plus d'info sur les nautilus-scripts : http://www.taltan.fr/post/2006/06/07/14-les-nautilus-scripts
Pour Jouer dans XMMS tous le fichiers audio du dossier (et sous dossier) sélectionné à partir d'un click droit de la souris
#play_XMMS.sh
#!/bin/bash
xmms "$1"*
Script d'installation automatique (32 bits)
Pour simplifier tous ça, j'ai fait un petit script qui permet de réaliser toutes ces opérations one shot (hors nautilus-scripts), il s'agit du script XMMS-1.2.11_install.sh
- Installe le paquet xmms_1.2.11-1_i386.deb
- Télécharge et installe de tous les skins
- Télécharge et installe des présélections WINAMP pour l'égaliser
- Crée le lanceur XMMS dans le menu Audio et vidéo de Gnome
wget http://www.taltan.fr/public/dl/XMMS-1.2.11_install.sh chmod +x XMMS-1.2.11_install.sh ./XMMS-1.2.11_install.sh
Liens
- Archives contenant tous les skins
- Liste avec pré visualisation de tous les skins
- Archive contenant les présélections WINAMP pour l'égaliser
- Archive contenant les icônes XMMS
- Lanceur XMMS pour le menu Audio et vidéo de Gnome
- Script XMMS-1.2.11_install.sh d'installation automatique
- Script play_XMMS.sh pour les nautilus-scripts
lundi, mars 24 2008
VirtualBox, simplifer la gestion du réseau avec un hôte Ubuntu
Par Taltan le lundi, mars 24 2008, 13:15 - Geekerie cultu-libriste
Comme vous aviez pu le remarquer, j'utilise depuis un moment Vmware Server sur Ubuntu pour virtualiser des environnements. A titre de comparaison, j'ai testé plusieurs fois VirtualBox, mais je suis toujours revenu vers Vmware Server... car (entre autre) sa gestion du réseau en mode pont est native, aucune manipulation particulière n'est à faire sous Ubuntu pour avoir plusieurs machines virtuelles dans le même LAN, ce qui n'est pas le cas de VirtualBox. Alors évidement un petit tour sur le Wiki Ubuntu Fr suffit pour configurer un mode pont pour Virtual Box, mais l'aspect manuel se cette configuration ne joue pas en sa faveur. Voila le pourquoi de ce script qui permets de permets d'activer | désactiver et de configurer (X interfaces virtuelles en mode pont pour X machines virtuelles VBox) un pont sur un hôte Ubuntu (doit fonctionner sur une autre distribution avec peut-être quelques modifs)
Quelques explications
Mode NAT (Network Adress Translation)
Par défaut, VBox est configuré en mode NAT, c'est à dire que la machine virtuelle (VM) accède au LAN (réseau local) à travers la machine hôte par un routage NAT. Elle est donc séparée du réseau local, elle communique sur le LAN en envoyant de requêtes en utilisant l'adresse IP de la machine hôte. La machine hôte joue en quelque sorte le rôle de serveur DHCP pour l'interface réseau de la VM. La VM accède donc à l'extérieur en passant par la machine hôte. Avec cette configuration, on peut donc accéder à internet à partir de la VM mais pas se connecter directement sur la machine hôte, par exemple pour tester des services offerts par celle ci (samba, ftp, web,...)
Mode pont (bridge)
En mode pont (bridged dans Vmware) la VM accède directement au LAN via une interface réseau virtuelle « pontée » sur l'interface physique de la machine hôte. Vu de LAN, il y a une nouvelle machine avec une adresse IP qui lui est propre (même plage que la machine hôte), la VM utilise le serveur DHCP qui est sur le LAN (si présent). Il s'agit en fait d'utiliser le dispositif TUN / TAP. Un dispositif TUN / TAP est vu comme une interface réseau (virtuelle) qui communique avec un programme utilisateur (logiciel de virtualisation par exemple) en lieu et place d'une vraie carte matérielle
- TUN pour « tunnel » qui simule du point à point, utilisé pour le mode NAT (routage) de VBox
- TAP pour simuler un périphérique Ethernet, utilisé pour le mode pont (adaptateur réseau hôte dans VBox)
Objectif du script
Ce script (bridging_vb_tap_v1.0.sh) a donc pour objectif :
- de créer à la demande (sans modifier en dur la configuration réseau de la machine hôte) plusieurs interface TAP (autant que de VM utilisant le mode « adaptateur réseau hôte » dans VBox) et de créer un pont pour les « ponter » à l'interface réseau physique (eth0 dans mon cas)
- de pouvoir revenir à la configuration réseau initial de la machine hôte
Dépendances
Nécessite les paquets bridge-utils et uml-utilities
$ sudo apt-get install bridge-utils uml-utilities
Script bridging_vb_tap_v1.0.sh
NB : _/!\ Principe de précaution, utiliser cette méthode uniquement si vous avez un minimum de connaissance dans la configuration à la mano (en ligne de commande) d'un réseau sous linux..._
#!/bin/bash
############################################################################################
# Taltan - http://www.taltan.fr - ola.taltan_AT_laposte.net #
############################################################################################
# Script bridging_vb_tap_v1.0.sh #
# Licence : GNU / GPL #
# Inspiré de la doc sur le wiki Ubuntu #
# - http://doc.ubuntu-fr.org/virtualbox_reseau#alternative #
# et du post de kesou sur le forum Ubuntu #
# - http://forum.ubuntu-fr.org/viewtopic.php?id=148609 #
############################################################################################
# Dans le cadre de l'utilisation de VirtuaBox en mode pont #
# - Création des interfaces réseaux virtuelles tapX #
# - Création du pont réseaux entre l'interface physique et les virtuelles #
############################################################################################
# Dépendances #
############################################################################################
# - Nécessite les paquets bridge-utils et uml-utilities #
# => sudo apt-get install bridge-utils uml-utilities #
############################################################################################
# 24/03/08 - v1.0 - Création #
############################################################################################
## Variables
gateway=192.168.0.254 # adresse ip de la passerelle
bridge=br0 # nom du pont
if_hote=eth0 # interface physique actuelle
DHCP=NO # DHCP pour le pont YES | NO
bridge_ip=192.168.0.1 # adresse ip du pont si DHCP=NO
bridge_mask=255.255.255.0 # masque du pont si DHCP=NO
bridge_bc=192.168.0.255 # adresse ip de broadcast si DHCP=NO
nb_tap=2 # nombre d'interfaces virtuelles tapX
vb_user=taltan # utilisateur de VirtualBox
## Fonction de mise en place du pont
start () {
chmod 0666 /dev/net/tun
brctl addbr $bridge # création du pont
brctl addif $bridge $if_hote # ajout de l'interface physique dans le pont
var0=0 # initialisation du compteur de tapX
while [ "$var0" -lt "$nb_tap" ]
do
name_tap=tap${var0} # initialisation du nom de l'interface virtuelle, tap0 pour la première, tap1, tap2...
tunctl -u $vb_user -t $name_tap # création de l'interface virtuelle
ifconfig $name_tap up # activation de l'interface virtuelle
brctl addif $bridge $name_tap # ajout de l'interface virtuelle dans le pont
ifconfig $name_tap 0.0.0.0 promisc up # configuration ip de l'interface virtuelle
let "var0 += 1" # incrémentation du compteur de tapX
done
ifconfig $if_hote 0.0.0.0 promisc up # configuration ip de l'interface physique
if [ "$DHCP" == "YES" ]; then # si DHCP=YES
dhclient $bridge # configuration dhcp pour le pont
sleep 10
else # si DHCP=NO
ifconfig $bridge $bridge_ip netmask $bridge_mask broadcast $bridge_bc # configuration manuelle pour le pont
fi
route add default gw $gateway # configuration de la passerelle pour le pont
brctl showstp $bridge # affiche les info sur le pont
}
## Arrêt et suppression du pont puis restauration de la configuration réseau initiale
stop () {
TESTPONT=$(/sbin/ifconfig | grep $bridge) # si aucun pont configuré, message
if [ -z "$TESTPONT" ]; then
echo "Attention : pont réseau non trouvé. Vérifier la config réseau ..."
exit 1
fi
ifconfig $bridge down # désactivation du pont
brctl delbr $bridge # suppression du pont
var0=0
while [ "$var0" -lt "$nb_tap" ] # pour chaque interface virtuelle tapX
do
name_tap=tap${var0}
tunctl -d $name_tap # suppression
let "var0 += 1"
done
ifconfig $if_hote down # restauration de la configuration réseau initiale
ifconfig $if_hote up
if [ "$DHCP" == "YES" ]; then
sleep 5
fi
ifconfig # affiche la configuration réseau
}
## information sur le bridge
info () {
brctl showstp $bridge
}
## Point d’entrée du script
case $1 in
start)
start $2
;;
stop)
stop $2
;;
info)
info $2
;;
*)
echo $"Utilisation: bridging {start|stop|info}"
exit 1
esac
exit 0
Pour une utilisation ponctuelle
N'oubliez pas de modifier les variables selon votre configuration... et de rendre le script exécutable. Placer le script dans un « path » de votre système Ubuntu
$ sudo cp bridging_vb_tap_v1.0.sh /usr/local/bin/bridging_vb_tap $ sudo chmod +x /usr/local/bin/bridging_vb_tap
Pour la mise en place du pont :
$ sudo bridging_vb_tap start
Résultat de la commande dans le cas de la création d'un pont avec eth0, tap0 et tap1 :
Arrêt et suppression du pont puis restauration de la configuration réseau initiale :
$ sudo bridging_vb_tap stop
Résultat de la commande :
Configuration de la VM dans VBox pour utiliser le mode bridge
Dans la configuration réseau de votre VM :
- cocher Activer l'adaptateur réseau
- choisir Adaptateur réseau hôte
- laisser l'adresse MAC par défaut
- cocher câble relié
- nom de l'interface : tap1 (ou tap0)
- laisser blanc application d'installation et de désinstallation
Et voila le tour est joué, depuis j'utilise très régulièrement VBox et je dois dire qu'en plus d'être GPL (ce que n'est pas VMware Server) je le trouve plus réactif que VMware Server (pas de troll svp
)
PS : Concernant l'installation de VBox sur Ubuntu 8.04 Hardy Heron, j'ai suivi la méthode décrite pour Ubuntu 7.10 Gutsy Gibbon dans le wiki Ubuntu, c'est pas très « propre », mais il n'y pas encore de dépôts officiels pour Hardy Heron sur le site de VirtualBox et ça marche nickel... Même chose pour l'activation de l'USB, il suffit de suivre le tuto sur le wiki
dimanche, novembre 4 2007
Paquet .deb GPRename 2.5
Par Taltan le dimanche, novembre 4 2007, 11:10 - Geekerie cultu-libriste
Pour faire suite au billet "Renommer massivement en 2 clics des fichiers ou dossiers avec Nautilus" qui traitait de l'installation de GPRename 2.4 sur Ubuntu 7.04, voila la mise à jour du paquet GPRename en version 2.5 (changelog).
- Paquet gprename_2.5-1_i386.deb
- La procédure d'installation et l'intégration dans Gnome sont identiques à la version 2.4, comme décrit dans ce billet
dimanche, août 26 2007
Script PhpWebGallery_create maj v3.0.1
Par Taltan le dimanche, août 26 2007, 08:47 - Geekerie cultu-libriste
Voila une mise à jour du script PhpWebGallery_create, il passe en version v3.0.1, disponible ici. Le seul changement est la possibilité de jouer sur la compression (variable COMPRESS_QUALITY_THUMB) des miniatures pour réduire au maximum leur poid.
Historique :
- 23/07/2007 : Script v3 de génération automatique de galeries PhpWebGallery
- 18/07/2007 : Script v2 de génération automatique de galeries PhpWebGallery
- 02/09/2006 : Script v1 de génération automatique de galeries PhpWebGallery
Description :
Script bash de génération automatique de galeries PhpWebGallery pour Linux, crée une arborescence prêt à être uploader.
Sur dossier
Soit à partir du navigateur de fichier en sélectionnant un dossier à traiter, soit en exécutant directement le script :
Traitement récursif d'un dossier complet, crée un clone au format PWG de l'arborescence (sous-dossier compris) du dossier choisi, prêt à être uploader dans PWG. Il ne reste plus qu'a uploader le dossier sur le Web.
Sur photos
Soit à partir du navigateur de fichier en sélectionnant les photos à traiter, soit en exécutant directement le script :
Créer une galerie au format PWG à partir des photos selectionnées Pwg, crée un dossier. Il ne reste plus qu'a uploader le dossier sur le Web.
Processus
- Demande du nom de la galerie
- Crée les dossier nécessaire dans le dossier courant
- Traite les images originales et les copie, 3 choix possibles
- Aucun, déplacement de l'original
- Augmente la compression en gardant la résolution originale
- Réduit la résolution originale sans compression
- Création des images affichées dans la galerie
- Création des miniatures
Plate-forme :
- Linux
- Tout Linux, script bash
- Gnome via les nautilus-script dans nautilus
- Kde via les servicemenus dans konqueror, si une âme charitable voulait bien le porter avec kdialog
- Windows (possible car ImageMagick y est également porté), si une âme charitable..bis

Dépendances
- Nécessite le paquet imagemagick
- Nécessite le paquet zenity
Pour une distribution basée sur les .deb
$ apt-get install imagemagick zenity
Pour les autres rendez-vous ici
PhpWebGallery_create_v3.0.1.sh
- 26/08/07 - v3.0.1
- Rajout variable compression photos miniatures
- 23/07/07 - v3.0
- Réorganisation
- Rajout de la fonctionnalité traitement d'un dossier recursivement
- Rajout de la fonctionnalité stand alone (sans selection de dossier ou fichier)
- 21/07/07 - v2.1
- Fix bug orientation de la photo avec des noms de fichier avec des espaces
- 17/07/07 - v2.0
- Ajout différents test avants éxécution
- Ajout de l'interface zenity
- 02/09/06 - v1.0
- Création
Les variables suivantes sont à modifier (ou pas) selon vos besoins, c'est une histoire de compromis entre la taille, le poids et l'affichage souhaité.
- Taille des photos miniatures : THUMB_L="128" et THUMB_H="96"
- Compression des miniatures : COMPRESS_QUALITY_THUMB="70" (0=maximum, 100=aucune)
- Taille des photos à afficher dans phpwebgallery : PICT_L="800" et PICT_H="600"
- Compression des photos à afficher dans phpwebgallery : COMPRESS="72" (+ élevé = + de compression)
- Taille des photos, images tailles réelles : REAL_L="1280" et REAL_H="1024" (fixe la hauteur ou la largeur selon l'orientation)
Mise en place
Via les nautilus script de gnome
Placer le script PhpWebGallery_create_v3.0.1.sh dans le dossier ~/.gnome2/nautilus-scripts, puis le rendre exécutable
$ chmod +x ~/.gnome2/nautilus-scripts/PhpWebGallery_create_v3.0.1.sh
Exécution :
- Soit via le nautilus scripts, sélectionner les photos (ou un dossier) puis clic droit / Scripts / PhpWebGallery_create.sh
- Soit en stand alone en exécutant directement ~/.gnome2/nautilus-scripts/PhpWebGallery_create_v3.0.sh sans paramêtre, vous pouvez également rajouter un lanceur dans le tableau de bord
En stand alone
Placer le script PhpWebGallery_create_v3.0.1.sh dans le dossier /sbin, puis le rendre exécutable
$ chmod +x /bin/PhpWebGallery_create_v3.0.1.sh
Utilisation
Documentation disponible ici en PDF et en annexe
NB : _/!\_ Par principe de précaution, je vous conseille de commencer à utiliser un script qui, au final supprime ou modifie un fichier, sur une copie de vos photos, histoire de voir que tout se passe bien 
Références
- Script Inspiré du script Rep2Thumb.sh de Gothico et gallery.sh de wiloo
- Documentation de zenity + l'aide de gnome
samedi, août 18 2007
Renommer massivement en 2 clics des fichiers ou dossiers avec Nautilus
Par Taltan le samedi, août 18 2007, 08:13 - Geekerie cultu-libriste
Présentation :
|
Installation :
Dépendances :
sudo apt-get install gettext libgtk-perl
À partir du .deb :
Télécharger le paquet gprename_2.4-1_i386.deb, puis l'installer via GDebi ou la commande dpkg :Pour les adeptes du copier / coller, la méthode installation en une ligne de commande :
wget http://www.taltan.fr/public/dl/gprename_2.4-1_i386.deb && sudo dpkg -i gprename_2.4-1_i386.debMerci à Albinodrew ...

Méthode manuelle :
Télécharger l'archive gprename-2.4.tar.bz2 puis la décompresser :tar xvjf gprename-2.4.tar.bz2Dans le dossier gprename-2.4
cd gprename-2.4Voila c'est installé, vous pouvez lancer GPrename en invoquant la commande gprename ou à partir menu Accessoires / GPRename
sudo make install

Pour les adeptes du copier / coller, la méthode installation en une ligne de commande :
sudo apt-get install gettext libgtk-perl && wget http://downloads.sourceforge.net/gprename/gprename-2.4.tar.bz2 && tar -xvjf gprename-2.4.tar.bz2 && cd gprename-2.4 && sudo make install
Intégration dans Nautilus :
Via Nautilus-actions :
Si ce n'est pas déja fait, installer le paquet nautilus-actionsapt-get install nautilus-actionsImporter l'action Batch Rename (fichier config_38643db8-62c7-44e1-96ee-98fc9360a2cd.schemas), menu Système / Préférences / Configuration des actions Nautilus / Importer. Il suffira par la suite, après avoir sélectionner les fichiers à renommer, de faire un clic droit / Batch Rename
Via Nautilus-scripts :
Créer le script bash GPrename.sh :#!/bin/bashLe copier dans le dossier ~/.gnome2/nautilus-scripts puis le rendre exécutable
gprename "$1"
cp GPrename.sh ~/.gnome2/nautilus-scriptsIl suffira par la suite, après avoir sélectionner les fichiers à renommer, de faire un clic droit / Scripts / GPrename.sh
chmod +x ~/.gnome2/nautilus-scripts/GPrename.sh
Références :
lundi, juillet 23 2007
Script v3 de génération automatique de galeries PhpWebGallery
Par Taltan le lundi, juillet 23 2007, 22:59 - Geekerie cultu-libriste
Pour faire suite à ces billet :
- 18/07/2007 : Script v2 de génération automatique de galeries PhpWebGallery
- 02/09/2006 : Script v1 de génération automatique de galeries PhpWebGallery
Voila la version 3 du script PhpWebGallery_create avec deux nouvelles fonctionnalités :
- Traitement récursif d'un dossier complet, crée un clone au format PWG de l'arborescence (sous dossier compris) du dossier choisi, prêt à être uploader dans PWG
- Mode stand alone : fonctionne sans argument (demande le type de traitement : dossier ou photos)
Encore un pas de plus vers le "user-friendly" car il n'est plus obligatoire de l'utiliser via les nautilus scripts, il se suffit à lui même. Vous pouvez quand même l'intégrer à Nautilus, comme les versions précédentes.
Plate-forme :
- Linux
- Tout Linux, script bash
- Gnome via les nautilus-script dans nautilus
- Kde via les servicemenus dans konqueror, si une âme charitable voulait bien le porter avec kdialog
- Windows (possible car ImageMagick y est également porté), si une âme charitable..bis

Dépendances :
- Nécessite le paquet imagemagick
- Nécessite le paquet zenity
Pour une distribution basée sur les .deb
$ apt-get install imagemagick zenity
Pour les autres rendez-vous ici
PhpWebGallery_create_v3.0.sh :
Le code s'étant quelque peu empâté (il est en effet passé d'environ 150 lignes à plus de 600 !), je vous en épargne l'affichage ici 
- 23/07/07 - v3.0
- Réorganisation
- Rajout de la fonctionnalité traitement d'un dossier recursivement
- Rajout de la fonctionnalité stand alone (sans selection de dossier ou fichier)
- 21/07/07 - v2.1
- Fix bug orientation de la photo avec des noms de fichier avec des espaces
- 17/07/07 - v2.0
- Ajout différents test avants éxécution
- Ajout de l'interface zenity
- 02/09/06 - v1.0
- Création
Les variables suivantes sont à modifier (ou pas) selon vos besoins, c'est une histoire de compromis entre la taille, le poids et l'affichage souhaité.
- Taille des photos miniatures : THUMB_L="128" et THUMB_H="96"
- Taille des photos à afficher dans phpwebgallery : PICT_L="800" et PICT_H="600"
- Taille des photos, images tailles réelles : REAL_L="1280" et REAL_H="1024" (fixe la hauteur ou la largeur selon l'orientation)
Mise en place :
Via les nautilus script de gnome
Placer le script PhpWebGallery_create_v3.0.sh dans le dossier ~/.gnome2/nautilus-scripts, puis le rendre exécutable
$ chmod +x ~/.gnome2/nautilus-scripts/PhpWebGallery_create_v3.0.sh
Exécution :
- Soit via le nautilus scripts, sélectionner les photos (ou un dossier) puis clic droit / Scripts / PhpWebGallery_create.sh
- Soit en stand alone en exécutant directement ~/.gnome2/nautilus-scripts/PhpWebGallery_create_v3.0.sh sans paramêtre, vous pouvez également rajouter un lanceur dans le tableau de bord
En stand alone
Placer le script PhpWebGallery_create_v3.0.sh dans le dossier /sbin, puis le rendre exécutable
$ chmod +x /bin/PhpWebGallery_create_v3.0.sh
Utilisation :
Même remarque que pour l'empâtement du code (légère surcharge en screenshot), disponible ici en PDF et en annexe
NB : _/!\_ Par principe de précaution, je vous conseille de commencer à utiliser un script qui, au final supprime ou modifie un fichier, sur une copie de vos photos, histoire de voir que tout se passe bien 
Références :
- Script Inspiré du script Rep2Thumb.sh de Gothico et gallery.sh de wiloo
- Documentation de zenity + l'aide de gnome
mercredi, juillet 18 2007
Script v2 de génération automatique de galeries PhpWebGallery
Par Taltan le mercredi, juillet 18 2007, 23:59 - Geekerie cultu-libriste
Pour faire suite à mon billet sur la création de galeries PhpWebGallery voila la version 2.0 du script. Je vais donc passer rapidement sur la présentation de PhpWebGallery, logiciel sous licence GNU/GPL de présentation de photos sur le web basé sur le couple PHP / MySQL, en demo ici. Cette nouvelle version, associé au scripts nautilus, se veut plus "user-friendly", tout se fait le plus simplement possible (à la souris) et surtout, contrairement à la v1.0, les erreurs sont gérées et le déroulement du traitement est visible.
Le processus d'import de galerie dans PhpWebGallery (Pwg) est assez simple, il suffit d'uploader les photos via FTP (je vous conseille au passage l'excellente extension Firefox qu'est FireFTP) et de se rendre sur l'interface d'administration pour synchroniser les galeries. Comme souligné dans le Wiki Pwg, il est recommandé de traiter les photos avant de les importer dans Pwg afin de travailler sur l'arborescence, les résolutions, les tailles de fichiers, les miniatures.
Pour Pwg une galerie est un dossier, par exemple la galerie nommé Galerie_test :
|+- Gallerie_test | |+- pwg_high => dossier contenant les images tailles réelles, haute résolution | | |-- img_01.jpg | | |-- img_02.jpg | | |-- img_03.jpg | |+- thumbnail => dossier contenant les miniatures, taille 128x98 par exemple | | |-- TN-img_01.jpg les miniatures doivent reprendre | | |-- TN-img_02.jpg le nom de l'image originale | | |-- TN-img_03.jpg avec le préfixe TN- | |-- img_01.jpg | |-- img_02.jpg => photos de la Galerie_test, taille 800x600 par exemple | |-- img_03.jpg
la finalité de PhpWebGallery_create est, qu'à partir du navigateur de fichier, on sélectionne des photos, qu'on fasse un clic droit / Créer une galerie, qu'on renseigne le nom de la galerie et ... c'est tout. Un dossier respectant la nomenclature et l'arborescence Pwg (comme décris ci-dessus) contenant les photos sera créé. Il ne reste plus qu'a uploader le dossier sur le Web.
Plate-forme :
- Gnome via les nautilus-script dans nautilus
- Kde (script à adapter à kdialog) via les servicemenus dans konqueror mais je ne traiterai ici que de Gnome et nautilus
Dépendances :
- Nécessite le paquet imagemagick
- Nécessite le paquet zenity
Pour une distribution basée sur les .deb
$ apt-get install imagemagick zenity
Pour les autres rendez-vous ici
PhpWebGallery_create_v2.1.sh :
- 21/07/07 - v2.1
- Fix bug orientation de la photo avec des noms de fichier avec des espaces
- 17/07/07 - v2.0
- Ajout différents test avants éxécution
- Ajout de l'interface zenity
- 02/09/06 - v1.0
- Création
#!/bin/bash
######################################################################################################
# Taltan - http://www.taltan.fr - ola.taltan_AT_laposte.net #
# http://www.taltan.fr/post/2007/07/18/Script-v20-de-generation-automatique-de-galeries-PhpWebGallery#
######################################################################################################
# Script PhpWebGallery_create_v2.1.sh #
# Licence : GNU / GPL #
######################################################################################################
# Inspiré du script Rep2Thumb.sh de Gothico #
# http://forum.phpwebgallery.net/viewtopic.php?id=5522 #
# Inspiré du script gallery.sh de wiloo #
# http://forum.phpwebgallery.net/viewtopic.php?pid=37829 #
######################################################################################################
# Script de création de galerie pour PhpWebGallery #
# A intégrer dans les nautilus script (applicable aux fichiers selectionnés) #
# Création de miniatures #
# Création de photos redimensionnées #
######################################################################################################
# Dépendances #
######################################################################################################
# - Nécessite le paquet imagemagick : http://doc.ubuntu-fr.org/imagemagick #
# - Nécessite le paquet zenity #
# => sudo apt-get install imagemagick zenity #
######################################################################################################
# 02/09/06 - v1.0 - Création #
# 17/09/07 - v2.0 - Ajout différents test avants éxécution #
# - Ajout de l'interface zenity #
# 21/09/07 - v2.1 - Fix bug orientation de la photo avec des noms de fichier avec des espaces #
######################################################################################################
########################################################################
## CONFIGURATION ##
########################################################################
# vérifie si imagemagick est installé
which convert 2>/dev/null
if [ $? != 0 ]
then
zenity --error --title="Erreur" --text="La paquet Imagemagick n'est pas installé"
fi
#teste si au moins 1 fichier est selectioné
if [ $# -eq 0 ]; then
zenity --error --title="Erreur" --text="Selectionner au moins 1 fichier"
exit 1
fi
# Chemin complet de la galerie à créer
GALLERY_PATH="`pwd`"
##
# Nom de la galerie
while [ ! "$GALERY_NAME" ] # Réafficher la fenetre tant que l'utilisateur n'a pas fait de choix
do
GALERY_NAME=`zenity --title "Nom de la galerie" --entry --text "Entrer le nom de la galerie"`
if [ $? != 0 ]; then
exit 1
fi
[ $? -ne 0 ] && exit 2 # Annulation
done
# Nom du répertoire à créer pour les miniatures
# ("thumbnail" par défaut dans phpwebgallery)
THUMB_DIR="thumbnail"
# Nom du répertoire à créer pour les images tailles réelles
# ("pwg_high" par défaut dans phpwebgallery)
REAL_DIR="pwg_high"
# Préfixe des miniatures
THUMB_PREFIX="TN-"
## L pour Largeur
## H pour Hauteur
# Taille des photos miniatures
THUMB_L="128"
THUMB_H="96"
# Taille des photos à afficher dans phpwebgallery
PICT_L="800"
PICT_H="600"
# Taille des photos images tailles réelles dans REAL_DIR
REAL_L="1280"
REAL_H="1024"
# Garder les données EXIF ou non
# Avec EXIF => ""
# Sans EXIF => "-strip"
EXIF=""
# Choix du traitement pour l'image en taille réelle
while [ ! "$TRAIT_REAL_CHOICE" ] # Réafficher la fenetre tant que l'utilisateur n'a pas fait de choix
do
TRAIT_REAL_CHOICE=`zenity --list --width=500 --height=200 \
--title="Choisissez le type de traitement pour l'image en taille réelle" \
--column="N°" --column="Description" \
a "Aucun, déplacement de l'original" \
b "Augmente la compression en gardant la résolution originale" \
c "Réduit la résolution originale sans compression"`
###### Choix -> Sortie boucle ######
if [ $? != 0 ]; then
exit 1
fi
[ $? -ne 0 ] && exit 2 # Annulation
done
if [ $TRAIT_REAL_CHOICE == "a" ] # Déplacement de l'original dans le répertoire configuré pour les mages tailles réelles
then
trait_real ()
{
cp "$parametre" "$GALLERY_PATH/$GALERY_NAME/$REAL_DIR/$parametre"
}
fi
if [ $TRAIT_REAL_CHOICE == "b" ] # Augmente la compression en gardant la résolution originale
then
trait_real ()
{
convert -density 72 $EXIF "$GALLERY_PATH/$parametre" "$GALLERY_PATH/$GALERY_NAME/$REAL_DIR/$parametre"
}
fi
if [ $TRAIT_REAL_CHOICE == "c" ] # Réduit la résolition originale sans compression
then
trait_real ()
{
convert $EXIF -resize $REAL_SIZE "$GALLERY_PATH/$parametre" "$GALLERY_PATH/$GALERY_NAME/$REAL_DIR/$parametre"
}
fi
########################################################################
## TRAITEMENT DES IMAGES ##
########################################################################
# Création des miniatures dans le répertoire configuré
mkdir "$GALLERY_PATH/$GALERY_NAME"
mkdir "$GALLERY_PATH/$GALERY_NAME/$THUMB_DIR"
mkdir "$GALLERY_PATH/$GALERY_NAME/$REAL_DIR"
numParam=1
erreur=0
nb_param="$#"
for parametre in "$@";
do
# Orientation de la photo
L="`identify \"$parametre\" | sed s/JPEG/^/g | cut -d^ -f2 | cut -d\ -f2 | cut -dx -f1`"
H="`identify \"$parametre\" | sed s/JPEG/^/g | cut -d^ -f2 | cut -d\ -f2 | cut -dx -f2`"
if [ $L -gt $H ]
then
THUMB_SIZE="${THUMB_L}x${THUMB_H}"
PICT_SIZE="${PICT_L}x${PICT_H}"
REAL_SIZE="${REAL_L}x${REAL_H}"
else
THUMB_SIZE="${THUMB_H}x${THUMB_L}"
PICT_SIZE="${PICT_H}x${PICT_L}"
REAL_SIZE="${REAL_H}x${REAL_L}"
fi
echo "${numParam}. Traitement de $parametre : .... OK "
# traitement pour l'image en taille réelle
trait_real $parametre
# Création des images affichées dans la galerie
convert -density 72 $EXIF -resize $PICT_SIZE "$GALLERY_PATH/$GALERY_NAME/$REAL_DIR/$parametre" "$GALLERY_PATH/$GALERY_NAME/$parametre";
# Création des miniatures dans le répertoire configuré pour les miniature
convert -thumbnail $THUMB_SIZE -density 72 "$GALLERY_PATH/$GALERY_NAME/$parametre" "$GALLERY_PATH/$GALERY_NAME/$THUMB_DIR/$THUMB_PREFIX$parametre";
let $[numParam += 1]
if [ $numParam -gt "$#" ] ; then
echo "-----------------------------------------"
echo "Fin de traitement : $# fichiers "
echo "-----------------------------------------"
echo "OK, vous pouvez fermer !"
fi
done | zenity --text-info --title "PhpWebGallery_create" --width=500 --height=500
Les variables suivantes sont à modifier (ou pas) selon vos besoins, c'est une histoire de compromis entre la taille, le poids et l'affichage souhaité.
- Taille des photos miniatures : THUMB_L="128" et THUMB_H="96"
- Taille des photos à afficher dans phpwebgallery : PICT_L="800" et PICT_H="600"
- Taille des photos, images tailles réelles : REAL_L="1280" et REAL_H="1024" (fixe la hauteur ou la largeur selon l'orientation)
Mise en place :
Placer le script PhpWebGallery_create_v2.0.sh dans le dossier ~/.gnome2/nautilus-scripts, puis le rendre exécutable
$ chmod +x ~/.gnome2/nautilus-scripts/PhpWebGallery_create_v2.0.sh
Utilisation :
NB : _/!\_ Par principe de précaution, je vous conseille de commencer à utiliser un script qui, au final supprime ou modifie un fichier, sur une copie de vos photos, histoire de voir que tout se passe bien 
Supposons que vous voulez créer une galerie nommée Galerie_test à partir des photos situées dans le dossier Dossier_test
|+- Dossier_test | |-- img_01.jpg | |-- img_02.jpg | |-- img_03.jpg
Sélection des photos du Dossier_test, puis clic droit / Scripts / PhpWebGallery_create_v2.0.sh :
Renseigner le nom de la galerie, Galerie_test :

Sélectionner le traitement voulu pour les images "tailles réelles", toujours la même histoire de compromis entre la taille, le poids et l'affichage souhaité :
Une fois le traitement terminé :
Le dossier Dossier_test a l'arborescence ci-dessous (en gras les dossiers et fichiers créés) :
|+- Dossier_test | |+- Gallerie_test | | |+- pwg_high | | | |-- img_01.jpg | | | |-- img_02.jpg | | | |-- img_03.jpg | | |+- thumbnail | | | |-- TN-img_01.jpg | | | |-- TN-img_02.jpg | | | |-- TN-img_03.jpg | | |-- img_01.jpg | | |-- img_02.jpg | | |-- img_03.jpg | |-- img_01.jpg | |-- img_02.jpg | |-- img_03.jpg
Le dossier Galerie_test est prêt à être uploader sur le Web dans Pwb
Références :
- Script Inspiré du script Rep2Thumb.sh de Gothico et gallery.sh de wiloo
- Documentation de zenity + l'aide de gnome
mardi, juillet 17 2007
Script de renommage de photos selon les données EXIF
Par Taltan le mardi, juillet 17 2007, 09:14 - Geekerie cultu-libriste
Avec les photos numériques on ne compte pas, on prend des dizaines (voir des centaines) de photos puis on les importe sur le PC pour les trier. Personnellement j'utilise gThumb car il est léger, simple à utiliser, n'est pas usine à gaz, dispose de fonctionnalités assez avancées et en plus est intégré nativement dans Ubuntu. Le premier de ces tris est le renommage, j'ai l'habitude de renommer mes photos en fonction de la date de prise de vue (+ une numérotation) ce qui permet par la suite d'effectuer un tri chronologique dans l'explorateur de fichiers et d'avoir un nom unique.
il est possible de renommer massivement des photos en fonction des données EXIF avec gThumb mais le meilleur résultat que j'ai pu en tirer est un nom de fichier sous la forme 2006-11-04--19.41.56_007.jpg. C'est presque le résultat attendu sauf que je n'ai pas trouvé le moyen d'enlever le double tiret et les secondes qui sont superflus. Voila le pourquoi de ce script, utilisé via les scripts nautilus, en deux clics il permet de renommer une série de photos sous la forme 2006-11-04_19.41_007.jpg
Dépendances :
- Nécessite le paquet imagemagick
- Nécessite le paquet zenity
$ sudo apt-get install imagemagick zenity
Script exif_photos_rename_v1.1.sh :
- 27/07/07 - v1.1
- Réorganisation
- Choix du début de numérotation, par défaut à 1
- 15/07/07 - v1.0
- Création
#!/bin/bash
############################################################################################
# Taltan - http://www.taltan.fr - #
############################################################################################
# Script exif_photos_rename_v1.1.sh #
# Licence : GNU / GPL #
############################################################################################
# Renomme les photos selon les données EXIF sous la forme : #
# ${aa}-${mm}-${jj}_${hh}.${min}_${numero}.ext => ex : 2006-11-04_19.41_007.jpg #
# Fonctionne pour une numérotation de 001 à 999 #
############################################################################################
# Dépendances #
############################################################################################
# - Nécessite le paquet imagemagick : http://doc.ubuntu-fr.org/imagemagick #
# - Nécessite le paquet zenity #
# => sudo apt-get install imagemagick zenity #
############################################################################################
# 15/07/07 - v1.0 - Création #
# 27/07/07 - v1.1 - Réorganisation #
# - Choix du début de numérotation, par défaut à 1 #
############################################################################################
## Variables
nb_param="$#" # nb de paramètres passés au script
erreur=0 # initialisation du compteur d'erreurs à 0
## Fonctions début de numérotation
début_numerot ()
{
numParam=`zenity --title "Début de numérotation" --entry-text="1" --entry --text "Par défaut à 1, à modifier le cas échéant :"`
if [ $? != 0 ]; then # si fermeture
exit 1
fi
[ $? -ne 0 ] && exit 2 # si annulation
}
## Fonctions renommage des fichiers
rename_jpeg ()
{
for parametre in "$@"; # pour chaque fichier selectionné
do # faire
old_name="$parametre" # on définie le nom du fichier actuel
date_time=`identify -format "%[EXIF:DateTime]" "$parametre"` # création de la variable date / heure de la photo (ex: 2006:11:04 19:41:30. )
extension=`echo $parametre | awk -F "." '{print $NF}'` # création de la variable extension du fichier (ex : .jpg)
aa=`echo $date_time | cut -d: -f1` # création de la variable année (ex : 2006)
mm=`echo $date_time | cut -d: -f2` # création de la variable mois (ex : 11)
jj=`echo $date_time | cut -d: -f3 | cut -c1-2` # création de la variable jour (ex : 04)
hh=`echo $date_time | cut -d: -f3 | cut -c4-5` # création de la variable heure (ex : 19)
min=`echo $date_time | cut -d: -f4` # création de la variable minute (ex: 41)
# création de la variable numérotation
if [ $numParam -gt 0 ] && [ $numParam -lt 10 ]; then # pour les paramètres 1 à 9
numero=00$numParam # rajouter 2 digit => 001, 002, 003,..., 009
fi
if [ $numParam -gt 9 ] && [ $numParam -lt 100 ]; then # pour les paramètres 10 à 99
numero=0$numParam # rajouter 1 digit => 010, 011, 012,..., 099
fi
if [ $numParam -gt 100 ] ; then # pour les paramètres supérieur à 100
numero=$numParam # ne pas rajouter de digit => 100, 101, 102,...
fi
new_nane=`echo ${aa}-${mm}-${jj}_${hh}.${min}_${numero}.${extension}` # on définie le nouveau nom => 2006-11-04_19.41_num.jpg
cp "$old_name" "${new_nane}" # on renomme le fichier en le copiant
if [ $? = 0 ] ; then # si la copie a reussi
echo "${old_name} => ${new_nane} .... OK"
rm -f "$old_name" # => supprime le fichier original
else # si la copie a echoué
echo "Impossible de renommer $old_name .... NOK" # => message d'erreur
let $[erreur += 1] # incrémentation du compteur d'erreur
fi
let $[numParam += 1] # incrémentation du numéro de paramètre
done
nb_renomme=$(( $nb_param - $erreur )) # création de la variable nombre de fichiers renommés
echo "-----------------------------------------"
echo "Fin de traitement : $# fichiers "
echo "-----------------------------------------"
echo "Fichiers renommes : $nb_renomme"
echo "Fichiers en erreur : $erreur"
echo "-----------------------------------------"
echo "OK, vous pouvez fermer !"
}
## Traitement
if [ "$#" -eq 0 ]; then # si aucun fichier n'est selectionné => mesage d'erreur
zenity --error --title="error" --text="Selectioner au moins 1 fichier"
exit 1
fi
début_numerot
rename_jpeg "$@" | zenity --text-info --title "exif_photos_rename" --width=500 --height=500
Mise en place :
Placer le script exif_photos_rename_v1.1.sh dans le dossier ~/.gnome2/nautilus-scripts, puis le rendre exécutable
$ sudo chmod +x ~/.gnome2/nautilus-scripts/exif_photos_rename_v1.1.sh
Utilisation :
Sélectionner les photos à traiter, puis clic droit / Scripts / exif_photos_rename.sh

Cliquer sur Valider ou modifier le début de numérotation le cas échéant :

Résultat :

NB : _/!\_ Par principe de précaution, je vous conseille de commencer à utiliser un script qui, au final supprime ou modifie un fichier, sur une copie de vos photos, histoire de voir que tout se passe bien 
dimanche, septembre 17 2006
par2 (Parity Archive Volume Set), vérifier et réparer des archives avec les fichiers .PAR2
Par Taltan le dimanche, septembre 17 2006, 13:38 - Geekerie cultu-libriste
Les archives binaires sur Usenet sont complétés par des fichiers de controles qui permettent de recréer une archive corrompue, ce sont les fichiers par2. Le principe est similaire aux technologies RAID, il est possible, à l'aide d'ensemble de fichiers de parité de vérifier l'intégrité de chacun des segments de l'archive, et de les réparer si certains sont corrompus.
Sous Windows QuickPar permet reconstituer le fichier original d’une archive manquante ou abîmée. Le pendant sous Ununtu est par2
1. Avec les dépots universe et multiverse
sudo apt-get install par2
2. Nautilus-script
#!/bin/sh
par2repair -q "$1" | zenity --text-info --title "PAR2" --width=500 --height=500
Sources : camboui sur forum.ubuntu-fr.org
3. Réparer une archive


« billets précédents - page 1 de 2


























