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 :
- création d'un album ;
- ajout de photos dans un album ;
- lister les albums disponibles ;
- supprimer un album ;
- récupérer les photographies d'un album.
Aujourd'hui, MyPixmania dispose de trois interfaces :
- une interface texte, idéale pour uploader un grand nombre de photos, ou l'utiliser dans d'autres scripts ;
- une interface graphique, idéale notamment pour visualiser le contenu des albums ;
- une interface développeur, pour ceux souhaitant écrire d'autres scripts, en réutilisant la bibliothèque interne de dialogue avec le site MyPixmania.
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.

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

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

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 Debian Sarge, ajoutez
deb http://thomas.enix.org/pub/debian/packages/ stable main - Pour Debian Etch, ajoutez
deb http://thomas.enix.org/pub/debian/packages/ testing main - Pour Debian Sid, ajoutez
deb http://thomas.enix.org/pub/debian/packages/ unstable main - Pour Ubuntu Breezy, ajoutez
deb http://thomas.enix.org/pub/debian/packages/ breezy main - Pour Ubuntu Dapper, ajoutez
deb http://thomas.enix.org/pub/debian/packages/ dapper main
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 :
- L'utiliser directement depuis votre répertoire personnel, en
lançant l'interface texte avec
./mypixmaniaou l'interface graphique avec./gmypixmania. La page de manuel est accessible en utilisantman ./mypixmania.1; - L'installer sur votre système, en utilisant le script
install.shfourni, qu'il faut lancer enroot. Le scriptuninstall.shpermet de déinstaller MyPixmania. Les commandes et la page de manuel sont alors directement accessibles.
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 :
- Amélioration de l'utilisabilité de l'interface graphique, et ajout de nouvelles fonctionnalités ;
- Internalisation du programme ;
- Voir si il est possible d'intégrer la fonctionnalite de MyPixmania à un logiciel de gestion de photos existant, comme DigiKam pour KDE ou gThumb sous Gnome.
Contact
Les auteurs de ces scripts sont Thomas Petazzoni et Christophe Lucas.