digiKam change de rythme

Posté par . Édité par tankey, palm123, Benoît Sibaud et Xavier Teyssier. Modéré par Benoît Sibaud. Licence CC by-sa
60
28
juil.
2016
Graphisme/photo

digiKam propose sa version 5 depuis début juillet 2016. Cette nouvelle version majeure intervient après plus de deux ans de développement.

Pour rappel, « digiKam Softwares Collection » est une solution de gestion, de retouches et améliorations d'images et de photos, permettant aussi leur classement. Il est disponible pour les systèmes Windows, Apple osX, et GNU/Linux, sous licence GPL v2.

digiKam logo

  • Fin du support de Qt4, et retrait de tout code Qt4 / KDE 4. Ceci a été rendu possible par un gros nettoyage de code préalable, mais aussi la reprise de greffons qui n'étaient plus maintenus ;
  • Modifications et/ou remplacements de la plupart des API majeures ;
  • Ré-écriture complète de Kipi en pur Qt5 (meilleure stabilité sur les autres systèmes, moins de dépendances, et retrait total de KIO API pour interagir avec les services web) ;
  • Nouveau widget façon Krita ;
  • Presque plus aucune dépendance à Kde du Qt uniquement maintenant, facilitant l'installation et/ou le portage sur d'autres bureaux et/ou systèmes (Gnome, OSX, Windows, …) ;
  • Gestion d'une corbeille désormais interne, et non liée à Kde : plus aucun problème sur les autres systèmes et/ou bureaux ;
  • Intégration de la reconnaissance faciale dans le core de digiKam ;
  • Fin de l'usage des KIO-slaves pour les requêtes à MySQL/MariaDB, remplacés par un tout nouveau système plus robuste et multi-threadé, réalisé par un contributeur ancien de l'équipe, lors du dernier Google Summer of Code ;
  • Ce nouveau système fait ses requêtes SQL sans pénaliser la réactivité de l'interface graphique, ce qui était auparavant peu confortable lors de l'usage d'une base importante ;
  • Amélioration de la synchronisation entre la base de données et les métadonnées, il n'y aura plus de cas où les informations diffèrent entre la base et les métadonnées des fichiers : l'utilisateur fait la synchro quant il le veut ou bien elle se fera lors de la fermeture de digiKam ;
  • Il est désormais possible de configurer MySQL / MariaDB au premier lancement, évitant ainsi d'avoir à migrer de SQLite vers MySQL / MariaDB. De plus, le premier lancement propose l'usage d'une base locale ou d'une base distante, sur le réseau.

digiKam 5, MariaDB

digiKam 5, ovni

Si cette version 5 n'apporte pas de grandes nouveautés dans les usages et possibilités offertes par digiKam Softwares Collection, elle présente une grosse ré-écriture de pans entiers, une factorisation, du nettoyage, des reprises de parties qui n'étaient plus maintenues, plus de 350 bugs corrigés, et le passage complet à Qt5 : ce travail est aujourd'hui finalisé. Tout ceci est de bon augure pour son avenir.

