PROJET AUTOBLOG


BohwaZ

Archivé

Site original : BohwaZ

⇐ retour index

Fotoo Gallery : nouvelle version, nouveau site, nouveau diaporama

vendredi 9 mars 2012 à 06:12

Grosse mise à jour de Fotoo Gallery qui passe du vieillissant SQLite2 à PDO::SQLite3. De manière rapide : Fotoo Gallery se prépare à PHP 5.4. Un avantage c'est que du coup c'est plus rapide.

J'en ai profité pour réécrire la partie diaporama qui change de look. Par défaut ce sont les petites photos qui sont affichées, et non redimensionnées. Il est possible d'avoir les images en haute définition en cliquant sur HD, et de les adapter à la taille de l'écran en cliquant sur le bouton Zoom.

Un exemple de diaporama : Cours d'eau.

Vu que le diaporama sert aussi pour l'embed, voici la même chose en embed :

Une autre nouveauté étant la possibilité d'avoir des adresses réécrites pour toute la galerie, par exemple : http://bohwaz.net/photos/tag/irlande.

C'est aussi l'occasion d'inaugurer le nouveau site de Fotoo Gallery et le passage du développement de SVN à Fossil !

Archiver avec 7-Zip et par2

jeudi 8 mars 2012 à 19:34

Parfois, il est nécessaire de sauvegarder et archiver des données, sur un support qui dormira dans une étagère, et dont on ne sait pas trop quand il en ressortira, ni en quel état. Par exemple sur un CD-ROM ou une mémoire Flash, dont la tenue dans la durée n'est pas forcément très prévisible.

Dans ce cas, on veut pouvoir restaurer l'archive même si une partie des données devient corrompues. Voici ma méthode d'archivage très simple à base de 7-zip et de par2.

En premier, nous allons créer une archive avec 7-zip, séparée en volumes d'une taille de 50 Mo (plus facile à reconstituer avec par2 il me semble) :

$ 7z a -v50 backup.7z /home/bohwaz/backup

Cela va créer autant de fichiers du genre backup.7z.0001, backup.7z.0002, etc. que nécessaire en fonction de la taille des données à archiver.

Maintenant nous allons créer des archives de redondance avec par2. Par2 est un utilitaire qui permet de reconstituer des données corrompues en créant des archives de "redondance". Vous trouverez de plus amples explications sur son fonctionnement sur ce post de Linux-Attitude par exemple.

$ par2 c -r25 backup.7z.*

Va ainsi créer de la redondance équivalente à 25% des données archivées. Ce qui signifie que par2 saura réparer les données corrompues, sauf si plus de 25% de ces données sont corrompues.

Et voilà il ne reste plus qu'à copier/graver sur CD !

PHP & SQLite3 : collation

mardi 28 février 2012 à 15:59

In PHP 5.3 there is no way to define a custom collation method for SQLite3.

But here is another reason to use PHP 5.4: it will provide new methods to have user-defined collation. For SQLite3 object it will be SQLite3::createCollation(name, callback), and there will be also a similar method for PDO::SQLite.

Its use is very easy:

$db = new SQLite3('data.db');
setlocale(LC_COLLATE, 'fr_FR.UTF-8');
$db->createCollation('PHP_COLLATE', 'strcoll');
$db->query('SELECT * FROM table ORDER BY name COLLATE PHP_COLLATE;');

Great, isn't it? Well just wait until PHP 5.4 release ;-)

Gérer ses photos en ligne de commande

dimanche 26 février 2012 à 00:40

gThumb était un jour un outil très utile et simple à utiliser pour importer des photos, il était même possible de l'utiliser sans l'interface de visualisation par gthumb --import-photos. Problème, comme pas mal de logiciel GNOME, au nom de la simplicité il est devenu inutilisable et d'ailleurs depuis récemment il n'est même plus capable de lister les photos de mon appareil !

Du coup, une seule solution simple, c'est d'utiliser des outils en ligne de commande. Inspiré ainsi de ce HOWTO sur OpenPrinting.org voici quelques bases.

Importer les photos

Se placer dans le répertoire de destination et lancer :

$ gphoto2 --get-all-files

Tourner les photos dans le bon sens

Grâce aux infos contenues dans les tags EXIF des images, il est possible de savoir dans quel angle a été prise la photo et de la tourner en accord. Le meilleur outil pour ça semble être jhead, qui fait une rotation sans perte (pas de re-compression JPEG) :

$ jhead *.jpg

Classer, trier et taguer ses photos

Là, pas de secret, jBrout est le meilleur logiciel du genre ;-)

Effacer les photos de l'appareil

Une fois qu'on est sûr d'avoir bien tagué, trié et sauvegardé (important) ses précieux clichés, on peut les effacer de son appareil avec gphoto2 :

$ gphoto2 --delete-all-files --recurse

(Attention, pas de retour en arrière possible !)

Visualiser ses photos

feh est un outil en ligne de commande sans interface permettant de visualiser des photos, de faire des diaporamas, etc. Une utilisation simple pour faire défiler les images d'un répertoire en plein écran :

$ feh -F ~/photos/

Pour faire un diaporama avec changement toutes les 5 secondes :

$ feh -F -D 5 ~/photos/

man feh vous donnera d'autres idées d'utilisation de cet outil.

Imposition PDF avec Linux

dimanche 19 février 2012 à 04:00

La PAO est à mon sens le domaine le plus pauvre sous Linux et en logiciel libre également. Scribus se fait vieux, n'évolue que très peu, et très lentement. C'est également un logiciel poussif et lent à utiliser, qui n'est pas des plus pratiques.

La question qui revient le plus pour moi c'est comment faire de l'imposition simplement. Scribus ne le permet pas. Du tout. Il existe Laidout qui permet de faire ça graphiquement et de s'interfacer avec Scribus mais j'ai vraiment rien pigé à son interface en Motif (ARG !).

OpenLibreOffice Writer a une option sympa dans l'aperçu qui permet ce genre de chose (Options d'impression : aperçu, choisir ensuite le nombre de colonnes et de lignes, puis cliquer sur le bouton "Imprimer l'aperçu"), mais c'est de la bidouille pas pratique quand même.

Sans compter que par exemple si on a un tract A6 et qu'on veut en imprimer une planche sur une feuille A4, il faut recopier 8 fois la même page... Pratique ! Et puis faire de la PAO avec OpenLibreOffice c'est un peu comme vouloir jouer Beethoven au pipeau : c'est minable.

Du coup il ne reste que les outils en ligne de commande. Y'en a des paquets, pas mal en Java qui nécessitent la VM officielle, bof. J'ai essayé PoDoFo qui est incapable d'utiliser les fichiers .plan d'exemple qu'il fournit... Y'a pas mal de possibilités en PostScript aussi.

Mais le seul que j'ai trouvé pas mal c'est PDFJam (paquet pdfjam dans debian). Par exemple pour faire une planche A4 de 8 tracts A6 (2 lignes de 4) quand on a un PDF avec une seule page :

pdfjam --a4paper --landscape --nup 4x2 tract.pdf '1,1,1,1,1,1,1,1' --outfile planche.pdf

La suite de huit "1" au milieu sert à indiquer qu'il faut utiliser 8 fois la page 1 de tract.pdf.

Il existe d'autres options, lisez le man, et d'autres versions raccourcies : pdfjam-pocketmod pour faire un livret de 8 pages à mettre dans la poche à la manière de re:Pocket Mode, etc.