User:Jean-Frédéric/digiKam

Sujet
« Développement d’un plugin pour digiKam permettant l’export vers la médiathèque Wikimedia Commons »

Wikimedia Commons est une médiathèque en ligne qui rassemble des médias à vocation pédagogique, publiés sous licences libres. Elle centralise les illustrations des différents projets Wikimedia, dont le plus connu est l’encyclopédie libre Wikipédia. Créée en 2004, Wikimedia Commons compte à ce jour plus de 11 millions de fichiers librement réutilisables.

Wikimedia Commons est propulsé par le logiciel MediaWiki. Le versement de fichiers sur Wikimedia Commons se fait principalement au moyen d’une interface web. Il est également possible de recourir à des clients lourds ou à des bibliothèques de programmation en ligne de commande.

digiKam est un logiciel multiplateforme-forme de gestion d'images sous licence libre GNU GPL, basé sur la plate-forme KDE. Il permet de gérer des collections d’images, d’effectuer de la retouche photographique et d’exporter les fichiers vers diverses plates-formes en ligne, comme Flickr ou Picasa.

Le but du projet est de développer un plugin digiKam permettant l’export de fichiers vers Wikimedia Commons. Cet export devra impérativement inclure diverses informations et métadonnées sur le fichier (description multilingue, licence, géolocalisation, catégories), soit en les extrayant des propriétés du fichier, soit en permettant à l’utilisateur de les saisir à la main.

Le plugin reposera sur l’API KIPI plugins. Les étudiants pourront s’appuyer sur une bibliothèque Qt permettant d’interagir avec MediaWiki, et sur un prototype incomplet du plugin demandé.

Selon l’avancement du projet, le développement d’un plugin analogue pour Shotwell, l’homologue de digiKam pour l’environnement de bureau GNOME, pourra être envisagé.

TODO

 * À faire :
 * naviguer sur Commons et s'essayer à l'import de photos pour comprendre son fonctionnement
 * installer une distribution Linux avec le dernière version de digiKam et importer des photos pour comprendre son fonctionnement
 * cloner le code source du plugin actuel sur GitHub
 * apprendre à compiler et à modifier le plugin Kipi
 * proposer des maquettes (regarder du côté de Commonist et de l'interface wizard de Commons)
 * idées d'amélioration :
 * pouvoir choisir et éditer pour chaque image :
 * les catégories (pré-remplies avec les étiquettes digiKam)
 * les coordonnées géographiques (pré-remplies avec les éventuelles données EXIF)
 * le nom du fichier de destination (pré-rempli avec le nom du fichier)
 * la date et l'heure (pré-remplies avec les éventuelles données EXIF)
 * la description (pré-remplie avec la description digiKam)
 * matcher les catégories avec les étiquettes
 * auto complétion à partir des catégories déjà existantes sur le wiki (utiliser AJAX)
 * choix du wiki de destination dans une liste déroulante avec possibilité d'ajouter son propre wiki (nom, url de api.php)
 * rédiger une documentation
 * autoriser le redimensionnement par un pourcentage de la taille initiale
 * détailler davantage les erreurs de login
 * prévenir lors de l'écrasement d'un fichier existant
 * Vérifier la présence de duplicatas (via SHA1)
 * marquer les images uploadées dans digiKam via un tag
 * bugs :
 * le login semble ne pas fonctionner sur Commons (fonctionne sur test.wikipedia.org)
 * la gestion des espaces est mauvaise
 * le redimensionnement des images semble ne pas fonctionner
 * importer une seconde fois avec une autre licence ne modifie pas la page de destination
 * la syntaxe de la page de destination est incorrecte (correction)

Compilation et installation
La liste des commandes à exécuter pour installer libmediawiki est la suivante : git clone git://anongit.kde.org/libmediawiki cd libmediawiki mkdir build cd build cmake .. make su make install

La liste des commandes à exécuter pour installer kipi-plugins est la suivante : git clone git://anongit.kde.org/kipi-plugins cd kipi-plugins mkdir build cd build cmake .. make su make install

Sous Mandriva 2011, il n'était pas suffisant d'installer libmediawiki pour que kipi-plugins le trouve. J'ai dû en plus saisir : $ export PKG_CONFIG_LIBDIR='/usr/local/lib/pkgconfig/'
 * 1) cp /usr/local/share/apps/cmake/modules/FindMediawiki.cmake /usr/share/cmake/Modules/

