Tamil

Koha 26.05

jeudi 28 mai 2026
Koha 26.05

Cette version de printemps de Koha est riche de nouvelles fonctionnalités et d'améliorations significatives. Même si cela n'apparaît pas explicitement dans cette note de version, un soin particulier a été apporté à la sécurisation de Koha.


Catalogage

Restauration des notices supprimées

Lorsqu'une notice bibliographique ou un exemplaire est supprimé dans Koha, les données sont déplacées vers les tables deletedbiblio, deletedbiblioitems et deleteditems au lieu d'être définitivement effacées. Cette nouvelle fonctionnalité expose ces tables au moyen d'une interface professionnelle dédiée et de l'API REST, ce qui permet aux utilisateurs autorisés de restaurer ces données dans le catalogue actif.

Nouvelles fonctionnalités

Une page Restaurer les notices supprimées est accessible depuis la page d'accueil du module Catalogage. Elle présente deux tableaux : l'un pour les notices bibliographiques supprimées, l'autre pour les exemplaires supprimés. Chaque tableau affiche les principales informations d'identification, comme l'identifiant de la notice, le titre, le code à barres et la date de suppression.

Un filtre par plage de dates, dans le panneau latéral, permet au personnel de restreindre les résultats selon la date de suppression. La restauration d'un exemplaire supprimé dont la notice bibliographique parente est elle aussi supprimée affiche une fenêtre modale d'avertissement invitant l'utilisateur à restaurer d'abord la notice bibliographique.

La restauration d'une notice bibliographique supprimée ouvre une fenêtre modale listant les exemplaires supprimés qui lui sont associés, avec des cases à cocher permettant de choisir les exemplaires (le cas échéant) à restaurer en même temps que la notice.

Les notices restaurées sont automatiquement réindexées dans le moteur de recherche (Zebra / Elasticsearch) lors de la restauration.

Les actions de restauration sont inscrites dans le journal des actions (action RESTORE pour les notices comme pour les exemplaires), ce qui fournit une piste d'audit.

L'appartenance aux groupes de bibliothèques est prise en compte lors du contrôle des permissions : le personnel ne peut restaurer que les notices relevant de son périmètre autorisé.

Nouveaux points d'accès de l'API REST

