Accueil > Linux / Logiciels Libres > Logiciels Libres > Album Photo pour SPIP

Album Photo pour SPIP

jeudi 9 octobre 2003, par Yann

Ce petit projet est basé sur le code source de l’album photo de François CREVOLA que l’on peut trouver à cette adresse.

J’ai fait quelques modifications afin de pouvoir l’utiliser directement sous SPIP.

Voici un petit tarball contenant quelques scripts ainsi que quelques explications permettant de faire facilement un album photo sous SPIP.

album_photo_spip_v0.3.tar.gz
Scripts et utilitaires de l’album photo

Voici une nouvelle version

album-photo-spip-0.4.tar.gz

et pour ceux qui ont installé SPIP 1.7 et SPIP 1.8 (qui gère les albums normalement nativement)

album-photo-spip1.7-0.4.tar.gz

Quelques corrections de bugs plus tard, voici la version 0.5, et un fichier INSTALL mis à jour.

album-photo-spip1.7_1.8-0.5.tar.gz

Attention, suivant les versions de la librairie GD, les fonctions à utiliser sont différentes. Lire le fichier INSTALL pour plus de détails.

Un exemple se trouve ici.


Très petits utilitaires pour gérer les images

Rotation

#!/bin/bash
for i in $*
do
	echo rotation 270 \(-90\) de $i
	jpegtran -rotate 270  -outfile $i $i
done

Transplantation des données exif des originaux ($1) vers les modifiés ($2)

#!/bin/bash
for i in <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+bHMgJDEvKi5qcGc8L2NvZGU+"></span> 
        do 
        echo "jhead -te $1/<span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+YmFzZW5hbWUgJGk8L2NvZGU+"></span> $2/<span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+YmFzZW5hbWUgJGk8L2NvZGU+"></span>"
        jhead -te $1/<span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+YmFzZW5hbWUgJGk8L2NvZGU+"></span> $2/<span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+YmFzZW5hbWUgJGk8L2NvZGU+"></span>
        done

Redimensionnement des images

#!/bin/bash
# mkdir 25pcent 50pcent 75pcent full
mkdir 37pcent
for i in <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+bHMgKi5qcGc8L2NvZGU+"></span> 
        do 
        echo "convert -resize  37%x37% $i 37-<span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+YmFzZW5hbWUgJGkgLmpwZzwvY29kZT4="></span>.jpg"
        convert -resize 37%x37% $i 37pcent/<span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+YmFzZW5hbWUgJGkgLmpwZzwvY29kZT4="></span>.jpg
        done

Création des vignettes

#!/bin/bash
mkdir thumb
for i in <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+bHMgKi5qcGc8L2NvZGU+"></span>
	do
	echo "convert -resize 4%x4% % $i thumb/$i"
	convert -resize 4%x4% $i thumb/$i
	done

Lecteur USB Multicarte

Si comme moi vous avez un lecteur multicarte, vous avez sans doute remarqué que la plupart des distributions linux ne reconnaissent que la première baie de ce type de lecteur. Une petite astuce permet d’utiliser toutes les baies.

L’article initial est ici.

il suffit de passer l’option max_scsi_luns=6 au noyau.

Avec lilo il faut ajouter dans votre lilo.conf la ligne

append="max_scsi_luns=6"

et ne pas oublier de relancer votre lilo pour prendre en compte les modifications.

Avec grub il faut ajouter dans menu.lst, sur la ligne kernel max_scsi_luns=6

kernel          /boot/vmlinuz-2.6.8-2-686 root=/dev/hdb1 ro max_scsi_luns=6

Puis rebooter. Ensuite il est possible de voir si votre modifiacation a fonctionné. Un petit dmesg | less permet de voir les parties qui nous intéressent.

usb 1-1: new full speed USB device using address 3
Initializing USB Mass Storage driver...
scsi2 : SCSI emulation for USB Mass Storage devices
  Vendor:           Model:                   Rev:
  Type:   Direct-Access                      ANSI SCSI revision: 02
Attached scsi generic sg2 at scsi2, channel 0, id 0, lun 0,  type 0
  Vendor:           Model:                   Rev:
  Type:   Direct-Access                      ANSI SCSI revision: 02
Attached scsi generic sg3 at scsi2, channel 0, id 0, lun 1,  type 0
sda: Spinning up disk...<7>USB Mass Storage device found at 3
usbcore: registered new driver usb-storage
USB Mass Storage support registered.

[snip....]

sda : READ CAPACITY failed.
sda : status=1, message=00, host=0, driver=08
Current sd: sense key Not Ready
sda: assuming Write Enabled
sda: assuming drive cache: write through

[snip ... après avoir mis la CF de 128 Mo]

Current : sense key No Sense
SCSI device sdb: 250369 512-byte hdwr sectors (128 MB)
sdb: assuming Write Enabled
sdb: assuming drive cache: write through
sda: Spinning up disk...<6> /dev/scsi/host2/bus0/target0/lun1: p1
Attached scsi removable disk sdb at scsi2, channel 0, id 0, lun 1

La CF de 128 Mo se trouve donc sur le /dev/sdb et la première partition est sdb1.

Il est alors possible de monter la CF dans un répertoire par la commande :

mount -t vfat /dev/sdb1 /apn