La liste des commandes à exécuter pour compiler et installer digikam est la suivante : git clone git://anongit.kde.org/digikam-software-compilation digikam cd digikam ./download-repos mkdir build cd build cmake .. make sudo make install

Pour la mise à jour : ./gits pull cd build make su make install

En pratique, l'installation de digikam par cette méthode suffit pour le développement du plugin mediawiki ; en effet, la commande  clone les dépôts correspondants. Il n'est donc probablement pas nécessaire d'installer libmediawiki ni kipi-plugins séparément. Cependant, comme j'ai fait successivement les trois étapes, je les écris toutes ici, au cas-où.

Je n'ai pas encore réussi à lancer le plugin mediawiki. Peter17 (talk) 17:24, 20 February 2012 (UTC)


 * Sur Kubuntu, la compilation de digikam se passe bien. J'ai pris le source directement à partir de dêpot git://anongit.kde.org/digikam-software-compilation. J'ai réussit à compiler digikam 2.6.0 avec tous les plugins. Je n'ai pas essayé le plugin mediawiki. Je l'ai fait avec le script perl ./download-repos et non pas séparement (c'est-à-dire compiler le libmediawiki, après compiler le kipi-plugins et finallement le digikam). Bien sûr, il faut s'assurer que vous avez toutes les dependences pour le digikam. Vous pouvez les installer, soit par le packet manager de Kubuntu(apt-get) soit par compilation à la main. Les dependeces sont decrites sur le site officiel de digikam. Ilko (talk) 12:09, 25 February 2012 (UTC)


 * La compilation a fonctionné sous Mandriva 2011 et le plugin fonctionne à peu près.
 * Je n'arrive pas à me logguer à Commons. Par contre, le login et l'upload fonctionnent avec http://test.wikipedia.org/w/api.php
 * Mon test : http://test.wikipedia.org/wiki/File:Saint-Vallier-gare.jpg
 * Peter17 (talk) 10:38, 14 March 2012 (UTC)

Autres notes
Pour récupérer l'ancien code source : svn co svn://anonsvn.kde.org/home/kde/branches/work/~cgilles/wikimedia/

Quelques conseils en vrac, pas utile maintenant mais pour les avoir sous la main si nécessaire :
 * peut-être se présenter sur la page du rapport de bug et les listes de diffusion, pour expliquer ce que nous voulons faire et obtenir des conseils ?
 * peut-être installer un wiki à nous où faire nos tests ?

Personnes ressources :
 * Gilles Caulier (développeur principal (lead developer) de digiKam)
 * Guillaume Paumier (employé de la Wikimedia Foundation)

GitHub dêpot de projet

 * https://github.com/kratuna/mediawiki

Captures d'écran

 * Plugin wikimedia sans options
 * Plugin wikimedia avec options1
 * Plugin wikimedia avec options2

Liens utiles

 * digiKam
 * KIPI plugins (Archive)
 * Guillaume's old roadmap
 * http://www.gpaumier.org/blog/297_digikam-the-perfect-tool-for-wikimedia-commons-photographers/ (description du projet)
 * https://projects.kde.org/projects/extragear/libs/libmediawiki (librairie KDE/MediaWiki)
 * http://community.kde.org/IUP_ISI/MediaWiki-Silk : documentation du projet réalisé par les étudiants de l'IUP-ISI; inclut une vision du projet
 * https://bugs.kde.org/show_bug.cgi?id=206842 (description de l'état d'avancement du projet, rapport de bug ouvert par Peter en 2009).
 * http://websvn.kde.org/branches/work/~cgilles/wikimedia/ (état du code source en 2009)
 * https://projects.kde.org/projects/extragear/graphics/kipi-plugins/repository/revisions/master/show/mediawiki (état actuel du code source)
 * http://mail.kde.org/pipermail/digikam-users/2011-May/013074.html (liste de diffusion de digikam)
 * http://mail.kde.org/pipermail/digikam-users/2011-November/015154.html (liste de diffusion de digikam)
 * https://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/UploadWizard/ (interface d'import actuelle de Commons)