MyPixmania

Introduction

MyPixmania est un logiciel qui simplifie l'utilisation du site MyPixmania.com, qui propose le stockage d'albums et le développement de photographies qui sont ensuite envoyées par correspondance. Initialement, pour faciliter l'upload des photos, le site ne proposait que des solutions spécialisées pour les systèmes d'exploitation Microsoft Windows et Apple OS X. Rien n'était proposé pour les autres systèmes d'exploitation, en particulier les systèmes libres tels que GNU/Linux. L'utilisateur de ces systèmes était limité à un formulaire Web sur le site MyPixmania.com, qui rendait l'upload d'un grand nombre de photographies assez fastidieux. Le logiciel MyPixmania répond à ce manque, et bien qu'initialement développé pour le système GNU/Linux, il est également utilisable sur d'autres systèmes d'exploitation.

Aujourd'hui, le site MyPixmania.com propose une applet Java multi-plateformes pour gérer ses albums et donc uploader les photos. Cependant, l'utilisateur de systèmes libres préfèrera certainement se dispenser de l'utilisation d'une applet Java, et trouvera sans doute fort utile la possibilité d'utiliser directement un outil en ligne de commandes offerte par MyPixmania.

Techniquement, MyPixmania est un jeu de scripts Python, qui interagissent avec le site Web de MyPixmania en utilisant la bibliothèque Curl.

Les opérations supportées à l'heure actuelle sont :

Aujourd'hui, MyPixmania dispose de trois interfaces :

Note: les auteurs du script MyPixmania ne sont en aucune façon liés au site MyPixmania.com ou à la société FotoVista. La disponibilité de ce script n'est pas une publicité pour cette société.

Utilisation

Configuration

Avant de commencer à utiliser l'interface texte ou l'interface graphique de MyPixmania, il est nécessaire de créer un fichier de configuration contenant vos identifiants sur le site MyPixMania.com. Ce fichier de configuration doit s'appeler .mypixmania.cfg, se trouver dans votre répertoire personnel, et ressembler à :

[account]
login = monlogin@mondomaine.org
password = monmotdepasse

Les lignes débutant par # sont ignorées.

Interface texte

L'interface texte de MyPixmania est simple à utiliser. Sa documentation est disponible dans une page de manuel, ou alors via l'option help:

$ mypixmania help
Usage: mypixmania command [files]
 Commands:
  - list    : Lists all albums
  - add     : Adds one or more pictures to a new or already existing album
  - fetch   : Fetch thumbnails or pictures from an album
  - delete  : Remove an album
  - help    : Displays this help
  - version : Displays version and authors

 Examples:
  - mypixmania.py list
  - mypixmania.py add Holidays2004 pic1.jpg pic2.jpg pic3.jpg
  - mypixmania.py fetch full AlbumName dest-dir/
  - mypixmania.py fetch thumb AlbumName dest-dir/

Pour commencer, il est possible de lister les albums disponibles :

$ mypixmania list
Album list:
 - VacancesEte2004
 - VacancesEte2005
 - WeekEndMariageSophie
 - Appartement

Pour ajouter des photos à un album existant, il suffit d'utiliser la commande :

$ mypixmania add VacancesEte2004 ~/pics/photo[1-3].jpg
[ 1/ 3] Adding picture '/home/thomas/pics/photo1.jpg' to album 'VacancesEte2004'
 Uploading   114035 /   114035 bytes
[ 2/ 3] Adding picture '/home/thomas/pics/photo2.jpg' to album 'VacancesEte2004'
 Uploading   100835 /   100835 bytes
[ 3/ 3] Adding picture '/home/thomas/pics/photo3.jpg' to album 'VacancesEte2004'
 Uploading   108408 /   108408 bytes

Pour créer un album, il suffit d'ajouter des photos dans un album inexistant. MyPixmania vous demandera alors si vous souhaitez créer le nouvel album :

$ mypixmania add VacancesEte2004 ~/pics/skimboard.jpg
Album VacancesEte2004 does not exist, do you want to create it ? [Y/n] Y
[ 1/ 1] Adding picture '/home/thomas/pics/skimboard.jpg' to album 'VacancesEte2004'
 Uploading   776055 /   776055 bytes

Pour supprimer un album et toutes les photos qu'il contient, il existe la commande delete :

$ mypixmania delete VacancesEte2004
Album 'VacancesEte2004' deleted successfully.

Enfin, pour récupérer les photos d'un album précédemment chargées sur le site de MyPixmania, il existe la commande fetch. Celle-ci permet de récupérer soit des miniatures (format thumb), soit des images un peu plus grandes (format full). Néanmoins, il n'est pas possible de récupérer les images dans la taille originale: le site MyPixmania n'offre pas cette fonctionnalité.

