Archives de catégorie : Informatique

Recycler un vieux jeu « Qui est-ce ? »

« Qui est-ce ? » héros Disney
« Qui est-ce ? » héros Disney

Des cartes personnalisées pour le jeu « Qui est-ce ? »

Le jeu « Qui-est-ce ? » fut inventé en 1979 — une fameuse année ! Bien que les trentenaires d’aujourd’hui puissent être nostalgiques de ce jeu et des personnages qui le composaient initialement, je me suis décidé à produire d’autres cartes que celles par défaut. En voici les raisons :

  • Les personnages, au nombre de 24, sont principalement masculins. On ne compte que 5 personnages féminins ! Et il n’y a pas tellement de mixité ethnique non plus…
  • Les enfants aiment bien renouveler les personnages. Hasbro l’a bien compris en éditant une nouvelle version de ce jeu avec plusieurs sets de personnages (classiques, animaux, monstres, etc…), mais puisque je dispose du vieux jeu, j’aime autant le recycler.
  • Je souhaitais permettre à ma gamine de jouer avec ses princesses préférées. C’était aussi l’occasion de proposer des sets de personnages sur des thèmes geek.
« Qui est-ce ? » héros Disney (humains)
« Qui est-ce ? » héros Disney humains (ou presque humains)
« Qui est-ce ? » Disney avec des duos
« Qui est-ce ? » Disney non humains et duos
« Qui est-ce ? » Disney vilains
« Qui est-ce ? » Disney vilains
« Qui est-ce ? » Star Wars
« Qui est-ce ? » Star Wars

Des planches d’images en PDF et au format A4

J’ai développé un petit programme qui, à partir d’un répertoire de 24 images, consiste à produire 3 planches au format A4 :

  • une planche de personnages pour le plateau rouge,
  • une planche de personnages pour le plateau bleu,
  • une planche de cartes à piocher (la fameuse carte que l’on place devant soi).

Préparer ses 24 personnages

Pour utiliser efficacement ce programme, il y a un petit travail préparatoire à réaliser sur les 24 images :

  • Le nom du fichier sera écrit en-dessous du personnage, donc il faut correctement nommer chaque image.
  • Les images doivent avoir pour proportions (ou « ratio ») 26/17 (hauteur/largeur)

Utilisation du script

Ce script Shell fait appel à deux logiciels : ImageMagick pour les multiples traitements d’images, et pdftk pour l’assemblage des 3 planches d’images en un seul fichier PDF prêt à imprimer. Il est donc nécessaire de les installer.

Maintenant, vous allez pouvoir télécharger ce script ! Chouette !

quiestce.sh

Enfin, voici les quelques planches déjà réalisées avec cet outil :

disney1 ; disney2 ; vilains_disney ; starwars

Amusez-vous bien !

Renommer/trier ses photos à la volée

Très régulièrement, on me demande comment renommer chronologiquement un groupe de photos, et les trier dans de multiples sous-répertoires. Sous GNU-Linux évidemment… 😎 Étant donné que je n’avais jamais publié de solution pour cela (et qu’à chaque fois je repars inutilement de zéro), voici un script Shell/Bash, reposant sur les programmes d’ImageMagick, permettant de réaliser très facilement deux ou trois petites choses :

  • Créer des sous répertoires selon l’ordre « année/mois/jour » à partir des informations Exif de date de prise de vue présentes dans chacune des photos
  • Copier chacune des photo dans le bon sous-répertoire « jour/ »
  • Renommer ces photos à l’aide des informations Exif de date et heure de prise de vue
  • Ajouter une valeur incrémentée en fin du nom du fichier si une autre photo porte déjà le même nom
  • Tourner la photo dans le bon sens si l’appareil avait été tenu verticalement lors du déclenchement

#! /bin/bash

# Au prealable, on s'assure que les programmes necessaires sont deja installes
which identify >> /dev/null 2>> /dev/null
if test $? -eq 1
then
	cat << EOF >&2
	Les programmes d'ImageMagick ne sont pas installes. Merci d'executer cette commande en tant qu'utilisateur root :
	
	urpmi imagemagick
	
EOF
	exit 1
fi

i=0