La version suivante, 5.1, est déjà attendue pour début août, le rythme de publication étant modifié pour intégrer et livrer plus vite des demandes des utilisateurs et améliorations du logiciel.

  • # Changement de nom

    Posté par . Évalué à 10.

    Du coup le projet s'appelle désormais digiQam ?? ;-)

    • [^] # Re: Changement de nom

      Posté par . Évalué à 10.

      Il faut savoir que de nombreuses bibliothèques KDE 4 ont été intégrées à Qt 5. Par exemple, KUrl est devenue QUrl. Cf. KF5 Development sur Wikipédia.

      Les bibliothèques KDE sont souvent développées avant celles de Qt et/ou avec plus de fonctionnalités. Par exemple actuellement avec KWayland et QtWayland.

      À terme, les fonctionnalités "de base" se retrouvent dans une bibliothèque Qt et la bibliothèque KDE disparaît. Ça oblige KDE à nettoyer son code sachant que la bibliothèque Qt est souvent plus propre et plus générique et donc avec des fonctionnalités qui manquent. Ça soulage néanmoins KDE de la maintenance de ses bibliothèques.

      Cette signature est publiée sous licence WTFPL

      • [^] # Re: Changement de nom

        Posté par . Évalué à 7.

        Exact. Mais lorsque l'on a une application KDE à maintenir cela fait plus du double de travail : deux API à supporter. On ne parle pas de tests de regressions à faire. Bref c'est une horreur.

        Pour info, le code source de digiKam en ligne de code c'est çà :

        C++: 658800 (92.81%)
        C ANSI: 43874 (6.18%)
        BASH: 2572 (0.36%)
        perl: 2386 (0.34%)
        yacc: 958 (0.13%)
        python: 495 (0.07%)
        ruby: 233 (0.03%)

        On peut facilement imaginer la montagne de travail que ça représente à maintenir ce code. Donc avoir une application pure Qt5 cela semble logique sur le long terme.

  • # Dépendances à KDE

    Posté par (page perso) . Évalué à 4.

    Plus aucune dépendance à Kde, du Qt uniquement maintenant, facilitant l'installation et/ou le portage sur d'autres bureaux et/ou systèmes (Gnome, OSX, Windows, …) ;

    C'est peut-être spécifique à Arch Linux, mais il reste un paquet de dépendances à KDE d'après la liste des paquets à installer :

        Packages (67) akonadi-16.04.3-1  akonadi-contact-16.04.3-1
                  attica-qt5-5.24.0-1  convertlit-1.8-7
                  ebook-tools-0.2.2-3  gpgmepp-16.04.3-1
                  grantlee-qt5-5.1.0-3  karchive-5.24.0-1
                  kauth-5.24.0-1  kbookmarks-5.24.0-1
                  kcalcore-16.04.3-1  kcodecs-5.24.0-1
                  kcompletion-5.24.0-1  kconfig-5.24.0-1
                  kconfigwidgets-5.24.0-1  kcontacts-16.04.3-1
                  kcoreaddons-5.24.0-2  kcrash-5.24.0-1
                  kdbusaddons-5.24.0-1  kded-5.24.0-1
                  kdelibs4support-5.24.0-1  kemoticons-5.24.0-1
                  kfilemetadata-5.24.0-1  kglobalaccel-5.24.0-1
                  kguiaddons-5.24.0-1  ki18n-5.24.0-1
                  kiconthemes-5.24.0-2  kinit-5.24.0-1
                  kio-5.24.0-1  kitemmodels-5.24.0-1
                  kitemviews-5.24.0-1  kjobwidgets-5.24.0-1
                  kmime-16.04.3-1  knewstuff-5.24.0-1
                  knotifications-5.24.0-1  knotifyconfig-5.24.0-1
                  kparts-5.24.0-1  kservice-5.24.0-1
                  ktextwidgets-5.24.0-1  kunitconversion-5.24.0-1
                  kwallet-5.24.0-1  kwidgetsaddons-5.24.0-1
                  kwindowsystem-5.24.0-1  kxmlgui-5.24.0-1
                  lensfun-0.3.2-2  libastro-16.04.3-1
                  libdbusmenu-qt5-0.9.3+16.04.20160218-1
                  libdmtx-0.7.4-5  libimobiledevice-1.2.0-3
                  libkipi-16.04.3-1  libksane-16.04.3-1
                  libplist-1.12-4  libusbmuxd-1.0.10-1
                  marble-16.04.3-1  marble-data-16.04.3-1
                  media-player-info-22-2
                  polkit-qt5-0.112.0+git20160226-1
                  poppler-qt5-0.42.0-1
                  prison-frameworks-1.2.1.20150831-2
                  qrencode-3.4.4-1  qt5-multimedia-5.7.0-1
                  quazip-qt5-0.7.2-2  solid-5.24.0-1
                  sonnet-5.24.0-1  threadweaver-5.24.0-1
                  upower-0.99.4-2  digikam-5.0.0-1
    
    • [^] # Re: Dépendances à KDE

      Posté par . Évalué à 10.

      digiKam n'est pas encore une application pure Qt5. Il reste environ 15-20% de dépendances à retirer (les plus dures en fait).

      https://quickgit.kde.org/?p=digikam-software-compilation.git&a=blob&f=DEPENDENCIES

      Ceci dit, tout le système infâme de run-time KDE est retiré. La liste des dépendances KDE qui apparait en listant avec ldd l'exécutable de l'application sont les inter-dépendances. Typiquement, une lib KDE utilisée va appeler une multitude de libs KDE. C'est titanesque, voir viral. Et ce n'est pas vraiment comme cela que l'on défini un framework C++ propre. Et c'est pour cela qu'il y a très peu d'application KDE sous Windows, car c'est compliqué et lourd à gérer, à maintenir, à installer…

      Mais le plus important dans cette version c'est toutes les dépendances KIO et DBUS qui ont disparu. Pour Windows et OSX, les 2 n'ont jamais vraiment bien marché. Ils posaient de sérieux problèmes de stabilité à l'exécution.

      Pour Windows et OSX, tout est déployé en Bundle. Tout l'installateur Windows est cross-compilé sous entièrement sous Linux. Pas de Windows pour développer, pas de compilateur M$ complètement bancale, pas de DLL manquantes au run-time, pas de risque de virus lors des builds. Bref un pingouin qui fait du Windows de A à Z c'est beau. De plus c'est entièrement automatisé car c'est des scripts BASH en arrière plan…

      • [^] # Re: Dépendances à KDE

        Posté par (page perso) . Évalué à 10.

        Merci pour cette explication.

        J'ai partagé cette observation parce que digiKam m'intéresse mais j'essaie depuis quelques années d'éviter les applications ayant de fortes dépendances à certains environnements de bureau. Je n'ai rien contre KDE ni Gnome ou autre mais je ne les utilise plus et tente de ne pas encombrer mon système avec plein de paquets inutilisés (en dehors du logiciel qui les a installés).

        • [^] # Re: Dépendances à KDE

          Posté par (page perso) . Évalué à -1.

          tu dois fortement te limiter en application

          www.solutions-norenda.com

          • [^] # Re: Dépendances à KDE

            Posté par . Évalué à 7.

            tu dois fortement te limiter en application

            Même démarche pour moi, supprimer les appli liées à des environnements de bureau. Des équivalents aussi performants existent. Je peux tout faire sur mon PC, sans restrictions.

        • [^] # Re: Dépendances à KDE

          Posté par (page perso) . Évalué à 5.

          Tu as des problèmes de stockage ou de mémoire sur ta machine ?

          Python 3 - Apprendre à programmer en Python avec PyZo et Jupyter Notebook → https://www.dunod.com/sciences-techniques/python-3

    • [^] # Re: Dépendances à KDE

      Posté par . Évalué à 4.

      C'est peut-être spécifique à Arch Linux, mais il reste un paquet de dépendances à KDE

      J'ai installé DK 5 sur fedora 24, je n'ai pas autant de dépendances kde.
      kf5-kauth-0:5.24.0-1.fc24.x86_64
      kf5-kcodecs-0:5.24.0-1.fc24.x86_64
      kf5-kcompletion-0:5.24.0-1.fc24.x86_64
      kf5-kconfig-core-0:5.24.0-1.fc24.x86_64
      kf5-kconfig-gui-0:5.24.0-1.fc24.x86_64
      kf5-kconfigwidgets-0:5.24.0-1.fc24.x86_64
      kf5-kcoreaddons-0:5.24.0-1.fc24.x86_64
      kf5-kfilemetadata-0:5.24.0-1.fc24.x86_64
      kf5-ki18n-0:5.24.0-1.fc24.x86_64
      kf5-kiconthemes-0:5.24.0-1.fc24.x86_64
      kf5-kio-core-libs-0:5.24.0-1.fc24.x86_64
      kf5-kio-widgets-libs-0:5.24.0-1.fc24.x86_64
      kf5-kitemmodels-0:5.24.0-1.fc24.x86_64
      kf5-kjobwidgets-0:5.24.0-1.fc24.x86_64
      kf5-knotifications-0:5.24.0-1.fc24.x86_64
      kf5-knotifyconfig-0:5.24.0-1.fc24.x86_64
      kf5-kservice-0:5.24.0-1.fc24.x86_64
      kf5-kwidgetsaddons-0:5.24.0-1.fc24.x86_64
      kf5-kwindowsystem-0:5.24.0-1.fc24.x86_64
      kf5-kxmlgui-0:5.24.0-1.fc24.x86_64
      kf5-libkipi-0:16.04.3-1.fc24.x86_64
      kf5-libksane-0:16.04.3-1.fc24.x86_64
      kf5-solid-libs-0:5.24.0-1.fc24.x86_64
      kf5-threadweaver-0:5.24.0-1.fc24.x86_64
      marble-widget-qt5-1:16.04.3-1.fc24.x86_64

  • # Dépendances, les recommandations de Gilles Caulier

    Posté par . Évalué à 4.

  • # Félicitations à l'équipe !

    Posté par . Évalué à 8.

    J'utilise Digikam depuis plus de 10 ans maintenant pour gérer mes photos. Il fait partie de ces logiciels que j'ai toujours d'ouvert.

    J'ai eu quelques craintes lorsque que j'ai du passer à la version 5.0.0 mais au final, je n'ai pour l'instant rencontré aucune régression ! (Quand on utilise KDE, on sait qu'il faut attendre les x.1, voir x.2 pour que ça devienne utilisable).
    Avec d'autres logiciels comme Krita ou Kdenlive, ils ont gagné en stabilité et maintenabilité à s'éloigner de KDE lors du passage à Qt5.

    • [^] # Re: Félicitations à l'équipe !

      Posté par . Évalué à 1.

      Dans Krita on peut voir que 3 ou 4 frameworks de KDE ont été carrément dupliqués et changés. C'est certainement une solution de facilité pour réduire temporairement les dépendances à KDE, surtout que ces frameworks sont les éléments centraux pour une application basée sur KF5.

      Pour Kdenlive, dixit une discussion orale avec les développeurs de l'application, il semblerai que ce soit le chemin inverse qui soit pris, mais je n'ai pas regardé dans le code source. Il y a un lien quelque part (blog, mailing list) où l'on notifie ce type de réduction de dépendances à KDE ?

  • # digikam.db

    Posté par . Évalué à 0.

    Et à nouveau borkage de tout ce qui est dans digikam.db ?
    On a que ça a faire ?

    • [^] # Re: digikam.db

      Posté par . Évalué à 4.

      Absolument pas… La base de données Sqlite reste inchangée au niveau du schema… Seule le schéma d'une base de données Mysql est mis à jour pour les corrections de bogues.

  • # La version 5.1.0 est de sortie....

    Posté par . Évalué à 1.

    Dixit l'annonce de digiKam 5.1.0 avec plus de 343 entrées dans bugzilla qui ont été traité. Un autre sacré triage de rapports…

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.