BaroqueW

BaroqueW

and his sidekick nikkitaa

BaroqueW RSS Feed
 
 
 
 

Nouveau thème

Je viens de changer le thème du blog pour Athaulpa (au lieu de Talian qui a disparu du site de son créateur…). Au passage la bannière – précédemment un coucher de soleil sur un fjord norvégien – a été remplacée par une série de panoramas de mon cru :

  • Place Rouge de Moscou en Russie
  • Split en Croatie vue depuis la colline Marijan
  • Bratislava en Slovaquie vue depuis le palais
  • Le quartier des souks vu depuis la crique de Dubai aux Émirats Arabes Unis

Les panoramas ont été faits avec DoubleTake pour les premiers et PhotoStitch de Canon pour le dernier. PhotoStitch a une interface un peu plus austère et pas très “Mac” mais détecte et recolle bien mieux les images. En revanche, les options pour faire des réglages manuels sont bien moindres dans le logiciel de Canon (PhotoStitch est offert gratuitement avec certains modèles d’appareils photo de Canon).

La radio en Suède

Au volant, tous les matins, j’ai vingt bonnes minutes pour écouter la radio. Petit passage en revue :

  • Bandit Rock : passe du métal, hard rock, rock. Leur slogan ? “Vi spelar vad vi vill”, on joue ce qu’on veut. Et c’est bien là le problème. Leur jingle est bien accrocheur avec du Rammstein, etc. mais au final de la seconde zone ou du hard rock à la sauce pop…
  • Rock classiker : du rock, du rock, du rock. Des grands classiques mais aussi des inconnus (ou alors des classiques uniquement en Suède ?). Pas mal de blabla le matin. Généralement la radio suédoise tranche nettement avec le cliché “pas bavard” du suédois moyen. Ça parle des heures pour raconter sa vie. Parfois, sur 10 minutes, pas moyen de trouver une radio qui passe de la musique (et je ne parle pas des journaux à chaque heure pile).
  • Lugna favoriter : le Chéri FM suédois.
  • V97 : la radio de Stockholm nord avec des informations locales, des jeux ridicules (reconnaître la voix d’un Suédois aphone sur un clip audio de 2 secondes) dotés de cadeau alléchants (un réveil matin qui prend son envol dès que la sonnerie retentit, non, personne ?) et de la musique avec des “verkliga variationer”. Malheureusement les morceaux sont variés mais du jour au lendemain on retrouve bien les mêmes, à la même heure… et pourtant, c’est pas le dernier Madonna dont on parle mais des vieilleries de quelques mois ou quelques années… À noter que la personne qui fait le générique de “Tårtan” a la même voix qu’un de mes voisins au développement mental poussif.
  • Star FM : Europe 1 suédois
  • Et les autres : musique classique, informations et talk-shows. Mais au final, moins de choix qu’en France tout de même.

La place de la chanson française à la radio en Suède est bien évidemment limitée. Un peu de Joe le taxi, des remixes de Voyage, voyage, ou des tubes de France Gall. À noter qu’en Norvège j’ai trouvé des vinyls de Mireille Mathieu (en allemand) et de Nana Mouskouri classés dans la rubrique pop/rock à côté des Beatles…

iPhoto et tags EXIF