for fic in *jpg *JPG
do
	if test -f "$fic"
	then
		# Increment permettant de ne pas ecraser les noms en doublon (photos prises au meme instante en rafale)
		i=$((i + 1))
		i2=`printf '%04d' $i`
		
		# De la forme 2013_06_03_10_41_10
		nouveau_nom=`identify -verbose $fic | grep 'exif:DateTime:' | sed -e s/'^.*\([0-9][0-9][0-9][0-9]:[0-9][0-9]:[0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9]\).*$'/'\1'/g | sed s/'[: ]'/'_'/g`
		
		# De la forme 2013/06/03
		repertoire=`echo "${nouveau_nom:0:10}" | tr '_' '/'`
		
		mkdir -p $repertoire 2>> /dev/null
		
		nouveau_fic="${repertoire}/${nouveau_nom}.jpg"
		
		# Si un fichier porte deja le meme nom, on ajoute l'increment
		test -f $nouveau_fic && nouveau_fic="${repertoire}/${nouveau_nom}_${i2}.jpg"
		
		cp $fic $nouveau_fic
		
		# Verifier l'orientation de la photo
		orientation=`identify -verbose $nouveau_fic | grep 'exif:Orientation:' | sed -e s/'^.*\([1368]\).*$'/'\1'/g`
		
		if test "$orientation" != "1"
		then
			convert $nouveau_fic -auto-orient $nouveau_fic~ && mv $nouveau_fic~ $nouveau_fic
		fi
	fi
done

Bien évidemment, ce script est perfectible, et il ne répondra pas non plus à tous les besoins, notamment en terme de classement. Mais libre à chacun de se l’approprier et de le modifier.

Cadres supplémentaires pour Fotowall

Fotowall est un logiciel pour la création de pèle-mêles photos, dont la simplicité, l’ergonomie et la disponibilité pour de nombreux systèmes d’exploitation, amène encore de nombreux utilisateurs à s’en servir. Malheureusement, le développement de ce logiciel libre est à l’arrêt depuis plusieurs années maintenant, si bien que ses fonctionnalités n’évoluent plus et ses petits défauts de jeunesse subsistent.

Voilà pas mal de temps, je m’étais lancé dans la réalisation de cadres pour étoffer un peu la base proposée par défaut. Je n’ai jamais publié bon nombre d’entre eux ; mais étant donné qu’on m’a reparlé de Fotowall et de mes précédents cadres hier, j’ai jugé utile de tous les partager enfin.

Cadres supplémentaires pour Fotowall
Cadres supplémentaires pour Fotowall

 

Ainsi, les internautes susceptibles d’être intéressés trouveront compilés dans l’archive ZIP ci-jointe, les anciens et les « nouveaux » cadres classés dans divers sous-dossiers. J’avais relooké le thème néon, c’est dans sa dernière version que cette série est disponible ici.

En revanche, sous Windows (sous GNU/Linux aucun souci), le support SVG de Fotowall est imparfait, aussi ai-je des problèmes d’affichage pour certains thèmes : flower, lizard, heart et butterfly.

Télécharger les cadres supplémentaires pour Fotowall

 

Concaténer et convertir des traces GPS

Lorsque je suis amené à photographier sur plusieurs jours et dans plusieurs lieux, j’ai pris l’habitude d’utiliser un module GPS pour pouvoir ajouter les coordonnées géodésiques dans mes clichés. Dans la foulée, j’aime bien jeter un oeil aux traces GPS enregistrées par ce module dans Google Earth : effet « wow! » garanti quand le logiciel zoome sur la Terre puis sur les endroits que j’ai visité quelques jours plus tôt.

Mon module GPS est très bien fait, car il crée un nouveau fichier NMEA à chaque allumage. Si bien qu’on se retrouve vite avec de nombreux fichiers, un à plusieurs par jour. Pour synchroniser les photos efficacement, je trouve plus pratique de disposer d’un seul fichier, au format GPX pour utiliser dans digiKam. Par conséquent, à chaque retour de séjour, je répète les mêmes tâches :

  • Concaténer les fichiers NMEA produits sur la période du séjour
  • Convertir le fichier concaténé au format GPX pour synchroniser mes photos dans digiKam
  • Convertir une nouvelle fois ce fichier au format KML pour faire un peu mumuse dans Google Earth

Alors voici un petit script Bash qui permet de faire tout cela en un pouillème de seconde, avec l’aide de GPSBabel bien-sûr !

#! /bin/bash

# Nom du premier fichier NMEA
start=`ls WG*.log | head -1 | cut -d '.' -f1`

# Nom du dernier fichier NMEA
end=`ls WG*.log | tail -1 | cut -d '.' -f1`

fichier_sortie="${start}_${end}"

# Concatenation des fichiers NMEA
echo '@Sonygps/ver1.0/wgs-84/gps-cs3.0' > ${fichier_sortie}.nmea
cat WG*.log | grep -v '@Sonygps/ver1.0/wgs-84/gps-cs3.0' >> ${fichier_sortie}.nmea

# Conversion en GPX pour Digikam
gpsbabel -i nmea -f ${fichier_sortie}.nmea -o gpx -F ${fichier_sortie}.gpx

# Conversion en KML pour Google Earth et Google Maps
gpsbabel -i nmea -f ${fichier_sortie}.nmea -o kml -F ${fichier_sortie}.kml

exit 0