De nouveaux points d'accès ont été ajoutés à l'API REST de Koha pour permettre la restauration par programme des notices supprimées :

  • POST /api/v1/deleteditems/{item_id}/restore — restaure un exemplaire supprimé
  • POST /api/v1/deletedbiblios/{biblio_id}/restore — restaure une notice bibliographique supprimée
  • GET /api/v1/deleteditems — liste les exemplaires supprimés (permet d'embarquer les données de la notice associée et gère les en-têtes de pagination)
  • GET /api/v1/deletedbiblios — liste les notices bibliographiques supprimées (permet d'embarquer les exemplaires supprimés associés)

Nouvelle permission

Une nouvelle permission restore_deleted_records a été ajoutée comme sous-permission du groupe de permissions Éditer le catalogue. Elle est nécessaire pour accéder à la page Restaurer les notices supprimées et pour utiliser les points d'accès de restauration de l'API.

Remarques importantes

La restauration n'est possible que pour les enregistrements encore présents dans les tables des enregistrements supprimés. Les données des tables liées (par exemple le suivi des liens ou l'historique des réservations) qui ont été supprimées en cascade lors de la suppression de l'enregistrement ne peuvent pas être récupérées par cet outil. Un enregistrement restauré est réinséré avec son identifiant de notice ou d'exemplaire d'origine, dans la mesure du possible. Cette fonctionnalité ne constitue pas un véritable système de « suppression logique » ou d'annulation : c'est un outil de récupération ciblé, pour les données conservées dans les tables d'enregistrements supprimés existantes de Koha.

Plus

  • Grilles multiples de catalogage rapide — Cette amélioration permet aux bibliothèques d'utiliser plusieurs grilles de catalogage bibliographiques pour le catalogage rapide (Fast add). Les administrateurs disposant de la permission manage_marc_frameworks peuvent désormais activer des grilles bibliographiques MARC comme grilles de catalogage rapide. Le personnel disposant de la permission fast_cataloging pourra créer et modifier les notices bibliographiques relevant du catalogage rapide. Il pourra créer des exemplaires pour ces notices et modifier les exemplaires rattachés, si la bibliothèque ou le groupe de bibliothèques l'autorise. Un badge « Catalogage rapide » est affiché dans le détail des notices bibliographiques relevant du catalogage rapide.

  • Réduction et redimensionnement des images de couverture locales — Auparavant, le téléversement d'une image de couverture JPEG dans le stock d'images de couverture locales de Koha entraînait son réencodage en PNG, ce qui multipliait la taille du fichier jusqu'à 10. Un JPEG de 170 Ko était stocké sous la forme d'un fichier d'environ 930 Ko. Désormais les images sont stockées dans leur format d'origine. La même image occupe environ 92 Ko, soit à peu près la moitié de sa taille d'origine, sans perte de qualité. Sont concernées toutes les installations qui utilisent la préférence système LocalCoverImages.

  • Valeurs autorisées pour les vocabulaires RDA MARC21 de type de support, de contenu et de médiation — Cette amélioration ajoute des listes de valeurs autorisées à utiliser dans les champs MARC21 336 (Type de contenu), 337 (Type de médiation) et 338 (Type de support, sous-champs $a et $b). Remarque : il faut mettre à jour manuellement vos grilles de catalogage pour lier les sous-champs aux listes de valeurs autorisées. Les six nouvelles listes de valeurs autorisées sont :

    • RDACARRIER
    • RDACARRIER_CODE
    • RDACONTENT
    • RDACONTENT_CODE
    • RDAMEDIA
    • RDAMEDIA_CODE
  • Avertissement si suppression d'un exemplaire réservé — La suppression d'un exemplaire ne signalait pas l'existence d'une réservation de niveau exemplaire. C'est le cas maintenant.

  • Limitation des cibles Z39.50 à certaines bibliothèques — Cette amélioration ajoute la possibilité de limiter les cibles Z39.50/SRU à certaines bibliothèques. Dans les grands réseaux, les catalogueurs de chaque bibliothèque peuvent avoir des cibles Z39.50 différentes, qu'ils préfèrent utiliser ou auxquelles ils sont autorisés à accéder. En administration, pour chaque serveur Z39.50, on peut désormais choisir les sites Koha qui seront autorisés à utiliser le serveur.

  • Plugin ISSN — Ajout d'un plugin value_builder pour vérifier la validité de l'ISSN. Cette amélioration ajoute un nouveau plugin de catalogage (value builder) pour valider les ISSN. Si vous saisissez un ISSN invalide, une fenêtre du navigateur vous en avertit, mais vous pouvez passer outre (le champ est surligné en jaune) et enregistrer quand même la notice. Pour les nouvelles installations, le plugin validate_issn.pl est ajouté par défaut aux grilles de catalogage bibliographiques pour le 022$a (MARC21) ou le 011$a (UNIMARC). Pour les installations existantes, mettez à jour vos grilles manuellement.

  • Surlignage du dernier exemplaire modifié — Ce correctif met en évidence l'exemplaire le plus récemment modifié ou ajouté sur la page d'ajout d'exemplaires. Cette fonctionnalité permet aux catalogueurs de repérer l'exemplaire récent et de vérifier leurs modifications, ou de le comparer aux autres exemplaires du catalogue.

  • Infos supplémentaires en contrôle des doublons — On peut désormais configurer les informations bibliographiques affichées lors du contrôle de doublon en ajout d'une notice. Cette amélioration offre un moyen d'afficher davantage d'informations bibliographiques lorsque Koha soupçonne qu'une notice bibliographique nouvellement créée est le doublon d'une notice existante. Cela se fait dans Outils > Outils supplémentaires > Personnalisation de l'affichage de la notice, avec le nouvel emplacement d'affichage StaffDuplicateCheckPage. Les informations à afficher sont définies en Template Toolkit et mises en forme en HTML. Les données disponibles comprennent le contenu de la table biblio et la notice MARC complète. Par exemple :

    [% biblio.author %] ([% biblio.copyrightdate %])
    
    [% record.subfield('327', 'a') %]
    
    [% FOREACH f IN record.field('300') %]
        [% f.subfield('a') %]
    [% END %]

OPAC

  • Facettes repliables — Le menu des facettes de la page de résultats de recherche du catalogue à l'OPAC a été modifié. Il devient possible de cliquer sur l'intitulé d'une facette pour la replier.

  • Informations personnelles — Affichage à l'OPAC des demandes de modification des informations personnelles.

  • Page détail / onglet Notes — Sur la page de détail d'une notice, dans l'onglet Notes, les mots qui correspondent aux termes de la recherche sont surlignés. Il faut que la préférence système OpacHighlightedWords soit activée.

  • Nouvelles de la plus récente à la plus ancienne — Le tri des nouvelles se faisait sur leur identifiant interne, soit leur date de création. Le tri se fait maintenant sur la date de publication des nouvelles, de la plus récente à la plus ancienne.

  • Tableaux adaptatifs — Ajout d'une option pour déplier par défaut les lignes des tableaux adaptatifs. Cette amélioration permet de régler le comportement adaptatif par défaut des tableaux de l'OPAC, comme l'historique de recherche. La nouvelle préférence système OPACTableColExpandedByDefault détermine le comportement par défaut. Les tableaux sont repliés par défaut, avec un + pour les déplier. Une fois dépliés, un - permet de les replier. Cette amélioration fait suite aux recommandations d'un récent audit d'accessibilité.

  • Fenêtres surgissantes — Leur design a été modernisé.

  • Carte de bibliothèque virtuelle — La préférence OPACVirtualCard permet d'activer la fonctionnalité carte virtuelle. L'adhérent a une option Carte de bibliothèque sur son compte. Désormais le contenu de cette carte virtuelle est paramétrable au moyen d'une nouvelle notification : VIRTUALCARD. On peut y placer le code à barres de l'adhérent : [% my_barcode %], dont l'affichage graphique est contrôlé par la préférence OPACVirtualCardBarcode. Si OPACpatronimages et patronimages sont activées, vous pouvez afficher la photo de l'adhérent en ajoutant la variable : [% my_image %].

Circulation

  • Contrôle des limites de transfert au retour — Les limites de transfert sont vérifiées au retour. Cette amélioration introduit de nouveaux contrôles pour empêcher un retour dans une bibliothèque lorsque les règles de transfert interdiraient de renvoyer l'exemplaire vers sa bibliothèque de rattachement ou de prêt. Pour les exemplaires définis comme « flottants », les règles de transfert ne s'appliquent pas, puisque le retour ne déclenche pas de transfert.

  • Renouvellement malgré les amendes — Il n'était pas possible de renouveler des exemplaires pour des adhérents dont les amendes dépassaient la limite admise, depuis la page de renouvellement ou depuis leur liste de prêts.

    • AllowFineOverrideRenewing — Cette nouvelle préférence système permet au personnel de renouveler des exemplaires pour les adhérents dont les amendes dépassent le montant défini dans la préférence système FineNoRenewals (anciennement OPACFineNoRenewals). Dans le cas contraire, le renouvellement est bloqué. Si le renouvellement est autorisé, le personnel doit tout de même confirmer qu'il souhaite bien renouveler les exemplaires de l'adhérent.
    • Renommage de préférences système — Les préférences système suivantes ont été renommées, car elles sont désormais utilisées aussi dans l'interface professionnelle (et plus seulement à l'OPAC) :
      • OPACFineNoRenewals a été renommée FineNoRenewals.
      • OPACFineNoRenewalsIncludeCredits a été renommée FineNoRenewalsIncludeCredits.
      • OPACFineNoRenewalsBlockAutoRenew a été renommée FineNoRenewalsBlockAutoRenew.
    • API REST — Les points d'accès de renouvellement de l'API REST prennent en charge la fonctionnalité AllowFineOverrideRenewing.
    • Remarques importantes :
      • À plusieurs endroits du code, le code d'erreur de renouvellement automatique était écrit « auto_too_much_oweing » au lieu de « auto_too_much_owing ».
      • La même coquille figurait dans les modèles de notification fournis en exemple, et peut-être dans des modèles de notification enregistrés dans la base de données.
      • La coquille est corrigée automatiquement par une mise à jour de la base de données.
  • Extension de StoreLastBorrower — On pouvait noter dans la table items_last_borrower le dernier adhérent à avoir rendu un exemplaire. StoreLastBorrower est maintenant une valeur numérique qui permet de définir le nombre d'emprunteurs précédents à conserver dans la table. Il y a également un mécanisme qui supprime de la table items_last_borrower les emprunteurs en surnombre par rapport au nombre fixé dans la préférence système StoreLastBorrower.

  • Fonds flottant — Permettre de configurer des limites de flottement par type de document. Cette amélioration permet de définir et d'appliquer, pour chaque type de document, un nombre maximal d'exemplaires détenus par chaque bibliothèque lorsque les exemplaires sont autorisés à flotter. Cette fonctionnalité s'active avec la préférence système UseLibraryFloatLimits. Les limites de flottement se définissent en Administration > Limites du fonds flottant. Les exemplaires rendus dans une bibliothèque qui a atteint sa limite de flottement pour ce type de document sont transférés vers le site dont le rapport entre exemplaires détenus et exemplaires autorisés est le plus faible.

  • Renouvellement manuel vs renouvellement auto — Permettre un comportement de RenewalPeriodBase différent pour les renouvellements manuels et automatiques. Cette amélioration scinde la préférence système RenewalPeriodBase en deux préférences distinctes, afin que la base de calcul de la période de renouvellement puisse être réglée séparément pour les renouvellements manuels et automatiques. Les nouvelles préférences système sont ManualRenewalPeriodBase et AutomaticRenewalPeriodBase.

  • Permission view_checkout_history — Cette amélioration ajoute une nouvelle permission pour la consultation de l'historique de lecture d'un adhérent (view_checkout_history). Désormais, lorsque intranetreadinghistory est activée, le personnel doit aussi disposer de la permission spécifique view_checkout_history pour consulter l'historique de lecture d'un adhérent. Lorsque intranetreadinghistory est désactivée, aucun utilisateur ne peut consulter l'historique de lecture des adhérents.

  • Réservations programmées / délais avant-après — Les délais avant et après (lead/trail) fonctionnent maintenant de façon combinée.

  • Renouvellement en passant outre une réservation — Lorsqu'on passe outre une réservation pour renouveler un livre, la date de retour devient « maintenant » si elle n'est pas précisée.

  • Exemplaires perdus / frais et actions — Ajout d'une préférence système équivalente à CircControl pour les frais et actions liés aux exemplaires perdus. Cette amélioration ajoute une nouvelle préférence système, LostChargesControl, qui sert à déterminer le site utilisé pour rechercher la règle de circulation applicable à la facturation des frais de perte lorsqu'un exemplaire est marqué comme perdu. Les choix possibles sont :

    • la bibliothèque dont dépend l'exemplaire (suit HomeOrHolding)
    • la bibliothèque dont dépend l'adhérent
    • la bibliothèque dans laquelle vous êtes connecté

    Pour l'instant, la préférence n'est utilisée que par la tâche planifiée longoverdue. Le choix « la bibliothèque dans laquelle vous êtes connecté » provoque l'arrêt de la tâche planifiée, puisqu'il n'y a pas de site : cela reproduit le comportement actuel, mais de façon plus explicite.

  • Permission view_holds_history — Nouvelle permission pour consulter l'historique des réservations des adhérents. Désormais, lorsque IntranetReadingHistoryHolds est activée, le personnel doit aussi disposer de la permission spécifique view_holds_history pour consulter l'historique des réservations d'un adhérent. Lorsque IntranetReadingHistoryHolds est désactivée, aucun utilisateur ne peut consulter l'historique des réservations des adhérents.

  • Tableau des transferts / paramétrables — Cette amélioration ajoute les paramètres de tableau standard au tableau des transferts (Circulation > Transferts > Transférer). Cela comprend les options permettant de modifier les colonnes affichées, d'exporter les données et de configurer les paramètres par défaut du tableau.

  • Réservation en attente / code à barres — Le code à barres de l'exemplaire est ajouté aux informations affichées sur les réservations en attente, sur les pages de prêt et de détail d'un adhérent. Le personnel de circulation peut ainsi copier plus facilement le code à barres pour prêter l'exemplaire lorsque l'adhérent vient le retirer (si c'est le circuit de la bibliothèque et qu'aucune solution en libre-service n'est disponible).

    • Avant : Titre (Type de document), Auteur. Réservation placée le JJ-MM-AA
    • Maintenant : Titre (Type de document), Auteur. (code à barres) Réservation placée le JJ-MM-AA

Réservations

  • Déplacement du paramétrage des frais de réservation — Les frais de réservation peuvent désormais être configurés dans la matrice des règles de circulation, ce qui offre un contrôle beaucoup plus fin des frais de réservation, selon les combinaisons de catégorie d'adhérent, de type de document et de bibliothèque. Auparavant, les frais de réservation ne pouvaient être définis qu'au niveau de la catégorie d'adhérent, dans l'administration des catégories d'adhérents. Les principaux changements sont les suivants :

    • Les frais de réservation peuvent désormais être définis pour des combinaisons précises de catégorie d'adhérent, de type de document et de bibliothèque
    • Le champ obsolète reservefee a été supprimé des catégories d'adhérents
    • Le paramétrage des frais de réservation apparaît dans une nouvelle colonne de la matrice des règles de circulation
    • Les frais de réservation suivent le même ordre de priorité que les autres règles de circulation (la règle la plus spécifique l'emporte, avec repli sur les règles plus générales)

    Pour les administrateurs : Après la mise à niveau, il peut être utile de revoir vos règles de circulation et d'y ajuster les frais de réservation si nécessaire. Les frais de réservation précédemment définis au niveau des catégories d'adhérents auront été migrés vers les règles de circulation.

  • Réservations futures — Prise en compte des réservations futures par CanBookBeRenewed. Historiquement, les renouvellements ne sont pas bloqués par les réservations futures (qui ne sont possibles que si elles sont activées). Désormais, une nouvelle préférence, FutureHoldsBlockRenewals, peut modifier ce comportement. Si vous l'activez, les renouvellements sont bloqués par les réservations futures lorsque celles-ci ne sont pas plus éloignées que le seuil utilisé pour les Réservations à traiter dans la préférence ConfirmFutureHolds.

  • Affichage des frais de réservation dans l'interface professionnelle — Cette amélioration ajoute l'affichage des frais de réservation dans l'écran de réservation de l'interface professionnelle, la mettant ainsi au même niveau que l'OPAC. L'OPAC indique déjà aux adhérents les frais qui leur seront facturés pour une réservation, mais l'interface professionnelle n'affichait pas cette information lorsque le personnel réservait pour le compte d'un adhérent. Il en résultait un défaut de transparence : le personnel ne pouvait pas informer les adhérents des frais éventuels.

  • Groupe de réservations — Une notification a été ajoutée à la fenêtre modale « Réservation trouvée » lorsque la réservation à satisfaire fait partie d'un groupe. La fenêtre affiche le message « fait partie d'un groupe de réservations » ainsi qu'un lien vers le tableau des réservations du compte de l'adhérent.

  • File d'attente des réservations / groupe — Ajout de la mention « (fait partie d'un groupe de réservations) » dans la file d'attente des réservations (sous le titre, dans la colonne Titre) lorsque les groupes de réservations sont activés (préférence système DisplayAddHoldGroups).

ERM - Gestion des ressources électroniques

  • Page d'accueil type tableau de bord 🆕 — Les membres du personnel peuvent retirer, ajouter et réorganiser les « widgets » de la page d'accueil afin d'adapter sa disposition à leurs besoins (tous les widgets sont affichés par défaut).

    • Compteurs : affiche le nombre de ressources liées à l'ERM, comme les accords, les licences, les bouquets locaux, les titres locaux, etc.
    • Licences nécessitant une action : affiche les licences qui nécessitent une action. Les licences sont filtrées par statut et par date de fin. (configurable depuis l'entrée de menu des paramètres du widget).
    • Lancer un rapport d'utilisation : permet de sélectionner un rapport d'utilisation enregistré et de le lancer.
    • Dernières tâches SUSHI COUNTER : affiche les dernières tâches d'arrière-plan SUSHI COUNTER.
  • Champs supplémentaires — Possibilité d'ajouter des champs supplémentaires aux titres de l'ERM et aux périodes de contrat : Administration > Champs supplémentaires > Gestion des ressources électroniques > erm_titles et erm_agreement_periods.

Accessibilité

  • Recherche principale de l'OPAC — Un attribut role="search" a été ajouté à la recherche principale.

  • Recherche avancée de l'OPAC — Un texte indicatif dynamique est ajouté aux champs de la recherche avancée, afin de fournir un repère visuel plus clair et d'améliorer l'utilisabilité pour les personnes ayant des besoins d'accessibilité cognitive.

Acquisitions

  • Modes de paiement aux fournisseurs — Un champ « Mode de paiement » a été ajouté à la section des informations de commande d'un fournisseur. Les options disponibles sont à ajouter dans la nouvelle catégorie de valeurs autorisées VENDOR_PAYMENT_METHOD.

  • Fournisseurs / Champs supplémentaires — On peut désormais ajouter des champs supplémentaires aux fournisseurs : Administration > Champs supplémentaires > Acquisitions > Fournisseurs.

Architecture, fonctionnement interne et plomberie

  • Journaux des clés API — On peut désormais journaliser les actions sur les clés API : Administration > Préférences système > Logs > ApiKeyLog.

  • Content-Security-Policy — Cette modification ajoute à Koha un en-tête HTTP Content-Security-Policy configurable. Cet en-tête demande au navigateur d'appliquer des restrictions à un certain nombre d'actions, comme le chargement de ressources ou l'obligation d'utiliser HTTPS. C'est un outil particulièrement utile pour prévenir les attaques par script intersite (XSS).

  • X-Forwarded-For — On peut désormais paramétrer un en-tête HTTP X-Forwarded-For pour déterminer l'adresse IP réelle du client lorsque Koha est derrière un proxy inverse. À cet effet, deux paramètres sont ajoutés à koha-conf.xml : enable_trusted_proxy_for_headers et reverse_proxy_ip_header.

  • Transferts de fichiers — L'API interne de Koha permettant le transport de fichiers a été améliorée, ce qui facilite le travail sur les opérations FTP, SFTP. Voir Administration > Transferts de fichiers.

Utilitaires en ligne de commande

  • Purge de la table items_last_borrower — Cette amélioration permet la suppression automatique des données de la table items_last_borrower. Ces données sont générées en fonction de la préférence système StoreLastBorrower. Leur suppression est effectuée par la nouvelle tâche planifiée anonymize_last_borrowers.pl, dont le comportement est régi par les nouvelles préférences système AnonymizeLastBorrower et AnonymizeLastBorrowerDays. Lorsque la tâche planifiée s'exécute, les entrées de items_last_borrower sont anonymisées si elles sont plus anciennes que le nombre de jours défini dans AnonymizeLastBorrowerDays.

  • runreport.pl / transfert de fichier — Une option a été ajoutée à runreport.pl pour envoyer le résultat du rapport en utilisant un transfert de fichier (SFTP) : Administration > Transferts de fichiers.

  • erm_run_harvester.pl --provider-id — Ajout à la tâche planifiée erm_run_harvester.pl d'une nouvelle option permettant de préciser les fournisseurs de données dont sont moissonnés les rapports COUNTER dans le module ERM. Utilisez le paramètre --provider-id ou -p. Le paramètre provider-id est répétable. Si le paramètre provider-id n'est pas utilisé, tous les fournisseurs actifs sont moissonnés (comme auparavant). Le script vérifie que ces fournisseurs sont actifs (comme auparavant).

  • edi_cron.pl / logs — La tâche planifiée EDIFACT journalise désormais son fonctionnement.

PEB

  • Koha bibliothèque prêteuse 🆕 — Le module de PEB ne servait qu'à emprunter : la bibliothèque demandait un document à une autre bibliothèque pour l'un de ses adhérents. Il permet désormais aussi de prêter, c'est-à-dire de traiter les demandes que d'autres bibliothèques adressent à Koha. Les échanges suivent la norme ISO 18626, qui définit les messages qu'une bibliothèque demandeuse et une bibliothèque prêteuse s'envoient pendant toute la durée d'un PEB. Le menu du module PEB a désormais deux parties, Emprunt et Prêt.

    Chaque bibliothèque demandeuse est déclarée dans Agences demandeuses, avec son identifiant (ISIL, par exemple), son identifiant de compte et l'adresse à laquelle Koha lui envoie ses réponses. Elle est liée à une fiche lecteur de la catégorie des partenaires de PEB (préférence système ILLPartnerCode), au nom de laquelle les documents seront réservés et prêtés. Elle envoie ses demandes à un nouveau point d'accès public de l'API REST, /api/v1/public/ill/iso18626. Si la demande indique le numéro de la notice dans Koha, elle y est directement rattachée.

    Les demandes reçues sont listées dans Demandes de fourniture de PEB. Le personnel les fait avancer étape par étape : il annonce une fourniture probable, avec une date de livraison prévue ; il réserve le document au nom de la bibliothèque demandeuse ; il confirme la fourniture ; il prête l'exemplaire à la fiche lecteur de la bibliothèque demandeuse ; il peut aussi refuser la demande, avec un motif. À chaque étape, Koha envoie automatiquement le message ISO 18626 correspondant à la bibliothèque demandeuse. Le prêt et la réservation sont ceux du module Circulation : à la banque de prêt, Koha signale qu'un exemplaire prêté à un partenaire répond à une demande de PEB. De son côté, la bibliothèque demandeuse peut demander où en est sa demande, l'annuler (le personnel accepte ou refuse l'annulation), signaler qu'elle a reçu le document, puis qu'elle l'a renvoyé. Tous les messages échangés sont conservés et consultables dans la demande. Le renouvellement et la déclaration de perte ne sont pas encore pris en charge.

  • Regroupement de champs — Certains champs du PEB sont regroupés pour limiter le débordement du tableau des demandes.

  • Notes — Les adhérents ont la possibilité d'ajouter des notes lors de la création d'une demande de PEB.

  • Géré par — Affectation d'un bibliothécaire à la gestion d'une demande de PEB. Cette amélioration ajoute une fonction « Géré par » aux demandes de prêt entre bibliothèques (PEB), sur le modèle de ce qui existe pour les suggestions d'achat. Elle est particulièrement utile aux grands consortiums qui traitent un volume élevé de demandes.

  • eISSN — Ajout du champ eISSN aux formulaires PEB standard dans lesquels l'ISSN figure déjà.

Adhérents

  • Renouvellement de l'inscription depuis l'OPAC — Koha peut être paramétré pour permettre aux adhérents de renouveler eux-mêmes à l'OPAC leur inscription à la bibliothèque. On contrôle l'intervalle de temps pendant lequel l'adhérent peut effectuer ce renouvellement, s'il doit répondre à un certain nombre de questions au préalable, s'il doit valider son adresse, etc.

    Plusieurs paramètres sont regroupés dans la catégorie d'adhérent où a été ajoutée une section Expiration du compte et auto-renouvellement :

    • Autoriser l'auto-renouvellement — En activant cette option, vous autorisez l'adhérent à renouveler lui-même à l'OPAC son inscription à la bibliothèque.
    • Délais de disponibilité de l'auto-renouvellement — Combien de temps avant l'expiration de l'inscription la page d'auto-renouvellement sera mise à disposition de l'adhérent. Si cette valeur est définie, elle remplace la valeur globale de la préférence système NotifyBorrowerDeparture.
    • Montant des frais impayés bloquant l'auto-renouvellement — Montant des frais impayés à partir duquel l'auto-renouvellement de l'adhérent est bloqué. Si cette valeur est définie, elle remplace celle de la catégorie d'adhérent ; si aucune des deux n'est définie, c'est la valeur globale de la préférence système noissuescharge qui s'applique.
    • Message d'information pour l'auto-renouvellement — Informations affichées aux adhérents au début du processus d'auto-renouvellement, sous forme de questions Oui/Non ; vous pouvez en ajouter plusieurs. Une réponse Oui passe à la question suivante, une réponse Non arrête le processus et affiche le message d'échec de l'auto-renouvellement.
    • Message d'échec de l'auto-renouvellement — Message affiché en cas d'échec de l'auto-renouvellement.
    • Disponibilité de l'auto-renouvellement après expiration — Combien de jours après l'expiration de son inscription un adhérent peut se connecter à l'OPAC pour s'auto-renouveler.

    Quand l'adhérent se connecte à l'OPAC et se rend sur sa fiche, en fonction des paramètres ci-dessus et de la date d'expiration de son inscription, le message suivant s'affiche : « Vous êtes éligible à l'auto-renouvellement. Merci de cliquer ici pour renouveler votre compte. » Si la préférence OPACPatronDetails est activée, l'adhérent est redirigé vers une page pour confirmer les informations personnelles de son compte. Une notification par courriel lui est envoyée.

  • Fusion d'adhérents — Il y a désormais une meilleure maîtrise de la conservation des données et une simplification du traitement des doublons d'adhérents. Lors de la fusion de deux fiches adhérent, il est désormais possible de copier sélectivement des champs à conserver depuis la fiche qui sera supprimée (source) vers la fiche qui sera conservée (destination).

  • borrowers.streetnumber — Dans le formulaire de saisie, les champs de numéro de rue des adresses principale et secondaire d'un adhérent sont limités à 10 caractères, alors que le champ sous-jacent de la base de données peut en contenir jusqu'à 255. Cette amélioration supprime cette limite de 10 caractères, ce qui rend le champ plus utile lorsque les habitations sont désignées par un nom plutôt que par un numéro.

  • Consentement — Ajout d'une section Consentements à la page de détail de l'adhérent dans l'interface professionnelle. Elle indique l'état du consentement de l'adhérent à la politique de confidentialité (lorsque PrivacyPolicyConsent est activée) ainsi que les types de consentement définis par des plugins. Chaque consentement est affiché avec un indicateur visuel d'état :

    • Coche verte avec horodatage lorsque le consentement a été donné
    • Croix rouge avec horodatage lorsque le consentement a été refusé
    • Mention grise « Non spécifié » lorsqu'aucun consentement n'est enregistré
  • PatronAgeRestriction — Ajout d'une nouvelle préférence système PatronAgeRestriction, qui agit de la même manière que PatronSelfRegistrationAgeRestriction (restriction de l'âge maximal d'un adhérent), mais pour l'interface professionnelle. Elle sert aussi de limite d'âge maximal à l'OPAC lorsque PatronSelfRegistrationAgeRestriction n'est pas définie.

Architecture des plugins

  • Hook after_biblio_action — Le moment où le point d'ancrage (hook) de plugin after_biblio_action est déclenché a été déplacé, afin que la notice soit enregistrée avant son appel. Les plugins peuvent ainsi enregistrer le biblionumber des notices nouvellement créées, qui autrement n'aurait pas encore été généré.

  • Hook pour des value builders en catalogage — Le hook get_valuebuilder a été ajouté pour permettre à des plugins de proposer des value builders de catalogage supplémentaires.

  • intranet_js / context — La méthode get_plugins_intranet_js transmet désormais aux plugins le nom du script courant (contrôleur) au moyen d'un paramètre « page », ce qui leur permet de savoir quelle page ou quel contrôleur est affiché. Les auteurs de plugins pourront ainsi, s'ils le souhaitent, ne renvoyer que le JavaScript utile à la page courante.

  • Hook xslt_record_processor_filters — Permet aux plugins de transformer les notices MARC avant leur traitement par les feuilles de style XSLT.

  • Enregistrement d'îlots Vue — Le module islands fournit l'architecture de composants Vue de Koha, mais n'expose pas d'API publique pour un enregistrement externe. Cette amélioration permet aux plugins d'apporter des îlots Vue à l'interface professionnelle.

Rapports

  • Durée max d'exécution — Dans koha-conf.xml, un nouveau paramètre report_sql_max_statement_time_seconds fixe une durée maximale d'exécution, en secondes, pour les requêtes des rapports SQL. Les rapports qui dépassent cette limite sont automatiquement interrompus. Par défaut, cette limite est désactivée.

  • Exécuter le rapport — Les boutons « Exécuter le rapport » sont désormais désactivés après un premier clic et affichent une icône d'attente, ce qui évite les soumissions en double accidentelles susceptibles de surcharger le système. Cette amélioration repose sur un nouveau composant réutilisable de bouton temporisé, qui se réactive automatiquement après un délai configurable et gère correctement la navigation par le cache précédent/suivant du navigateur. Le composant enveloppe les icônes dans des conteneurs sémantiques, pour l'accessibilité (aria-busy), et il est conçu pour être réutilisé ailleurs dans l'interface professionnelle.

  • Rapports simultanés — Limite le nombre de rapports qu'un même utilisateur peut exécuter simultanément : cas où plusieurs onglets sont ouverts ou partage d'un compte professionnel. Dans koha-conf.xml, un nouveau paramètre total_running_reports_per_user_limit fixe cette limite.

  • Résultat / DataTable — Cette amélioration permet de consulter les résultats des rapports avec la fonctionnalité DataTables utilisée ailleurs dans Koha. DataTables permet de trier sur n'importe quelle colonne des résultats et de filtrer dynamiquement. Les options d'export de la vue DataTables comprennent une nouvelle option Copier, et l'export des données respecte le tri et le filtrage en cours de l'utilisateur.

  • Suppression de rapports — Nouvelle permission pour distinguer la suppression de tout rapport ou uniquement de ses propres rapports. La permission delete_reports a été divisée en deux permissions : delete_own_reports et delete_all_reports.

SIP2

  • Caisse — L'affichage du champ « caisse » dans les comptes SIP2 devient conditionnel : il dépend de l'activation de la préférence système UseCashRegisters.

  • Bibliothèque de rattachement — Envoi de la bibliothèque de rattachement de l'adhérent (branchcode) dans le champ SIP2 AO.

  • Recherche adhérent par attribut unique — Jusqu'à présent la recherche d'adhérent par SIP2 se faisait uniquement sur le champ cardnumber. Désormais si cette recherche échoue, la recherche sera faite aussi sur les attributs typés identifiant unique des adhérents.

  • Affichages — Amélioration des descriptions et des infobulles de plusieurs champs du formulaire des comptes SIP2 :

    • Champs à autoriser et à masquer : au lieu des seuls codes (comme CQ), la plupart des codes sont désormais accompagnés d'une description (comme CQ - Valid Patron Password)
    • Infobulles améliorées pour les champs suivants :
      • CR item field
      • CT always send
      • CV always send 00 on success
      • CV triggers alert
    • Ajout d'infobulles, dans la section des modèles, pour les modèles des champs AE, AV et DA
  • Renforcement des contrôles des réservations — Cette amélioration étend les options des préférences système AllowItemsOnHoldCheckoutSCO et AllowItemsOnHoldCheckoutSIP. Lorsqu'un adhérent tente, par l'automate de prêt web ou par SIP, d'emprunter un exemplaire réservé par un autre adhérent, les bibliothèques peuvent désormais choisir de bloquer tous les prêts, d'autoriser le prêt si la réservation est en instance, ou de l'autoriser si la réservation est en instance ou en attente de retrait. La nouvelle préférence système AllowHoldCheckoutOverride détermine si le personnel disposant des permissions suffisantes peut prêter à d'autres adhérents, depuis l'interface professionnelle, des exemplaires réservés.

Recherche

  • Recherche d'exemplaires / supérieur-inférieur — Ajout d'options de recherche « supérieur à » et « inférieur à » au menu déroulant des champs de la page de recherche d'exemplaires. Le personnel peut ainsi rechercher, par exemple, les exemplaires dont l'année de publication est postérieure à une année donnée.

  • Désactivation zebraqueue — Une nouvelle préférence système ElasticsearchEnableZebraQueue a été ajoutée. Si elle est désactivée, aucune donnée n'est écrite dans la table zebraqueue, car, en général, on n'a pas besoin de faire tourner aussi Zebra lorsqu'on utilise Elasticsearch. Mais si vos circuits de travail exigent que les notices bibliographiques et d'autorité modifiées apparaissent dans la table zebraqueue, réglez la préférence système sur « activer ». Lors d'une mise à niveau, l'ancien comportement est conservé.

  • Export du paramétrage Elasticsearch — Ajout d'un bouton « Exporter les correspondances » à la page de configuration d'Elasticsearch, pour télécharger en YAML le paramétrage du moteur de recherche.

  • Indexation groupée après modification d'une autorité — Lors de la fusion (ou de la mise à jour) d'autorités, l'indexation Elasticsearch des notices bibliographiques liées se fait désormais dans une seule tâche d'arrière-plan par autorité, au lieu d'une tâche d'arrière-plan par notice. Ainsi, une autorité utilisée dans 100 notices déclenche maintenant une seule tâche d'indexation portant sur 100 notices, au lieu de 100 tâches portant chacune sur une notice.

  • Score — Avec une recherche Elasticsearch, chaque notice du résultat a un score relativement à la recherche effectuée. C'est un indice numérique qui mesure la pertinence de chaque notice. Ce score est ajouté désormais à la page de résultat de l'interface professionnelle. Il n'est pas affiché par défaut mais peut l'être au moyen du code JS suivant : $(".search_score").toggle();

Périodiques

  • Générer suivant — Ajout d'un bouton « Générer le suivant » à la page de réception d'un périodique, semblable à celui de la page de la collection (Périodiques > [page de l'abonnement] > Réceptionner).

  • Améliorations du tableau de la collection des périodiques — Introduit, pour chaque abonnement nouveau ou existant, un champ intitulé « Présélectionner les fascicules dans le tableau de la collection ».

  • Accolades — Les accolades présentes dans les modèles de numérotation des périodiques n'empêchent plus la réception des fascicules.

  • Identifiant fournisseur — Ajout d'une colonne Identifiant du fournisseur aux résultats de la recherche de fournisseurs de périodiques.

Interface professionnelle

  • Login / affichage mot de passe — Ajout, à l'écran de connexion de l'interface professionnelle, d'une icône permettant d'afficher ou de masquer le mot de passe.

  • Exemplaires / groupes de bibliothèques — Cette amélioration ajoute une nouvelle préférence système SeparateHoldingsByGroup. Lorsque cette préférence est activée et que la bibliothèque de connexion fait partie d'un groupe de bibliothèques marqué « Utiliser pour les groupes de recherche de l'interface professionnelle », le tableau des exemplaires comporte un onglet listant tous les exemplaires dont la bibliothèque de rattachement (homebranch) appartient à ce groupe. Lorsque SeparateHoldings est également activée, l'onglet « Autres exemplaires » ne contient que les exemplaires n'appartenant ni à la bibliothèque de connexion ni à une bibliothèque partageant un groupe avec elle.

  • Clôture de caisse / récapitulatif — Affichage automatique d'un récapitulatif de la caisse dans une fenêtre surgissante après l'enregistrement d'une clôture de caisse (depuis la page de détail d'une caisse comme depuis la page de synthèse des caisses).

  • Inventaire / périodiques — Ajout d'une colonne « Numérotation / chronologie du périodique » aux résultats d'inventaire. Elle est particulièrement utile lors de l'inventaire ou du récolement de périodiques qui partagent la même cote mais ont des numéros de volume différents. Cette nouvelle colonne peut être masquée en cliquant sur « Colonnes » ou depuis les paramètres des tableaux.

  • Débogage CSS et JS — Une fonctionnalité de débogage CSS/JS a été ajoutée. On l'active avec une nouvelle permission : debug. Quand l'option de débogage est activée, une option en haut à droite de chaque page permet de désactiver sélectivement le JS et le CSS. Cela fonctionne en complément des paramètres d'URL déjà existants pour désactiver les CSS et JS personnalisés de la page.

  • Ajout message / SMS — Cette nouvelle fonctionnalité permet au personnel disposant de la permission adéquate, send_messages_to_borrowers, d'envoyer des SMS aux adhérents depuis leurs pages de détail. Des modèles de notification peuvent être définis, et utilisés par défaut, au moyen du module Adhérents (message personnalisé).

Divers

  • Files de réservation / modernisation — Le tableau des réservations de l'adhérent utilise désormais les points d'accès de l'API REST pour récupérer, afficher et modifier les informations de réservation, en remplacement de l'implémentation précédente. Toutes les fonctionnalités existantes du tableau des réservations sont conservées, avec de meilleures performances et une maintenance facilitée.

    Ce changement modernise l'architecture du tableau des réservations en s'appuyant sur l'API REST, ce qui apporte :

    • Une meilleure séparation des responsabilités entre le frontal et le dorsal.
    • Une meilleure cohérence avec les autres fonctionnalités reposant sur l'API.
    • Une base pour de futures améliorations de la gestion des réservations.
  • Export des modèles de modification MARC — Cette amélioration donne au bibliothécaire la possibilité d'exporter un modèle de modification MARC dans un fichier JSON, à des fins de sauvegarde ou de partage.

  • Journaux / diff — Un « diff » est ajouté aux journaux d'actions pour diverses données (Module dans le visualiseur des journaux) gérées par Koha. Ces diff existaient déjà pour les exemplaires mais manquaient pour les modules suivants :

    Module / données Code log
    Adhérents MEMBERS
    Autorités AUTHORITIES
    Notices biblio CATALOGUING
    Suggestions d'achat SUGGESTION
  • Journaux / notice biblio — Amélioration (et correction mineure) de l'affichage des journaux d'actions pour les modifications de notices bibliographiques. Le format MARC-in-JSON est utilisé pour produire, dans le champ de détail, une sortie structurée et correctement encodée.

  • Serveur OAI-PMH / OpacSuppression — Le serveur OAI-PMH respecte désormais la préférence système OpacSuppression.