Adapté d’un script par Andrew Turner, ce script Applescript permet d’ajouter des tags Exif (commentaires, titre, date, etc.) à vos photos à partir des méta-données que vous aurez saisies dans iPhoto. Pour ce faire, sélectionnez vos photos dans iPhoto (pas des albums mais bien des photos) et exécutez ce script. Voir plus bas pour quelques commentaires et le script à télécharger.

  1. – This applescript will set the exif keywords, name, and comments of all selected iPhoto
  2. –   images using the information current in iPhoto.
  3. – Author: Andrew Turner (http://highearthorbit.com)
  4. – Editor: BaroqueW (http://www.baroquew.net)
  5. property copyright : ""
  6. property URL : ""
  7. property exifToolOriginal : "_original"
  8.  
  9. – True retains copyright, False means Public Domain
  10. property Copyrighted : "False"
  11.  
  12. tell application "iPhoto"
  13.         activate
  14.         try
  15.                 copy (my selected_images()) to these_images
  16.                 if these_images is false or (the count of these_images) is 0 then ¬
  17.                         error "Please select a single image."
  18.  
  19.                 set counter to 0
  20.  
  21.                 repeat with i from 1 to the count of these_images
  22.                         set the keywordslist to ""
  23.                         set this_photo to item i of these_images
  24.                         tell this_photo
  25.                                 set the image_file to the image path
  26.                                 set the image_title to the title
  27.                                 set the image_filename to the image filename
  28.                                 set the image_comment to the comment
  29.                                 set the assigned_keywords to the name of keywords
  30.                                 set the image_date to the date
  31.                                 set date_step1 to do shell script "echo " & image_date & " | sed ’s/,//g’ | sed ’s/\\([A-Z][a-z][a-z]\\)\\([a-z]\\)*/\\1/g’ | sed ’s/[0-9][0-9]\\([0-9][0-9]\\)/\\1/’"
  32.                                 set date_step2 to do shell script "date -j -f ‘%a %b %d %y %I:%M:%S %p’ " & quoted form of date_step1 & " ‘+%y:%m:%d %H:%M:%S’  | sed ’s/^0/200/’ | sed ’s/^9/199/’"
  33.                         end tell
  34.                         repeat with j from 1 to the count of assigned_keywords
  35.                                 set the keywordslist to keywordslist & " -keywords+=" & item j of assigned_keywords
  36.                         end repeat
  37.                         set the command to "exiftool -m -PL -title=\"" & image_title & ¬
  38.                                 "\" " & keywordslist & ¬
  39.                                 " " & " -comment=’" & image_comment & ¬
  40.                                 "’ " & " -CreateDate=’" & date_step2 & ¬
  41.                                 "’ " & " -DateTimeOriginal=’" & date_step2 & ¬
  42.                                 "’ " & " -Copyright=’" & copyright & ¬
  43.                                 "’ " & " -CopyrightNotice=’" & copyright & ¬
  44.                                 "’ " & " -Rights=’" & copyright & ¬
  45.                                 "’ " & " -Marked=’" & Copyrighted & ¬
  46.                                 "’ " & "\"" & image_file & "\""
  47.                         set output to do shell script command
  48.                         do shell script "rm \"" & image_file & "\"" & exifToolOriginal
  49.                         set counter to counter + 1
  50.                 end repeat
  51.                 display dialog "Exif writing complete for " & (counter as string) & " files."
  52.         on error error_message number error_number
  53.                 if the error_number is not -128 then
  54.                         display dialog error_message & " Exif writing complete for " & (counter as string) & " files." buttons {"Cancel"} default button 1
  55.                 end if
  56.         end try
  57. end tell
  58.  
  59. on selected_images()
  60.         tell application "iPhoto"
  61.                 try
  62.                         – get selection
  63.                         set these_items to the selection
  64.                         – check for single album selected
  65.                         if the class of item 1 of these_items is album then error
  66.                         – return the list of selected photos
  67.                         return these_items
  68.                 on error
  69.                         return false
  70.                 end try
  71.         end tell
  72. end selected_images

J’ai amélioré le script pour le rendre compatible avec les inévitables accents et apostrophes de la langue française. J’ai aussi ajouté le support pour les dates (cf. les expressions régulières et ’sed’ plus haut, lignes 33 et 34) – à noter que mes locales sont en anglais sur MacOSX donc il y aura peut-être des adaptations à faire pour retomber sur vos pieds (notamment l’usage de AM/PM serait surprenant avec des locales françaises, voir ligne 34). Petite cerise sur le gâteau, le programme retourne le nombre de fichiers modifiés (ligne 53) et éventuellement le fichier qui a causé une erreur en cas de plantage (ligne 56).

Attention : par choix personnel, j’ai décidé d’ignorer les erreurs mineures (modificateur ‘-m’ dans la commande ‘exiftool’ à la ligne 39). Il est recommandé d’essayer le script sans ce modificateur et de le rajouter si vous rencontrez des problèmes et que vous voulez tenter votre chance.

Vous pouvez télécharger le script ici : Set Exif Data

Avoir une voiture en Suède

Après quelques temps d’absence de nouveau, me voici de retour avec une petite animation sur la condition d’automobiliste en Suède. Vous avez le choix entre la vidéo pleine résolution dans le lien ci-après ou alors la version YouTube où j’ai bien peur qu’on ne puisse pas lire grand-chose à part aux basses résolutions ou en pleine écran… Vidéo en pleine résolution : Avoir une voiture en Suède

Copies de sauvegarde

Depuis que mon précédent site a subi les affres du piratage et a disparu avec pertes et surtout avec fracas, je me suis penché sur le problème du backup pour mon nouveau serveur.

J’ai trouvé deux pistes intéressantes pour la sauvegarde des fichiers en général et pour la sauvegarde des bases de données. J’ai aussi trouvé un script pour copier les fichiers automatiquement sur un autre serveur via FTP. À quoi bon en effet faire des sauvegardes si c’est pour les stocker au même endroit que les données à préserver ?

Ces scripts sont valables pour une installation de Linux classique et sont facilement paramètrables. Notez que, encore moins que les auteurs originaux, je ne suis en aucun cas responsable de la perte de vos données en cas de problème. Ces scripts marchent très bien dans mon cas mais je ne peux pas garantir qu’ils correspondent à votre configuration et votre usage. Pour plus de détails, je joins la page original sur laquelle j’ai trouvé le script afin que vous puissiez juger sur pièce.

Backup de données

Je ne vais pas mettre le code source ici, il est sur la page liée juste au-dessus. La configuration est aisée et se fait au moyen de 5 champs :

  1. COMPUTER=deep
  2. DIRECTORIES="/home"
  3. BACKUPDIR=/backups
  4. TIMEDIR=/backups/last-full
  5. TAR=/bin/tar

1. donne un nom aux sauvegardes
2. dossiers à sauvegarder, séparés par des espaces
3. où mettre les archives
4. emplacement du fichier contenant la date de la dernière sauvegarde complète
5. emplacement de l’outil ‘tar’, a priori /bin/tar

La démarche du script est de faire des sauvegardes incrémentales quotidiennes, puis tous les dimanches une sauvegarde complète est faite. Enfin, tous les premiers du mois, une sauvegarde complète est faite qui sera conservée (alors que les sauvegardes quotidiennes et hebdomadaires sont supprimées chaque semaine).

À noter donc que si on commence à utiliser le script un autre jour que le premier du mois, il faut recourir à l’astuce suivante :

  1. date +%d%b < /backups/last-full/myserver-full-date

En supposant que /backups/last-full est votre variable TIMEDIR.

Ce script vous permet au final de conserver une copie de vos sites webs, fichiers de configuration, documents divers, etc.

Backup des bases de données

De même, je ne vais pas revenir ici sur le code source du programme, plutôt bien expliqué et fourni sur SourceForge.

La configuration est simple : login de l’utilisateur ayant les droits sur les tables MySQL à sauvegarder, mot de passe, hôte de la base de données (on peut le faire à distance donc), liste des bases de donnés à sauvegarder de façon quotidienne et hebdomadaire, dossier où placer les sauvegardes, niveau de verbosité, taille maximale, adresse email à laquelle envoyer les rapports/données, etc.

Dans les options avancées, il est possible de sauvegarder certaines tables uniquement tous les mois (comme les tables internes de mysql) ou de configurer le style de backup (avec ou sans création de table, grouper les backups ou en faire un par base de données, compression, etc.).

Au final on a un outil très complet et facilement paramètrable.

Transfert vers serveur distant via FTP

  1. #!/bin/bash
  2.  
  3. filenames="/your/folder/filebackup /another/folder/mysqlbackup"
  4. hostname="IP.address.ofthe.remotehost"
  5. remotefolder="/distant/folder/forthe/backups"
  6. username="login"
  7. password="password"
  8.  
  9. ncftpput -u $username -p $password -R -S .tmp -V  $hostname $remotefolder $filenames

Je pense que ce script parle de lui même. Dans filenames, mettez la liste des dossiers à copier, avec leur chemin aboslu, séparés par un espace. Vous pouvez préciser le dossier de destination. Enfin renseignez bien les champs hostname/username/password avec le compte FTP à utiliser.

La bonne idée est évidemment d’inclure les dossiers mentionnés plus haut (pour les fichiers et pour MySQL).

Un petit coup de cron

Tous les scripts ci-dessus ne serviront à rien si ils ne sont pas exécutés régulièrement. Pour exécuter des programmes de façon périodique, Linux utilise Cron.

En tant que root, exécutez ‘crontab -e’ et ajoutez les lignes suivantes :

  1. 45 0 * * * /bin/bash /scripts/automysqlbackup.sh.2.5
  2. 0  1 * * * /bin/bash /scripts/filebackup.sh
  3. 30 5 * * 0 /bin/bash /scripts/copytodistantserver.sh

Ce n’est qu’un exemple mais cela exécute tous les matins à 00h45 le script de sauvegarde pour MySQL, assez rapide, puis à 1h00 la sauvegarde des fichiers et enfin, tous les dimanches à 5h30, les sauvegardes sont copiées sur un autre serveur. Attention cependant à ne pas lancer toutes les tâches en même temps pour éviter de faire ramer le serveur.