La version 5.0 du catalogueur de bibliothèque personnelle MyLibrary est désormais disponible. Le code du programme est écrit en C++ et est accessible (GitHub, GitFlic) sous licence GPLv3. L'interface graphique utilisateur est réalisée à l'aide de la bibliothèque Qt6. Le programme est adapté pour fonctionner sur les systèmes d'exploitation de la famille Linux et Windows. Pour les utilisateurs d'Arch Linux, un script de construction du paquet prêt à l'emploi est disponible dans l'AUR. Pour les utilisateurs de Windows, un installateur expérimental est disponible.
MyLibrary catalogise les fichiers de livres aux formats fb2, epub, pdf, djvu, odt, txt, md, tant ceux accessibles directement que ceux empaquetés dans des archives (zip, 7z, jar, cpio, iso, tar, tar.gz, tar.bz2, tar.xz, rar), et crée sa propre base de données sans modifier les fichiers sources ni leur emplacement. Le format fbd (fichier de livre, empaqueté dans une archive avec un fichier ayant l'extension fbd, contenant la balise description au format fb2) est également accessible pour la catalogisation. Dans le format fbd, tout type de fichier peut être stocké, pas seulement des livres. L'intégrité de la collection et ses modifications sont assurées par la création d'une base de données de sommes de contrôle des fichiers et des archives.
Différentes opérations sur la collection sont possibles : mise à jour (une vérification de l'ensemble de la collection et une comparaison des sommes de contrôle des fichiers disponibles sont effectuées), mise à jour rapide (les tailles des fichiers sont comparées), exportation et importation de la base de données de la collection, ajout de livres à la collection et suppression de livres de la collection, ajout de dossiers de livres à la collection, ajout d'archives de livres à la collection, copie de livres de la collection dans un dossier arbitraire. Une édition manuelle des enregistrements de livres dans la base de données est disponible. Un mécanisme de signets a été créé pour un accès rapide aux livres. Il est possible de créer des notes personnelles sur les livres. Une interface est disponible pour créer et connecter des plugins.
Différentes opérations peuvent être effectuées sur la collection : mise à jour (vérification de l'ensemble de la collection et comparaison des sommes de contrôle des fichiers disponibles), mise à jour rapide (comparaison des tailles de fichiers), export et import de la base de données de la collection, ajout de livres à la collection et suppression de livres, ajout de dossiers contenant des livres à la collection, ajout d'archives avec des livres à la collection, copie de livres de la collection vers n'importe quel dossier. L'édition manuelle des enregistrements sur les livres est disponible. Un mécanisme de signets a été créé pour un accès rapide aux livres. Il est possible de créer des notes personnelles pour les livres. Une interface pour créer et connecter des plugins est disponible.
MyLibrary peut travailler avec des collections situées sur des supports externes le serveur (les dossiers et fichiers correspondants doivent être accessibles via le protocole SMB et montés sur l'ordinateur local à l'aide de gvfs, kio-fuse ou d'analogues).
Modifications significatives :
- Le projet a été migré vers un nouveau type de base de données (collections, signets, notes).
- Une couche de compatibilité avec les anciennes bases de données a été ajoutée : les collections créées dans les versions précédentes du programme se chargent et fonctionnent en mode fonctionnalité limitée (les fonctions d'édition de la base de données et certaines autres sont désactivées), tandis que les signets et les notes n'ont aucune restriction (les anciennes bases seront automatiquement converties en nouvelles lors de la modification des notes ou des signets).
- L'interface graphique a été mise à jour pour utiliser Qt6.
- Le comportement de la fonction de création de collections a été modifié — il est désormais possible d'ajouter un ensemble arbitraire de dossiers et de fichiers pris en charge à une collection.
- Une fonction de création de collections à partir de fichiers inpx a été ajoutée. Le contenu des fichiers inpx sera chargé « à la volée » lors du passage à la collection correspondante. Les collections inpx fonctionnent en mode fonctionnalité limitée (les fonctions d'édition de la base de données et certaines autres sont désactivées).
- Le comportement de la fonction de mise à jour des collections a été modifié. Lors de la tentative de mise à jour des collections obsolètes et inpx, elles seront converties en nativées. Lors de la mise à jour des collections nativées — en cas de mise à jour rapide — la présence et la taille des fichiers sont vérifiées ; si la taille du fichier a changé, une nouvelle analyse sera effectuée. Lors d'une mise à jour normale, au lieu de la taille, les sommes de contrôle des fichiers sont vérifiées.
- Le comportement de la fonction d'ajout de livres à une collection existante a été modifié. Les nouveaux livres sont maintenant ajoutés à la base de données sans déplacer les fichiers correspondants.
- Les algorithmes de recherche ont été améliorés.
- La fonction d'affichage des auteurs de la collection a été accélérée.
- L'API de la bibliothèque MLBookProc et la bibliothèque de connexion des plugins ont été refondues.
- Amélioration de la bibliothèque d'analyse des fichiers xml, ajout d'un support initial pour le format html.
- La possibilité de créer une documentation des bibliothèques internes au format pdf a été désactivée. À la place, une documentation sous forme de pages man a été ajoutée. La documentation au format html reste inchangée.
- La prise en charge de la norme C++20 est désormais requise par le compilateur pour la compilation.
- La prise en charge de la norme OpenMP est devenue obligatoire par le compilateur.
- Les scripts de compilation et les options de compilation ont été modifiés.
- D'autres petits changements et améliorations.
On peut également noter la mise à jour du plugin MLFBDPlugin (disponible sous licence GPLv3 sur altlinux.space et GitHub, pour les utilisateurs d'Arch Linux disponible dans AUR), conçu pour créer des fichiers au format fbd. Dans la nouvelle version, le plugin a été migré vers l'utilisation de Qt6. 
On peut également noter le premier lancement du plugin MLArchiverPlugin. Ce plugin est conçu pour créer et éditer des archives et est disponible (altlinux.space, GitHub, AUR) sous licence GPLv3.
Les dépôts du plugin MLInpxPlugin ont été transférés en mode archive — la fonctionnalité du plugin a été intégrée dans le programme principal.
Source : opennet.ru
