User:Jean-Frédéric/digiKam

From MediaWiki.org
Jump to: navigation, search

Contents

[edit] 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é.

[edit] Tickets

[edit] Done

  • Yes check.svg Done naviguer sur Commons et s'essayer à l'import de photos pour comprendre son fonctionnement
  • Yes check.svg Done installer une distribution Linux avec le dernière version de digiKam et importer des photos pour comprendre son fonctionnement
  • Yes check.svg Done cloner le code source du plugin actuel sur GitHub
  • Yes check.svg Done apprendre à compiler et à modifier le plugin Kipi
  • proposer des maquettes (regarder du côté de Commonist et de l'interface wizard de Commons)
  • Yes check.svg Done ajouter [[Category:Uploaded with KIPI uploader]] au contenu de la page de description sur Commons
  • Yes check.svg Done déplacer les options de redimensionnement vers un second onglet (avec les autres options « avancées »)
  • Yes check.svg Done la gestion des espaces dans les noms de fichiers est mauvaise - les espaces dans le nom de fichier sont autorisés, mais ils sont automatiquement replacé par "_" à l'upload (wikipedia API) (ILkO)
  • Yes check.svg Done choix du wiki de destination dans une liste déroulante avec possibilité d'ajouter son propre wiki (nom, url de api.php) − Nathan
  • Yes check.svg Done [1] le redimensionnement des images semble ne pas fonctionner
  • Yes check.svg Done la syntaxe de la page de destination est incorrecte (correction)
  • Yes check.svg Done le login semble ne pas fonctionner sur Commons (fonctionne sur test.wikipedia.org) ( Le login sur Commons fonctionne, l'upload ne fonctionne pas chez moi) (ILkO)

[edit] Bugs

  • Syntaxe page de description
  • prévenir lors de l'écrasement d'un fichier existant / importer une seconde fois ne prévient pas que l'image existe déjà
  • Dans le plugin, taper “Enter” quitte le plugin

[edit] Fonctionnalités importantes

  • pouvoir choisir et éditer pour chaque image :
    • One: Yes check.svg Done All: Znak A-14.svg Doing... les catégories (pré-remplies avec les étiquettes digiKam)
    • One: Yes check.svg Done All: Znak A-14.svg Doing... les coordonnées géographiques (pré-remplies avec les éventuelles données EXIF ou les coordonnées digikam)
    • One: Yes check.svg Done All: Znak A-14.svg Doing... le nom du fichier de destination (pré-rempli avec le nom du fichier)
    • One: Yes check.svg Done All: Znak A-14.svg Doing... la date et l'heure (pré-remplies avec les éventuelles données EXIF)
    • One: Yes check.svg Done All: Znak A-14.svg Doing... les descriptions (pré-remplies avec les descriptions digiKam en chaque langue)
    • One: Yes check.svg Done All: Znak A-14.svg Doing... matcher les catégories avec les étiquettes (désélectionner automatiquement les catégories parentes d'autres pour ne conserver que les catégories les plus précises ?)
    • Pré-requis :
      • Znak A-14.svg Doing... Stocker en mémoire les informations d'upload associées à chaque fichier.
  • rédiger une documentation
  • détailler davantage les erreurs de login

[edit] Features pas critiques

  • Yes check.svg Done Vérifier la présence de duplicatas locaux (via SHA1)
  • X mark.svg Not done Vérifier la présence de duplicatas distants (via SHA1) − expliqué sur commons:Commons:Guide_to_batch_uploading#Check_for_duplicates
  • auto-complétion à partir des catégories déjà existantes sur le wiki (utiliser AJAX)
  • marquer les images uploadées dans digiKam via un tag
  • Znak A-14.svg Doing...Modification en masse des information d'upload des images via un "Apply to all" sur chaque champ
  • Ajouter le nom du wiki sur lequel on est actuellement connecté (avec la favicon ?)
  • Znak A-14.svg Doing...autoriser le redimensionnement par un pourcentage de la taille initiale

[edit] Notes

[edit] Compilation et installation

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
export CMAKE_MODULE_PATH=/usr/lib/kde4/
export CMAKE_PREFIX_PATH=/usr
cmake -DCMAKE_BUILD_TYPE=debugfull -DCMAKE_INSTALL_PREFIX=/usr ..
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 ./download-repos 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
Problème : modifier le code source, recompiler et réinstaller ne modifie pas le plugin !
Peter17 (talk) 10:38, 14 March 2012 (UTC)
Le problème précédent est dû au fait que digiKam et ses plugins sont par défaut installés dans /usr/local/lib/kde4 et pas dans /usr/lib/kde4
J'avais un conflit entre deux installations : modifier le code source modifiait le plugin installé dans /usr/local/lib/kde4 mais c'était le plugin installé dans /usr/lib/kde4 qui était utilisé. Comme je ne sais pas comment forcer KDE à utiliser un dossier plutôt que l'autre, j'ai mis à jour les instructions de compilation pour forcer l'installation dans /usr/lib/kde4.
Je vous conseille de faire un make clean puis de recompiler et réinstaller le tout. Tout marche bien pour moi à présent.
Je peux maintenant me logguer sur WP:fr et Commons.
Les modifications que j'ai apportées au plugin m'ont permis de faire un import avec un wikitexte correct : http://test.wikipedia.org/w/index.php?title=File:Saint-Vallier-gare3.jpg&action=edit
J'ai créé un repo GitHub et fait un premier commit contenant ces modifications. Il vous sera peut-être plus facile de forker ce repo depuis l'interface de GitHub que d'en créer un vous-même avec git... : https://github.com/peter17/mediawiki-kipi
Bon courage ! Peter17 (talk) 13:28, 21 March 2012 (UTC)

[edit] Autres notes

À titre indicatif

J'ai forké la librairie kipi-plugins, en créant un dépôt GitHub (page utilisateur -> « new repository ») puis en me plaçant dans extra/kipi-plugins, j'ai fait :

git remote add github git@github.com:peter17/kipi-plugins.git
Ce que vous devez faire

Vous devez faire les opérations suivantes :

git remote add peter git@github.com:peter17/kipi-plugins.git
  • Saisir dans extra/kipi-plugins :
git remote add github git@github.com:<username>/kipi-plugins.git
  • Lorsque je fais des modifications :
git pull peter master
git push github master
  • De temps en temps :
git pull origin master
git push github master

Explications :

  • Le dépôt origin est git://anongit.kde.org/kipi-plugins
  • Le dépôt peter est git@github.com:peter17/kipi-plugins.git (mon dépôt)
  • Le dépôt github est git@github.com:<username>/kipi-plugins.git

Les commandes pull et push de git permettent de copier, fusionner et envoyer les commits sur le dépôt distant. Git devrait gérer cela sans trop de problèmes. Les informations ci-dessus sont récapitulées par la commande :

git remote -v

N'hésitez pas à poser des questions ici ou par courrier électronique. N'attendez pas d'être perdus !

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)

[edit] GitHub dêpot de projet


[edit] Captures d'écran

[edit] Liens utiles

Personal tools
Namespaces

Variants
Actions
Navigation
Support
Download
Development
Communication
Print/export
Toolbox