Après téléchargement, les images au format full auront le même nom de fichier que lors de leur envoi sur le site. Les images au format thumb auront le même nom de fichier que lors de leur envoi, avec un suffixe -thumb. L'image thumb correspondant à photo12.jpg sera donc photo12-thumb.jpg.

$ mkdir VacancesEte2004
$ mypixmania fetch full VacancesEte2004 VacancesEte2004/
photo1.jpg
photo2.jpg
photo3.jpg
$ ls VacancesEte2004/
photo1.jpg  photo2.jpg  photo3.jpg
$ mypixmania fetch thumb VacancesEte2004 VacancesEte2004/
photo1.jpg
photo2.jpg
photo3.jpg
$ ls VacancesEte2004/
photo1.jpg  photo2.jpg  photo3.jpg  thumb-photo1.jpg  thumb-photo2.jpg  thumb-photo3.jpg

Interface graphique

L'interface graphique utilise la bibliothèque graphique Gtk 2, et ne propose pas encore toutes les fonctionnalités de la ligne de commande (en particulier la récupération de photos). Elle est encore en développement intensif, auquel vous pouvez participer.

Fenêtre
principale
La fenêtre principale, qui permet de lister les albums, et d'en supprimer.

Visualisation d'un
album
La fenêtre de visualisation d'un album, avec une maniature associée à chaque image.

Ajout d'un album
La fenêtre d'ajout d'un album.

Interface développeur

MyPixmania est composé de trois parties: une bibliothèque pixmania.py permettant d'interagir avec le site MyPixmania, une interface texte et une interface graphique. Ces deux derniers éléments ont été décrits dans les sections précédentes. Dans cette section, nous présentons la bibliothèque pixmania.py, qui peut se réveler intéressante pour le développeur souhaitant créer de nouveaux scripts interagissant avec le site MyPixmania.

La bibliothèque pixmania.py est documentée à l'aide d'epydoc (paquet Debian python-epydoc). Pour générer la documentation au format PDF, il suffit d'utiliser les commandes suivantes :

$ mkdir doc/
$ epydoc --pdf -o doc/ pixmania.py

Cette documentation donne toutes les informations nécessaires sur le fonctionnement interne de cette bibliothèque.

Téléchargement

La dernière version de MyPixmania est la 1.0.5, sortie le 29 juillet 2006. Une archive est téléchargeable ici. Le code source est placé sous les termes de GNU General Public License.

Installation

Pour que l'interface texte fonctionne, votre système devra disposer d'un interpréteur Python (paquet python2.3 ou python2.4 pour la distribution Debian) ainsi que l'interface Python avec la bibliothèque Curl appelée PyCurl (paquet python2.3-pycurl ou python2.4-pycurl pour la distribution Debian).

Pour utiliser l'interface graphique, vous devrez également installer l'interface Python avec la bibliothèque Gtk 2 (paquet python2.3-gtk2 ou python2.4-gtk2 pour la distribution Debian).

Paquets

Un paquet pour Mandriva 2006 est disponible.

Des paquets pour Debian Sarge, Debian Etch, Debian Sid, Ubuntu Breezy et Ubuntu Dapper sont disponibles. Pour les utiliser, ajouter une des lignes suivantes à votre fichier /etc/apt/sources.list :

Pour Suse, une personne a écrit un tutoriel expliquant pas-à-pas comment installer MyPixmania.

Depuis l'archive

Une fois l'archive téléchargée, vous pouvez la décompresser dans votre répertoire personnel. Deux choix s'offrent à vous :

Participer

Vous pouvez participer au développement et à l'amélioration de MyPixmania en envoyant vos suggestions, remarques et rapports d'anomalies aux auteurs.

Vous pouvez également participer en envoyant des patches aux auteurs. Pour cela, vous devez travailler avec la dernière version de MyPixmania, disponible dans un dépôt Subversion à l'adresse https://ssl.bulix.org/svn/thomas/mypixmania/trunk/.

Pour récupérer MyPixmania (à ne faire qu'une seule fois)  :

$ svn checkout https://ssl.bulix.org/svn/thomas/mypixmania/trunk mypixmania

Pour mettre à jour à la dernière version :

$ svn update

Après édition, pour générer un patch :

$ svn diff -u > ~/mypixmania-foo-bar.patch

Parmi les choses à faire, il y a notamment :

Contact

Les auteurs de ces scripts sont Thomas Petazzoni et Christophe Lucas.